Introduce FrontendSpecifics

This commit is contained in:
2025-05-26 14:06:07 +02:00
parent 03941fc302
commit 06e9348016
24 changed files with 140 additions and 88 deletions

View File

@ -1,6 +1,7 @@
package fabrik.simulator.pic16f84;
import com.gluonhq.charm.glisten.control.ToggleButtonGroup;
import fabrik.simulator.pic16f84.frontendspecifics.FrontendSpecificToggleButtonGroup;
import fabrik.simulator.pic16f84.frontendspecifics.ToggleButtonGroup;
import fabrik.simulator.pic16f84.interfaces.*;
import javafx.collections.ObservableList;
import javafx.scene.control.ToggleButton;
@ -77,7 +78,7 @@ public class IOPorts extends PICComponent implements IOPortInterface {
dataRegister.setDirectRegister(TRISB, trisLatch[B]);
if (((trisLatch[A] >> 4) & 1 )== 1)
timer.incrementFromPin(dataRegister.getDirectRegister(PORTA));
ToggleButtonGroup[] buttons = Controller_Frontend.getPORTbuttons();
ToggleButtonGroup[] buttons = (ToggleButtonGroup[]) frontendController.getPORTbuttons();
for (int i = 0; i < buttons.length; i++){
int port = (i < 8) ? PORTA : PORTB;
int bit = i % 8;
@ -139,7 +140,7 @@ public class IOPorts extends PICComponent implements IOPortInterface {
int tris = params[0];
int bit = params[1];
int value = params[2];
ToggleButtonGroup [] buttonsPORT = Controller_Frontend.getPORTbuttons();
ToggleButtonGroup [] buttonsPORT = (ToggleButtonGroup[]) frontendController.getPORTbuttons();
if (value == 1){
setBit(tris, bit);
buttonsPORT[(tris-TRISA)*8 + bit].setDisable(false);
@ -192,7 +193,7 @@ public class IOPorts extends PICComponent implements IOPortInterface {
}
public void refreshTable(ToggleButtonGroup parent) {
Table.refresh();
table.refresh();
CreateWindow.refreshTable();
}
@ -231,4 +232,20 @@ public class IOPorts extends PICComponent implements IOPortInterface {
super.initialize(locator);
System.out.println("IOPorts.\n");
}
@Override
public void setPORTfromUI(FrontendSpecificToggleButtonGroup parent) throws IOException {
setPORTfromUI((ToggleButtonGroup) parent);
}
@Override
public void setTRISfromUI(FrontendSpecificToggleButtonGroup parent) throws IOException {
setTRISfromUI((ToggleButtonGroup) parent);
}
@Override
public void refreshUI(FrontendSpecificToggleButtonGroup[] trisButtons,
FrontendSpecificToggleButtonGroup[] portButtons) {
refreshUI((ToggleButtonGroup[]) trisButtons, (ToggleButtonGroup[]) portButtons);
}
}