X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fmodel%2Fcomponents%2FGUIComponent.java;h=1cf7460f81af679671497161b7962a38bf653909;hb=8f521cfac8a4276204f0a01d30bc3858bff1052c;hp=382d7e377b905b5ad4b54fe84de064b31f0f7feb;hpb=3811bc43be4e8160fe351782150fee7db111bee5;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/GUIComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/GUIComponent.java index 382d7e37..1cf7460f 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/GUIComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/GUIComponent.java @@ -51,6 +51,9 @@ public abstract class GUIComponent private final List redrawListeners; private final Runnable redrawListenerForSubcomponents; + + private HighLevelStateHandler highLevelStateHandler; + // creation and destruction public GUIComponent(ViewModelModifiable model, String name) @@ -148,6 +151,14 @@ public abstract class GUIComponent // high-level access + /** + * @author Daniel Kirschten + */ + protected void setHighLevelStateHandler(HighLevelStateHandler highLevelStateHandler) + { + this.highLevelStateHandler = highLevelStateHandler; + } + /** * Gets the current value of the given high-level state.
* See {@link HighLevelStateHandler} for an explanation of high-level state IDs. @@ -157,10 +168,9 @@ public abstract class GUIComponent * * @author Daniel Kirschten */ - @SuppressWarnings("static-method") // this method is intended to be overridden public Object getHighLevelState(String stateID) { - throw new IllegalArgumentException("No high level state with ID " + stateID); + return highLevelStateHandler.getHighLevelState(stateID); } /** @@ -172,10 +182,9 @@ public abstract class GUIComponent * * @author Daniel Kirschten */ - @SuppressWarnings({ "static-method", "unused" }) // this method is intended to be overridden public void setHighLevelState(String stateID, Object newState) { - throw new IllegalArgumentException("No high level state with ID " + stateID); + highLevelStateHandler.setHighLevelState(stateID, newState); } // "graphical" operations