home *** CD-ROM | disk | FTP | other *** search
- import java.awt.CheckboxMenuItem;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dialog;
- import java.awt.Dimension;
- import java.awt.Event;
- import java.awt.FileDialog;
- import java.awt.Font;
- import java.awt.Frame;
- import java.awt.GridBagConstraints;
- import java.awt.GridBagLayout;
- import java.awt.List;
- import java.awt.Menu;
- import java.awt.MenuBar;
- import java.awt.MenuItem;
- import java.awt.PopupMenu;
- import java.awt.TextArea;
- import java.awt.Window;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.StreamTokenizer;
- import java.io.StringReader;
- import java.io.TextTokenizer;
- import java.util.Observable;
- import java.util.Observer;
- import java.util.StringTokenizer;
-
- public class BrowserView extends Frame implements Observer, CallbackWaiter {
- BrowserModel model;
- TextArea output;
- WorkSpace workSpace;
- List packages;
- List classes;
- List methods;
- String oldText;
- static int BrowserCount = 1;
- static int ViewCollectionMax = 256;
- static BrowserView[] ViewCollection;
- DebugGUI debugger;
- DebugGUI evaluateDebugger;
- String debugFilename;
- String evaluateClass;
- int evaluateNumber;
- int evaluateBreakLine;
- boolean updateSelector = true;
- int oldMethodIndex = -1;
- int oldClassIndex = -1;
- int oldPackageIndex = -1;
- boolean newClassOrMethod = false;
- String recordedSelectedText;
- MenuItem itemCopy;
- MenuItem itemCut;
- MenuItem itemPaste;
- MenuItem itemUndo;
- MenuItem itemFormat;
- MenuItem itemSave;
- MenuItem itemSaveAll;
- MenuItem itemNewMethod;
- MenuItem itemNewClass;
- MenuItem itemSaveCompile;
- MenuItem itemCompile;
- MenuItem itemJava;
- MenuItem itemDebug;
- MenuItem itemEvaluate;
- MenuItem itemWorkSpace;
- MenuItem itemExit;
- MenuItem itemFindNext;
- MenuItem itemFind;
- MenuItem itemReplace;
- MenuItem itemDiscardEdits;
- MenuItem itemMatch;
- MenuItem itemLineNumbers;
- MenuItem itemOptions;
- MenuItem itemBrowseReferences;
- MenuItem itemBrowseSenders;
- MenuItem itemBrowseReceivers;
- MenuItem itemBrowseHierarchy;
- MenuItem itemBrowseInterfaces;
- MenuItem itemBrowseExtenders;
- MenuItem itemBrowseImplementors;
- MenuItem itemBrowseClass;
- MenuItem itemBrowseSystem;
- MenuItem itemRemoveMethod;
- MenuItem itemHelpContents;
- MenuItem itemHelpAbout;
- MenuItem itemSaveRun;
- MenuItem itemNewInterface;
- MenuItem itemRenameClass;
- MenuItem itemRenameMethod;
- MenuItem itemDeleteClass;
- MenuItem itemAppletViewer;
- MenuItem itemAppletViewerDebug;
- MenuItem itemHtmlBrowser;
- MenuItem itemTranscript;
- MenuItem itemDocument;
- MenuItem itemBrowseStack;
- private static String DebugEvaluate;
- private static String Options;
- private static String Accept;
- private static String Interpret;
- private static String Debug;
- private static String Evaluate;
- private static String Format;
- private static String Copy;
- private static String Cut;
- private static String Paste;
- private static String Undo;
- private static String Match;
- private static String Fonts;
- private static String Save;
- private static String SaveAll;
- private static String SaveCompile;
- private static String Exit;
- private static String Find;
- private static String Replace;
- private static String DiscardEdits;
- private static String FindNext;
- private static String Contents;
- private static String About;
- private static String LineNumbers;
- private static String NewMethod;
- private static String NewClass;
- private static String RemoveMethod;
- private static String Senders;
- private static String Receivers;
- private static String Implementors;
- private static String References;
- private static String Interfaces;
- private static String Extenders;
- private static String Hierarchy;
- private static String NewBrowser;
- private static String ClassBrowser;
- private static String NewWorkSpace;
- private static String SaveRun;
- private static String NewInterface;
- private static String RenameClass;
- private static String RenameMethod;
- private static String DeleteClass;
- private static String AppletViewer;
- private static String AppletViewerDebug;
- private static String HtmlBrowser;
- private static String Transcript;
- private static String Document;
- private static String BrowseStack;
- int delta = 3;
-
- BrowserView(BrowserModel var1, String var2, boolean var3) {
- super(var2 == null ? AboutBrowser.systemName : var2);
- this.model = var1;
- ((Observable)var1).addObserver(this);
- ViewCollectionAdd(this);
- Options = BrowserOptions.messages.getString("Options");
- Accept = BrowserOptions.messages.getString("Compile");
- Interpret = BrowserOptions.messages.getString("Run0");
- Debug = BrowserOptions.messages.getString("Debug");
- Evaluate = BrowserOptions.messages.getString("Evaluate");
- Format = BrowserOptions.messages.getString("Format");
- Copy = BrowserOptions.messages.getString("Copy");
- Cut = BrowserOptions.messages.getString("Cut");
- Paste = BrowserOptions.messages.getString("Paste");
- Undo = BrowserOptions.messages.getString("Undo");
- Match = BrowserOptions.messages.getString("Match");
- Fonts = BrowserOptions.messages.getString("Fonts");
- Save = BrowserOptions.messages.getString("Save");
- SaveAll = BrowserOptions.messages.getString("SaveAll");
- SaveCompile = BrowserOptions.messages.getString("SaveCompil");
- Exit = BrowserOptions.messages.getString("Exit");
- Find = BrowserOptions.messages.getString("Find");
- Replace = BrowserOptions.messages.getString("Replace");
- DiscardEdits = BrowserOptions.messages.getString("DiscardEdi");
- FindNext = BrowserOptions.messages.getString("FindNext");
- Contents = BrowserOptions.messages.getString("Documentat");
- About = BrowserOptions.messages.getString("About");
- LineNumbers = BrowserOptions.messages.getString("LineNumber");
- NewMethod = BrowserOptions.messages.getString("NewMethod");
- NewClass = BrowserOptions.messages.getString("NewClass");
- RemoveMethod = BrowserOptions.messages.getString("DeleteMeth");
- Senders = BrowserOptions.messages.getString("Senders");
- Receivers = BrowserOptions.messages.getString("Receivers");
- Implementors = BrowserOptions.messages.getString("Implemento");
- References = BrowserOptions.messages.getString("References");
- Interfaces = BrowserOptions.messages.getString("Interfaces");
- Extenders = BrowserOptions.messages.getString("Extenders");
- Hierarchy = BrowserOptions.messages.getString("Hierarchy");
- NewBrowser = BrowserOptions.messages.getString("System");
- ClassBrowser = BrowserOptions.messages.getString("ClassOrInt");
- NewWorkSpace = BrowserOptions.messages.getString("WorkSpace");
- SaveRun = BrowserOptions.messages.getString("SaveRun");
- NewInterface = BrowserOptions.messages.getString("NewInterfa");
- RenameClass = BrowserOptions.messages.getString("RenameClas");
- RenameMethod = BrowserOptions.messages.getString("RenameMeth");
- DeleteClass = BrowserOptions.messages.getString("DeleteClas");
- AppletViewer = BrowserOptions.messages.getString("AppletView");
- AppletViewerDebug = BrowserOptions.messages.getString("AppletViewD");
- HtmlBrowser = BrowserOptions.messages.getString("HTMLBrowse");
- Transcript = BrowserOptions.messages.getString("Transcript");
- Document = BrowserOptions.messages.getString("Document");
- BrowseStack = BrowserOptions.messages.getString("StackTrace");
- MenuBar var4 = new MenuBar();
- ((Frame)this).setMenuBar(var4);
- Menu var6;
- var4.add(var6 = new Menu(BrowserOptions.messages.getString("File"), true));
- var6.add(this.itemSave = new MenuItem(Save));
- var6.add(this.itemSaveAll = new MenuItem(SaveAll));
- var6.add(this.itemSaveRun = new MenuItem(SaveRun));
- var6.add(this.itemSaveCompile = new MenuItem(SaveCompile));
- var6.add(this.itemCompile = new MenuItem(Accept));
- var6.addSeparator();
- var6.add(this.itemJava = new MenuItem(Interpret));
- var6.add(this.itemDebug = new MenuItem(Debug));
- var6.add(this.itemEvaluate = new MenuItem(Evaluate));
- var6.addSeparator();
- var6.add(this.itemAppletViewer = new MenuItem(AppletViewer));
- var6.add(this.itemAppletViewerDebug = new MenuItem(AppletViewerDebug));
- var6.add(this.itemHtmlBrowser = new MenuItem(HtmlBrowser));
- var6.addSeparator();
- var6.add(this.itemDocument = new MenuItem(Document));
- var6.addSeparator();
- var6.add(this.itemWorkSpace = new MenuItem(NewWorkSpace));
- var6.addSeparator();
- var6.add(this.itemExit = new MenuItem(Exit));
- Menu var7;
- var4.add(var7 = new Menu(BrowserOptions.messages.getString("Edit")));
- var7.add(this.itemFindNext = new MenuItem(FindNext));
- var7.add(this.itemFind = new MenuItem(Find));
- var7.add(this.itemReplace = new MenuItem(Replace));
- var7.addSeparator();
- var7.add(this.itemFormat = new MenuItem(Format));
- var7.addSeparator();
- var7.add(this.itemDiscardEdits = new MenuItem(DiscardEdits));
- this.itemUndo = new MenuItem(Undo);
- this.itemCopy = new MenuItem(Copy);
- this.itemCut = new MenuItem(Cut);
- this.itemPaste = new MenuItem(Paste);
- Menu var11;
- var4.add(var11 = new Menu(BrowserOptions.messages.getString("View")));
- var11.add(this.itemMatch = new MenuItem(Match));
- var11.add(this.itemLineNumbers = new CheckboxMenuItem(LineNumbers));
- var11.addSeparator();
- var11.add(this.itemOptions = new MenuItem(Options));
- var11.add(this.itemTranscript = new MenuItem(Transcript));
- Menu var8;
- var4.add(var8 = new Menu(BrowserOptions.messages.getString("Browse")));
- var8.add(this.itemBrowseSystem = new MenuItem(NewBrowser));
- var8.addSeparator();
- var8.add(this.itemBrowseReferences = new MenuItem(References));
- var8.add(this.itemBrowseSenders = new MenuItem(Senders));
- var8.add(this.itemBrowseReceivers = new MenuItem(Receivers));
- var8.addSeparator();
- var8.add(this.itemBrowseClass = new MenuItem(ClassBrowser));
- var8.add(this.itemBrowseHierarchy = new MenuItem(Hierarchy));
- var8.add(this.itemBrowseInterfaces = new MenuItem(Interfaces));
- var8.addSeparator();
- var8.add(this.itemBrowseExtenders = new MenuItem(Extenders));
- var8.add(this.itemBrowseImplementors = new MenuItem(Implementors));
- var8.addSeparator();
- var8.add(this.itemBrowseStack = new MenuItem(BrowseStack));
- Menu var9;
- var4.add(var9 = new Menu(BrowserOptions.messages.getString("Source")));
- var9.add(this.itemNewMethod = new MenuItem(NewMethod));
- var9.add(this.itemNewClass = new MenuItem(NewClass));
- var9.add(this.itemNewInterface = new MenuItem(NewInterface));
- var9.addSeparator();
- var9.add(this.itemRenameMethod = new MenuItem(RenameMethod));
- var9.add(this.itemRenameClass = new MenuItem(RenameClass));
- var9.addSeparator();
- var9.add(this.itemRemoveMethod = new MenuItem(RemoveMethod));
- var9.add(this.itemDeleteClass = new MenuItem(DeleteClass));
- Menu var10;
- var4.add(var10 = new Menu(BrowserOptions.messages.getString("Help")));
- if (BrowserOptions.testRecord) {
- var10.add(new MenuItem(BrowserOptions.messages.getString("Test")));
- }
-
- var10.add(this.itemHelpContents = new MenuItem(Contents));
- var10.add(this.itemHelpAbout = new MenuItem(About));
- this.classes = new List();
- this.methods = new List();
- this.output = new TextArea(10, 30);
- this.output.setEditable(true);
- this.output.setFont(new Font("Courier", 0, 12));
- if (var3) {
- this.packages = new List();
- String[] var12 = var1.currentPackages();
-
- for(int var13 = 0; var13 < var12.length; ++var13) {
- this.packages.addItem(var12[var13]);
- }
- } else {
- var1.currentClasses();
- }
-
- GridBagLayout var14 = new GridBagLayout();
- GridBagConstraints var15 = new GridBagConstraints();
- ((Container)this).setLayout(var14);
- var15.fill = 1;
- var15.weightx = (double)1.0F;
- var15.weighty = 0.6;
- if (var3) {
- var14.setConstraints(this.packages, var15);
- ((Container)this).add(this.packages);
- }
-
- var14.setConstraints(this.classes, var15);
- ((Container)this).add(this.classes);
- var15.gridwidth = 0;
- var14.setConstraints(this.methods, var15);
- ((Container)this).add(this.methods);
- var15.weighty = (double)1.0F;
- var15.gridy = 1;
- var15.gridheight = -1;
- PopupMenu var5 = new PopupMenu();
- ((Menu)var5).add(new MenuItem(BrowserOptions.messages.getString("Undo")));
- ((Menu)var5).addSeparator();
- ((Menu)var5).add(new MenuItem(Cut));
- ((Menu)var5).add(new MenuItem(Copy));
- ((Menu)var5).add(new MenuItem(Paste));
- ((Menu)var5).addSeparator();
- ((Menu)var5).add(new MenuItem(BrowserOptions.messages.getString("Select")));
- ((Menu)var5).add(new MenuItem(Accept));
- ((Menu)var5).add(new MenuItem(Save));
- this.output.add(var5);
- var15.weightx = (double)0.0F;
- var14.setConstraints(this.output, var15);
- ((Container)this).add(this.output);
- if (((Frame)this).getTitle().equals(AboutBrowser.systemName)) {
- this.output.setText("\n\n\t" + AboutBrowser.name + "\n" + "\t" + AboutBrowser.version() + "\n" + "\t" + AboutBrowser.copyright + "\n" + "\t" + AboutBrowser.company + "\n" + "\t" + AboutBrowser.rights + "\n" + AboutBrowser.licenseInfo());
- }
-
- ((Frame)this).setIconImage(BrowserOptions.iconImage);
- ((Window)this).pack();
- ((Container)this).validate();
- ((Component)this).setSize(600, 420);
- ((Window)this).show();
- this.updateState();
- }
-
- private void destroy() {
- if (((Frame)this).getTitle() == this.model.systemTitle()) {
- for(int var1 = 1; var1 < ViewCollectionMax; ++var1) {
- if (ViewCollection[var1] != null && !ViewCollection[var1].testDiscard()) {
- return;
- }
- }
-
- if (this.testDiscard()) {
- System.exit(0);
- }
- } else if (this.testDiscard()) {
- this.model.finalization();
- ViewCollectionDelete(this);
- ((Frame)this).dispose();
- }
- }
-
- private String getSelectedText() {
- String var1 = this.getSelectedTextNotTitle();
- if (!var1.equals("")) {
- return var1;
- } else {
- String var2 = ((Frame)this).getTitle();
- int var3 = 0;
- if ((var3 = var2.indexOf(BrowserOptions.messages.getString("OutOfDate"))) >= 0) {
- var2 = var2.substring(0, var3);
- }
-
- var3 = var2.indexOf(32);
- if (var3 >= 0) {
- var1 = var2.substring(var3 + 1);
- var3 = var1.indexOf(32);
- if (var3 >= 0) {
- return var1.substring(var3 + 1);
- }
- }
-
- return "";
- }
- }
-
- public boolean newMethod() {
- if (!this.testDiscard()) {
- return false;
- } else {
- String var1 = null;
- if (this.recordedSelectedText == null) {
- QueryDialog var2 = new QueryDialog(this, BrowserOptions.messages.getString("MethodCrea"), BrowserOptions.messages.getString("EnterTheNe"));
- if (var2.getText() != null) {
- var1 = var2.getText();
- if (Recorder.ois != null || Recorder.oos != null && true) {
- this.recordedSelectedText = var2.getText();
- }
- }
- } else {
- var1 = this.recordedSelectedText;
- }
-
- if (var1 != null) {
- int var3 = this.methods.getSelectedIndex();
- if (var3 != -1) {
- this.methods.deselect(var3);
- }
-
- this.oldMethodIndex = -1;
- this.newClassOrMethod = true;
- this.model.newMethod(var1);
- return true;
- } else {
- return false;
- }
- }
- }
-
- public boolean newClass() {
- if (!this.testDiscard()) {
- return false;
- } else {
- String var1 = null;
- if (this.recordedSelectedText == null) {
- QueryDialog var2 = new QueryDialog(this, BrowserOptions.messages.getString("ClassCreat"), BrowserOptions.messages.getString("EnterTheNew"));
- if (var2.getText() != null) {
- if (this.model.fileLoader.existClassFile(this.model.currentPackageName() + "." + var2.getText())) {
- new InformationDialog(this, BrowserOptions.messages.getString("TheClassFi") + " " + var2.getText() + BrowserOptions.messages.getString("JavaAlread"));
- return false;
- }
-
- var1 = var2.getText();
- if (Recorder.ois != null || Recorder.oos != null && true) {
- this.recordedSelectedText = var2.getText();
- }
- }
- } else {
- var1 = this.recordedSelectedText;
- }
-
- if (var1 != null) {
- int var3 = this.classes.getSelectedIndex();
- if (var3 != -1) {
- this.classes.deselect(var3);
- }
-
- var3 = this.methods.getSelectedIndex();
- if (var3 != -1) {
- this.methods.deselect(var3);
- }
-
- this.oldClassIndex = -1;
- this.oldMethodIndex = -1;
- this.newClassOrMethod = true;
- this.model.newClass(var1);
- this.oldText = "";
- return true;
- } else {
- return false;
- }
- }
- }
-
- private void browse(int var1) {
- if (this.whichFitsBrowserType(var1) && this.selectedTextIsFromTitle()) {
- String var5 = this.getSelectedText();
- var1 = -var1;
- if (!this.model.grep(var5, var1)) {
- new InformationDialog(this, BrowserOptions.messages.getString("NoMatchesF"));
- this.destroy();
- return;
- }
-
- if (this.testDiscard()) {
- this.model.currentClasses();
- this.resetTitle();
- return;
- }
- } else {
- if (var1 <= 5) {
- String var4 = this.getSelectedText();
- if (var4 != null && !var4.equals("")) {
- if (!this.model.grep(var4, var1)) {
- new InformationDialog(this, BrowserOptions.messages.getString("NoMatchesF"));
- return;
- }
- } else {
- new InformationDialog(this, BrowserOptions.messages.getString("NoTextWasS"));
- }
-
- return;
- }
-
- if (var1 == 6) {
- String var2 = this.getSelectedTextNotTitle();
- if (!this.model.classBrowser(var2)) {
- new InformationDialog(this, BrowserOptions.messages.getString("TheSelecte"));
- }
- }
- }
-
- }
-
- public boolean interpret(String var1) {
- String var2 = this.model.GetRootDir() + BrowserFileLoader.correctFileName(this.model.currentPackageName());
- String var3 = BrowserOptions.interpreter + " ";
- String var4 = "-classpath " + var2 + System.getProperty("path.separator") + (!BrowserOptions.optionalClasspath.equals("") ? BrowserOptions.optionalClasspath : System.getProperty("java.class.path")) + " ";
- Object var5 = null;
- String var8;
- if (var1 != null && !var1.equals("")) {
- var8 = var1;
- } else {
- var8 = this.model.classNamePart();
- if (!this.model.fileLoader.isClassCompiled(this.model.majorClassName())) {
- ProcessThread var6 = this.compile((String)null);
-
- try {
- Thread.sleep(100L);
- } catch (InterruptedException var7) {
- }
-
- (new ProcessThread(var3 + var4 + BrowserOptions.java + " " + var8, new Monolog(this, "Java " + var8, false), BrowserOptions.messages.getString("JavaComple"), var6, BrowserOptions.messages.getString("Error"))).start();
- return true;
- }
- }
-
- (new ProcessThread(var3 + var4 + BrowserOptions.java + " " + var8, new Monolog(this, "Java " + var8), BrowserOptions.messages.getString("JavaComple"))).start();
- return true;
- }
-
- public void spawnBrowser() {
- new BrowserView(new BrowserModel(), this.model.systemTitle() + ++BrowserCount, true);
- }
-
- public ProcessThread compile(String var1) {
- String var2 = this.model.GetRootDir() + BrowserFileLoader.correctFileName(this.model.currentPackageName());
- String var3 = BrowserOptions.compiler + " ";
- String var4 = "-classpath " + var2 + System.getProperty("path.separator") + (!BrowserOptions.optionalClasspath.equals("") ? BrowserOptions.optionalClasspath : System.getProperty("java.class.path")) + " ";
- String var5 = "-d " + (!BrowserOptions.destination.equals("") ? BrowserOptions.destination : var2) + " ";
- Object var6 = null;
- Object var7 = null;
- String var9;
- String var10;
- if (var1 != null && !var1.equals("")) {
- var9 = var1;
- var10 = var1;
- } else {
- var9 = var2 + System.getProperty("file.separator") + this.model.majorClassNamePart() + ".java";
- var10 = this.model.classNamePart();
- }
-
- ProcessThread var8 = new ProcessThread(var3 + var4 + var5 + BrowserOptions.compile + " " + var9, new Monolog(this, BrowserOptions.messages.getString("Compiling") + " " + var10), BrowserOptions.messages.getString("CompileCom"));
- ((Thread)var8).start();
- return var8;
- }
-
- public ProcessThread compileEvaluate() {
- Monolog var1 = new Monolog(this, BrowserOptions.messages.getString("CompilerOu"));
- ProcessThread var2 = new ProcessThread(BrowserOptions.compiler + " -g " + this.evaluateClass + ".java", var1, BrowserOptions.messages.getString("CompileCom"));
- ((Thread)var2).start();
- return var2;
- }
-
- private boolean isDebuggerActive(DebugGUI var1) {
- return var1 == null ? false : var1.isDebuggerActive();
- }
-
- private String makeEvaluateClass() {
- return this.evaluateClass = DebugEvaluate + (new Integer(this.evaluateNumber++)).toString();
- }
-
- public void evaluate() {
- String var1 = this.getSelectedText();
- File var2 = new File(".");
- String[] var3 = var2.list();
- int var5 = 0;
-
- for(int var4 = 0; var4 < var3.length; ++var4) {
- if (var3[var4].indexOf(DebugEvaluate) != -1) {
- File var6 = new File(var3[var4]);
- var6.delete();
- }
- }
-
- if (var1 != null && !var1.equals("")) {
- try {
- File var10 = new File(this.makeEvaluateClass() + ".java");
- FileOutputStream var7 = new FileOutputStream(var10);
-
- for(StringTokenizer var8 = new StringTokenizer(BrowserOptions.imports); var8.hasMoreTokens(); var5 += 2) {
- var7.write(("\nimport " + var8.nextToken() + ";\n").getBytes());
- }
-
- var7.write(("public class " + this.evaluateClass + " extends Frame {\n").getBytes());
- var7.write("static public void main(String[] args){\n".getBytes());
- var7.write((var1 + "\n").getBytes());
- var7.write("return;\n\t}\n}\n".getBytes());
- var7.close();
- } catch (IOException var9) {
- System.out.println(var9);
- }
-
- this.evaluateBreakLine = var5 + this.countLines(var1);
- ProcessThread var11 = this.compileEvaluate();
- (new WaitThread(BrowserOptions.messages.getString("WaitingFor"), var11, BrowserOptions.messages.getString("Error"), this)).start();
- }
-
- }
-
- public void debug(String var1) {
- DebugGUI var2 = this.debugger;
- if (var2 == null ? false : var2.isDebuggerActive()) {
- this.debugger.quit();
- }
-
- String var7 = this.model.GetRootDir() + BrowserFileLoader.correctFileName(this.model.currentPackageName());
- String var3 = BrowserOptions.debugger + " ";
- String var4 = "-classpath " + var7 + System.getProperty("path.separator") + (!BrowserOptions.optionalClasspath.equals("") ? BrowserOptions.optionalClasspath : System.getProperty("java.class.path")) + " ";
- this.debugFilename = null;
- if (var1 != null && !var1.equals("")) {
- this.debugFilename = var1;
- } else {
- this.debugFilename = this.model.classNamePart();
- if (!this.model.fileLoader.isClassCompiled(this.model.majorClassName())) {
- ProcessThread var5 = this.compile((String)null);
-
- try {
- Thread.sleep(100L);
- } catch (InterruptedException var6) {
- }
-
- this.evaluateBreakLine = -1;
- (new WaitThread(BrowserOptions.messages.getString("WaitingFor"), var5, BrowserOptions.messages.getString("Error"), this)).start();
- return;
- }
- }
-
- this.debugger = new DebugGUI(BrowserOptions.messages.getString("Debug") + " " + this.debugFilename, var3 + var4 + BrowserOptions.debug + " ", this.debugFilename, false);
- }
-
- public boolean find(String var1, String var2) {
- if (var1 != null) {
- int var3 = var2.indexOf(var1, this.output.getCaretPosition() + 1);
- if (var3 != -1) {
- this.output.setSelectionStart(var3);
- this.output.setSelectionEnd(var3 + var1.length());
- return true;
- }
- }
-
- return false;
- }
-
- private int countLines(String var1) {
- StringReader var2 = new StringReader(var1);
- int var4 = 0;
-
- int var3;
- try {
- while((var3 = var2.read()) != -1) {
- if (var3 == 10) {
- ++var4;
- }
- }
- } catch (IOException var5) {
- }
-
- return var4;
- }
-
- public int adjust(String var1, int var2) {
- if (BrowserOptions.specialSystem[2].equalsIgnoreCase("adjust selection")) {
- for(int var3 = 0; var3 < var1.length() && var3 < var2; ++var3) {
- if (var1.charAt(var3) == '\n') {
- --var2;
- }
- }
- }
-
- return var2;
- }
-
- private int locateMatch(String var1, char var2, char var3, int var4, boolean var5) {
- int var6 = 0;
- TextTokenizer var7 = new TextTokenizer(var1.substring(var4));
- int var8 = 0;
-
- try {
- while((var8 = ((StreamTokenizer)var7).nextToken()) != -1) {
- if (var8 == var2) {
- ++var6;
- }
-
- if (var8 == var3) {
- --var6;
- if (!var5 && var6 == 0) {
- return var4 + var7.position() - 1;
- }
- }
- }
- } catch (IOException var10) {
- System.out.println(var10);
- }
-
- return var5 ? var6 : -1;
- }
-
- public boolean match(String var1) {
- char var2 = 0;
- char var3 = 0;
- if (var1 != null && var1.startsWith("{")) {
- var2 = '{';
- var3 = '}';
- } else if (var1 != null && var1.startsWith("(")) {
- var2 = '(';
- var3 = ')';
- }
-
- if (var2 != 0) {
- String var4 = this.output.getText();
- int var5 = this.output.getSelectionStart();
- int var6 = this.locateMatch(var4, var2, var3, this.adjust(var4, var5), false);
- if (var6 == -1) {
- return false;
- } else {
- this.output.setSelectionEnd(this.adjust(var4, var6) + 1);
- this.output.setSelectionStart(this.adjust(var4, var5));
- return true;
- }
- } else {
- return false;
- }
- }
-
- public boolean action(Event var1, Object var2) {
- if (var1.target instanceof MenuItem) {
- MenuItem var3 = (MenuItem)var1.target;
- String var4 = this.output.getText();
- String var5 = this.getSelectedTextNotTitle();
- if (var3.getLabel().equals(Exit)) {
- this.destroy();
- } else if (var3.getLabel().equals(BrowserOptions.messages.getString("Test"))) {
- QueryDialog var21 = new QueryDialog(this, BrowserOptions.messages.getString("Test"), "Enter the Test Filename, mode (r|w) [,timing (r only)]");
- this.recorder(var21.getText());
- } else if (!var3.getLabel().equals(Save) && !var3.getLabel().equals(SaveCompile) && !var3.getLabel().equals(SaveRun)) {
- if (var3.getLabel().equals(Accept)) {
- String var20 = this.getSelectedTextNotTitle();
- this.compile(var20);
- } else if (var3.getLabel().equals(SaveAll)) {
- this.saveAll();
- } else if (var3.getLabel().equals(Options)) {
- new BrowserOptions(this, BrowserOptions.messages.getString("JIGBrowser"));
- } else if (var3.getLabel().equals(Transcript)) {
- new Monolog(this, "");
- } else {
- if (var3.getLabel().equals(NewMethod) && !this.newMethod()) {
- return true;
- }
-
- if (var3.getLabel().equals(NewClass) && !this.newClass()) {
- return true;
- }
-
- if (var3.getLabel().equals(NewInterface) && !this.newInterface()) {
- return true;
- }
-
- if (var3.getLabel().equals(RemoveMethod) && !this.removeMethod()) {
- return true;
- }
-
- if (var3.getLabel().equals(DeleteClass) && !this.removeClass()) {
- return true;
- }
-
- if (var3.getLabel().equals(RenameMethod) && !this.renameMethod()) {
- return true;
- }
-
- if (var3.getLabel().equals(RenameClass) && !this.renameClass()) {
- return true;
- }
-
- if (var3.getLabel().equals(Match)) {
- String var19 = this.getSelectedText();
- if (var19 != null && !var19.equals("")) {
- this.match(var19);
- }
- } else if (var3.getLabel().equals(Interpret)) {
- String var18 = this.getSelectedTextNotTitle();
- this.interpret(var18);
- } else if (var3.getLabel().equals(Format)) {
- this.output.setText(this.model.format(this.output.getText()));
- } else if (var3.getLabel().equals(Senders)) {
- this.browse(1);
- } else if (var3.getLabel().equals(Receivers)) {
- this.browse(2);
- } else if (var3.getLabel().equals(References)) {
- this.browse(3);
- } else if (var3.getLabel().equals(Extenders)) {
- this.browse(4);
- } else if (var3.getLabel().equals(Implementors)) {
- this.browse(5);
- } else if (var3.getLabel().equals(Hierarchy)) {
- this.model.hierarchyBrowser(1);
- } else if (var3.getLabel().equals(Interfaces)) {
- this.model.interfacesBrowser(2);
- } else if (var3.getLabel().equals(NewBrowser)) {
- this.spawnBrowser();
- } else if (var3.getLabel().equals(ClassBrowser)) {
- this.browse(6);
- } else if (var3.getLabel().equals(NewWorkSpace)) {
- this.spawnNewWorkSpace();
- } else if (var3.getLabel().equals(About)) {
- new AboutBrowser(this, BrowserOptions.messages.getString("About") + " " + this.model.systemTitle());
- } else if (var3.getLabel().equals(Contents)) {
- this.helpProcess();
- } else if (var3.getLabel().equals(Document)) {
- String var17 = this.getSelectedTextNotTitle();
- this.docProcess(var17);
- } else if (var3.getLabel().equals(HtmlBrowser)) {
- String var16 = this.getSelectedTextNotTitle();
- this.htmlProcess(BrowserOptions.htmlBrowser.trim(), var16);
- } else if (var3.getLabel().equals(AppletViewer)) {
- String var15 = this.getSelectedTextNotTitle();
- this.appletProcess(BrowserOptions.appletViewer, var15, false);
- } else if (var3.getLabel().equals(AppletViewerDebug)) {
- String var14 = this.getSelectedTextNotTitle();
- this.appletProcess(BrowserOptions.appletViewer, var14, true);
- } else if (var3.getLabel().equals(Replace)) {
- String var13 = this.getSelectedText();
- QueryDialog var25 = new QueryDialog(this, BrowserOptions.messages.getString("Replace1") + " " + var13, BrowserOptions.messages.getString("EnterTheNewT"), "");
- String var24 = var25.getText();
- if (var24 != null) {
- this.replaceAll(var13, var24);
- }
- } else if (var3.getLabel().equals(Find)) {
- String var12 = this.getSelectedText();
- if (var12 == null) {
- var12 = "";
- }
-
- QueryDialog var8 = new QueryDialog(this, BrowserOptions.messages.getString("Find"), BrowserOptions.messages.getString("EnterTheTe"), var12);
- String var23 = var8.getText();
- if (var23 != null) {
- this.find(var23, this.output.getText());
- }
- } else if (var3.getLabel().equals(FindNext)) {
- String var11 = this.getSelectedText();
- if (var11 != null) {
- this.find(var11, this.output.getText());
- }
- } else if (var3.getLabel().equals(DiscardEdits)) {
- if (this.testDiscard()) {
- int var10 = this.model.currentClassViewSelector();
- int var7 = this.model.currentMethodViewSelector();
- if (var10 != -1 && var7 == -1) {
- this.model.reloadNoOutput();
- this.model.selectClass(var10);
- } else if (var10 == -1) {
- this.model.selectPackage(this.oldPackageIndex);
- }
-
- this.updateOutput();
- }
- } else if (var3.getLabel().equals(LineNumbers)) {
- if (this.testDiscard()) {
- this.output.setEditable(!this.model.setLineNumbers());
- } else {
- ((CheckboxMenuItem)this.itemLineNumbers).setState(false);
- }
- } else if (var3.getLabel().equals(Debug)) {
- String var6 = this.getSelectedTextNotTitle();
- this.debug(var6);
- } else if (var3.getLabel().equals(BrowseStack)) {
- String var9 = this.getSelectedTextNotTitle();
- this.model.browseStack(var9);
- } else if (var3.getLabel().equals(Evaluate)) {
- this.evaluate();
- }
- }
- } else {
- ((Frame)this).setCursor(3);
- if (this.locateMatch(this.output.getText(), '{', '}', 0, true) != 0) {
- ((Frame)this).setCursor(0);
- new InformationDialog(this, BrowserOptions.messages.getString("TheSourceC"));
- } else if (!this.model.save(this.output.getText())) {
- ((Frame)this).setCursor(0);
- new InformationDialog(this, BrowserOptions.messages.getString("TheClassFil") + " " + this.model.currentClassName() + BrowserOptions.messages.getString("JavaHasBee"));
- } else {
- ((Frame)this).setCursor(0);
- this.oldText = this.output.getText();
- if (var3.getLabel().equals(SaveCompile)) {
- this.compile((String)null);
- }
-
- if (var3.getLabel().equals(SaveRun)) {
- this.interpret((String)null);
- }
- }
- }
-
- if (Recorder.oos != null && true && !var3.getLabel().equals(BrowserOptions.messages.getString("Test"))) {
- Event var22 = new Event(var3.getLabel(), var1.id, var1.arg);
- (new Recorder(var22, true, var4, this.recordedSelectedText != null ? this.recordedSelectedText : var5, ((Frame)this).getTitle())).write();
- this.recordedSelectedText = null;
- }
- }
-
- return true;
- }
-
- boolean testDiscard() {
- if (this.oldText != null && this.oldText.compareTo(this.output.getText()) != 0) {
- SimpleDialog var1 = new SimpleDialog(this, BrowserOptions.messages.getString("DiscardCha") + ((Frame)this).getTitle() + "'?");
- boolean var2 = var1.result;
- if (var2) {
- this.model.discardingOutput();
- }
-
- return var2;
- } else {
- return true;
- }
- }
-
- public boolean handleEvent(Event var1) {
- switch (var1.id) {
- case 201:
- this.destroy();
- super.handleEvent(var1);
- }
-
- if (var1.target instanceof List) {
- List var2 = (List)var1.target;
- String var3 = var2 == this.packages ? "packages" : (var2 == this.classes ? "classes" : "methods");
- switch (var1.id) {
- case 701:
- int var4 = (Integer)var1.arg;
- if (Recorder.ois != null || Recorder.oos != null && true) {
- Event var5 = new Event(var3, var1.id, var1.arg);
- (new Recorder(var5, false, this.output.getText(), ((Frame)this).getTitle())).write();
- }
-
- if (var3 == "packages") {
- if (!this.testDiscardSave(BrowserOptions.autoSave)) {
- if (this.oldPackageIndex > -1) {
- this.packages.select(this.oldPackageIndex);
- }
-
- return super.handleEvent(var1);
- }
-
- this.model.selectPackage(var4);
- this.oldPackageIndex = var4;
- this.oldClassIndex = -1;
- this.oldMethodIndex = -1;
- this.output.setText("");
- this.oldText = null;
- } else if (var3 == "classes") {
- if (!this.testDiscardSave(BrowserOptions.autoSave)) {
- if (this.oldClassIndex > -1) {
- this.classes.select(this.oldClassIndex);
- } else {
- int var6 = this.classes.getSelectedIndex();
- if (var6 != -1) {
- this.classes.deselect(var6);
- }
- }
-
- return super.handleEvent(var1);
- }
-
- this.model.selectClass(var4);
- this.oldClassIndex = var4;
- if (!this.updateSelector) {
- this.updateSelector = true;
- this.classes.select(var4);
- }
-
- if (this.oldMethodIndex > -1) {
- this.methods.deselect(this.oldMethodIndex);
- }
-
- this.oldMethodIndex = -1;
- } else if (var3 == "methods") {
- if (!this.testDiscardSave(BrowserOptions.autoSave)) {
- if (this.oldMethodIndex > -1) {
- this.methods.select(this.oldMethodIndex);
- } else {
- int var7 = this.methods.getSelectedIndex();
- if (var7 != -1) {
- this.methods.deselect(var7);
- }
- }
-
- return super.handleEvent(var1);
- }
-
- this.model.selectMethod(var4);
- this.oldMethodIndex = var4;
- this.methods.select(var4);
- }
- break;
- case 702:
- (Integer)var1.arg;
- }
- }
-
- return super.handleEvent(var1);
- }
-
- private void updatePackage() {
- String[] var1 = this.model.currentPackages();
- this.packages.removeAll();
- this.classes.removeAll();
- this.methods.removeAll();
-
- try {
- for(int var2 = 0; var2 < var1.length; ++var2) {
- this.packages.addItem(var1[var2]);
- }
- } catch (NullPointerException var3) {
- }
-
- this.output.setText("");
- this.oldText = null;
- }
-
- private void updateClass() {
- this.model.currentClasses();
- }
-
- private void updateMethod() {
- this.model.currentMethods();
- }
-
- private void updateOutput() {
- String var1 = this.model.getCurrentOutput();
- this.output.setText(var1);
- if (var1.length() > 0) {
- this.output.setCaretPosition(0);
- }
-
- if (!this.newClassOrMethod) {
- this.oldText = this.output.getText();
- } else {
- this.newClassOrMethod = false;
- }
- }
-
- private void updateSelectClass() {
- int var1 = this.model.currentClassViewSelector();
- if (var1 >= 0) {
- this.classes.select(var1);
- this.oldClassIndex = var1;
- }
-
- }
-
- private void updateSelectMethod() {
- int var1 = this.model.currentMethodViewSelector();
- if (var1 >= 0) {
- this.methods.select(var1);
- this.oldMethodIndex = var1;
- }
-
- }
-
- void updateState() {
- boolean[] var1 = this.model.currentState();
- int var10001 = BrowserModel.Compile;
- var1[var10001] &= this.workSpace == null;
- var10001 = BrowserModel.Java;
- var1[var10001] &= this.workSpace == null;
- var10001 = BrowserModel.Debug;
- var1[var10001] &= this.workSpace == null;
- var10001 = BrowserModel.Evaluate;
- var1[var10001] &= this.workSpace == null;
- if (var1[BrowserModel.Save]) {
- this.itemSave.disable();
- } else {
- this.itemSave.enable();
- }
-
- if (var1[BrowserModel.SaveAll]) {
- this.itemSaveAll.disable();
- } else {
- this.itemSaveAll.enable();
- }
-
- if (var1[BrowserModel.SaveCompile]) {
- this.itemSaveCompile.disable();
- } else {
- this.itemSaveCompile.enable();
- }
-
- if (var1[BrowserModel.Compile]) {
- this.itemCompile.disable();
- } else {
- this.itemCompile.enable();
- }
-
- if (var1[BrowserModel.Java]) {
- this.itemJava.disable();
- } else {
- this.itemJava.enable();
- }
-
- if (var1[BrowserModel.Debug]) {
- this.itemDebug.disable();
- } else {
- this.itemDebug.enable();
- }
-
- if (var1[BrowserModel.Evaluate]) {
- this.itemEvaluate.disable();
- } else {
- this.itemEvaluate.enable();
- }
-
- if (var1[BrowserModel.WorkSpace]) {
- this.itemWorkSpace.disable();
- } else {
- this.itemWorkSpace.enable();
- }
-
- if (var1[BrowserModel.Exit]) {
- this.itemExit.disable();
- } else {
- this.itemExit.enable();
- }
-
- if (var1[BrowserModel.FindNext]) {
- this.itemFindNext.disable();
- } else {
- this.itemFindNext.enable();
- }
-
- if (var1[BrowserModel.Find]) {
- this.itemFind.disable();
- } else {
- this.itemFind.enable();
- }
-
- if (var1[BrowserModel.Replace]) {
- this.itemReplace.disable();
- } else {
- this.itemReplace.enable();
- }
-
- if (var1[BrowserModel.DiscardEdits]) {
- this.itemDiscardEdits.disable();
- } else {
- this.itemDiscardEdits.enable();
- }
-
- if (var1[BrowserModel.Format]) {
- this.itemFormat.disable();
- } else {
- this.itemFormat.enable();
- }
-
- if (var1[BrowserModel.NewMethod]) {
- this.itemNewMethod.disable();
- } else {
- this.itemNewMethod.enable();
- }
-
- if (var1[BrowserModel.NewClass]) {
- this.itemNewClass.disable();
- } else {
- this.itemNewClass.enable();
- }
-
- if (var1[BrowserModel.Match]) {
- this.itemMatch.disable();
- } else {
- this.itemMatch.enable();
- }
-
- if (var1[BrowserModel.LineNumbers]) {
- this.itemLineNumbers.disable();
- } else {
- this.itemLineNumbers.enable();
- }
-
- if (var1[BrowserModel.Options]) {
- this.itemOptions.disable();
- } else {
- this.itemOptions.enable();
- }
-
- if (var1[BrowserModel.BrowseReferences]) {
- this.itemBrowseReferences.disable();
- } else {
- this.itemBrowseReferences.enable();
- }
-
- if (var1[BrowserModel.BrowseSenders]) {
- this.itemBrowseSenders.disable();
- } else {
- this.itemBrowseSenders.enable();
- }
-
- if (var1[BrowserModel.BrowseReceivers]) {
- this.itemBrowseReceivers.disable();
- } else {
- this.itemBrowseReceivers.enable();
- }
-
- if (var1[BrowserModel.BrowseHierarchy]) {
- this.itemBrowseHierarchy.disable();
- } else {
- this.itemBrowseHierarchy.enable();
- }
-
- if (var1[BrowserModel.BrowseInterfaces]) {
- this.itemBrowseInterfaces.disable();
- } else {
- this.itemBrowseInterfaces.enable();
- }
-
- if (var1[BrowserModel.BrowseExtenders]) {
- this.itemBrowseExtenders.disable();
- } else {
- this.itemBrowseExtenders.enable();
- }
-
- if (var1[BrowserModel.BrowseImplementors]) {
- this.itemBrowseImplementors.disable();
- } else {
- this.itemBrowseImplementors.enable();
- }
-
- if (var1[BrowserModel.BrowseClass]) {
- this.itemBrowseClass.disable();
- } else {
- this.itemBrowseClass.enable();
- }
-
- if (var1[BrowserModel.BrowseSystem]) {
- this.itemBrowseSystem.disable();
- } else {
- this.itemBrowseSystem.enable();
- }
-
- if (var1[BrowserModel.RemoveMethod]) {
- this.itemRemoveMethod.disable();
- } else {
- this.itemRemoveMethod.enable();
- }
-
- if (var1[BrowserModel.HelpContents]) {
- this.itemHelpContents.disable();
- } else {
- this.itemHelpContents.enable();
- }
-
- if (var1[BrowserModel.HelpAbout]) {
- this.itemHelpAbout.disable();
- } else {
- this.itemHelpAbout.enable();
- }
-
- if (var1[BrowserModel.SaveRun]) {
- this.itemSaveRun.disable();
- } else {
- this.itemSaveRun.enable();
- }
-
- if (var1[BrowserModel.NewInterface]) {
- this.itemNewInterface.disable();
- } else {
- this.itemNewInterface.enable();
- }
-
- if (var1[BrowserModel.RenameClass]) {
- this.itemRenameClass.disable();
- } else {
- this.itemRenameClass.enable();
- }
-
- if (var1[BrowserModel.RenameMethod]) {
- this.itemRenameMethod.disable();
- } else {
- this.itemRenameMethod.enable();
- }
-
- if (var1[BrowserModel.DeleteClass]) {
- this.itemDeleteClass.disable();
- } else {
- this.itemDeleteClass.enable();
- }
-
- if (var1[BrowserModel.AppletViewer]) {
- this.itemAppletViewer.disable();
- } else {
- this.itemAppletViewer.enable();
- }
-
- if (var1[BrowserModel.AppletViewerDebug]) {
- this.itemAppletViewerDebug.disable();
- } else {
- this.itemAppletViewerDebug.enable();
- }
-
- if (var1[BrowserModel.HtmlBrowser]) {
- this.itemHtmlBrowser.disable();
- } else {
- this.itemHtmlBrowser.enable();
- }
-
- if (var1[BrowserModel.Transcript]) {
- this.itemTranscript.disable();
- } else {
- this.itemTranscript.enable();
- }
-
- if (var1[BrowserModel.Document]) {
- this.itemDocument.disable();
- } else {
- this.itemDocument.enable();
- }
-
- if (var1[BrowserModel.StackTrace]) {
- this.itemBrowseStack.disable();
- } else {
- this.itemBrowseStack.enable();
- }
- }
-
- public void update(Observable var1, Object var2) {
- boolean[] var3 = (boolean[])var2;
- if (var2 != null) {
- if (var3[BrowserModel.PackageLoad]) {
- this.updatePackage();
- }
-
- if (var3[BrowserModel.ClassLoad]) {
- this.model.currentClasses();
- }
-
- if (var3[BrowserModel.PackageList]) {
- this.updatePackageList();
- }
-
- if (var3[BrowserModel.ClassList]) {
- this.updateClassList();
- }
-
- if (var3[BrowserModel.MethodList]) {
- this.updateMethodList();
- }
-
- if (var3[BrowserModel.MethodLoad]) {
- this.model.currentMethods();
- }
-
- if (var3[BrowserModel.OutputLoad]) {
- this.updateOutput();
- }
-
- if (var3[BrowserModel.SelectClass]) {
- this.updateSelectClass();
- }
-
- if (var3[BrowserModel.SelectMethod]) {
- this.updateSelectMethod();
- }
-
- if (var3[BrowserModel.AnyEdits]) {
- this.updateAnyEdits();
- }
-
- if (var3[BrowserModel.OutOfDate]) {
- this.updateOutOfDate();
- }
-
- this.updateState();
- }
- }
-
- public static void main(String[] var0) {
- for(int var1 = 0; var1 < var0.length; var1 += 2) {
- if (var0[var1].equalsIgnoreCase("-j")) {
- String var2 = var0[var1 + 1];
- BrowserOptions.jigHome = var2;
- }
-
- if (var0[var1].equalsIgnoreCase("-i")) {
- String var3 = var0[var1 + 1];
- BrowserOptions.iniFileName = var3;
- }
- }
-
- BrowserOptions.init();
- new BrowserView(new BrowserModel(), (String)null, true);
- }
-
- private void spawnNewWorkSpace() {
- if (this.workSpace == null) {
- this.workSpace = new WorkSpace(this, BrowserOptions.messages.getString("WorkSpaceF") + " " + ((Frame)this).getTitle());
- }
-
- this.updateState();
- }
-
- public void deleteWorkSpace() {
- this.workSpace = null;
- this.updateState();
- }
-
- private boolean replace(String var1) {
- int var2 = this.adjust(this.output.getText(), this.output.getSelectionStart());
- int var3 = this.adjust(this.output.getText(), this.output.getSelectionEnd());
- this.output.replaceRange(var1, var2, var3);
- return true;
- }
-
- private boolean replaceAll(String var1, String var2) {
- boolean var3 = true;
- if (var1 != null && !var1.equals("")) {
- while(var3) {
- int var4 = this.adjust(this.output.getText(), this.output.getSelectionStart());
- int var5 = this.adjust(this.output.getText(), this.output.getSelectionEnd());
- this.output.replaceRange(var2, var4, var5);
- this.output.setCaretPosition(this.adjust(this.output.getText(), this.output.getCaretPosition()));
- var3 = this.find(var1, this.output.getText());
- }
- }
-
- return true;
- }
-
- boolean removeMethod() {
- if (this.methods.getSelectedIndex() == -1) {
- return false;
- } else {
- SimpleDialog var1 = new SimpleDialog(this, BrowserOptions.messages.getString("DeleteMetho") + " " + this.model.currentMethodName() + BrowserOptions.messages.getString("AreYouSure"));
- if (var1.result) {
- ((Frame)this).setCursor(3);
- if (!this.model.removeMethod()) {
- ((Frame)this).setCursor(0);
- new InformationDialog(this, BrowserOptions.messages.getString("TheClassFil") + " " + this.model.currentClassName() + BrowserOptions.messages.getString("JavaHasBeen"));
- return false;
- }
-
- ((Frame)this).setCursor(0);
- }
-
- return true;
- }
- }
-
- boolean removeClass() {
- if (!this.testDiscard()) {
- return false;
- } else {
- SimpleDialog var1 = new SimpleDialog(this, BrowserOptions.messages.getString("DeletingCl") + " " + this.model.classNamePart() + BrowserOptions.messages.getString("AreYouSure"));
- if (var1.result) {
- this.model.removeClass();
- return true;
- } else {
- return false;
- }
- }
- }
-
- void updateAnyEdits() {
- if (this.oldText != null && this.oldText.compareTo(this.output.getText()) != 0 && true) {
- this.model.reloadNoOutput();
- } else {
- this.model.reload();
- }
- }
-
- static void ViewCollectionAdd(BrowserView var0) {
- for(int var1 = 0; var1 < ViewCollectionMax; ++var1) {
- if (ViewCollection[var1] == null) {
- ViewCollection[var1] = var0;
- return;
- }
- }
-
- }
-
- static void ViewCollectionDelete(BrowserView var0) {
- for(int var1 = 0; var1 < ViewCollectionMax; ++var1) {
- if (ViewCollection[var1] == var0) {
- ViewCollection[var1] = null;
- return;
- }
- }
-
- }
-
- private String getSelectedTextNotTitle() {
- if (this.recordedSelectedText != null) {
- return this.recordedSelectedText;
- } else {
- String var1 = this.output.getText();
- int var2 = this.adjust(var1, this.output.getSelectionStart());
- int var3 = this.adjust(var1, this.output.getSelectionEnd());
- String var4 = var1.substring(var2, var3);
- if (!var4.equals("")) {
- return var4;
- } else {
- if (this.workSpace != null) {
- var1 = this.workSpace.getSelectedText();
- if (!var1.equals("")) {
- return var1;
- }
- }
-
- if (Monolog.Transcript != null) {
- var1 = Monolog.Transcript.textArea().getSelectedText();
- if (!var1.equals("")) {
- return var1;
- }
- }
-
- return "";
- }
- }
- }
-
- private boolean testDiscardNoDialog() {
- return this.oldText == null || this.oldText.compareTo(this.output.getText()) == 0;
- }
-
- public boolean newInterface() {
- if (!this.testDiscard()) {
- return false;
- } else {
- String var1 = null;
- if (this.recordedSelectedText == null) {
- QueryDialog var2 = new QueryDialog(this, BrowserOptions.messages.getString("InterfaceC"), BrowserOptions.messages.getString("EnterTheNewI"));
- if (var2.getText() != null) {
- if (this.model.fileLoader.existClassFile(this.model.currentPackageName() + "." + var2.getText())) {
- new InformationDialog(this, BrowserOptions.messages.getString("TheClassFi") + " " + var2.getText() + BrowserOptions.messages.getString("JavaAlread"));
- return false;
- }
-
- var1 = var2.getText();
- if (Recorder.ois != null || Recorder.oos != null && true) {
- this.recordedSelectedText = var2.getText();
- }
- }
- } else {
- var1 = this.recordedSelectedText;
- }
-
- if (var1 != null) {
- int var3 = this.classes.getSelectedIndex();
- if (var3 != -1) {
- this.classes.deselect(var3);
- }
-
- var3 = this.methods.getSelectedIndex();
- if (var3 != -1) {
- this.methods.deselect(var3);
- }
-
- this.oldClassIndex = -1;
- this.oldMethodIndex = -1;
- this.newClassOrMethod = true;
- this.model.newInterface(var1);
- this.oldText = "";
- return true;
- } else {
- return false;
- }
- }
- }
-
- boolean renameMethod() {
- String var1 = null;
- if (this.recordedSelectedText == null) {
- QueryDialog var2 = new QueryDialog(this, BrowserOptions.messages.getString("RenameMeth"), BrowserOptions.messages.getString("EnterTheNe"));
- if (var2.getText() != null) {
- var1 = var2.getText();
- if (Recorder.ois != null || Recorder.oos != null && true) {
- this.recordedSelectedText = var2.getText();
- }
- }
- } else {
- var1 = this.recordedSelectedText;
- }
-
- if (var1 != null) {
- TextTokenizer var6 = new TextTokenizer(this.output.getText());
- int var3 = 0;
-
- try {
- while((var3 = ((StreamTokenizer)var6).nextToken()) != -1) {
- if (var3 == -3 && var6.sval.equals(this.model.currentMethodName())) {
- this.output.setSelectionStart(var6.position() - 1);
- this.output.setSelectionEnd(var6.position() + var6.sval.length() - 1);
- this.replace(var1);
- if (this.model.renameMethod(var1, this.output.getText())) {
- this.oldText = this.output.getText();
- return true;
- }
-
- new InformationDialog(this, BrowserOptions.messages.getString("TheClassFil") + " " + this.model.currentClassName() + BrowserOptions.messages.getString("JavaHasBee"));
- }
- }
- } catch (IOException var5) {
- System.out.println(var5);
- }
- }
-
- return false;
- }
-
- boolean renameClass() {
- if (!this.testDiscard()) {
- return false;
- } else {
- Object var1 = null;
- String var7;
- if (this.recordedSelectedText == null) {
- QueryDialog var2 = new QueryDialog(this, BrowserOptions.messages.getString("RenameClass"), BrowserOptions.messages.getString("EnterTheNew"));
- if (var2.getText() != null) {
- var7 = this.model.currentPackageName() + "." + var2.getText();
- if (this.model.fileLoader.existClassFile(var7)) {
- new InformationDialog(this, BrowserOptions.messages.getString("TheClassFi") + " " + var2.getText() + BrowserOptions.messages.getString("JavaAlready"));
- return false;
- }
- }
-
- var7 = var2.getText();
- if (Recorder.ois != null || Recorder.oos != null && true) {
- this.recordedSelectedText = var2.getText();
- }
- } else {
- var7 = this.recordedSelectedText;
- }
-
- if (var7 != null) {
- TextTokenizer var8 = new TextTokenizer(this.output.getText());
- int var3 = 0;
-
- try {
- while((var3 = ((StreamTokenizer)var8).nextToken()) != -1) {
- if (var3 == -3 && var8.sval.equals(this.model.classNamePart())) {
- this.output.setSelectionStart(var8.position() - 1);
- this.output.setSelectionEnd(var8.position() + var8.sval.length() - 1);
- this.replace(var7);
- if (this.model.renameClass(this.output.getText(), var7)) {
- return true;
- }
-
- new InformationDialog(this, BrowserOptions.messages.getString("TheClassFil") + " " + this.model.currentClassName() + BrowserOptions.messages.getString("JavaHasBee"));
- }
- }
- } catch (IOException var5) {
- System.out.println(var5);
- }
- }
-
- return false;
- }
- }
-
- void helpProcess() {
- String var1 = BrowserOptions.htmlBrowser.trim() + " " + (!BrowserOptions.jigHome.equals("") ? BrowserOptions.jigHome : System.getProperty("user.dir")) + System.getProperty("file.separator") + "JIGDocument.htm";
- Runtime var2 = Runtime.getRuntime();
-
- try {
- var2.exec(var1);
- } catch (IOException var3) {
- System.out.println(BrowserOptions.messages.getString("IOExceptionOn"));
- }
- }
-
- void htmlProcess(String var1, String var2) {
- String var3 = var2;
- if (var2 == null || var2.equals("")) {
- String[] var4 = new String[]{".html", ".htm"};
- FileDialog var5 = new FileDialog(this, BrowserOptions.messages.getString("SelectAnHT"));
- var5.setFilenameFilter(new HtmlFilter(var4));
- var5.setDirectory(this.model.GetRootDir() + (this.model.currentPackageName() != null ? BrowserFileLoader.correctFileName(this.model.currentPackageName()) : ""));
- ((Dialog)var5).show();
- var3 = var5.getDirectory() + var5.getFile();
- if (var5.getFile() == null) {
- return;
- }
- }
-
- String var8 = var1 + " " + var3;
- Runtime var9 = Runtime.getRuntime();
-
- try {
- var9.exec(var8);
- } catch (IOException var7) {
- System.out.println(BrowserOptions.messages.getString("IOExceptionOnH") + " " + var7);
- }
- }
-
- void appletProcess(String var1, String var2, boolean var3) {
- String var4 = var2;
- if (var2 == null || var2.equals("")) {
- FileDialog var5 = new FileDialog(this, BrowserOptions.messages.getString("SelectAnHT"));
- var5.setDirectory(this.model.GetRootDir() + BrowserFileLoader.correctFileName(this.model.currentPackageName()));
- ((Dialog)var5).show();
- String var6 = var5.getFile();
- if (var6 == null) {
- return;
- }
-
- var4 = "file:" + var5.getDirectory() + var6;
- }
-
- String var8 = "";
- if (this.model.currentPackageName() != null) {
- var8 = this.model.GetRootDir() + BrowserFileLoader.correctFileName(this.model.currentPackageName());
- if (var4.substring(0, 5).equalsIgnoreCase("file:") && var4.indexOf(System.getProperty("file.separator")) == -1) {
- var4 = var4.substring(0, 5) + var8 + System.getProperty("file.separator") + var4.substring(5);
- }
- }
-
- if (var3) {
- String var10 = "-classpath " + var8 + System.getProperty("path.separator") + (!BrowserOptions.optionalClasspath.equals("") ? BrowserOptions.optionalClasspath : System.getProperty("java.class.path")) + " ";
- DebugGUI var7 = this.debugger;
- if (var7 == null ? false : var7.isDebuggerActive()) {
- this.debugger.quit();
- }
-
- this.debugger = new DebugGUI(BrowserOptions.messages.getString("DebugView") + " " + var4, BrowserOptions.debugger + " " + var10 + BrowserOptions.debug + " sun.applet.AppletViewer " + var4, this.model.currentClassName() != null ? this.model.classNamePart() : null, true);
- } else {
- String var9 = "-J-classpath -J" + var8 + System.getProperty("path.separator") + (!BrowserOptions.optionalClasspath.equals("") ? BrowserOptions.optionalClasspath : System.getProperty("java.class.path")) + " ";
- (new ProcessThread(var1 + " " + var9 + BrowserOptions.appletOption + " " + var4, new Monolog(this, BrowserOptions.messages.getString("View") + " " + var4), BrowserOptions.messages.getString("ViewerComp"))).start();
- }
- }
-
- void updatePackageList() {
- }
-
- void updateClassList() {
- String[] var1 = this.model.getClasses();
- if (this.classes.getItemCount() > 0) {
- this.classes.removeAll();
- }
-
- if (this.methods.getItemCount() > 0) {
- this.methods.removeAll();
- }
-
- try {
- for(int var2 = 0; var2 < var1.length; ++var2) {
- this.classes.addItem(var1[var2]);
- }
- } catch (NullPointerException var3) {
- }
-
- if (this.model.currentClassViewSelector() >= 0) {
- this.classes.select(this.model.currentClassViewSelector());
- }
-
- if (this.model.textState.equals("Class")) {
- this.updateSelector = true;
- }
-
- if (BrowserOptions.specialSystem[0].equalsIgnoreCase("short list")) {
- Dimension var4 = ((Component)this).getSize();
- var4.height += this.delta;
- ((Component)this).setSize(var4);
- ((Container)this).validate();
- var4.height -= this.delta;
- ((Component)this).setSize(var4);
- ((Container)this).validate();
- }
-
- }
-
- void updateMethodList() {
- String[] var1 = this.model.getMethods();
- if (this.methods.getItemCount() > 0) {
- this.methods.removeAll();
- }
-
- try {
- for(int var2 = 0; var2 < var1.length; ++var2) {
- this.methods.addItem(var1[var2]);
- }
- } catch (NullPointerException var4) {
- }
-
- int var5 = this.model.currentMethodViewSelector();
- if (var5 >= 0) {
- this.methods.select(var5);
- this.oldMethodIndex = var5;
- }
-
- if (BrowserOptions.specialSystem[0].equalsIgnoreCase("short list")) {
- Dimension var3 = ((Component)this).getSize();
- var3.height += this.delta;
- ((Component)this).setSize(var3);
- ((Container)this).validate();
- var3.height -= this.delta;
- ((Component)this).setSize(var3);
- ((Container)this).validate();
- }
-
- }
-
- public void callbackWaiting() {
- String var1 = "-classpath " + System.getProperty("user.dir") + System.getProperty("path.separator") + (!BrowserOptions.optionalClasspath.equals("") ? BrowserOptions.optionalClasspath : System.getProperty("java.class.path")) + " ";
- String var2 = BrowserOptions.debugger + " ";
- if (this.evaluateBreakLine == -1) {
- this.debugger = new DebugGUI(BrowserOptions.messages.getString("Debug") + " " + this.debugFilename, var2 + var1 + BrowserOptions.debug + " ", this.debugFilename, false);
- } else {
- DebugGUI var3 = this.evaluateDebugger;
- if (!(var3 == null ? false : var3.isDebuggerActive())) {
- this.evaluateDebugger = new DebugGUI(BrowserOptions.messages.getString("Evaluate"), var2 + var1 + BrowserOptions.debug + " ", this.evaluateClass, this.evaluateBreakLine);
- } else {
- this.evaluateDebugger.evaluateReinit(this.evaluateClass);
- this.evaluateDebugger.evaluateInit(this.evaluateClass, this.evaluateBreakLine);
- }
- }
- }
-
- private boolean testDiscardSave(boolean var1) {
- if (this.oldText != null && this.oldText.compareTo(this.output.getText()) != 0) {
- if (!var1) {
- SimpleDialog var2 = new SimpleDialog(this, BrowserOptions.messages.getString("DiscardCha") + ((Frame)this).getTitle() + "'?");
- return var2.result;
- }
-
- this.updateSelector = false;
- ((Frame)this).setCursor(3);
- if (this.locateMatch(this.output.getText(), '{', '}', 0, true) != 0) {
- ((Frame)this).setCursor(0);
- new InformationDialog(this, BrowserOptions.messages.getString("TheSourceC"));
- return false;
- }
-
- if (!this.model.save(this.output.getText())) {
- ((Frame)this).setCursor(0);
- new InformationDialog(this, BrowserOptions.messages.getString("TheClassFil") + " " + this.model.currentClassName() + BrowserOptions.messages.getString("JavaHasBee"));
- return false;
- }
-
- ((Frame)this).setCursor(0);
- this.oldText = this.output.getText();
- }
-
- return true;
- }
-
- void docProcess(String var1) {
- String var2 = this.model.GetRootDir() + BrowserFileLoader.correctFileName(this.model.currentPackageName());
- String var3 = BrowserOptions.documenter + " ";
- String var4 = "-sourcepath " + var2 + System.getProperty("path.separator") + (!BrowserOptions.optionalClasspath.equals("") ? BrowserOptions.optionalClasspath : System.getProperty("java.class.path")) + " ";
- String var5 = "-d " + var2 + " ";
- Object var6 = null;
- Object var7 = null;
- if (var1 != null && !var1.equals("")) {
- (new ProcessThread(var3 + BrowserOptions.document + " " + var1, new Monolog(this, BrowserOptions.messages.getString("Documentin") + " " + var1), BrowserOptions.messages.getString("Documentati"))).start();
- } else if (this.oldClassIndex == -1 && this.oldPackageIndex != -1) {
- String var8 = this.model.currentPackageName();
- String var9 = var8.substring(0, var8.lastIndexOf(46));
- String var10 = var8.substring(var8.lastIndexOf(46) + 1);
- var2 = this.model.GetRootDir() + BrowserFileLoader.correctFileName(var9);
- var4 = "-sourcepath " + var2 + System.getProperty("path.separator") + (!BrowserOptions.optionalClasspath.equals("") ? BrowserOptions.optionalClasspath : System.getProperty("java.class.path")) + " ";
- var5 = "-d " + var2 + " ";
- (new ProcessThread(var3 + var4 + var5 + BrowserOptions.document + " " + var10, new Monolog(this, BrowserOptions.messages.getString("Documentin") + " " + var10), BrowserOptions.messages.getString("Documentati"))).start();
- } else {
- String var14 = this.model.classNamePart() + ".java";
- String var15 = this.model.classNamePart();
- (new ProcessThread(var3 + var4 + var5 + BrowserOptions.document + " " + var14, new Monolog(this, BrowserOptions.messages.getString("Documentin") + " " + var15), BrowserOptions.messages.getString("Documentati"))).start();
- }
- }
-
- void recorder(String var1) {
- if (var1 != null && !var1.equals("")) {
- String var2 = null;
- Object var3 = null;
- int var4 = 0;
- StringTokenizer var5 = new StringTokenizer(var1, ", ", false);
- if (var5.hasMoreTokens()) {
- var2 = var5.nextToken();
- }
-
- if (var5.hasMoreTokens()) {
- String var12 = var5.nextToken();
- if (var5.hasMoreTokens()) {
- var4 = new Integer(var5.nextToken());
- }
-
- if (Recorder.ois != null || Recorder.oos != null && true) {
- Recorder.close();
- }
-
- if (var12.equalsIgnoreCase("w")) {
- Recorder.OutputStream(var2);
- } else {
- if (var12.equalsIgnoreCase("r")) {
- Recorder.InputStream(var2);
- Object var6 = null;
-
- for(int var7 = 1; (var13 = new Recorder()).read(); ++var7) {
- int var8;
- for(var8 = 0; var8 < ViewCollectionMax && (ViewCollection[var8] == null || !ViewCollection[var8].getTitle().equals(var13.windowTitle())); ++var8) {
- }
-
- if (var8 != ViewCollectionMax) {
- Event var9 = var13.event();
- if (var13.actionEvent() && (((String)var9.target).equals(Save) || ((String)var9.target).equals(SaveCompile) || ((String)var9.target).equals(SaveRun) || ((String)var9.target).equals(LineNumbers) || ((String)var9.target).equals(NewMethod) || ((String)var9.target).equals(NewClass) || ((String)var9.target).equals(NewInterface) || ((String)var9.target).equals(RenameMethod) || ((String)var9.target).equals(RenameClass) || ((String)var9.target).equals(Senders) || ((String)var9.target).equals(Receivers) || ((String)var9.target).equals(References) || ((String)var9.target).equals(Extenders) || ((String)var9.target).equals(Implementors) || ((String)var9.target).equals(Hierarchy) || ((String)var9.target).equals(Interfaces) || ((String)var9.target).equals(NewBrowser) || ((String)var9.target).equals(ClassBrowser) || ((String)var9.target).equals(DiscardEdits))) {
- if (((String)var9.target).equals(SaveCompile) || ((String)var9.target).equals(SaveRun)) {
- var9.target = Save;
- }
-
- var9.target = new MenuItem((String)var9.target);
- ViewCollection[var8].output.setText(var13.text());
- ViewCollection[var8].recordedSelectedText = var13.selected();
- ViewCollection[var8].action(var9, (Object)null);
- ViewCollection[var8].recordedSelectedText = null;
- } else if (var13.actionEvent() && ((String)var9.target).equals(RemoveMethod)) {
- this.model.removeMethod();
- } else if (var13.actionEvent() && ((String)var9.target).equals(DeleteClass)) {
- this.model.removeClass();
- } else if (var13.event() != null && var13.event().target instanceof String && var13.event().id == 701) {
- String var10 = (String)var9.target;
- if (var10.equals("packages")) {
- var9.target = ViewCollection[var8].packages;
- ViewCollection[var8].packages.select((Integer)var9.arg);
- }
-
- if (var10.equals("classes")) {
- var9.target = ViewCollection[var8].classes;
- ViewCollection[var8].classes.select((Integer)var9.arg);
- }
-
- if (var10.equals("methods")) {
- var9.target = ViewCollection[var8].methods;
- ViewCollection[var8].methods.select((Integer)var9.arg);
- }
-
- ViewCollection[var8].output.setText(var13.text());
- ViewCollection[var8].handleEvent(var9);
- }
-
- try {
- Thread.sleep((long)(var4 * 100));
- } catch (InterruptedException var11) {
- }
- }
- }
- }
-
- Recorder.close();
- }
- }
- } else {
- if (Recorder.ois != null || Recorder.oos != null && true) {
- Recorder.close();
- }
-
- }
- }
-
- void updateOutOfDate() {
- String var1 = ((Frame)this).getTitle();
- if (BrowserOptions.suggestUpdate && var1.indexOf(BrowserOptions.messages.getString("OutOfDate")) < 0) {
- ((Frame)this).setTitle(var1 + BrowserOptions.messages.getString("OutOfDate"));
- }
-
- }
-
- private boolean whichFitsBrowserType(int var1) {
- if (var1 == 1 && ((Frame)this).getTitle().startsWith(BrowserOptions.messages.getString("SendersOf"))) {
- return true;
- } else if (var1 == 2 && ((Frame)this).getTitle().startsWith(BrowserOptions.messages.getString("ReceiversO"))) {
- return true;
- } else {
- return var1 == 3 && ((Frame)this).getTitle().startsWith(BrowserOptions.messages.getString("ReferencesT"));
- }
- }
-
- private boolean selectedTextIsFromTitle() {
- String var1 = this.getSelectedText();
- if (var1 != null && !var1.equals("")) {
- String var2 = ((Frame)this).getTitle();
- int var3 = 0;
- if ((var3 = var2.indexOf(BrowserOptions.messages.getString("OutOfDate"))) >= 0) {
- var2 = var2.substring(0, var3);
- }
-
- var3 = var2.indexOf(32);
- if (var3 >= 0) {
- String var4 = var2.substring(var3 + 1);
- var3 = var4.indexOf(32);
- if (var3 >= 0 && var4.substring(var3 + 1).equals(var1)) {
- return true;
- }
- }
- }
-
- return false;
- }
-
- private void resetTitle() {
- String var1 = ((Frame)this).getTitle();
- boolean var2 = false;
- if (var1.indexOf(BrowserOptions.messages.getString("OutOfDate")) >= 0) {
- ((Frame)this).setTitle(var1.substring(0, var1.indexOf(BrowserOptions.messages.getString("OutOfDate"))));
- }
-
- }
-
- void saveAll() {
- for(int var1 = 0; var1 < ViewCollectionMax; ++var1) {
- if (ViewCollection[var1] != null) {
- ViewCollection[var1].testDiscardSave(true);
- }
- }
-
- }
-
- static {
- ViewCollection = new BrowserView[ViewCollectionMax];
- DebugEvaluate = "zDbgEval";
- }
- }
-