package cute.gui;
import java.io.PrintWriter;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
/**
* Created by IntelliJ IDEA.
* User: Koushik Sen (ksen@cs.uiuc.edu)
* Date: Dec 25, 2005
* Time: 11:08:40 AM
*/
public class GenerateJCuteLog {
private boolean isRecord;
private PrintWriter out;
public GenerateJCuteLog(boolean record) {
isRecord = record;
}
public void logCall(String fname, String arg){
if(isRecord){
out.println("\t\ttui."+fname+"(\""+arg.replaceAll("\\\\","\\\\\\\\")+"\");");
}
}
public void logCall(String s) {
if(isRecord){
out.println("\t\t"+s);
}
}
public void logCall(String fname, String arg1, String arg2) {
if(isRecord){
out.println("\t\ttui."+fname+"(\""+arg1.replaceAll("\\\\","\\\\\\\\")+"\",\""+arg2.replaceAll("\\\\","\\\\\\\\")+"\");");
}
}
public void logCall(String fname, boolean arg1) {
if(isRecord){
out.println("\t\ttui."+fname+"("+arg1+");");
}
}
public void logCall(String fname, int arg1) {
if(isRecord){
out.println("\t\ttui."+fname+"("+arg1+");");
}
}
public void logExitValue(int v,JCuteTextUI tui){
if(isRecord){
out.println("\t\ttui.addExitValue(new Integer("+v+"));");
} else {
System.out.println("exitv = "+v);
System.out.println("old = "+((Integer)tui.list.getLast()).intValue());
assert v==((Integer)tui.list.removeLast()).intValue();
if(!tui.list.isEmpty() && tui.list.getLast() instanceof String){
tui.list.removeLast();
tui.pauseAction();
}
}
}
public void logPause() {
if(isRecord){
out.println("\t\ttui.addExitValue(\"\");");
}
}
public void logInit() {
try{
if(isRecord){
out = new PrintWriter(new BufferedWriter(new FileWriter("JCuteGuiExecLog.java")));
out.println("class JCuteGuiExecLog {");
out.println("\tpublic static void main(String args[]){");
out.println("\t\tcute.gui.JCuteTextUI tui = new cute.gui.JCuteTextUI(false);");
}
} catch(IOException e){
e.printStackTrace();
System.exit(1);
}
}
public void logExit(){
if(isRecord){
out.println("\t\ttui.quitAction();");
out.println("\t}");
out.println("}");
out.close();
}
}
}