diff --git a/src/main/java/fabrik/simulator/pic16f84/CreateWindow.java b/src/main/java/fabrik/simulator/pic16f84/CreateWindow.java index a9fe284..5ccceeb 100644 --- a/src/main/java/fabrik/simulator/pic16f84/CreateWindow.java +++ b/src/main/java/fabrik/simulator/pic16f84/CreateWindow.java @@ -14,25 +14,14 @@ import javafx.stage.Stage; import java.io.IOException; import java.util.Objects; -public class CreateWindow extends Application { - private PICComponentLocator picComponents = new PICComponentLocator(); // Subjekt +public class CreateWindow extends Application implements WindowManagement { + private static PICComponentLocator picComponents; // Subjekt public static GridPane grid = new GridPane(); private static VBox table; @Override public void start(Stage primaryStage) throws IOException { - - picComponents.registerComponent(CommandInterface.class, new Commands()); - picComponents.registerComponent(ToggleButtonInterface.class, new ToggleButtonGroupExt()); picComponents.registerComponent(FrontendControllerInterface.class, new Controller_Frontend()); - picComponents.registerComponent(DataRegisterInterface.class, new DataRegister()); - picComponents.registerComponent(EEPROMInterface.class, new EEPROM()); - picComponents.registerComponent(InterruptInterface.class, new Interrupts()); - picComponents.registerComponent(IOPortInterface.class, new IOPorts()); - picComponents.registerComponent(PreScalerInterface.class, new PreScaler()); - picComponents.registerComponent(ProgramStackInterface.class, new ProgramStack()); - picComponents.registerComponent(TimerInterface.class, new Timer()); - picComponents.registerComponent(WatchdogTimerInterface.class, new WatchdogTimer()); picComponents.initAll(); FXMLLoader codewindow = new FXMLLoader(CreateWindow.class.getResource("frontend.fxml")); @@ -52,6 +41,10 @@ public class CreateWindow extends Application { primaryStage.show(); } + public void startFromMain(String[] args){ + launch(args); + } + public static void main(String[] args) { launch(args); } @@ -61,7 +54,15 @@ public class CreateWindow extends Application { table= Table.refresh(); grid.add(table, 1, 1); } + + @Override + public void initialize(PICComponentLocator picComponents) { + CreateWindow.picComponents = picComponents; + } + + public CreateWindow (){ + + } } - diff --git a/src/main/java/fabrik/simulator/pic16f84/Main.java b/src/main/java/fabrik/simulator/pic16f84/Main.java new file mode 100644 index 0000000..b59cd38 --- /dev/null +++ b/src/main/java/fabrik/simulator/pic16f84/Main.java @@ -0,0 +1,25 @@ +package fabrik.simulator.pic16f84; + +import fabrik.simulator.pic16f84.interfaces.*; + +public class Main { + private static final PICComponentLocator picComponents = new PICComponentLocator(); // Subjekt + + public static void main(String[] args) { + picComponents.registerComponent(CommandInterface.class, new Commands()); + picComponents.registerComponent(ToggleButtonInterface.class, new ToggleButtonGroupExt()); + picComponents.registerComponent(DataRegisterInterface.class, new DataRegister()); + picComponents.registerComponent(EEPROMInterface.class, new EEPROM()); + picComponents.registerComponent(InterruptInterface.class, new Interrupts()); + picComponents.registerComponent(IOPortInterface.class, new IOPorts()); + picComponents.registerComponent(PreScalerInterface.class, new PreScaler()); + picComponents.registerComponent(ProgramStackInterface.class, new ProgramStack()); + picComponents.registerComponent(TimerInterface.class, new Timer()); + picComponents.registerComponent(WatchdogTimerInterface.class, new WatchdogTimer()); + CreateWindow window = new CreateWindow(); + picComponents.registerComponent(WindowManagement.class, window); + picComponents.initAll(); + + window.startFromMain(new String[]{}); + } +} diff --git a/src/main/java/fabrik/simulator/pic16f84/interfaces/WindowManagement.java b/src/main/java/fabrik/simulator/pic16f84/interfaces/WindowManagement.java index b30939c..75c3dca 100644 --- a/src/main/java/fabrik/simulator/pic16f84/interfaces/WindowManagement.java +++ b/src/main/java/fabrik/simulator/pic16f84/interfaces/WindowManagement.java @@ -1,5 +1,7 @@ package fabrik.simulator.pic16f84.interfaces; public interface WindowManagement extends PICComponentInterface { - void refreshTable(); + static void refreshTable() {} + + static void startFromMain(String[] args) {} } diff --git a/src/test/java/fabrik/simulator/pic16f84/EEPROMTests.java b/src/test/java/fabrik/simulator/pic16f84/EEPROMTests.java index 5f8962c..d1174ab 100644 --- a/src/test/java/fabrik/simulator/pic16f84/EEPROMTests.java +++ b/src/test/java/fabrik/simulator/pic16f84/EEPROMTests.java @@ -15,7 +15,6 @@ import java.nio.file.Files; import java.nio.file.Path; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.mock; @@ -133,5 +132,4 @@ class EEPROMTests { assertEquals(0, result); } - } \ No newline at end of file