X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=LogicUI%2Fsrc%2Fera%2Fmi%2Fgui%2Fmodeladapter%2FViewLogicModelAdapter.java;h=3cb593fff4b91ffc5ab25cda65c78eca673bd67c;hb=60ad0ce18eb366fa22e34cdd7dff87055e43c789;hp=c64ae971d3fa354813d384fdf998284ce3bc14a1;hpb=40606c1f83db756164f03b0285900d9c31d7fa0c;p=Mograsim.git diff --git a/LogicUI/src/era/mi/gui/modeladapter/ViewLogicModelAdapter.java b/LogicUI/src/era/mi/gui/modeladapter/ViewLogicModelAdapter.java index c64ae971..3cb593ff 100644 --- a/LogicUI/src/era/mi/gui/modeladapter/ViewLogicModelAdapter.java +++ b/LogicUI/src/era/mi/gui/modeladapter/ViewLogicModelAdapter.java @@ -20,6 +20,7 @@ import era.mi.gui.model.wires.GUIWire; import era.mi.gui.model.wires.Pin; import era.mi.gui.model.wires.WireCrossPoint; import era.mi.gui.modeladapter.componentadapters.ComponentAdapter; +import era.mi.gui.modeladapter.componentadapters.ManualSwitchAdapter; import era.mi.gui.modeladapter.componentadapters.SimpleGateAdapter; import era.mi.logic.components.Component; import era.mi.logic.components.gates.AndGate; @@ -34,12 +35,14 @@ public class ViewLogicModelAdapter private final static Map, ComponentAdapter> componentAdapters; static { - Map, ComponentAdapter> componentAdaptersModifiable = new HashMap<>(); - componentAdaptersModifiable.put(GUIOrGate.class, new SimpleGateAdapter(OrGate::new)); - componentAdaptersModifiable.put(GUIAndGate.class, new SimpleGateAdapter(AndGate::new)); - componentAdaptersModifiable.put(GUINotGate.class, new SimpleGateAdapter((t, p, o, i) -> new NotGate(t, p, i[0], o))); + Set> componentAdaptersModifiable = new HashSet<>(); + componentAdaptersModifiable.add(new SimpleGateAdapter<>(GUIOrGate.class, OrGate::new)); + componentAdaptersModifiable.add(new SimpleGateAdapter<>(GUIAndGate.class, AndGate::new)); + componentAdaptersModifiable.add(new SimpleGateAdapter<>(GUINotGate.class, (t, p, o, i) -> new NotGate(t, p, i[0], o))); + componentAdaptersModifiable.add(new ManualSwitchAdapter()); // TODO list all "primitive" adapters here - componentAdapters = Collections.unmodifiableMap(componentAdaptersModifiable); + componentAdapters = Collections.unmodifiableMap( + componentAdaptersModifiable.stream().collect(Collectors.toMap(ComponentAdapter::getSupportedClass, Function.identity()))); } public static Timeline convert(ViewModel viewModel, LogicModelParameters params)