summaryrefslogtreecommitdiff
path: root/NET/worlds/console/SnapToolPanel.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/SnapToolPanel.java
downloadworldsplayer-c7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9.tar.xz
worldsplayer-c7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9.zip
Initial commit
Diffstat (limited to 'NET/worlds/console/SnapToolPanel.java')
-rw-r--r--NET/worlds/console/SnapToolPanel.java135
1 files changed, 135 insertions, 0 deletions
diff --git a/NET/worlds/console/SnapToolPanel.java b/NET/worlds/console/SnapToolPanel.java
new file mode 100644
index 0000000..460c065
--- /dev/null
+++ b/NET/worlds/console/SnapToolPanel.java
@@ -0,0 +1,135 @@
+package NET.worlds.console;
+
+import java.awt.Button;
+import java.awt.Checkbox;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Event;
+import java.awt.Frame;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Label;
+import java.awt.Point;
+import java.awt.TextField;
+
+public class SnapToolPanel extends Frame implements MainCallback, MainTerminalCallback {
+ private static final long serialVersionUID = 1673536928568480266L;
+ private Label xLabel;
+ private Label yLabel;
+ private Label zLabel;
+ private TextField xValue;
+ private TextField yValue;
+ private TextField zValue;
+ private Checkbox useSnapBox;
+ private Button okButton = new Button("Ok");
+ private Button cancelButton = new Button("Cancel");
+ private int snapX;
+ private int snapY;
+ private int snapZ;
+ private boolean useSnap;
+
+ public SnapToolPanel(java.awt.Window parent) {
+ super("Snap Tool Settings");
+ this.xLabel = new Label("X Snap Value");
+ this.yLabel = new Label("Y Snap Value");
+ this.zLabel = new Label("Z Snap Value");
+ this.snapX = SnapTool.snapTool().getSnapX();
+ this.snapY = SnapTool.snapTool().getSnapY();
+ this.snapZ = SnapTool.snapTool().getSnapZ();
+ this.useSnap = SnapTool.snapTool().useSnap();
+ this.useSnapBox = new Checkbox("Use Snap Tool", this.useSnap);
+ this.xValue = new TextField("" + this.snapX);
+ this.yValue = new TextField("" + this.snapY);
+ this.zValue = new TextField("" + this.snapZ);
+ GridBagLayout gbag = new GridBagLayout();
+ GridBagConstraints c = new GridBagConstraints();
+ this.setLayout(gbag);
+ this.setBackground(Color.gray);
+ c.gridx = 1;
+ c.gridy = 1;
+ c.gridheight = 1;
+ c.gridwidth = 1;
+ c.anchor = 18;
+ gbag.setConstraints(this.xLabel, c);
+ this.add(this.xLabel);
+ c.gridx = 2;
+ c.gridy = 1;
+ gbag.setConstraints(this.xValue, c);
+ this.add(this.xValue);
+ c.gridx = 1;
+ c.gridy = 2;
+ gbag.setConstraints(this.yLabel, c);
+ this.add(this.yLabel);
+ c.gridx = 2;
+ c.gridy = 2;
+ gbag.setConstraints(this.yValue, c);
+ this.add(this.yValue);
+ c.gridx = 1;
+ c.gridy = 3;
+ gbag.setConstraints(this.zLabel, c);
+ this.add(this.zLabel);
+ c.gridx = 2;
+ c.gridy = 3;
+ gbag.setConstraints(this.zValue, c);
+ this.add(this.zValue);
+ c.gridx = 2;
+ c.gridy = 5;
+ gbag.setConstraints(this.useSnapBox, c);
+ this.add(this.useSnapBox);
+ c.gridx = 5;
+ c.gridy = 1;
+ gbag.setConstraints(this.okButton, c);
+ this.add(this.okButton);
+ c.gridx = 5;
+ c.gridy = 2;
+ gbag.setConstraints(this.cancelButton, c);
+ this.add(this.cancelButton);
+ this.pack();
+ Point loc = parent.location();
+ Dimension size = parent.getSize();
+ this.reshape(loc.x + (size.width - 320) / 2, loc.y + (size.height - 240) / 2, 320, 240);
+ this.show();
+ Main.register(this);
+ }
+
+ @Override
+ public boolean handleEvent(Event ev) {
+ switch (ev.id) {
+ case 201:
+ this.dispose();
+ return true;
+ default:
+ return super.handleEvent(ev);
+ }
+ }
+
+ @Override
+ public boolean action(Event e, Object o) {
+ if (e.target == this.cancelButton) {
+ this.dispose();
+ return true;
+ } else if (e.target == this.okButton) {
+ this.snapX = Integer.parseInt(this.xValue.getText());
+ this.snapY = Integer.parseInt(this.yValue.getText());
+ this.snapZ = Integer.parseInt(this.zValue.getText());
+ this.useSnap = this.useSnapBox.getState();
+ SnapTool.snapTool().setSnap(this.useSnap);
+ SnapTool.snapTool().setSnapX(this.snapX);
+ SnapTool.snapTool().setSnapY(this.snapY);
+ SnapTool.snapTool().setSnapZ(this.snapZ);
+ this.dispose();
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ @Override
+ public void mainCallback() {
+ }
+
+ @Override
+ public void terminalCallback() {
+ Main.unregister(this);
+ }
+}