package NET.worlds.console; import NET.worlds.core.Std; import NET.worlds.scape.EditTile; import NET.worlds.scape.LibrariesTile; import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Container; import java.awt.Event; import java.awt.Frame; public class GammaFrame extends Frame implements DialogDisabled { private static final long serialVersionUID = 2725752068161032112L; private Container consoleTile; private Tree treeTile; private EditTile editTile; private LibrariesTile librariesTile; private FourTilePanel fourTile; private boolean isDialogDisabled; @Override public boolean handleEvent(Event e) { if (this.isDialogDisabled) { return false; } else { Console c = Console.getActive(); if (c != null && c.handleEvent(e)) { return true; } else { return e.id == 201 ? Console.maybeQuit() : super.handleEvent(e); } } } public static String getDefaultTitle() { return Std.getProductName(); } public GammaFrame() { super(getDefaultTitle()); } @Override public void show() { Gamma.hideSplash(); Window.allowFGJavaPalette(false); Console cons = Console.getActive(); if (cons instanceof DefaultConsole) { ((DefaultConsole)cons).setOrthoEnabled(this.isShaperVisible()); } super.show(); } public Container getConsoleTile() { this.makeTiles(); return this.consoleTile; } public Tree getTreeTile() { this.makeTiles(); return this.treeTile; } public EditTile getEditTile() { this.makeTiles(); return this.editTile; } public LibrariesTile getLibrariesTile() { this.makeTiles(); return this.librariesTile; } private void makeTiles() { if (this.consoleTile == null) { if (Gamma.getShaper() == null) { this.consoleTile = this; } else { this.consoleTile = new ExposedPanel(); this.treeTile = new Tree(); this.editTile = new EditTile(this.treeTile); this.librariesTile = new LibrariesTile(); this.setLayout(new BorderLayout()); this.fourTile = new FourTilePanel(this.librariesTile, this.consoleTile, this.treeTile, this.editTile, 1); this.add("Center", this.fourTile); } this.consoleTile.setLayout(new CardLayout()); } } public void setShaperVisible(boolean f) { if (Gamma.getShaper() != null) { if (this.fourTile.isOneTileMode() == f) { if (f) { this.fourTile.useFourTileMode(); } else { this.fourTile.useOneTileMode(); } } Console cons = Console.getActive(); if (cons instanceof DefaultConsole) { ((DefaultConsole)cons).setOrthoEnabled(f); } } } public boolean isShaperVisible() { return Gamma.getShaper() != null && this.fourTile != null && !this.fourTile.isOneTileMode(); } public void deactivate() { } public void activate() { if (!this.isShowing()) { new GammaFrameState(this); this.show(); } } @Override public boolean action(Event event, Object what) { Console c = Console.getActive(); return c != null && c.action(event, what) ? true : super.action(event, what); } @Override public void dialogDisable(boolean disable) { this.isDialogDisabled = disable; Console c = Console.getActive(); if (c != null) { c.dialogDisable(disable); } if (this.isShaperVisible()) { this.getTreeTile().dialogDisable(disable); this.getLibrariesTile().dialogDisable(disable); this.getEditTile().dialogDisable(disable); } } }