summaryrefslogtreecommitdiff
path: root/NET/worlds/console/GammaFrame.java
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-02-12 22:33:32 -0800
committerFuwn <[email protected]>2026-02-12 22:33:32 -0800
commitc7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9 (patch)
treedf9f48bf128a6c0186a8e91857d6ff30fe0e9f18 /NET/worlds/console/GammaFrame.java
downloadworldsplayer-c7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9.tar.xz
worldsplayer-c7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9.zip
Initial commit
Diffstat (limited to 'NET/worlds/console/GammaFrame.java')
-rw-r--r--NET/worlds/console/GammaFrame.java144
1 files changed, 144 insertions, 0 deletions
diff --git a/NET/worlds/console/GammaFrame.java b/NET/worlds/console/GammaFrame.java
new file mode 100644
index 0000000..4aec0db
--- /dev/null
+++ b/NET/worlds/console/GammaFrame.java
@@ -0,0 +1,144 @@
+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);
+ }
+ }
+}