Added getBounds() in BasicGUIComponent
authorDaniel Kirschten <daniel.kirschten@gmx.de>
Wed, 15 May 2019 09:48:24 +0000 (11:48 +0200)
committerDaniel Kirschten <daniel.kirschten@gmx.de>
Wed, 15 May 2019 09:48:24 +0000 (11:48 +0200)
LogicUI/src/era/mi/components/gui/BasicGUIComponent.java
LogicUI/src/era/mi/components/gui/GUIAndGate.java
LogicUI/src/era/mi/components/gui/GUIMerger.java
LogicUI/src/era/mi/components/gui/GUIMux.java
LogicUI/src/era/mi/components/gui/GUINotGate.java
LogicUI/src/era/mi/components/gui/GUISplitter.java

index 8d26384..55929b9 100644 (file)
@@ -3,6 +3,7 @@ package era.mi.components.gui;
 import era.mi.logic.wires.WireArray;\r
 import net.haspamelodica.swt.helper.gcs.GeneralGC;\r
 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;\r
+import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;\r
 \r
 public interface BasicGUIComponent\r
 {\r
@@ -10,6 +11,11 @@ public interface BasicGUIComponent
         * Render this component to the given gc, at coordinates (0, 0).\r
         */\r
        public void render(GeneralGC gc);\r
+       /**\r
+        * Returns the bounds of this component.\r
+        * Used for calculating which component is clicked.\r
+        */\r
+       public Rectangle getBounds();\r
 \r
        //TODO this code will be replaced by code in BasicComponent.\r
        /**\r
index 6b18afa..7f0749a 100644 (file)
@@ -10,6 +10,7 @@ import era.mi.logic.wires.WireArray;
 import net.haspamelodica.swt.helper.gcs.GeneralGC;\r
 import net.haspamelodica.swt.helper.swtobjectwrappers.Font;\r
 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;\r
+import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;\r
 \r
 public class GUIAndGate extends AndGate implements BasicGUIComponent\r
 {\r
@@ -44,6 +45,11 @@ public class GUIAndGate extends AndGate implements BasicGUIComponent
                this.wireArrayConnectionPoints = Collections.unmodifiableList(wireArrayConnectionPointsModifiable);\r
        }\r
 \r
+       @Override\r
+       public Rectangle getBounds()\r
+       {\r
+               return new Rectangle(0, 0, 20, height);\r
+       }\r
        @Override\r
        public void render(GeneralGC gc)\r
        {\r
index 0abe968..df5b515 100644 (file)
@@ -9,6 +9,7 @@ import era.mi.logic.components.Merger;
 import era.mi.logic.wires.WireArray;\r
 import net.haspamelodica.swt.helper.gcs.GeneralGC;\r
 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;\r
+import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;\r
 \r
 public class GUIMerger extends Merger implements BasicGUIComponent\r
 {\r
@@ -41,6 +42,11 @@ public class GUIMerger extends Merger implements BasicGUIComponent
                this.wireArrayConnectionPoints = Collections.unmodifiableList(wireArrayConnectionPointsModifiable);\r
        }\r
 \r
+       @Override\r
+       public Rectangle getBounds()\r
+       {\r
+               return new Rectangle(0, 0, 20, height);\r
+       }\r
        @Override\r
        public void render(GeneralGC gc)\r
        {\r
index bf78b76..19c1622 100644 (file)
@@ -9,6 +9,7 @@ import era.mi.logic.components.Mux;
 import era.mi.logic.wires.WireArray;\r
 import net.haspamelodica.swt.helper.gcs.GeneralGC;\r
 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;\r
+import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;\r
 \r
 public class GUIMux extends Mux implements BasicGUIComponent\r
 {\r
@@ -45,6 +46,12 @@ public class GUIMux extends Mux implements BasicGUIComponent
                this.connectedWireArrays = Collections.unmodifiableList(connectedWireArraysModifiable);\r
                this.wireArrayConnectionPoints = Collections.unmodifiableList(wireArrayConnectionPointsModifiable);\r
        }\r
+\r
+       @Override\r
+       public Rectangle getBounds()\r
+       {\r
+               return new Rectangle(0, 0, 20, height + 20);\r
+       }\r
        @Override\r
        public void render(GeneralGC gc)\r
        {\r
index 7af9a4b..6b8ee24 100644 (file)
@@ -9,6 +9,7 @@ import era.mi.logic.wires.WireArray;
 import net.haspamelodica.swt.helper.gcs.GeneralGC;\r
 import net.haspamelodica.swt.helper.swtobjectwrappers.Font;\r
 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;\r
+import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;\r
 \r
 public class GUINotGate extends NotGate implements BasicGUIComponent\r
 {\r
@@ -34,6 +35,11 @@ public class GUINotGate extends NotGate implements BasicGUIComponent
                this.wireArrayConnectionPoints = Collections.unmodifiableList(wireArrayConnectionPointsModifiable);\r
        }\r
 \r
+       @Override\r
+       public Rectangle getBounds()\r
+       {\r
+               return new Rectangle(0, 0, 20, 10);\r
+       }\r
        @Override\r
        public void render(GeneralGC gc)\r
        {\r
index b8a67f2..c6aa218 100644 (file)
@@ -9,6 +9,7 @@ import era.mi.logic.components.Splitter;
 import era.mi.logic.wires.WireArray;\r
 import net.haspamelodica.swt.helper.gcs.GeneralGC;\r
 import net.haspamelodica.swt.helper.swtobjectwrappers.Point;\r
+import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;\r
 \r
 public class GUISplitter extends Splitter implements BasicGUIComponent\r
 {\r
@@ -41,6 +42,11 @@ public class GUISplitter extends Splitter implements BasicGUIComponent
                this.wireArrayConnectionPoints = Collections.unmodifiableList(wireArrayConnectionPointsModifiable);\r
        }\r
 \r
+       @Override\r
+       public Rectangle getBounds()\r
+       {\r
+               return new Rectangle(0, 0, 20, height);\r
+       }\r
        @Override\r
        public void render(GeneralGC gc)\r
        {\r