X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2FLogicUICanvas.java;h=11e46345bdcf0c20047de1066dae1cf6cbc88bb8;hb=77f1a4885b121ab2cf8a518cf6b10cb88b9ba4c9;hp=55fd8cf4b4773baba8e0fd2f052de4e73f91a73e;hpb=b5d8c2d71e27350ea7c9314e40df5bb0584271cd;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUICanvas.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUICanvas.java index 55fd8cf4..11e46345 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUICanvas.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUICanvas.java @@ -48,12 +48,12 @@ public class LogicUICanvas extends ZoomableCanvas LogicUIRenderer renderer = new LogicUIRenderer(model); addZoomedRenderer(gc -> { - Color background = Preferences.current().getColor("net.mograsim.logic.ui.color.background"); + Color background = Preferences.current().getColor("net.mograsim.logic.model.color.background"); if (background != null) setBackground(background);// this.setBackground, not gc.setBackground to have the background fill the canvas renderer.render(gc, new Rectangle(-offX / zoom, -offY / zoom, gW / zoom, gH / zoom)); }); - model.addRedrawListener(this::redrawThreadsafe); + model.setRedrawHandler(this::redrawThreadsafe); addListener(SWT.MouseDown, this::mouseDown); @@ -122,7 +122,7 @@ public class LogicUICanvas extends ZoomableCanvas if (radioBit.getSelection()) value = Bit.parse(valueString); else if (radioBitVector.getSelection()) - value = BitVector.parseMSBFirst(valueString); + value = BitVector.parse(valueString); else throw new RuntimeException("No value type selected"); target.setHighLevelState(stateIDText.getText(), value); @@ -163,7 +163,8 @@ public class LogicUICanvas extends ZoomableCanvas private void addComponentSelectorItems(List componentsByItemIndex, String base, Combo componentSelector, ViewModel model) { - for (GUIComponent c : model.getComponentsByName().values()) + model.getComponentsByName().values().stream().sorted((c1, c2) -> c1.name.compareTo(c2.name)).forEach(c -> + { if (!(c instanceof WireCrossPoint || c instanceof SubmodelInterface)) { String item = base + c.name; @@ -172,6 +173,6 @@ public class LogicUICanvas extends ZoomableCanvas if (c instanceof SubmodelComponent) addComponentSelectorItems(componentsByItemIndex, item + " -> ", componentSelector, ((SubmodelComponent) c).submodel); } + }); } - } \ No newline at end of file