From ef3b0fce5f9b6cce06494ff6ce59f5534064e7d2 Mon Sep 17 00:00:00 2001 From: Paul Martin Date: Mon, 26 May 2025 16:30:00 +0200 Subject: [PATCH] Introduce FrontendSpecificCircle --- .../fabrik/simulator/pic16f84/Controller_Frontend.java | 2 +- .../fabrik/simulator/pic16f84/ExecutionTimeSubject.java | 4 ++-- src/main/java/fabrik/simulator/pic16f84/IOPorts.java | 9 +++++---- .../simulator/pic16f84/frontendspecifics/Circle.java | 8 ++++++++ .../frontendspecifics/FrontendSpecificCircle.java | 4 ++++ .../simulator/pic16f84/interfaces/CommandInterface.java | 3 --- .../simulator/pic16f84/interfaces/IOPortInterface.java | 5 ++--- .../simulator/pic16f84/interfaces/TableInterface.java | 1 - 8 files changed, 22 insertions(+), 14 deletions(-) create mode 100644 src/main/java/fabrik/simulator/pic16f84/frontendspecifics/Circle.java create mode 100644 src/main/java/fabrik/simulator/pic16f84/frontendspecifics/FrontendSpecificCircle.java diff --git a/src/main/java/fabrik/simulator/pic16f84/Controller_Frontend.java b/src/main/java/fabrik/simulator/pic16f84/Controller_Frontend.java index 24dc854..2c89501 100644 --- a/src/main/java/fabrik/simulator/pic16f84/Controller_Frontend.java +++ b/src/main/java/fabrik/simulator/pic16f84/Controller_Frontend.java @@ -1,6 +1,7 @@ package fabrik.simulator.pic16f84; +import fabrik.simulator.pic16f84.frontendspecifics.Circle; import fabrik.simulator.pic16f84.frontendspecifics.FrontendSpecificToggleButtonGroup; import fabrik.simulator.pic16f84.frontendspecifics.ToggleButtonGroup; @@ -14,7 +15,6 @@ import javafx.fxml.FXML; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.VBox; -import javafx.scene.shape.Circle; import javafx.stage.FileChooser; import java.io.File; diff --git a/src/main/java/fabrik/simulator/pic16f84/ExecutionTimeSubject.java b/src/main/java/fabrik/simulator/pic16f84/ExecutionTimeSubject.java index f5fe308..2e02753 100644 --- a/src/main/java/fabrik/simulator/pic16f84/ExecutionTimeSubject.java +++ b/src/main/java/fabrik/simulator/pic16f84/ExecutionTimeSubject.java @@ -24,8 +24,8 @@ public abstract class ExecutionTimeSubject extends PICComponent implements PICCo } protected void notifyObservers(){ - observers.forEach(o -> o.executionTimeChanged()); - } + observers.forEach(o -> o.executionTimeChanged()); + } public double getTotalExecutionTime(){ throw new UnsupportedOperationException("No class implements ExecutionTimeSubject correctly!"); diff --git a/src/main/java/fabrik/simulator/pic16f84/IOPorts.java b/src/main/java/fabrik/simulator/pic16f84/IOPorts.java index 526804e..0399abd 100644 --- a/src/main/java/fabrik/simulator/pic16f84/IOPorts.java +++ b/src/main/java/fabrik/simulator/pic16f84/IOPorts.java @@ -1,5 +1,7 @@ package fabrik.simulator.pic16f84; +import fabrik.simulator.pic16f84.frontendspecifics.Circle; +import fabrik.simulator.pic16f84.frontendspecifics.FrontendSpecificCircle; import fabrik.simulator.pic16f84.frontendspecifics.FrontendSpecificToggleButtonGroup; import fabrik.simulator.pic16f84.frontendspecifics.ToggleButtonGroup; import fabrik.simulator.pic16f84.interfaces.*; @@ -8,7 +10,6 @@ import javafx.scene.control.ToggleButton; import javafx.scene.paint.Color; import javafx.scene.paint.RadialGradient; import javafx.scene.paint.Stop; -import javafx.scene.shape.Circle; import java.io.IOException; @@ -187,9 +188,9 @@ public class IOPorts extends PICComponent implements IOPortInterface { } } - public void setLEDs (Circle[] a, Circle[] b){ - allLEDsA = a; - allLEDsB = b; + public void setLEDs (FrontendSpecificCircle[] a, FrontendSpecificCircle[] b){ + allLEDsA = (Circle []) a; + allLEDsB = (Circle []) b; } public void refreshTable(ToggleButtonGroup parent) { diff --git a/src/main/java/fabrik/simulator/pic16f84/frontendspecifics/Circle.java b/src/main/java/fabrik/simulator/pic16f84/frontendspecifics/Circle.java new file mode 100644 index 0000000..97516e3 --- /dev/null +++ b/src/main/java/fabrik/simulator/pic16f84/frontendspecifics/Circle.java @@ -0,0 +1,8 @@ +package fabrik.simulator.pic16f84.frontendspecifics; + + +public class Circle extends javafx.scene.shape.Circle implements FrontendSpecificCircle { + public Circle () { + super(); + } +} diff --git a/src/main/java/fabrik/simulator/pic16f84/frontendspecifics/FrontendSpecificCircle.java b/src/main/java/fabrik/simulator/pic16f84/frontendspecifics/FrontendSpecificCircle.java new file mode 100644 index 0000000..5ce08e5 --- /dev/null +++ b/src/main/java/fabrik/simulator/pic16f84/frontendspecifics/FrontendSpecificCircle.java @@ -0,0 +1,4 @@ +package fabrik.simulator.pic16f84.frontendspecifics; + +public interface FrontendSpecificCircle extends FrontendSpecificObject { +} diff --git a/src/main/java/fabrik/simulator/pic16f84/interfaces/CommandInterface.java b/src/main/java/fabrik/simulator/pic16f84/interfaces/CommandInterface.java index 3381b73..eab4c57 100644 --- a/src/main/java/fabrik/simulator/pic16f84/interfaces/CommandInterface.java +++ b/src/main/java/fabrik/simulator/pic16f84/interfaces/CommandInterface.java @@ -6,7 +6,4 @@ public interface CommandInterface extends PICComponentInterface { int get_wRegister(); void decode(int i); - - - } diff --git a/src/main/java/fabrik/simulator/pic16f84/interfaces/IOPortInterface.java b/src/main/java/fabrik/simulator/pic16f84/interfaces/IOPortInterface.java index 1ae1413..3f65cfb 100644 --- a/src/main/java/fabrik/simulator/pic16f84/interfaces/IOPortInterface.java +++ b/src/main/java/fabrik/simulator/pic16f84/interfaces/IOPortInterface.java @@ -1,9 +1,8 @@ package fabrik.simulator.pic16f84.interfaces; -import javafx.scene.shape.Circle; - import java.io.IOException; +import fabrik.simulator.pic16f84.frontendspecifics.FrontendSpecificCircle; import fabrik.simulator.pic16f84.frontendspecifics.FrontendSpecificObject; import fabrik.simulator.pic16f84.frontendspecifics.FrontendSpecificToggleButtonGroup; @@ -24,7 +23,7 @@ public interface IOPortInterface extends PICComponentInterface, FrontendSpecific void reset(); - void setLEDs(Circle[] allLEDsA, Circle[] allLEDsB); + void setLEDs(FrontendSpecificCircle[] allLEDsA, FrontendSpecificCircle[] allLEDsB); void setLEDs(boolean[] booleans); } diff --git a/src/main/java/fabrik/simulator/pic16f84/interfaces/TableInterface.java b/src/main/java/fabrik/simulator/pic16f84/interfaces/TableInterface.java index 54a3045..96c17e4 100644 --- a/src/main/java/fabrik/simulator/pic16f84/interfaces/TableInterface.java +++ b/src/main/java/fabrik/simulator/pic16f84/interfaces/TableInterface.java @@ -1,7 +1,6 @@ package fabrik.simulator.pic16f84.interfaces; import fabrik.simulator.pic16f84.frontendspecifics.FrontendSpecificVBox; -import javafx.scene.layout.VBox; public interface TableInterface extends PICComponentInterface { void refresh();