home *** CD-ROM | disk | FTP | other *** search
- package mug.app;
-
- import java.awt.Event;
- import java.awt.FileDialog;
- import java.awt.Frame;
- import java.awt.Menu;
- import java.awt.MenuBar;
- import java.awt.MenuItem;
- import java.awt.Window;
- import java.io.File;
- import java.io.FilenameFilter;
-
- public abstract class ApplicationFrame extends Frame {
- private String _name;
- private int _busyCount;
-
- public ApplicationFrame() {
- MenuBar var1 = this.menuBar();
- if (var1 != null) {
- ((Frame)this).setMenuBar(var1);
- }
-
- }
-
- public ApplicationFrame(String var1) {
- super(var1);
- this._name = var1;
- MenuBar var2 = this.menuBar();
- if (var2 != null) {
- ((Frame)this).setMenuBar(var2);
- }
-
- }
-
- public void setTitle(String var1) {
- if (this._name != null) {
- super.setTitle(this._name + ": " + (var1 != null ? var1 : "Untitled"));
- } else {
- super.setTitle(var1 != null ? var1 : "Untitled");
- }
- }
-
- public boolean handleEvent(Event var1) {
- if (var1.id == 201) {
- CommandMenuItem var2 = (CommandMenuItem)this.getMenuItem("File", "Quit");
- if (var2 != null) {
- var2.execute();
- } else {
- (new CloseCommand(this)).setNext(new QuitCommand()).execute();
- }
- } else {
- if (var1.id != 1001 || !(var1.target instanceof CommandMenuItem)) {
- return super.handleEvent(var1);
- }
-
- ((CommandMenuItem)var1.target).execute();
- }
-
- return true;
- }
-
- public void setBusy(boolean var1) {
- if (var1) {
- if (this._busyCount == 0) {
- ((Frame)this).setCursor(3);
- }
-
- ++this._busyCount;
- } else {
- --this._busyCount;
- if (this._busyCount == 0) {
- ((Frame)this).setCursor(0);
- }
-
- }
- }
-
- public abstract Document emptyDocument();
-
- public abstract Document getDocument();
-
- public abstract void setDocument(Document var1);
-
- protected MenuBar menuBar() {
- MenuBar var1 = new MenuBar();
- CommandMenu var2 = new CommandMenu("File");
- var2.add("New", (new CloseCommand(this)).setNext(new NewCommand(this)));
- var2.add("Open...", (new CloseCommand(this)).setNext(new OpenCommand(this)));
- var2.add("Save", new SaveCommand(this, false));
- var2.add("Save As...", new SaveCommand(this, true));
- ((Menu)var2).addSeparator();
- var2.add("Quit", (new CloseCommand(this)).setNext(new QuitCommand()));
- var1.add(var2);
- return var1;
- }
-
- public File showOpenFileDialog() {
- return this.showFileDialog(this.openMessage(), 0, this.getFilenameFilter());
- }
-
- public File showSaveFileDialog() {
- return this.showFileDialog(this.saveMessage(), 1, this.getFilenameFilter());
- }
-
- public File showFileDialog(String var1, int var2, FilenameFilter var3) {
- FileDialog var4 = new FileDialog(this, var1, var2);
- if (var3 != null) {
- var4.setFilenameFilter(var3);
- }
-
- ((Window)var4).show();
- String var5 = var4.getDirectory();
- String var6 = var4.getFile();
- return var5 != null && var6 != null ? new File(var5, var6) : null;
- }
-
- public Menu getMenu(String var1) {
- MenuBar var2 = ((Frame)this).getMenuBar();
-
- for(int var3 = 0; var3 < var2.countMenus(); ++var3) {
- Menu var4 = var2.getMenu(var3);
- if (((MenuItem)var4).getLabel().equals(var1)) {
- return var4;
- }
- }
-
- return null;
- }
-
- public MenuItem getMenuItem(String var1, String var2) {
- Menu var3 = this.getMenu(var1);
- if (var3 != null) {
- for(int var4 = 0; var4 < var3.countItems(); ++var4) {
- MenuItem var5 = var3.getItem(var4);
- if (var5.getLabel().equals(var2)) {
- return var5;
- }
- }
- }
-
- return null;
- }
-
- public boolean enableMenuItem(String var1, String var2) {
- MenuItem var3 = this.getMenuItem(var1, var2);
- if (var3 != null) {
- var3.enable();
- return true;
- } else {
- return false;
- }
- }
-
- public boolean disableMenuItem(String var1, String var2) {
- MenuItem var3 = this.getMenuItem(var1, var2);
- if (var3 != null) {
- var3.disable();
- return true;
- } else {
- return false;
- }
- }
-
- protected String openMessage() {
- return "Open File";
- }
-
- protected String saveMessage() {
- return "Save File";
- }
-
- protected FilenameFilter getFilenameFilter() {
- return null;
- }
-
- protected String unsavedChangesMessage() {
- return "You have unsaved changes.";
- }
-
- protected String overwriteMessage() {
- return "Overwrite existing file?";
- }
- }
-