From 01c5d7035474a5eb58f216b6831b2c0d8c174efa Mon Sep 17 00:00:00 2001 From: Daniel Kirschten Date: Tue, 2 Jul 2019 23:01:03 +0200 Subject: [PATCH] Restructured serializing classes --- .../logic/ui/examples/JsonExample.java | 26 ++++---- .../examples/SubmodelComponentTestbench.java | 6 +- .../components/mi/nandbased/GUI_rsLatch.java | 4 +- .../model/components/mi/nandbased/GUIand.java | 4 +- .../components/mi/nandbased/GUIand41.java | 2 +- .../components/mi/nandbased/GUIandor414.java | 2 +- .../components/mi/nandbased/GUIdemux2.java | 4 +- .../model/components/mi/nandbased/GUIdff.java | 4 +- .../components/mi/nandbased/GUIdlatch.java | 4 +- .../components/mi/nandbased/GUIdlatch4.java | 2 +- .../components/mi/nandbased/GUIfulladder.java | 4 +- .../components/mi/nandbased/GUIhalfadder.java | 4 +- .../components/mi/nandbased/GUImux1.java | 4 +- .../components/mi/nandbased/GUImux1_4.java | 2 +- .../components/mi/nandbased/GUInand3.java | 4 +- .../components/mi/nandbased/GUInot4.java | 4 +- .../model/components/mi/nandbased/GUIor4.java | 4 +- .../components/mi/nandbased/GUIor_4.java | 4 +- .../components/mi/nandbased/GUIram2.java | 2 +- .../components/mi/nandbased/GUIram4.java | 2 +- .../components/mi/nandbased/GUIsel2_4.java | 4 +- .../components/mi/nandbased/GUIsel3_4.java | 4 +- .../model/components/mi/nandbased/GUIxor.java | 4 +- .../mi/nandbased/am2901/GUIAm2901.java | 4 +- .../am2901/GUIAm2901ALUFuncDecode.java | 4 +- .../am2901/GUIAm2901ALUInclDecode.java | 2 +- ...ALUInclSourceDecodeInclFunctionDecode.java | 2 +- .../nandbased/am2901/GUIAm2901ALUOneBit.java | 4 +- .../nandbased/am2901/GUIAm2901DestDecode.java | 4 +- .../mi/nandbased/am2901/GUIAm2901QReg.java | 2 +- .../am2901/GUIAm2901SourceDecode.java | 4 +- .../logic/ui/am2900/Am2901Testbench.java | 12 ++-- .../logic/ui/am2900/TestableAm2901Impl.java | 6 +- net.mograsim.logic.ui/META-INF/MANIFEST.MF | 3 + .../ui/model/components => }/mapping.json | 0 .../net/mograsim/logic/ui/LogicUICanvas.java | 4 +- .../ClickableSubmodelComponentsTest.java | 6 +- .../logic/ui/examples/RSLatchExample.java | 6 +- .../ui/model/components/GUIComponent.java | 1 + .../model/components/SubmodelInterface.java | 18 ------ .../components/{ => atomic}/GUIAndGate.java | 2 +- .../{ => atomic}/GUIBitDisplay.java | 3 +- .../{ => atomic}/GUIManualSwitch.java | 3 +- .../components/{ => atomic}/GUINandGate.java | 2 +- .../components/{ => atomic}/GUINotGate.java | 2 +- .../components/{ => atomic}/GUIOrGate.java | 2 +- .../SimpleRectangularGUIGate.java | 3 +- .../{ => atomic}/TextComponent.java | 3 +- .../SimpleRectangularSubmodelComponent.java | 5 +- .../{ => submodels}/SubmodelComponent.java | 15 +++-- .../submodels/SubmodelInterface.java | 50 ++++++++++++++++ .../logic/ui/model/wires/WireCrossPoint.java | 2 +- .../modeladapter/ViewLogicModelAdapter.java | 4 +- .../componentadapters/BitDisplayAdapter.java | 2 +- .../ManualSwitchAdapter.java | 2 +- .../componentadapters/SimpleGateAdapter.java | 2 +- ...zedSimpleRectangularSubmodelComponent.java | 50 ++++++++++++++++ .../DeserializedSubmodelComponent.java | 60 +++++++++++++++++++ .../DeserializedSubmodelComponentI.java | 23 +++++++ .../IndirectGUIComponentCreator.java} | 11 ++-- .../SubmodelComponentDeserializer.java} | 41 +++++++------ .../SubmodelComponentParams.java | 39 ++++++------ .../logic/ui/serializing/mapping.json | 36 +++++++++++ 63 files changed, 384 insertions(+), 164 deletions(-) rename net.mograsim.logic.ui/src/{net/mograsim/logic/ui/model/components => }/mapping.json (100%) delete mode 100644 net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SubmodelInterface.java rename net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/{ => atomic}/GUIAndGate.java (91%) rename net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/{ => atomic}/GUIBitDisplay.java (95%) rename net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/{ => atomic}/GUIManualSwitch.java (96%) rename net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/{ => atomic}/GUINandGate.java (91%) rename net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/{ => atomic}/GUINotGate.java (91%) rename net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/{ => atomic}/GUIOrGate.java (91%) rename net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/{ => atomic}/SimpleRectangularGUIGate.java (96%) rename net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/{ => atomic}/TextComponent.java (91%) rename net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/{ => submodels}/SimpleRectangularSubmodelComponent.java (96%) rename net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/{ => submodels}/SubmodelComponent.java (96%) create mode 100644 net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SubmodelInterface.java create mode 100644 net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSimpleRectangularSubmodelComponent.java create mode 100644 net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSubmodelComponent.java create mode 100644 net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSubmodelComponentI.java rename net.mograsim.logic.ui/src/net/mograsim/logic/ui/{model/components/GUIComponentCreator.java => serializing/IndirectGUIComponentCreator.java} (83%) rename net.mograsim.logic.ui/src/net/mograsim/logic/ui/{model/components/GUICustomComponentCreator.java => serializing/SubmodelComponentDeserializer.java} (67%) rename net.mograsim.logic.ui/src/net/mograsim/logic/ui/{model/components => serializing}/SubmodelComponentParams.java (62%) create mode 100644 net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/mapping.json diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/JsonExample.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/JsonExample.java index a35ab2fb..09e80691 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/JsonExample.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/JsonExample.java @@ -5,16 +5,16 @@ import java.util.HashMap; import net.mograsim.logic.ui.SimpleLogicUIStandalone; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUIBitDisplay; -import net.mograsim.logic.ui.model.components.GUIComponentCreator; -import net.mograsim.logic.ui.model.components.GUICustomComponentCreator; -import net.mograsim.logic.ui.model.components.GUIManualSwitch; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; -import net.mograsim.logic.ui.model.components.SubmodelComponent; -import net.mograsim.logic.ui.model.components.SubmodelComponentParams; +import net.mograsim.logic.ui.model.components.atomic.GUIBitDisplay; +import net.mograsim.logic.ui.model.components.atomic.GUIManualSwitch; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIfulladder; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIhalfadder; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; +import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.ui.serializing.SubmodelComponentDeserializer; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams; public class JsonExample { @@ -25,7 +25,7 @@ public class JsonExample public static void mappingTest(ViewModelModifiable model) { - GUIComponentCreator.create(model, "GUIAm2901", new HashMap()); + IndirectGUIComponentCreator.create(model, "GUIAm2901", new HashMap()); } private static class TestComponent extends SimpleRectangularSubmodelComponent @@ -35,7 +35,7 @@ public class JsonExample super(model, 1, "Test"); setSubmodelScale(.4); setInputPins("Input pin #0"); - GUICustomComponentCreator.create(submodelModifiable, "HalfAdder.json"); + SubmodelComponentDeserializer.create(submodelModifiable, "HalfAdder.json"); } } @@ -44,7 +44,7 @@ public class JsonExample { TestComponent t = new TestComponent(model); t.calculateParams().writeJson("Test.json"); - SubmodelComponent c = GUICustomComponentCreator.create(model, "Test.json"); + SubmodelComponent c = SubmodelComponentDeserializer.create(model, "Test.json"); c.moveTo(0, 50); } @@ -63,7 +63,7 @@ public class JsonExample e.printStackTrace(); } - GUICustomComponentCreator.create(model, p); + SubmodelComponentDeserializer.create(model, p); } @SuppressWarnings("unused") // for GUIWires being created @@ -82,7 +82,7 @@ public class JsonExample e.printStackTrace(); } - SimpleRectangularSubmodelComponent adder = (SimpleRectangularSubmodelComponent) GUICustomComponentCreator.create(model, + SimpleRectangularSubmodelComponent adder = (SimpleRectangularSubmodelComponent) SubmodelComponentDeserializer.create(model, "FullAdder.json"); GUIManualSwitch swA = new GUIManualSwitch(model); @@ -105,7 +105,7 @@ public class JsonExample new GUIWire(model, adder.getPin("Y"), bdY.getInputPin()); new GUIWire(model, adder.getPin("Z"), bdZ.getInputPin()); - SubmodelComponent adder2 = GUICustomComponentCreator.create(model, pC); + SubmodelComponent adder2 = SubmodelComponentDeserializer.create(model, pC); swA = new GUIManualSwitch(model); swA.moveTo(0, 70); diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/SubmodelComponentTestbench.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/SubmodelComponentTestbench.java index 90e39c7f..a3dda8af 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/SubmodelComponentTestbench.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/SubmodelComponentTestbench.java @@ -2,10 +2,10 @@ package net.mograsim.logic.ui.examples; import net.mograsim.logic.ui.SimpleLogicUIStandalone; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUIBitDisplay; -import net.mograsim.logic.ui.model.components.GUIManualSwitch; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUIBitDisplay; +import net.mograsim.logic.ui.model.components.atomic.GUIManualSwitch; import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; public class SubmodelComponentTestbench diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUI_rsLatch.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUI_rsLatch.java index 1ee2a1ef..065544c1 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUI_rsLatch.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUI_rsLatch.java @@ -4,8 +4,8 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.core.types.Bit; import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand.java index 018e9bb1..637750f8 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand41.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand41.java index b97e39b7..3bfb8142 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand41.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand41.java @@ -2,7 +2,7 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIandor414.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIandor414.java index cf5146b0..f48795f2 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIandor414.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIandor414.java @@ -2,7 +2,7 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdemux2.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdemux2.java index 6d9057f5..5365e92c 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdemux2.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdemux2.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdff.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdff.java index dc53862b..ad8c212b 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdff.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdff.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch.java index 95a3e3fc..39b1f715 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch4.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch4.java index bda25ba3..36a05af3 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch4.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch4.java @@ -4,7 +4,7 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.core.types.Bit; import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIfulladder.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIfulladder.java index 12bddce7..23656fa8 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIfulladder.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIfulladder.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIhalfadder.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIhalfadder.java index 6d58f983..d68c8923 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIhalfadder.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIhalfadder.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1.java index 9707e217..dc9ea531 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1_4.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1_4.java index 479f66a9..3d7336f8 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1_4.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1_4.java @@ -2,7 +2,7 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInand3.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInand3.java index f102c3ba..64fd958d 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInand3.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInand3.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInot4.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInot4.java index e3db0103..7fb2b5bc 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInot4.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInot4.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor4.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor4.java index 21d4c596..9aadcdfd 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor4.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor4.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor_4.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor_4.java index e979cce6..9d14d1ad 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor_4.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor_4.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram2.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram2.java index 7c084efb..4892203e 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram2.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram2.java @@ -3,7 +3,7 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram4.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram4.java index ab04a406..333dc077 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram4.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram4.java @@ -3,7 +3,7 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel2_4.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel2_4.java index b2ba1539..c43413c6 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel2_4.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel2_4.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel3_4.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel3_4.java index dd342c91..20c8fb4a 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel3_4.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel3_4.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIxor.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIxor.java index d3568e49..dcf6c1f1 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIxor.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIxor.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901.java index fa3eabba..7548ec59 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901.java @@ -2,14 +2,14 @@ package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIand; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdlatch4; import net.mograsim.logic.ui.model.components.mi.nandbased.GUImux1_4; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIor4; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIram4; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIsel3_4; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUFuncDecode.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUFuncDecode.java index e2d30f07..339b18a7 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUFuncDecode.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUFuncDecode.java @@ -2,10 +2,10 @@ package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIand; import net.mograsim.logic.ui.model.components.mi.nandbased.GUInand3; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclDecode.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclDecode.java index d9e57567..db2292d3 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclDecode.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclDecode.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIxor; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.java index b5b6ec8b..d8222824 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.java @@ -2,9 +2,9 @@ package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIsel2_4; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIsel3_4; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUOneBit.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUOneBit.java index afb79179..4db026f8 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUOneBit.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUOneBit.java @@ -2,12 +2,12 @@ package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIand; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIfulladder; import net.mograsim.logic.ui.model.components.mi.nandbased.GUImux1; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIxor; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901DestDecode.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901DestDecode.java index 59df09bc..070618c5 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901DestDecode.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901DestDecode.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901QReg.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901QReg.java index 9a8ca31c..11a72416 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901QReg.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901QReg.java @@ -4,9 +4,9 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.core.types.Bit; import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIand; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdff; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901SourceDecode.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901SourceDecode.java index 21e01aa8..832d9951 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901SourceDecode.java +++ b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901SourceDecode.java @@ -2,8 +2,8 @@ package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUINandGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUINandGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/Am2901Testbench.java b/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/Am2901Testbench.java index 3b2515ed..34c4cbe7 100644 --- a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/Am2901Testbench.java +++ b/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/Am2901Testbench.java @@ -2,14 +2,14 @@ package net.mograsim.logic.ui.am2900; import net.mograsim.logic.ui.SimpleLogicUIStandalone; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUIAndGate; -import net.mograsim.logic.ui.model.components.GUIBitDisplay; -import net.mograsim.logic.ui.model.components.GUIManualSwitch; -import net.mograsim.logic.ui.model.components.GUINotGate; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; -import net.mograsim.logic.ui.model.components.TextComponent; +import net.mograsim.logic.ui.model.components.atomic.GUIAndGate; +import net.mograsim.logic.ui.model.components.atomic.GUIBitDisplay; +import net.mograsim.logic.ui.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.ui.model.components.atomic.GUINotGate; +import net.mograsim.logic.ui.model.components.atomic.TextComponent; import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdff; import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.ConnectionPoint; import net.mograsim.logic.ui.model.wires.WireCrossPoint; import net.mograsim.logic.ui.util.ModellingTool; diff --git a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java b/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java index 1862ae38..9ca395af 100644 --- a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java +++ b/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java @@ -19,11 +19,11 @@ import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.core.types.BitVector.BitVectorMutator; import net.mograsim.logic.ui.model.ViewModel; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUIBitDisplay; import net.mograsim.logic.ui.model.components.GUIComponent; -import net.mograsim.logic.ui.model.components.GUIManualSwitch; -import net.mograsim.logic.ui.model.components.SubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUIBitDisplay; +import net.mograsim.logic.ui.model.components.atomic.GUIManualSwitch; import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901; +import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.modeladapter.LogicModelParameters; import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; diff --git a/net.mograsim.logic.ui/META-INF/MANIFEST.MF b/net.mograsim.logic.ui/META-INF/MANIFEST.MF index e3487146..06d12866 100644 --- a/net.mograsim.logic.ui/META-INF/MANIFEST.MF +++ b/net.mograsim.logic.ui/META-INF/MANIFEST.MF @@ -7,9 +7,12 @@ Export-Package: net.mograsim.logic.ui, net.mograsim.logic.ui.examples, net.mograsim.logic.ui.model, net.mograsim.logic.ui.model.components, + net.mograsim.logic.ui.model.components.atomic, + net.mograsim.logic.ui.model.components.submodels, net.mograsim.logic.ui.model.wires, net.mograsim.logic.ui.modeladapter, net.mograsim.logic.ui.modeladapter.componentadapters, + net.mograsim.logic.ui.serializing, net.mograsim.logic.ui.util Bundle-RequiredExecutionEnvironment: JavaSE-11 Require-Bundle: org.eclipse.swt;bundle-version="3.0.0";visibility:=reexport, diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/mapping.json b/net.mograsim.logic.ui/src/mapping.json similarity index 100% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/mapping.json rename to net.mograsim.logic.ui/src/mapping.json diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java index 2974278f..b2b3c8ac 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java @@ -23,8 +23,8 @@ import net.mograsim.logic.core.types.Bit; import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.ui.model.ViewModel; import net.mograsim.logic.ui.model.components.GUIComponent; -import net.mograsim.logic.ui.model.components.SubmodelComponent; -import net.mograsim.logic.ui.model.components.SubmodelInterface; +import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.ui.model.components.submodels.SubmodelInterface; import net.mograsim.logic.ui.model.wires.WireCrossPoint; import net.mograsim.preferences.Preferences; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/ClickableSubmodelComponentsTest.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/ClickableSubmodelComponentsTest.java index cd45ee62..d5832ce9 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/ClickableSubmodelComponentsTest.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/ClickableSubmodelComponentsTest.java @@ -2,9 +2,9 @@ package net.mograsim.logic.ui.examples; import net.mograsim.logic.ui.SimpleLogicUIStandalone; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUIBitDisplay; -import net.mograsim.logic.ui.model.components.GUIManualSwitch; -import net.mograsim.logic.ui.model.components.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.atomic.GUIBitDisplay; +import net.mograsim.logic.ui.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; public class ClickableSubmodelComponentsTest { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/RSLatchExample.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/RSLatchExample.java index 0758afb9..91cdd174 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/RSLatchExample.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/RSLatchExample.java @@ -3,9 +3,9 @@ package net.mograsim.logic.ui.examples; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.ui.SimpleLogicUIStandalone; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUIManualSwitch; -import net.mograsim.logic.ui.model.components.GUINotGate; -import net.mograsim.logic.ui.model.components.GUIOrGate; +import net.mograsim.logic.ui.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.ui.model.components.atomic.GUINotGate; +import net.mograsim.logic.ui.model.components.atomic.GUIOrGate; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponent.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponent.java index 655422a5..f9294036 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponent.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponent.java @@ -13,6 +13,7 @@ import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.ui.model.ViewModelModifiable; import net.mograsim.logic.ui.model.wires.Pin; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams; /** * The base class for all GUI components.
diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SubmodelInterface.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SubmodelInterface.java deleted file mode 100644 index 8f448a80..00000000 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SubmodelInterface.java +++ /dev/null @@ -1,18 +0,0 @@ -package net.mograsim.logic.ui.model.components; - -import net.haspamelodica.swt.helper.gcs.GeneralGC; -import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; -import net.mograsim.logic.ui.model.ViewModelModifiable; - -public class SubmodelInterface extends GUIComponent -{ - public SubmodelInterface(ViewModelModifiable model) - { - super(model); - } - - @Override - public void render(GeneralGC gc, Rectangle visibleRegion) - {// nothing to do here - } -} \ No newline at end of file diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIAndGate.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIAndGate.java similarity index 91% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIAndGate.java rename to net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIAndGate.java index adba60fb..8443e565 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIAndGate.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIAndGate.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.ui.model.components.atomic; import net.mograsim.logic.core.components.gates.AndGate; import net.mograsim.logic.ui.model.ViewModelModifiable; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIBitDisplay.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIBitDisplay.java similarity index 95% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIBitDisplay.java rename to net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIBitDisplay.java index 3b909c51..9abb9e8c 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIBitDisplay.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIBitDisplay.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.ui.model.components.atomic; import org.eclipse.swt.graphics.Color; @@ -10,6 +10,7 @@ import net.mograsim.logic.core.LogicObserver; import net.mograsim.logic.core.components.BitDisplay; import net.mograsim.logic.core.types.BitVectorFormatter; import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.ui.model.components.GUIComponent; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.ui.modeladapter.componentadapters.BitDisplayAdapter; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIManualSwitch.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIManualSwitch.java similarity index 96% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIManualSwitch.java rename to net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIManualSwitch.java index e88bfdf6..5ab078aa 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIManualSwitch.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIManualSwitch.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.ui.model.components.atomic; import org.eclipse.swt.graphics.Color; @@ -13,6 +13,7 @@ import net.mograsim.logic.core.types.Bit; import net.mograsim.logic.core.types.BitVectorFormatter; import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.ui.model.components.GUIComponent; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.ui.modeladapter.componentadapters.ManualSwitchAdapter; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUINandGate.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUINandGate.java similarity index 91% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUINandGate.java rename to net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUINandGate.java index 6a3e6948..4a2c4643 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUINandGate.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUINandGate.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.ui.model.components.atomic; import net.mograsim.logic.core.components.gates.NandGate; import net.mograsim.logic.ui.model.ViewModelModifiable; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUINotGate.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUINotGate.java similarity index 91% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUINotGate.java rename to net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUINotGate.java index f439f89a..2a7c12bb 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUINotGate.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUINotGate.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.ui.model.components.atomic; import net.mograsim.logic.core.components.gates.NotGate; import net.mograsim.logic.ui.model.ViewModelModifiable; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIOrGate.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIOrGate.java similarity index 91% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIOrGate.java rename to net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIOrGate.java index 8a983a21..fc88509a 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIOrGate.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIOrGate.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.ui.model.components.atomic; import net.mograsim.logic.core.components.gates.OrGate; import net.mograsim.logic.ui.model.ViewModelModifiable; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SimpleRectangularGUIGate.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/SimpleRectangularGUIGate.java similarity index 96% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SimpleRectangularGUIGate.java rename to net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/SimpleRectangularGUIGate.java index 0dd4c403..a88d188a 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SimpleRectangularGUIGate.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/SimpleRectangularGUIGate.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.ui.model.components.atomic; import java.util.ArrayList; import java.util.List; @@ -11,6 +11,7 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Font; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.ui.model.components.GUIComponent; import net.mograsim.logic.ui.model.wires.MovablePin; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.preferences.Preferences; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/TextComponent.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/TextComponent.java similarity index 91% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/TextComponent.java rename to net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/TextComponent.java index b0138aa2..e1fdc6c5 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/TextComponent.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/TextComponent.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.ui.model.components.atomic; import org.eclipse.swt.graphics.Color; @@ -6,6 +6,7 @@ import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.ui.model.components.GUIComponent; import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; import net.mograsim.logic.ui.modeladapter.componentadapters.NoLogicAdapter; import net.mograsim.preferences.Preferences; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SimpleRectangularSubmodelComponent.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SimpleRectangularSubmodelComponent.java similarity index 96% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SimpleRectangularSubmodelComponent.java rename to net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SimpleRectangularSubmodelComponent.java index ec233625..605e020e 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SimpleRectangularSubmodelComponent.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SimpleRectangularSubmodelComponent.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.ui.model.components.submodels; import java.util.ArrayList; import java.util.Arrays; @@ -17,6 +17,7 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.ui.model.ViewModelModifiable; import net.mograsim.logic.ui.model.wires.MovablePin; import net.mograsim.logic.ui.model.wires.Pin; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams; import net.mograsim.preferences.Preferences; public class SimpleRectangularSubmodelComponent extends SubmodelComponent @@ -37,7 +38,7 @@ public class SimpleRectangularSubmodelComponent extends SubmodelComponent private final List outputPinNames; private final List outputPinNamesUnmodifiable; - protected SimpleRectangularSubmodelComponent(ViewModelModifiable model, int logicWidth, String label) + public SimpleRectangularSubmodelComponent(ViewModelModifiable model, int logicWidth, String label) { super(model); this.label = label; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SubmodelComponent.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SubmodelComponent.java similarity index 96% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SubmodelComponent.java rename to net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SubmodelComponent.java index 94dc693c..38241b30 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SubmodelComponent.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SubmodelComponent.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.ui.model.components.submodels; import java.util.Collections; import java.util.HashMap; @@ -17,14 +17,16 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.ui.LogicUIRenderer; import net.mograsim.logic.ui.model.ViewModel; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.SubmodelComponentParams.ComponentCompositionParams; -import net.mograsim.logic.ui.model.components.SubmodelComponentParams.ComponentCompositionParams.InnerComponentParams; -import net.mograsim.logic.ui.model.components.SubmodelComponentParams.InnerPinParams; -import net.mograsim.logic.ui.model.components.SubmodelComponentParams.InnerWireParams; -import net.mograsim.logic.ui.model.components.SubmodelComponentParams.InterfacePinParams; +import net.mograsim.logic.ui.model.components.GUIComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.MovablePin; import net.mograsim.logic.ui.model.wires.Pin; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams.ComponentCompositionParams; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams.InnerPinParams; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams.InnerWireParams; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams.InterfacePinParams; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams.ComponentCompositionParams.InnerComponentParams; /** * A {@link GUIComponent} consisting of another model. A SubmodelComponent can have so-called "interface pins" connecting the @@ -464,6 +466,7 @@ public abstract class SubmodelComponent extends GUIComponent renderOutline(gc, visibleRegion); } + // TODO make this a path /** * Render the outline of this {@link SubmodelComponent}, e.g. the graphical elements that should stay visible if the submodel is drawn. * diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SubmodelInterface.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SubmodelInterface.java new file mode 100644 index 00000000..21b9e13c --- /dev/null +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SubmodelInterface.java @@ -0,0 +1,50 @@ +package net.mograsim.logic.ui.model.components.submodels; + +import net.haspamelodica.swt.helper.gcs.GeneralGC; +import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; +import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.ui.model.components.GUIComponent; +import net.mograsim.logic.ui.model.wires.Pin; + +public class SubmodelInterface extends GUIComponent +{ + public SubmodelInterface(ViewModelModifiable model) + { + super(model); + } + + @Override + public void render(GeneralGC gc, Rectangle visibleRegion) + {// nothing to do here + } + + /** + * {@inheritDoc}
+ * This method is only marked public in {@link SubmodelInterface} for {@link SubmodelComponent} to be able to add / remove pins to / + * from a SubmodelInterface.
+ * + * @see GUIComponent#removePin(Pin) + * + * @author Daniel Kirschten + */ + @Override + public void addPin(Pin pin) + { + super.addPin(pin); + } + + /** + * {@inheritDoc}
+ * This method is only marked public in {@link SubmodelInterface} for {@link SubmodelComponent} to be able to add / remove pins to / + * from a SubmodelInterface.
+ * + * @see GUIComponent#removePin(Pin) + * + * @author Daniel Kirschten + */ + @Override + protected void removePin(String name) + { + super.removePin(name); + } +} \ No newline at end of file diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/WireCrossPoint.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/WireCrossPoint.java index 07bddc6c..6235f343 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/WireCrossPoint.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/WireCrossPoint.java @@ -10,7 +10,7 @@ import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.ui.ColorHelper; import net.mograsim.logic.ui.model.ViewModelModifiable; import net.mograsim.logic.ui.model.components.GUIComponent; -import net.mograsim.logic.ui.model.components.SimpleRectangularGUIGate; +import net.mograsim.logic.ui.model.components.atomic.SimpleRectangularGUIGate; /** * A {@link GUIComponent} with only one pin. Is used to create wires connecting more than two pins.
diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/ViewLogicModelAdapter.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/ViewLogicModelAdapter.java index cedb1279..88e7c1b8 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/ViewLogicModelAdapter.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/ViewLogicModelAdapter.java @@ -15,8 +15,8 @@ import net.mograsim.logic.core.wires.Wire; import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.ui.model.ViewModel; import net.mograsim.logic.ui.model.components.GUIComponent; -import net.mograsim.logic.ui.model.components.SubmodelComponent; -import net.mograsim.logic.ui.model.components.SubmodelInterface; +import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.ui.model.components.submodels.SubmodelInterface; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.model.wires.WireCrossPoint; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/BitDisplayAdapter.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/BitDisplayAdapter.java index 81506d2e..33d4ac18 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/BitDisplayAdapter.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/BitDisplayAdapter.java @@ -6,7 +6,7 @@ import net.mograsim.logic.core.components.BitDisplay; import net.mograsim.logic.core.timeline.Timeline; import net.mograsim.logic.core.wires.Wire; import net.mograsim.logic.core.wires.Wire.ReadEnd; -import net.mograsim.logic.ui.model.components.GUIBitDisplay; +import net.mograsim.logic.ui.model.components.atomic.GUIBitDisplay; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.modeladapter.LogicModelParameters; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/ManualSwitchAdapter.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/ManualSwitchAdapter.java index ebfd9ff6..d623dab2 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/ManualSwitchAdapter.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/ManualSwitchAdapter.java @@ -6,7 +6,7 @@ import net.mograsim.logic.core.components.ManualSwitch; import net.mograsim.logic.core.timeline.Timeline; import net.mograsim.logic.core.wires.Wire; import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; -import net.mograsim.logic.ui.model.components.GUIManualSwitch; +import net.mograsim.logic.ui.model.components.atomic.GUIManualSwitch; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.modeladapter.LogicModelParameters; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/SimpleGateAdapter.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/SimpleGateAdapter.java index ab090531..0460906d 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/SimpleGateAdapter.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/SimpleGateAdapter.java @@ -7,7 +7,7 @@ import net.mograsim.logic.core.timeline.Timeline; import net.mograsim.logic.core.wires.Wire; import net.mograsim.logic.core.wires.Wire.ReadEnd; import net.mograsim.logic.core.wires.Wire.ReadWriteEnd; -import net.mograsim.logic.ui.model.components.SimpleRectangularGUIGate; +import net.mograsim.logic.ui.model.components.atomic.SimpleRectangularGUIGate; import net.mograsim.logic.ui.model.wires.Pin; import net.mograsim.logic.ui.modeladapter.LogicModelParameters; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSimpleRectangularSubmodelComponent.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSimpleRectangularSubmodelComponent.java new file mode 100644 index 00000000..20d95c25 --- /dev/null +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSimpleRectangularSubmodelComponent.java @@ -0,0 +1,50 @@ +package net.mograsim.logic.ui.serializing; + +import java.util.function.Supplier; + +import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; + +/** + * A {@link SimpleRectangularSubmodelComponent} which was created by deserializing a JSON file. + * + * @author Daniel Kirschten + */ +public class DeserializedSimpleRectangularSubmodelComponent extends SimpleRectangularSubmodelComponent + implements DeserializedSubmodelComponentI +{ + public DeserializedSimpleRectangularSubmodelComponent(ViewModelModifiable model, int logicWidth, String label) + { + super(model, logicWidth, label); + } + + @Override + public ViewModelModifiable getSubmodelModifiable() + { + return submodelModifiable; + } + + @Override + public void setIdentifierDelegate(Supplier identifierDelegate) + { + this.identifierDelegate = identifierDelegate; + } + + @Override + public void setSubmodelScale(double submodelScale) + { + super.setSubmodelScale(submodelScale); + } + + @Override + public void setInputPins(String... pinNames) + { + super.setInputPins(pinNames); + } + + @Override + public void setOutputPins(String... pinNames) + { + super.setOutputPins(pinNames); + } +} \ No newline at end of file diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSubmodelComponent.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSubmodelComponent.java new file mode 100644 index 00000000..48d31e05 --- /dev/null +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSubmodelComponent.java @@ -0,0 +1,60 @@ +package net.mograsim.logic.ui.serializing; + +import java.util.function.Supplier; + +import net.haspamelodica.swt.helper.gcs.GeneralGC; +import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; +import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.ui.model.wires.MovablePin; +import net.mograsim.logic.ui.model.wires.Pin; + +public class DeserializedSubmodelComponent extends SubmodelComponent implements DeserializedSubmodelComponentI +{ + public DeserializedSubmodelComponent(ViewModelModifiable model) + { + super(model); + } + + @Override + protected void renderOutline(GeneralGC gc, Rectangle visibleRegion) + { + // TODO + } + + @Override + protected void renderSymbol(GeneralGC gc, Rectangle visibleRegion) + { + // TODO + } + + @Override + public ViewModelModifiable getSubmodelModifiable() + { + return submodelModifiable; + } + + @Override + public void setIdentifierDelegate(Supplier identifierDelegate) + { + this.identifierDelegate = identifierDelegate; + } + + @Override + public void setSubmodelScale(double submodelScale) + { + super.setSubmodelScale(submodelScale); + } + + @Override + public void setSize(double width, double height) + { + super.setSize(width, height); + } + + @Override + protected Pin addSubmodelInterface(MovablePin supermodelPin) + { + return super.addSubmodelInterface(supermodelPin); + } +} \ No newline at end of file diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSubmodelComponentI.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSubmodelComponentI.java new file mode 100644 index 00000000..2c663ddb --- /dev/null +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSubmodelComponentI.java @@ -0,0 +1,23 @@ +package net.mograsim.logic.ui.serializing; + +import java.util.function.Supplier; + +import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; + +/** + * A {@link SubmodelComponent} which was created by deserializing a JSON file. + * + * @author Daniel Kirschten + */ +public interface DeserializedSubmodelComponentI +{ + public ViewModelModifiable getSubmodelModifiable(); + + /** + * Sets the identifier delegate used by this deserialized component. + * + * @author Daniel Kirschten + */ + public void setIdentifierDelegate(Supplier identifierDelegate); +} \ No newline at end of file diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponentCreator.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/IndirectGUIComponentCreator.java similarity index 83% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponentCreator.java rename to net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/IndirectGUIComponentCreator.java index 76b89190..f60b4034 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponentCreator.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/IndirectGUIComponentCreator.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.ui.serializing; import java.io.IOException; import java.io.InputStream; @@ -8,17 +8,20 @@ import java.util.HashMap; import java.util.Map; import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.ui.model.components.GUIComponent; +import net.mograsim.logic.ui.model.components.atomic.SimpleRectangularGUIGate; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; import net.mograsim.logic.ui.model.wires.WireCrossPoint; import net.mograsim.logic.ui.util.JsonHandler; -public class GUIComponentCreator +public class IndirectGUIComponentCreator { private final static Map componentMapping; static { Map tmp; - try (InputStream s = GUIComponentCreator.class.getResourceAsStream("./mapping.json")) + try (InputStream s = IndirectGUIComponentCreator.class.getResourceAsStream("./mapping.json")) { tmp = JsonHandler.readJson(s, Map.class); } @@ -43,7 +46,7 @@ public class GUIComponentCreator } else if (path.startsWith("file:")) { path = path.substring(5); - return GUICustomComponentCreator.create(model, path); + return SubmodelComponentDeserializer.create(model, path); } else throw new IllegalArgumentException("Invalid submodel type! Type was neither prefixed by 'class:' nor by 'file:'"); } diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUICustomComponentCreator.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/SubmodelComponentDeserializer.java similarity index 67% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUICustomComponentCreator.java rename to net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/SubmodelComponentDeserializer.java index 1e2034e4..05ed6ffe 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUICustomComponentCreator.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/SubmodelComponentDeserializer.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.ui.serializing; import java.io.IOException; import java.util.ArrayList; @@ -6,17 +6,20 @@ import java.util.Arrays; import java.util.Map; import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.SubmodelComponentParams.ComponentCompositionParams; -import net.mograsim.logic.ui.model.components.SubmodelComponentParams.ComponentCompositionParams.InnerComponentParams; -import net.mograsim.logic.ui.model.components.SubmodelComponentParams.InnerWireParams; -import net.mograsim.logic.ui.model.components.SubmodelComponentParams.InterfacePinParams; +import net.mograsim.logic.ui.model.components.GUIComponent; +import net.mograsim.logic.ui.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; import net.mograsim.logic.ui.model.wires.GUIWire; import net.mograsim.logic.ui.model.wires.MovablePin; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams.ComponentCompositionParams; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams.InnerWireParams; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams.InterfacePinParams; +import net.mograsim.logic.ui.serializing.SubmodelComponentParams.ComponentCompositionParams.InnerComponentParams; /** * Creates {@link SubmodelComponent}s from {@link SubmodelComponentParams} */ -public final class GUICustomComponentCreator +public final class SubmodelComponentDeserializer { private static final String rectC = SimpleRectangularSubmodelComponent.class.getSimpleName(); @@ -54,7 +57,7 @@ public final class GUICustomComponentCreator */ public static SubmodelComponent create(ViewModelModifiable model, SubmodelComponentParams params) { - SubmodelComponent comp = null; + DeserializedSubmodelComponentI comp = null; if (rectC.equals(params.type)) { comp = createRectComponent(model, params); @@ -64,19 +67,20 @@ public final class GUICustomComponentCreator { comp = createSubmodelComponent(model, params); } - comp.identifierDelegate = () -> params.name; + comp.setIdentifierDelegate(() -> params.name); initInnerComponents(comp, params.composition); - return comp; + return (SubmodelComponent) comp; } // May return null @SuppressWarnings("unchecked") - private static SimpleRectangularSubmodelComponent createRectComponent(ViewModelModifiable model, SubmodelComponentParams params) + private static DeserializedSimpleRectangularSubmodelComponent createRectComponent(ViewModelModifiable model, + SubmodelComponentParams params) { try { Map m = params.specialized; - SimpleRectangularSubmodelComponent rect = new SimpleRectangularSubmodelComponent(model, + DeserializedSimpleRectangularSubmodelComponent rect = new DeserializedSimpleRectangularSubmodelComponent(model, ((Number) m.get(SimpleRectangularSubmodelComponent.kLogicWidth)).intValue(), (String) m.get(SimpleRectangularSubmodelComponent.kLabel)); rect.setSubmodelScale(params.composition.innerScale); @@ -97,10 +101,9 @@ public final class GUICustomComponentCreator } } - private static SubmodelComponent createSubmodelComponent(ViewModelModifiable model, SubmodelComponentParams params) + private static DeserializedSubmodelComponent createSubmodelComponent(ViewModelModifiable model, SubmodelComponentParams params) { - // As SubmodelComponent is abstract, for now SubmodelComponents are instantiated as SimpleRectangularSubmodelComponents - SubmodelComponent comp = new SimpleRectangularSubmodelComponent(model, 0, ""); + DeserializedSubmodelComponent comp = new DeserializedSubmodelComponent(model); comp.setSubmodelScale(params.composition.innerScale); comp.setSize(params.width, params.height); for (InterfacePinParams iPinParams : params.interfacePins) @@ -112,23 +115,23 @@ public final class GUICustomComponentCreator } @SuppressWarnings("unused") - private static void initInnerComponents(SubmodelComponent comp, ComponentCompositionParams params) + private static void initInnerComponents(DeserializedSubmodelComponentI comp, ComponentCompositionParams params) { GUIComponent[] components = new GUIComponent[params.subComps.length]; for (int i = 0; i < components.length; i++) { InnerComponentParams cParams = params.subComps[i]; String path = cParams.name; - components[i] = GUIComponentCreator.create(comp.submodelModifiable, cParams.name, cParams.params); + components[i] = IndirectGUIComponentCreator.create(comp.getSubmodelModifiable(), cParams.name, cParams.params); components[i].moveTo(cParams.pos.x, cParams.pos.y); } for (int i = 0; i < params.innerWires.length; i++) { InnerWireParams innerWire = params.innerWires[i]; - new GUIWire(comp.submodelModifiable, - comp.submodelModifiable.getComponents().get(innerWire.pin1.compId).getPin(innerWire.pin1.pinName), - comp.submodelModifiable.getComponents().get(innerWire.pin2.compId).getPin(innerWire.pin2.pinName), innerWire.path); + new GUIWire(comp.getSubmodelModifiable(), + comp.getSubmodelModifiable().getComponents().get(innerWire.pin1.compId).getPin(innerWire.pin1.pinName), + comp.getSubmodelModifiable().getComponents().get(innerWire.pin2.compId).getPin(innerWire.pin2.pinName), innerWire.path); } } } diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SubmodelComponentParams.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/SubmodelComponentParams.java similarity index 62% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SubmodelComponentParams.java rename to net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/SubmodelComponentParams.java index 1276d130..23863591 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/SubmodelComponentParams.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/SubmodelComponentParams.java @@ -1,9 +1,10 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.ui.serializing; import java.io.IOException; import java.util.Map; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; +import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; import net.mograsim.logic.ui.util.JsonHandler; /** @@ -11,42 +12,42 @@ import net.mograsim.logic.ui.util.JsonHandler; */ public class SubmodelComponentParams { - String type, name; - double width, height; - InterfacePinParams[] interfacePins; - ComponentCompositionParams composition; - Map specialized; + public String type, name; + public double width, height; + public InterfacePinParams[] interfacePins; + public ComponentCompositionParams composition; + public Map specialized; public static class InterfacePinParams { - Point location; - String name; - int logicWidth; + public Point location; + public String name; + public int logicWidth; } public static class InnerWireParams { - InnerPinParams pin1, pin2; - Point[] path; + public InnerPinParams pin1, pin2; + public Point[] path; } public static class InnerPinParams { - int compId; - String pinName; + public int compId; + public String pinName; } public static class ComponentCompositionParams { - double innerScale; - InnerComponentParams[] subComps; - InnerWireParams[] innerWires; + public double innerScale; + public InnerComponentParams[] subComps; + public InnerWireParams[] innerWires; public static class InnerComponentParams { - Point pos; - String name; - Map params; + public Point pos; + public String name; + public Map params; } } diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/mapping.json b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/mapping.json new file mode 100644 index 00000000..6c7a8350 --- /dev/null +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/mapping.json @@ -0,0 +1,36 @@ +mograsim version: 0.1.2 +{ + "GUIAm2901": "file:components/am2901/GUIAm2901.json", + "GUIAm2901ALUFuncDecode": "file:components/am2901/GUIAm2901ALUFuncDecode.json", + "GUIAm2901ALUInclDecode": "file:components/am2901/GUIAm2901ALUInclDecode.json", + "GUIAm2901ALUInclSourceDecodeInclFunctionDecode": "file:components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json", + "GUIAm2901ALUOneBit": "file:components/am2901/GUIAm2901ALUOneBit.json", + "GUIAm2901DestDecode": "file:components/am2901/GUIAm2901DestDecode.json", + "GUIAm2901QReg": "file:components/am2901/GUIAm2901QReg.json", + "GUIAm2901SourceDecode": "file:components/am2901/GUIAm2901SourceDecode.json", + "GUIAndGate": "class:net.mograsim.logic.ui.model.components.GUIAndGate", + "GUINandGate": "class:net.mograsim.logic.ui.model.components.GUINandGate", + "GUIOrGate": "class:net.mograsim.logic.ui.model.components.GUIOrGate", + "GUI_rsLatch": "file:components/GUI_rsLatch.json", + "GUIand": "file:components/GUIand.json", + "GUIand41": "file:components/GUIand41.json", + "GUIandor414": "file:components/GUIandor414.json", + "GUIdemux2": "file:components/GUIdemux2.json", + "GUIdff": "file:components/GUIdff.json", + "GUIdlatch": "file:components/GUIdlatch.json", + "GUIdlatch4": "file:components/GUIdlatch4.json", + "GUIfulladder": "file:components/GUIfulladder.json", + "GUIhalfadder": "file:components/GUIhalfadder.json", + "GUImux1": "file:components/GUImux1.json", + "GUImux1_4": "file:components/GUImux1_4.json", + "GUInand3": "file:components/GUInand3.json", + "GUInot4": "file:components/GUInot4.json", + "GUIor4": "file:components/GUIor4.json", + "GUIor_4": "file:components/GUIor_4.json", + "GUIram2": "file:components/GUIram2.json", + "GUIram4": "file:components/GUIram4.json", + "GUIsel2_4": "file:components/GUIsel2_4.json", + "GUIsel3_4": "file:components/GUIsel3_4.json", + "GUIxor": "file:components/GUIxor.json", + "WireCrossPoint": "class:net.mograsim.logic.ui.model.wires.WireCrossPoint" +} \ No newline at end of file -- 2.17.1