From 1ddc8ecf420fd4ccbe351c0cbd58cc9f5792f0c7 Mon Sep 17 00:00:00 2001 From: Daniel Kirschten Date: Wed, 10 Jul 2019 12:46:25 +0200 Subject: [PATCH 1/1] Renamed logic.ui to logic.model --- .../.classpath | 34 +- .../.gitignore | 0 .../.project | 60 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../FullAdder.json | 0 .../HalfAdder.json | 0 .../META-INF/MANIFEST.MF | 12 + .../OSGI-INF/l10n/bundle.properties | 4 +- .../Test.json | 0 .../build.properties | 0 .../components/GUI_rsLatch.json | 0 .../components/GUIand.json | 0 .../components/GUIand41.json | 0 .../components/GUIandor414.json | 0 .../components/GUIdemux2.json | 0 .../components/GUIdff.json | 0 .../components/GUIdlatch.json | 0 .../components/GUIdlatch4.json | 0 .../components/GUIfulladder.json | 0 .../components/GUIhalfadder.json | 0 .../components/GUImux1.json | 0 .../components/GUImux1_4.json | 0 .../components/GUInand3.json | 0 .../components/GUInot4.json | 0 .../components/GUIor4.json | 0 .../components/GUIor_4.json | 0 .../components/GUIram2.json | 0 .../components/GUIram4.json | 0 .../components/GUIsel2_4.json | 0 .../components/GUIsel3_4.json | 0 .../components/GUIxor.json | 0 .../components/am2901/GUIAm2901.json | 0 .../am2901/GUIAm2901ALUFuncDecode.json | 0 .../am2901/GUIAm2901ALUInclDecode.json | 0 ...ALUInclSourceDecodeInclFunctionDecode.json | 0 .../components/am2901/GUIAm2901ALUOneBit.json | 0 .../am2901/GUIAm2901DestDecode.json | 0 .../components/am2901/GUIAm2901QReg.json | 0 .../am2901/GUIAm2901SourceDecode.json | 0 .../model/examples/ComponenetSerializer.java | 65 ++ .../logic/model}/examples/JsonExample.java | 28 +- .../examples/SubmodelComponentTestbench.java | 18 +- .../components/mi/nandbased/GUI_rsLatch.java | 16 +- .../model/components/mi/nandbased/GUIand.java | 16 +- .../components/mi/nandbased/GUIand41.java | 14 +- .../components/mi/nandbased/GUIandor414.java | 12 +- .../components/mi/nandbased/GUIdemux2.java | 16 +- .../model/components/mi/nandbased/GUIdff.java | 16 +- .../components/mi/nandbased/GUIdlatch.java | 16 +- .../components/mi/nandbased/GUIdlatch4.java | 14 +- .../components/mi/nandbased/GUIfulladder.java | 14 +- .../components/mi/nandbased/GUIhalfadder.java | 16 +- .../components/mi/nandbased/GUImux1.java | 16 +- .../components/mi/nandbased/GUImux1_4.java | 14 +- .../components/mi/nandbased/GUInand3.java | 16 +- .../components/mi/nandbased/GUInot4.java | 16 +- .../model/components/mi/nandbased/GUIor4.java | 16 +- .../components/mi/nandbased/GUIor_4.java | 16 +- .../components/mi/nandbased/GUIram2.java | 14 +- .../components/mi/nandbased/GUIram4.java | 14 +- .../components/mi/nandbased/GUIsel2_4.java | 16 +- .../components/mi/nandbased/GUIsel3_4.java | 16 +- .../model/components/mi/nandbased/GUIxor.java | 16 +- .../mi/nandbased/am2901/GUIAm2901.java | 28 +- .../am2901/GUIAm2901ALUFuncDecode.java | 20 +- .../am2901/GUIAm2901ALUInclDecode.java | 16 +- ...ALUInclSourceDecodeInclFunctionDecode.java | 18 +- .../nandbased/am2901/GUIAm2901ALUOneBit.java | 24 +- .../nandbased/am2901/GUIAm2901DestDecode.java | 16 +- .../mi/nandbased/am2901/GUIAm2901QReg.java | 18 +- .../am2901/GUIAm2901SourceDecode.java | 16 +- .../mograsim/logic/ui/am2900/Am2901Test.java | 584 +++++++------- .../logic/ui/am2900/Am2901Testbench.java | 24 +- .../mograsim/logic/ui/am2900/TestUtil.java | 168 ++-- .../logic/ui/am2900/TestableAm2901.java | 292 +++---- .../logic/ui/am2900/TestableAm2901Impl.java | 762 +++++++++--------- .../.classpath | 22 +- .../.gitignore | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 net.mograsim.logic.model/META-INF/MANIFEST.MF | 28 + .../OSGI-INF/l10n/bundle.properties | 4 +- .../build.properties | 0 .../oldsrc/GUIMerger.java | 0 .../oldsrc/GUIMux.java | 0 .../oldsrc/GUISplitter.java | 0 .../mograsim/logic/model}/LogicExecuter.java | 2 +- .../mograsim/logic/model}/LogicUICanvas.java | 12 +- .../logic/model}/LogicUIRenderer.java | 8 +- .../logic/model}/LogicUIStandaloneGUI.java | 4 +- .../logic/model}/SimpleLogicUIStandalone.java | 8 +- .../ClickableSubmodelComponentsTest.java | 14 +- .../logic/model}/examples/RSLatchExample.java | 16 +- .../logic/model}/model/ViewModel.java | 6 +- .../model}/model/ViewModelModifiable.java | 6 +- .../model}/model/components/GUIComponent.java | 8 +- .../model/components/atomic/GUIAndGate.java | 10 +- .../components/atomic/GUIBitDisplay.java | 14 +- .../components/atomic/GUIManualSwitch.java | 14 +- .../model/components/atomic/GUINandGate.java | 10 +- .../model/components/atomic/GUINotGate.java | 10 +- .../model/components/atomic/GUIOrGate.java | 10 +- .../atomic/SimpleRectangularGUIGate.java | 10 +- .../components/atomic/TextComponent.java | 126 +-- .../SimpleRectangularSubmodelComponent.java | 18 +- .../submodels/SubmodelComponent.java | 28 +- .../submodels/SubmodelInterface.java | 8 +- .../logic/model}/model/wires/GUIWire.java | 4 +- .../logic/model}/model/wires/MovablePin.java | 4 +- .../logic/model}/model/wires/Pin.java | 4 +- .../model}/model/wires/WireCrossPoint.java | 8 +- .../modeladapter/LogicModelParameters.java | 2 +- .../modeladapter/ViewLogicModelAdapter.java | 18 +- .../componentadapters/BitDisplayAdapter.java | 8 +- .../componentadapters/ComponentAdapter.java | 8 +- .../ManualSwitchAdapter.java | 8 +- .../componentadapters/NoLogicAdapter.java | 72 +- .../componentadapters/SimpleGateAdapter.java | 8 +- .../serializing/CodeSnippetSupplier.java | 16 +- .../DeserializedSubmodelComponent.java | 12 +- .../IndirectGUIComponentCreator.java | 8 +- .../SubmodelComponentDeserializer.java | 20 +- .../serializing/SubmodelComponentParams.java | 6 +- .../snippets/HighLevelStateHandler.java | 4 +- .../model}/serializing/snippets/Renderer.java | 2 +- .../serializing/snippets/SnippetSupplier.java | 4 +- .../DefaultHighLevelStateHandler.java | 10 +- .../DefaultOutlineRenderer.java | 12 +- .../CenteredTextSymbolRenderer.java | 12 +- .../DefaultSymbolRenderer.java | 12 +- .../SimpleRectangularLikeSymbolRenderer.java | 14 +- .../standardComponentIDMapping.json | 0 .../serializing/standardSnippetIDMapping.json | 0 .../logic/model}/util/JsonHandler.java | 2 +- .../logic/model}/util/ModellingTool.java | 134 +-- .../mograsim/logic/model}/util/Version.java | 2 +- .../META-INF/MANIFEST.MF | 12 - .../ui/examples/ComponenetSerializer.java | 65 -- net.mograsim.logic.ui/META-INF/MANIFEST.MF | 28 - net.mograsim.plugin.core/META-INF/MANIFEST.MF | 4 +- .../mograsim/plugin/SimulationPreview.java | 20 +- .../mograsim/plugin/views/LogicUIPart.java | 20 +- 144 files changed, 1744 insertions(+), 1744 deletions(-) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/.classpath (97%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/.gitignore (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/.project (90%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/.settings/org.eclipse.jdt.core.prefs (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/.settings/org.eclipse.jdt.ui.prefs (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/FullAdder.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/HalfAdder.json (100%) create mode 100644 net.mograsim.logic.model.am2900/META-INF/MANIFEST.MF rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/OSGI-INF/l10n/bundle.properties (66%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/Test.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/build.properties (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUI_rsLatch.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIand.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIand41.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIandor414.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIdemux2.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIdff.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIdlatch.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIdlatch4.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIfulladder.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIhalfadder.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUImux1.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUImux1_4.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUInand3.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUInot4.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIor4.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIor_4.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIram2.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIram4.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIsel2_4.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIsel3_4.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/GUIxor.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/am2901/GUIAm2901.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/am2901/GUIAm2901ALUFuncDecode.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/am2901/GUIAm2901ALUInclDecode.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/am2901/GUIAm2901ALUOneBit.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/am2901/GUIAm2901DestDecode.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/am2901/GUIAm2901QReg.json (100%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/components/am2901/GUIAm2901SourceDecode.json (100%) create mode 100644 net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ComponenetSerializer.java rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/examples/JsonExample.java (82%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/examples/SubmodelComponentTestbench.java (70%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUI_rsLatch.java (86%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIand.java (72%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIand41.java (85%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIandor414.java (88%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIdemux2.java (88%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIdff.java (86%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIdlatch.java (84%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIdlatch4.java (91%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIfulladder.java (79%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIhalfadder.java (82%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUImux1.java (79%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUImux1_4.java (87%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUInand3.java (77%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUInot4.java (84%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIor4.java (88%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIor_4.java (91%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIram2.java (97%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIram4.java (98%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIsel2_4.java (91%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIsel3_4.java (91%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/GUIxor.java (80%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/am2901/GUIAm2901.java (95%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/am2901/GUIAm2901ALUFuncDecode.java (88%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/am2901/GUIAm2901ALUInclDecode.java (94%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.java (93%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/am2901/GUIAm2901ALUOneBit.java (82%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/am2901/GUIAm2901DestDecode.java (93%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/am2901/GUIAm2901QReg.java (89%) rename {net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui => net.mograsim.logic.model.am2900/src/net/mograsim/logic/model}/model/components/mi/nandbased/am2901/GUIAm2901SourceDecode.java (93%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/test/net/mograsim/logic/ui/am2900/Am2901Test.java (96%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/test/net/mograsim/logic/ui/am2900/Am2901Testbench.java (77%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/test/net/mograsim/logic/ui/am2900/TestUtil.java (96%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/test/net/mograsim/logic/ui/am2900/TestableAm2901.java (94%) rename {net.mograsim.logic.ui.am2900 => net.mograsim.logic.model.am2900}/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java (89%) rename {net.mograsim.logic.ui => net.mograsim.logic.model}/.classpath (97%) rename {net.mograsim.logic.ui => net.mograsim.logic.model}/.gitignore (100%) rename {net.mograsim.logic.ui => net.mograsim.logic.model}/.project (94%) rename {net.mograsim.logic.ui => net.mograsim.logic.model}/.settings/org.eclipse.jdt.core.prefs (100%) rename {net.mograsim.logic.ui => net.mograsim.logic.model}/.settings/org.eclipse.jdt.ui.prefs (100%) create mode 100644 net.mograsim.logic.model/META-INF/MANIFEST.MF rename {net.mograsim.logic.ui => net.mograsim.logic.model}/OSGI-INF/l10n/bundle.properties (61%) rename {net.mograsim.logic.ui => net.mograsim.logic.model}/build.properties (100%) rename {net.mograsim.logic.ui => net.mograsim.logic.model}/oldsrc/GUIMerger.java (100%) rename {net.mograsim.logic.ui => net.mograsim.logic.model}/oldsrc/GUIMux.java (100%) rename {net.mograsim.logic.ui => net.mograsim.logic.model}/oldsrc/GUISplitter.java (100%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/LogicExecuter.java (98%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/LogicUICanvas.java (94%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/LogicUIRenderer.java (88%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/LogicUIStandaloneGUI.java (93%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/SimpleLogicUIStandalone.java (82%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/examples/ClickableSubmodelComponentsTest.java (62%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/examples/RSLatchExample.java (78%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/ViewModel.java (97%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/ViewModelModifiable.java (83%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/components/GUIComponent.java (97%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/components/atomic/GUIAndGate.java (65%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/components/atomic/GUIBitDisplay.java (85%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/components/atomic/GUIManualSwitch.java (88%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/components/atomic/GUINandGate.java (65%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/components/atomic/GUINotGate.java (65%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/components/atomic/GUIOrGate.java (64%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/components/atomic/SimpleRectangularGUIGate.java (91%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/components/atomic/TextComponent.java (77%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/components/submodels/SimpleRectangularSubmodelComponent.java (89%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/components/submodels/SubmodelComponent.java (95%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/components/submodels/SubmodelInterface.java (82%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/wires/GUIWire.java (98%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/wires/MovablePin.java (79%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/wires/Pin.java (97%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/model/wires/WireCrossPoint.java (93%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/modeladapter/LogicModelParameters.java (66%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/modeladapter/ViewLogicModelAdapter.java (91%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/modeladapter/componentadapters/BitDisplayAdapter.java (74%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/modeladapter/componentadapters/ComponentAdapter.java (58%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/modeladapter/componentadapters/ManualSwitchAdapter.java (75%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/modeladapter/componentadapters/NoLogicAdapter.java (72%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/modeladapter/componentadapters/SimpleGateAdapter.java (84%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/CodeSnippetSupplier.java (85%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/DeserializedSubmodelComponent.java (79%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/IndirectGUIComponentCreator.java (93%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/SubmodelComponentDeserializer.java (83%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/SubmodelComponentParams.java (91%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/snippets/HighLevelStateHandler.java (91%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/snippets/Renderer.java (78%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/snippets/SnippetSupplier.java (85%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/snippets/highlevelstatehandlers/DefaultHighLevelStateHandler.java (68%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/snippets/outlinerenderers/DefaultOutlineRenderer.java (70%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/snippets/symbolrenderers/CenteredTextSymbolRenderer.java (80%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/snippets/symbolrenderers/DefaultSymbolRenderer.java (75%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/snippets/symbolrenderers/SimpleRectangularLikeSymbolRenderer.java (86%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/standardComponentIDMapping.json (100%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/serializing/standardSnippetIDMapping.json (100%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/util/JsonHandler.java (97%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/util/ModellingTool.java (76%) rename {net.mograsim.logic.ui/src/net/mograsim/logic/ui => net.mograsim.logic.model/src/net/mograsim/logic/model}/util/Version.java (96%) delete mode 100644 net.mograsim.logic.ui.am2900/META-INF/MANIFEST.MF delete mode 100644 net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/ComponenetSerializer.java delete mode 100644 net.mograsim.logic.ui/META-INF/MANIFEST.MF diff --git a/net.mograsim.logic.ui.am2900/.classpath b/net.mograsim.logic.model.am2900/.classpath similarity index 97% rename from net.mograsim.logic.ui.am2900/.classpath rename to net.mograsim.logic.model.am2900/.classpath index cfd1c216..da70a87e 100644 --- a/net.mograsim.logic.ui.am2900/.classpath +++ b/net.mograsim.logic.model.am2900/.classpath @@ -1,17 +1,17 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/net.mograsim.logic.ui.am2900/.gitignore b/net.mograsim.logic.model.am2900/.gitignore similarity index 100% rename from net.mograsim.logic.ui.am2900/.gitignore rename to net.mograsim.logic.model.am2900/.gitignore diff --git a/net.mograsim.logic.ui.am2900/.project b/net.mograsim.logic.model.am2900/.project similarity index 90% rename from net.mograsim.logic.ui.am2900/.project rename to net.mograsim.logic.model.am2900/.project index 1fe0d52d..5ac21380 100644 --- a/net.mograsim.logic.ui.am2900/.project +++ b/net.mograsim.logic.model.am2900/.project @@ -1,30 +1,30 @@ - - - net.mograsim.logic.ui.am2900 - - - net.mograsim.logic.ui - SWTZoomableCanvas - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.pde.PluginNature - - + + + net.mograsim.logic.model.am2900 + + + net.mograsim.logic.ui + SWTZoomableCanvas + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/net.mograsim.logic.ui.am2900/.settings/org.eclipse.jdt.core.prefs b/net.mograsim.logic.model.am2900/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from net.mograsim.logic.ui.am2900/.settings/org.eclipse.jdt.core.prefs rename to net.mograsim.logic.model.am2900/.settings/org.eclipse.jdt.core.prefs diff --git a/net.mograsim.logic.ui.am2900/.settings/org.eclipse.jdt.ui.prefs b/net.mograsim.logic.model.am2900/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from net.mograsim.logic.ui.am2900/.settings/org.eclipse.jdt.ui.prefs rename to net.mograsim.logic.model.am2900/.settings/org.eclipse.jdt.ui.prefs diff --git a/net.mograsim.logic.ui.am2900/FullAdder.json b/net.mograsim.logic.model.am2900/FullAdder.json similarity index 100% rename from net.mograsim.logic.ui.am2900/FullAdder.json rename to net.mograsim.logic.model.am2900/FullAdder.json diff --git a/net.mograsim.logic.ui.am2900/HalfAdder.json b/net.mograsim.logic.model.am2900/HalfAdder.json similarity index 100% rename from net.mograsim.logic.ui.am2900/HalfAdder.json rename to net.mograsim.logic.model.am2900/HalfAdder.json diff --git a/net.mograsim.logic.model.am2900/META-INF/MANIFEST.MF b/net.mograsim.logic.model.am2900/META-INF/MANIFEST.MF new file mode 100644 index 00000000..71d5a3b6 --- /dev/null +++ b/net.mograsim.logic.model.am2900/META-INF/MANIFEST.MF @@ -0,0 +1,12 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %Bundle-Name +Bundle-SymbolicName: net.mograsim.logic.model.am2900;singleton:=true +Bundle-Version: 0.1.0.qualifier +Export-Package: net.mograsim.logic.model.examples, + net.mograsim.logic.model.model.components.mi.nandbased, + net.mograsim.logic.model.model.components.mi.nandbased.am2901 +Bundle-RequiredExecutionEnvironment: JavaSE-11 +Require-Bundle: net.mograsim.logic.model;bundle-version="0.1.0";visibility:=reexport +Automatic-Module-Name: net.mograsim.logic.ui +Bundle-Vendor: Mograsim Team diff --git a/net.mograsim.logic.ui.am2900/OSGI-INF/l10n/bundle.properties b/net.mograsim.logic.model.am2900/OSGI-INF/l10n/bundle.properties similarity index 66% rename from net.mograsim.logic.ui.am2900/OSGI-INF/l10n/bundle.properties rename to net.mograsim.logic.model.am2900/OSGI-INF/l10n/bundle.properties index 11025172..f1ecb432 100644 --- a/net.mograsim.logic.ui.am2900/OSGI-INF/l10n/bundle.properties +++ b/net.mograsim.logic.model.am2900/OSGI-INF/l10n/bundle.properties @@ -1,3 +1,3 @@ -#Properties file for net.mograsim.logic.ui -Bundle-Vendor = Mograsim Team +#Properties file for net.mograsim.logic.ui +Bundle-Vendor = Mograsim Team Bundle-Name = Mograsim Am2900 logic \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/Test.json b/net.mograsim.logic.model.am2900/Test.json similarity index 100% rename from net.mograsim.logic.ui.am2900/Test.json rename to net.mograsim.logic.model.am2900/Test.json diff --git a/net.mograsim.logic.ui.am2900/build.properties b/net.mograsim.logic.model.am2900/build.properties similarity index 100% rename from net.mograsim.logic.ui.am2900/build.properties rename to net.mograsim.logic.model.am2900/build.properties diff --git a/net.mograsim.logic.ui.am2900/components/GUI_rsLatch.json b/net.mograsim.logic.model.am2900/components/GUI_rsLatch.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUI_rsLatch.json rename to net.mograsim.logic.model.am2900/components/GUI_rsLatch.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIand.json b/net.mograsim.logic.model.am2900/components/GUIand.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIand.json rename to net.mograsim.logic.model.am2900/components/GUIand.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIand41.json b/net.mograsim.logic.model.am2900/components/GUIand41.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIand41.json rename to net.mograsim.logic.model.am2900/components/GUIand41.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIandor414.json b/net.mograsim.logic.model.am2900/components/GUIandor414.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIandor414.json rename to net.mograsim.logic.model.am2900/components/GUIandor414.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIdemux2.json b/net.mograsim.logic.model.am2900/components/GUIdemux2.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIdemux2.json rename to net.mograsim.logic.model.am2900/components/GUIdemux2.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIdff.json b/net.mograsim.logic.model.am2900/components/GUIdff.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIdff.json rename to net.mograsim.logic.model.am2900/components/GUIdff.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIdlatch.json b/net.mograsim.logic.model.am2900/components/GUIdlatch.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIdlatch.json rename to net.mograsim.logic.model.am2900/components/GUIdlatch.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIdlatch4.json b/net.mograsim.logic.model.am2900/components/GUIdlatch4.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIdlatch4.json rename to net.mograsim.logic.model.am2900/components/GUIdlatch4.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIfulladder.json b/net.mograsim.logic.model.am2900/components/GUIfulladder.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIfulladder.json rename to net.mograsim.logic.model.am2900/components/GUIfulladder.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIhalfadder.json b/net.mograsim.logic.model.am2900/components/GUIhalfadder.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIhalfadder.json rename to net.mograsim.logic.model.am2900/components/GUIhalfadder.json diff --git a/net.mograsim.logic.ui.am2900/components/GUImux1.json b/net.mograsim.logic.model.am2900/components/GUImux1.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUImux1.json rename to net.mograsim.logic.model.am2900/components/GUImux1.json diff --git a/net.mograsim.logic.ui.am2900/components/GUImux1_4.json b/net.mograsim.logic.model.am2900/components/GUImux1_4.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUImux1_4.json rename to net.mograsim.logic.model.am2900/components/GUImux1_4.json diff --git a/net.mograsim.logic.ui.am2900/components/GUInand3.json b/net.mograsim.logic.model.am2900/components/GUInand3.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUInand3.json rename to net.mograsim.logic.model.am2900/components/GUInand3.json diff --git a/net.mograsim.logic.ui.am2900/components/GUInot4.json b/net.mograsim.logic.model.am2900/components/GUInot4.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUInot4.json rename to net.mograsim.logic.model.am2900/components/GUInot4.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIor4.json b/net.mograsim.logic.model.am2900/components/GUIor4.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIor4.json rename to net.mograsim.logic.model.am2900/components/GUIor4.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIor_4.json b/net.mograsim.logic.model.am2900/components/GUIor_4.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIor_4.json rename to net.mograsim.logic.model.am2900/components/GUIor_4.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIram2.json b/net.mograsim.logic.model.am2900/components/GUIram2.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIram2.json rename to net.mograsim.logic.model.am2900/components/GUIram2.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIram4.json b/net.mograsim.logic.model.am2900/components/GUIram4.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIram4.json rename to net.mograsim.logic.model.am2900/components/GUIram4.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIsel2_4.json b/net.mograsim.logic.model.am2900/components/GUIsel2_4.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIsel2_4.json rename to net.mograsim.logic.model.am2900/components/GUIsel2_4.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIsel3_4.json b/net.mograsim.logic.model.am2900/components/GUIsel3_4.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIsel3_4.json rename to net.mograsim.logic.model.am2900/components/GUIsel3_4.json diff --git a/net.mograsim.logic.ui.am2900/components/GUIxor.json b/net.mograsim.logic.model.am2900/components/GUIxor.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/GUIxor.json rename to net.mograsim.logic.model.am2900/components/GUIxor.json diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901.json rename to net.mograsim.logic.model.am2900/components/am2901/GUIAm2901.json diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUFuncDecode.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUFuncDecode.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUFuncDecode.json rename to net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUFuncDecode.json diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUInclDecode.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclDecode.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUInclDecode.json rename to net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclDecode.json diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json rename to net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.json diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUOneBit.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUOneBit.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901ALUOneBit.json rename to net.mograsim.logic.model.am2900/components/am2901/GUIAm2901ALUOneBit.json diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901DestDecode.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901DestDecode.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901DestDecode.json rename to net.mograsim.logic.model.am2900/components/am2901/GUIAm2901DestDecode.json diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901QReg.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901QReg.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901QReg.json rename to net.mograsim.logic.model.am2900/components/am2901/GUIAm2901QReg.json diff --git a/net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901SourceDecode.json b/net.mograsim.logic.model.am2900/components/am2901/GUIAm2901SourceDecode.json similarity index 100% rename from net.mograsim.logic.ui.am2900/components/am2901/GUIAm2901SourceDecode.json rename to net.mograsim.logic.model.am2900/components/am2901/GUIAm2901SourceDecode.json diff --git a/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ComponenetSerializer.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ComponenetSerializer.java new file mode 100644 index 00000000..3d568e36 --- /dev/null +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/ComponenetSerializer.java @@ -0,0 +1,65 @@ +package net.mograsim.logic.model.examples; + +import java.io.IOException; +import java.util.function.Function; + +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.mi.nandbased.GUI_rsLatch; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIand; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIand41; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIandor414; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIdemux2; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIdff; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIdlatch; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIdlatch4; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIfulladder; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIhalfadder; +import net.mograsim.logic.model.model.components.mi.nandbased.GUImux1; +import net.mograsim.logic.model.model.components.mi.nandbased.GUImux1_4; +import net.mograsim.logic.model.model.components.mi.nandbased.GUInand3; +import net.mograsim.logic.model.model.components.mi.nandbased.GUInot4; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIor4; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIor_4; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIram2; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIram4; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIsel2_4; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIsel3_4; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIxor; +import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901; +import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901ALUFuncDecode; +import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901ALUInclDecode; +import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901ALUInclSourceDecodeInclFunctionDecode; +import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901ALUOneBit; +import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901DestDecode; +import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901QReg; +import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901SourceDecode; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.SubmodelComponentParams; +import net.mograsim.logic.model.util.JsonHandler; + +public class ComponenetSerializer +{ + public static void main(String[] args) throws IOException + { + // we know we only use components where this works + Function getIdentifier = c -> c.getClass().getSimpleName(); + + ViewModelModifiable model = new ViewModelModifiable(); + SubmodelComponent[] components = { new GUIAm2901(model), new GUIAm2901ALUFuncDecode(model), new GUIAm2901ALUInclDecode(model), + new GUIAm2901ALUInclSourceDecodeInclFunctionDecode(model), new GUIAm2901ALUOneBit(model), new GUIAm2901DestDecode(model), + new GUIAm2901QReg(model), new GUIAm2901SourceDecode(model), new GUI_rsLatch(model), new GUIand(model), new GUIand41(model), + new GUIandor414(model), new GUIdemux2(model), new GUIdff(model), new GUIdlatch(model), new GUIdlatch4(model), + new GUIfulladder(model), new GUIhalfadder(model), new GUImux1(model), new GUImux1_4(model), new GUInand3(model), + new GUInot4(model), new GUIor4(model), new GUIor_4(model), new GUIram2(model), new GUIram4(model), new GUIsel2_4(model), + new GUIsel3_4(model), new GUIxor(model) }; + + for (SubmodelComponent comp : components) + { + SubmodelComponentParams params = comp.calculateParams(getIdentifier); + JsonHandler.writeJson(params, "components/" + + comp.getClass().getName().substring("net.mograsim.logic.ui.model.components.mi.nandbased.".length()).replace('.', '/') + + ".json"); + } + } +} \ No newline at end of file diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/JsonExample.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/JsonExample.java similarity index 82% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/JsonExample.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/JsonExample.java index 009dedd2..120ceb6c 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/JsonExample.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/JsonExample.java @@ -1,22 +1,22 @@ -package net.mograsim.logic.ui.examples; +package net.mograsim.logic.model.examples; import java.io.IOException; import com.google.gson.JsonNull; -import net.mograsim.logic.ui.SimpleLogicUIStandalone; -import net.mograsim.logic.ui.model.ViewModelModifiable; -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.GUI_rsLatch; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUIfulladder; -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; -import net.mograsim.logic.ui.util.JsonHandler; +import net.mograsim.logic.model.SimpleLogicUIStandalone; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUIBitDisplay; +import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.model.model.components.mi.nandbased.GUI_rsLatch; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIfulladder; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.serializing.SubmodelComponentDeserializer; +import net.mograsim.logic.model.serializing.SubmodelComponentParams; +import net.mograsim.logic.model.util.JsonHandler; public class JsonExample { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/SubmodelComponentTestbench.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/SubmodelComponentTestbench.java similarity index 70% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/SubmodelComponentTestbench.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/SubmodelComponentTestbench.java index 9215db1a..0d9c604d 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/SubmodelComponentTestbench.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/examples/SubmodelComponentTestbench.java @@ -1,16 +1,16 @@ -package net.mograsim.logic.ui.examples; +package net.mograsim.logic.model.examples; import java.util.ArrayList; import java.util.List; -import net.mograsim.logic.ui.SimpleLogicUIStandalone; -import net.mograsim.logic.ui.model.ViewModelModifiable; -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.SubmodelComponent; -import net.mograsim.logic.ui.model.wires.GUIWire; -import net.mograsim.logic.ui.model.wires.Pin; -import net.mograsim.logic.ui.serializing.SubmodelComponentDeserializer; +import net.mograsim.logic.model.SimpleLogicUIStandalone; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUIBitDisplay; +import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.serializing.SubmodelComponentDeserializer; 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.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUI_rsLatch.java similarity index 86% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUI_rsLatch.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUI_rsLatch.java index 4ae8bd37..c5d54c2a 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUI_rsLatch.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUI_rsLatch.java @@ -1,15 +1,15 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.model.components.mi.nandbased; 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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUI_rsLatch extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIand.java similarity index 72% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIand.java index 064fee39..1e350e3e 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIand.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIand extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand41.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIand41.java similarity index 85% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand41.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIand41.java index 73e5fa12..1074ab28 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIand41.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIand41.java @@ -1,12 +1,12 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIand41 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIandor414.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIandor414.java similarity index 88% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIandor414.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIandor414.java index 3f9d09c6..963649a3 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIandor414.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIandor414.java @@ -1,11 +1,11 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.submodels.SimpleRectangularSubmodelComponent; -import net.mograsim.logic.ui.model.wires.GUIWire; -import net.mograsim.logic.ui.model.wires.Pin; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIandor414 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdemux2.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIdemux2.java similarity index 88% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdemux2.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIdemux2.java index 1198dde5..2b61cd4f 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdemux2.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIdemux2.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIdemux2 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdff.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIdff.java similarity index 86% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdff.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIdff.java index 47565473..b8a5c8a3 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdff.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIdff.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIdff extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIdlatch.java similarity index 84% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIdlatch.java index e0a60386..7378237d 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIdlatch.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIdlatch extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch4.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIdlatch4.java similarity index 91% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch4.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIdlatch4.java index 388c4545..34687982 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIdlatch4.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIdlatch4.java @@ -1,14 +1,14 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.model.components.mi.nandbased; 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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIdlatch4 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIfulladder.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIfulladder.java similarity index 79% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIfulladder.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIfulladder.java index 3a793a86..258da912 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIfulladder.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIfulladder.java @@ -1,12 +1,12 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIfulladder extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIhalfadder.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIhalfadder.java similarity index 82% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIhalfadder.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIhalfadder.java index abb93cc3..3b100fde 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIhalfadder.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIhalfadder.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIhalfadder extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUImux1.java similarity index 79% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUImux1.java index 0e6eca6c..53682e9d 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUImux1.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUImux1 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1_4.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUImux1_4.java similarity index 87% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1_4.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUImux1_4.java index 6fb74b39..8bfcce67 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUImux1_4.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUImux1_4.java @@ -1,12 +1,12 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUImux1_4 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInand3.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUInand3.java similarity index 77% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInand3.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUInand3.java index 56076cf4..99e204df 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInand3.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUInand3.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUInand3 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInot4.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUInot4.java similarity index 84% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInot4.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUInot4.java index b1e9985d..d524332d 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUInot4.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUInot4.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUInot4 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor4.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIor4.java similarity index 88% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor4.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIor4.java index b0d30294..ab3ed897 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor4.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIor4.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIor4 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor_4.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIor_4.java similarity index 91% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor_4.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIor_4.java index 7744abdb..3082f72f 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIor_4.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIor_4.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIor_4 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram2.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIram2.java similarity index 97% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram2.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIram2.java index a7d9e9c9..2ebc1e33 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram2.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIram2.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIram2 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram4.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIram4.java similarity index 98% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram4.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIram4.java index 38b75163..903a227f 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIram4.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIram4.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIram4 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel2_4.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIsel2_4.java similarity index 91% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel2_4.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIsel2_4.java index e8abe397..6f4a6cdd 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel2_4.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIsel2_4.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIsel2_4 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel3_4.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIsel3_4.java similarity index 91% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel3_4.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIsel3_4.java index 5695df8f..ec5891bb 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIsel3_4.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIsel3_4.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIsel3_4 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIxor.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIxor.java similarity index 80% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIxor.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIxor.java index 2fb100b9..77b659d8 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/GUIxor.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/GUIxor.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIxor extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901.java similarity index 95% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901.java index d396148e..aca03d9b 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901.java @@ -1,19 +1,19 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIand; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIdlatch4; +import net.mograsim.logic.model.model.components.mi.nandbased.GUImux1_4; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIor4; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIram4; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIsel3_4; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIAm2901 extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUFuncDecode.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901ALUFuncDecode.java similarity index 88% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUFuncDecode.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901ALUFuncDecode.java index 07af76d9..8a62634b 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUFuncDecode.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901ALUFuncDecode.java @@ -1,15 +1,15 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIand; +import net.mograsim.logic.model.model.components.mi.nandbased.GUInand3; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIAm2901ALUFuncDecode extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclDecode.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901ALUInclDecode.java similarity index 94% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclDecode.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901ALUInclDecode.java index 0fef480b..5c1afe11 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclDecode.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901ALUInclDecode.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIxor; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIAm2901ALUInclDecode extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.java similarity index 93% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.java index 12da51c0..a57e315b 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901ALUInclSourceDecodeInclFunctionDecode.java @@ -1,14 +1,14 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIsel2_4; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIsel3_4; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIAm2901ALUInclSourceDecodeInclFunctionDecode extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUOneBit.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901ALUOneBit.java similarity index 82% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUOneBit.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901ALUOneBit.java index ffe8b956..453a6694 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901ALUOneBit.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901ALUOneBit.java @@ -1,17 +1,17 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIand; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIfulladder; +import net.mograsim.logic.model.model.components.mi.nandbased.GUImux1; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIxor; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIAm2901ALUOneBit extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901DestDecode.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901DestDecode.java similarity index 93% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901DestDecode.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901DestDecode.java index f6bd0bb9..fbdaeabe 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901DestDecode.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901DestDecode.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIAm2901DestDecode extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901QReg.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901QReg.java similarity index 89% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901QReg.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901QReg.java index f45c116a..9902b24a 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901QReg.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901QReg.java @@ -1,16 +1,16 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; +package net.mograsim.logic.model.model.components.mi.nandbased.am2901; 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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIand; +import net.mograsim.logic.model.model.components.mi.nandbased.GUIdff; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIAm2901QReg extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901SourceDecode.java b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901SourceDecode.java similarity index 93% rename from net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901SourceDecode.java rename to net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901SourceDecode.java index f579a83f..dbe3a761 100644 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/model/components/mi/nandbased/am2901/GUIAm2901SourceDecode.java +++ b/net.mograsim.logic.model.am2900/src/net/mograsim/logic/model/model/components/mi/nandbased/am2901/GUIAm2901SourceDecode.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.model.components.mi.nandbased.am2901; +package net.mograsim.logic.model.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.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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUINandGate; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIAm2901SourceDecode extends SimpleRectangularSubmodelComponent { diff --git a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/Am2901Test.java b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/Am2901Test.java similarity index 96% rename from net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/Am2901Test.java rename to net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/Am2901Test.java index e1f28666..21cb52f6 100644 --- a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/Am2901Test.java +++ b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/Am2901Test.java @@ -1,292 +1,292 @@ -package net.mograsim.logic.ui.am2900; - -import static net.mograsim.logic.ui.am2900.TestUtil.*; -import static net.mograsim.logic.ui.am2900.TestableAm2901.Am2901_Dest.*; -import static net.mograsim.logic.ui.am2900.TestableAm2901.Am2901_Func.*; -import static net.mograsim.logic.ui.am2900.TestableAm2901.Am2901_Src.*; -import static net.mograsim.logic.ui.am2900.TestableAm2901.Register.*; -import static org.junit.jupiter.api.Assertions.*; - -import java.awt.Point; -import java.util.stream.IntStream; -import java.util.stream.Stream; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Order; -import org.junit.jupiter.api.MethodOrderer.OrderAnnotation; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.TestMethodOrder; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.ArgumentsSource; -import net.mograsim.logic.ui.am2900.TestableAm2901.Register; - -@TestMethodOrder(OrderAnnotation.class) -public class Am2901Test -{ - private TestableAm2901 am2901; - - @BeforeEach - void initialize() - { - createAndSetup(); - setInputsToZero(); - } - - void createAndSetup() - { - am2901 = new TestableAm2901Impl(); - am2901.setup(); - } - - void setRegistersToZero() - { - setInputsToZero(); - for (Register r : Register.values()) - { - setRegisterToZero(r); - } - } - - void setRegisterToZero(Register r) - { - am2901.setD("0000"); - am2901.setSrc(DZ); - am2901.setFunc(AND); - setRegOutput(r); - - am2901.assertFullCycleSuccess(); - } - - void setRegOutput(Register r) - { - if (r == Q) - { - am2901.setDest(QREG); - } else - { - am2901.setReg_B(r.toBitString()); - am2901.setDest(RAMF); - } - } - - void setInputsToZero() - { - am2901.setCarryIn("0"); - am2901.setQ_0("0"); - am2901.setQ_3("0"); - am2901.setRAM_0("0"); - am2901.setRAM_3("0"); - am2901.setReg_A("0000"); - am2901.setReg_B("0000"); - am2901.setD("0000"); - am2901.setSrc(AB); - am2901.setFunc(ADD); - am2901.setDest(QREG); -// am2901.setNotOutEnable("0"); TODO - am2901.clockOn(true); - am2901.assertRunSuccess(); - } - - @Order(1) - @ParameterizedTest - @ArgumentsSource(TestableAm2901.RegisterProvider.class) - void testDirectAccess(Register r) - { - assertEquals("UUUU", am2901.getDirectly(r)); - - am2901.setDirectly(r, "1011"); - - assertEquals("1011", am2901.getDirectly(r)); - } - - @Order(2) - @ParameterizedTest - @ArgumentsSource(TestableAm2901.RegisterProvider.class) - void testSetToZero(Register r) - { - assertEquals("UUUU", am2901.getDirectly(r)); - - setRegisterToZero(r); - - assertEquals("0000", am2901.getDirectly(r)); - assertEquals("0000", am2901.getY()); - assertEquals("0", am2901.getCarryOut()); - assertEquals("0", am2901.getOverflow()); - assertEquals("0", am2901.getSign()); - assertEquals("1", am2901.getZero()); - } - - @Order(3) - @Test - void testSetAllToZero() - { - setRegistersToZero(); - - assertEquals("0000", am2901.getY()); - assertEquals("0", am2901.getCarryOut()); - assertEquals("0", am2901.getOverflow()); - assertEquals("0", am2901.getSign()); - assertEquals("1", am2901.getZero()); - assertEquals("0", am2901.getQ_0()); - assertEquals("0", am2901.getQ_3()); - assertEquals("0", am2901.getRAM_0()); - assertEquals("0", am2901.getRAM_3()); - - assertAll("register values", Register.stream().map(r -> () -> - { - assertEquals("0000", am2901.getDirectly(r), r.name()); - })); - } - - @Order(4) - @Test - void testADD() - { - am2901.setSrc(DA); - am2901.setFunc(ADD); - am2901.setDest(NOP); - am2901.setReg_A(r0.toBitString()); - - assertAll(getAll4BitPairs().map(xy -> () -> - { - am2901.setDirectly(r0, to4bitBin(xy.x)); - am2901.setD(to4bitBin(xy.y)); - - am2901.assertFullCycleSuccess(); - - int res32Bit = xy.x + xy.y; - int res4Bit = res32Bit & 0b1111; - int res32Bit_sgn = signed4ToSigned32(xy.x) + signed4ToSigned32(xy.y); - int res4Bit_sgn = signed4ToSigned32(res32Bit_sgn); - - String desc = xy.x + " + " + xy.y + " = " + res4Bit + ": "; - - assertEquals(to4bitBin(res4Bit & 0b1111), am2901.getY(), desc + "Y"); - assertEquals(to1bitBin(res4Bit == 0), am2901.getZero(), desc + "F=0"); - assertEquals(to1bitBin(res4Bit & 0b1000), am2901.getSign(), desc + "F3"); - assertEquals(to1bitBin(res32Bit & 0b1_0000), am2901.getCarryOut(), desc + "Cn+4"); - assertEquals(to1bitBin(res4Bit_sgn != res32Bit_sgn), am2901.getOverflow(), desc + "OVR"); - })); - } - - @Order(4) - @Test - void testAND() - { - am2901.setSrc(DA); - am2901.setFunc(AND); - am2901.setDest(NOP); - am2901.setReg_A(r0.toBitString()); - - assertAll(getAll4BitPairs().map(xy -> () -> - { - am2901.setDirectly(r0, to4bitBin(xy.x)); - am2901.setD(to4bitBin(xy.y)); - - am2901.assertFullCycleSuccess(); - - int res32Bit = xy.x & xy.y; - - String desc = xy.x + " & " + xy.y + " = " + res32Bit + ": "; - - assertEquals(to4bitBin(res32Bit), am2901.getY(), desc + "Y"); - assertEquals(to1bitBin(res32Bit == 0), am2901.getZero(), desc + "F=0"); - assertEquals(to1bitBin(res32Bit & 0b1000), am2901.getSign(), desc + "F3"); -// assertEquals(to1bitBin(res32Bit), am2901.getCarryOut(), desc + "Cn+4"); // TODO -// assertEquals(to1bitBin(res32Bit), am2901.getOverflow(), desc + "OVR"); // TODO - })); - } - - @Order(4) - @Test - void testOR() - { - am2901.setSrc(DA); - am2901.setFunc(OR); - am2901.setDest(NOP); - am2901.setReg_A(r0.toBitString()); - - assertAll(getAll4BitPairs().map(xy -> () -> - { - am2901.setDirectly(r0, to4bitBin(xy.x)); - am2901.setD(to4bitBin(xy.y)); - - am2901.assertFullCycleSuccess(); - - int res32Bit = xy.x | xy.y; - - String desc = xy.x + " | " + xy.y + " = " + res32Bit + ": "; - - assertEquals(to4bitBin(res32Bit), am2901.getY(), desc + "Y"); - assertEquals(to1bitBin(res32Bit == 0), am2901.getZero(), desc + "F=0"); - assertEquals(to1bitBin(res32Bit & 0b1000), am2901.getSign(), desc + "F3"); -// assertEquals(to1bitBin(res32Bit != 0b1111), am2901.getCarryOut(), desc + "Cn+4"); // TODO -// assertEquals(to1bitBin(res32Bit != 0b1111), am2901.getOverflow(), desc + "OVR"); // TODO - })); - } - - @Order(4) - @Test - void testXOR() - { - am2901.setSrc(DA); - am2901.setFunc(EXOR); - am2901.setDest(NOP); - am2901.setReg_A(r0.toBitString()); - - assertAll(getAll4BitPairs().map(xy -> () -> - { - am2901.setDirectly(r0, to4bitBin(xy.x)); - am2901.setD(to4bitBin(xy.y)); - - am2901.assertFullCycleSuccess(); - - int res32Bit = xy.x ^ xy.y; - - String desc = xy.x + " ^ " + xy.y + " = " + res32Bit + ": "; - - assertEquals(to4bitBin(res32Bit), am2901.getY(), desc + "Y"); - assertEquals(to1bitBin(res32Bit == 0), am2901.getZero(), desc + "F=0"); - assertEquals(to1bitBin(res32Bit & 0b1000), am2901.getSign(), desc + "F3"); -// assertEquals(to1bitBin(res32Bit != 0b1111), am2901.getCarryOut(), desc + "Cn+4"); // TODO -// assertEquals(to1bitBin(res32Bit != 0b1111), am2901.getOverflow(), desc + "OVR"); // TODO - })); - } - - @Order(4) - @Test - void testSUB() - { - am2901.setSrc(DA); - am2901.setCarryIn("1"); - am2901.setFunc(SUBR); - am2901.setDest(NOP); - am2901.setReg_A(r0.toBitString()); - - assertAll(getAll4BitPairs().map(xy -> () -> - { - am2901.setDirectly(r0, to4bitBin(xy.x)); - am2901.setD(to4bitBin(xy.y)); - - am2901.assertFullCycleSuccess(); - - int res32Bit = xy.x - xy.y; - int res4Bit = res32Bit & 0b1111; - int res32Bit_sgn = signed4ToSigned32(xy.x) - signed4ToSigned32(xy.y); - int res4Bit_sgn = signed4ToSigned32(res32Bit_sgn); - - String desc = xy.x + " - " + xy.y + " = " + res4Bit + ": "; - - assertEquals(to4bitBin(res4Bit & 0b1111), am2901.getY(), desc + "Y"); - assertEquals(to1bitBin(res4Bit == 0), am2901.getZero(), desc + "F=0"); - assertEquals(to1bitBin(res4Bit & 0b1000), am2901.getSign(), desc + "F3"); - assertEquals(to1bitBin(xy.x >= xy.y), am2901.getCarryOut(), desc + "Cn+4"); - assertEquals(to1bitBin(res4Bit_sgn != res32Bit_sgn), am2901.getOverflow(), desc + "OVR"); - })); - } - - static Stream getAll4BitPairs() - { - return IntStream.range(0, 16).boxed().flatMap(x -> IntStream.range(0, 16).mapToObj(y -> new Point(x, y))); - } -} +package net.mograsim.logic.ui.am2900; + +import static net.mograsim.logic.ui.am2900.TestUtil.*; +import static net.mograsim.logic.ui.am2900.TestableAm2901.Am2901_Dest.*; +import static net.mograsim.logic.ui.am2900.TestableAm2901.Am2901_Func.*; +import static net.mograsim.logic.ui.am2900.TestableAm2901.Am2901_Src.*; +import static net.mograsim.logic.ui.am2900.TestableAm2901.Register.*; +import static org.junit.jupiter.api.Assertions.*; + +import java.awt.Point; +import java.util.stream.IntStream; +import java.util.stream.Stream; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Order; +import org.junit.jupiter.api.MethodOrderer.OrderAnnotation; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ArgumentsSource; +import net.mograsim.logic.ui.am2900.TestableAm2901.Register; + +@TestMethodOrder(OrderAnnotation.class) +public class Am2901Test +{ + private TestableAm2901 am2901; + + @BeforeEach + void initialize() + { + createAndSetup(); + setInputsToZero(); + } + + void createAndSetup() + { + am2901 = new TestableAm2901Impl(); + am2901.setup(); + } + + void setRegistersToZero() + { + setInputsToZero(); + for (Register r : Register.values()) + { + setRegisterToZero(r); + } + } + + void setRegisterToZero(Register r) + { + am2901.setD("0000"); + am2901.setSrc(DZ); + am2901.setFunc(AND); + setRegOutput(r); + + am2901.assertFullCycleSuccess(); + } + + void setRegOutput(Register r) + { + if (r == Q) + { + am2901.setDest(QREG); + } else + { + am2901.setReg_B(r.toBitString()); + am2901.setDest(RAMF); + } + } + + void setInputsToZero() + { + am2901.setCarryIn("0"); + am2901.setQ_0("0"); + am2901.setQ_3("0"); + am2901.setRAM_0("0"); + am2901.setRAM_3("0"); + am2901.setReg_A("0000"); + am2901.setReg_B("0000"); + am2901.setD("0000"); + am2901.setSrc(AB); + am2901.setFunc(ADD); + am2901.setDest(QREG); +// am2901.setNotOutEnable("0"); TODO + am2901.clockOn(true); + am2901.assertRunSuccess(); + } + + @Order(1) + @ParameterizedTest + @ArgumentsSource(TestableAm2901.RegisterProvider.class) + void testDirectAccess(Register r) + { + assertEquals("UUUU", am2901.getDirectly(r)); + + am2901.setDirectly(r, "1011"); + + assertEquals("1011", am2901.getDirectly(r)); + } + + @Order(2) + @ParameterizedTest + @ArgumentsSource(TestableAm2901.RegisterProvider.class) + void testSetToZero(Register r) + { + assertEquals("UUUU", am2901.getDirectly(r)); + + setRegisterToZero(r); + + assertEquals("0000", am2901.getDirectly(r)); + assertEquals("0000", am2901.getY()); + assertEquals("0", am2901.getCarryOut()); + assertEquals("0", am2901.getOverflow()); + assertEquals("0", am2901.getSign()); + assertEquals("1", am2901.getZero()); + } + + @Order(3) + @Test + void testSetAllToZero() + { + setRegistersToZero(); + + assertEquals("0000", am2901.getY()); + assertEquals("0", am2901.getCarryOut()); + assertEquals("0", am2901.getOverflow()); + assertEquals("0", am2901.getSign()); + assertEquals("1", am2901.getZero()); + assertEquals("0", am2901.getQ_0()); + assertEquals("0", am2901.getQ_3()); + assertEquals("0", am2901.getRAM_0()); + assertEquals("0", am2901.getRAM_3()); + + assertAll("register values", Register.stream().map(r -> () -> + { + assertEquals("0000", am2901.getDirectly(r), r.name()); + })); + } + + @Order(4) + @Test + void testADD() + { + am2901.setSrc(DA); + am2901.setFunc(ADD); + am2901.setDest(NOP); + am2901.setReg_A(r0.toBitString()); + + assertAll(getAll4BitPairs().map(xy -> () -> + { + am2901.setDirectly(r0, to4bitBin(xy.x)); + am2901.setD(to4bitBin(xy.y)); + + am2901.assertFullCycleSuccess(); + + int res32Bit = xy.x + xy.y; + int res4Bit = res32Bit & 0b1111; + int res32Bit_sgn = signed4ToSigned32(xy.x) + signed4ToSigned32(xy.y); + int res4Bit_sgn = signed4ToSigned32(res32Bit_sgn); + + String desc = xy.x + " + " + xy.y + " = " + res4Bit + ": "; + + assertEquals(to4bitBin(res4Bit & 0b1111), am2901.getY(), desc + "Y"); + assertEquals(to1bitBin(res4Bit == 0), am2901.getZero(), desc + "F=0"); + assertEquals(to1bitBin(res4Bit & 0b1000), am2901.getSign(), desc + "F3"); + assertEquals(to1bitBin(res32Bit & 0b1_0000), am2901.getCarryOut(), desc + "Cn+4"); + assertEquals(to1bitBin(res4Bit_sgn != res32Bit_sgn), am2901.getOverflow(), desc + "OVR"); + })); + } + + @Order(4) + @Test + void testAND() + { + am2901.setSrc(DA); + am2901.setFunc(AND); + am2901.setDest(NOP); + am2901.setReg_A(r0.toBitString()); + + assertAll(getAll4BitPairs().map(xy -> () -> + { + am2901.setDirectly(r0, to4bitBin(xy.x)); + am2901.setD(to4bitBin(xy.y)); + + am2901.assertFullCycleSuccess(); + + int res32Bit = xy.x & xy.y; + + String desc = xy.x + " & " + xy.y + " = " + res32Bit + ": "; + + assertEquals(to4bitBin(res32Bit), am2901.getY(), desc + "Y"); + assertEquals(to1bitBin(res32Bit == 0), am2901.getZero(), desc + "F=0"); + assertEquals(to1bitBin(res32Bit & 0b1000), am2901.getSign(), desc + "F3"); +// assertEquals(to1bitBin(res32Bit), am2901.getCarryOut(), desc + "Cn+4"); // TODO +// assertEquals(to1bitBin(res32Bit), am2901.getOverflow(), desc + "OVR"); // TODO + })); + } + + @Order(4) + @Test + void testOR() + { + am2901.setSrc(DA); + am2901.setFunc(OR); + am2901.setDest(NOP); + am2901.setReg_A(r0.toBitString()); + + assertAll(getAll4BitPairs().map(xy -> () -> + { + am2901.setDirectly(r0, to4bitBin(xy.x)); + am2901.setD(to4bitBin(xy.y)); + + am2901.assertFullCycleSuccess(); + + int res32Bit = xy.x | xy.y; + + String desc = xy.x + " | " + xy.y + " = " + res32Bit + ": "; + + assertEquals(to4bitBin(res32Bit), am2901.getY(), desc + "Y"); + assertEquals(to1bitBin(res32Bit == 0), am2901.getZero(), desc + "F=0"); + assertEquals(to1bitBin(res32Bit & 0b1000), am2901.getSign(), desc + "F3"); +// assertEquals(to1bitBin(res32Bit != 0b1111), am2901.getCarryOut(), desc + "Cn+4"); // TODO +// assertEquals(to1bitBin(res32Bit != 0b1111), am2901.getOverflow(), desc + "OVR"); // TODO + })); + } + + @Order(4) + @Test + void testXOR() + { + am2901.setSrc(DA); + am2901.setFunc(EXOR); + am2901.setDest(NOP); + am2901.setReg_A(r0.toBitString()); + + assertAll(getAll4BitPairs().map(xy -> () -> + { + am2901.setDirectly(r0, to4bitBin(xy.x)); + am2901.setD(to4bitBin(xy.y)); + + am2901.assertFullCycleSuccess(); + + int res32Bit = xy.x ^ xy.y; + + String desc = xy.x + " ^ " + xy.y + " = " + res32Bit + ": "; + + assertEquals(to4bitBin(res32Bit), am2901.getY(), desc + "Y"); + assertEquals(to1bitBin(res32Bit == 0), am2901.getZero(), desc + "F=0"); + assertEquals(to1bitBin(res32Bit & 0b1000), am2901.getSign(), desc + "F3"); +// assertEquals(to1bitBin(res32Bit != 0b1111), am2901.getCarryOut(), desc + "Cn+4"); // TODO +// assertEquals(to1bitBin(res32Bit != 0b1111), am2901.getOverflow(), desc + "OVR"); // TODO + })); + } + + @Order(4) + @Test + void testSUB() + { + am2901.setSrc(DA); + am2901.setCarryIn("1"); + am2901.setFunc(SUBR); + am2901.setDest(NOP); + am2901.setReg_A(r0.toBitString()); + + assertAll(getAll4BitPairs().map(xy -> () -> + { + am2901.setDirectly(r0, to4bitBin(xy.x)); + am2901.setD(to4bitBin(xy.y)); + + am2901.assertFullCycleSuccess(); + + int res32Bit = xy.x - xy.y; + int res4Bit = res32Bit & 0b1111; + int res32Bit_sgn = signed4ToSigned32(xy.x) - signed4ToSigned32(xy.y); + int res4Bit_sgn = signed4ToSigned32(res32Bit_sgn); + + String desc = xy.x + " - " + xy.y + " = " + res4Bit + ": "; + + assertEquals(to4bitBin(res4Bit & 0b1111), am2901.getY(), desc + "Y"); + assertEquals(to1bitBin(res4Bit == 0), am2901.getZero(), desc + "F=0"); + assertEquals(to1bitBin(res4Bit & 0b1000), am2901.getSign(), desc + "F3"); + assertEquals(to1bitBin(xy.x >= xy.y), am2901.getCarryOut(), desc + "Cn+4"); + assertEquals(to1bitBin(res4Bit_sgn != res32Bit_sgn), am2901.getOverflow(), desc + "OVR"); + })); + } + + static Stream getAll4BitPairs() + { + return IntStream.range(0, 16).boxed().flatMap(x -> IntStream.range(0, 16).mapToObj(y -> new Point(x, y))); + } +} diff --git a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/Am2901Testbench.java b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/Am2901Testbench.java similarity index 77% rename from net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/Am2901Testbench.java rename to net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/Am2901Testbench.java index c35402b1..7c68cc1a 100644 --- a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/Am2901Testbench.java +++ b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/Am2901Testbench.java @@ -3,18 +3,18 @@ package net.mograsim.logic.ui.am2900; import java.util.ArrayList; import java.util.List; -import net.mograsim.logic.ui.SimpleLogicUIStandalone; -import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUIComponent; -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.wires.Pin; -import net.mograsim.logic.ui.model.wires.WireCrossPoint; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; -import net.mograsim.logic.ui.util.ModellingTool; +import net.mograsim.logic.model.SimpleLogicUIStandalone; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.atomic.GUIAndGate; +import net.mograsim.logic.model.model.components.atomic.GUIBitDisplay; +import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.model.model.components.atomic.GUINotGate; +import net.mograsim.logic.model.model.components.atomic.TextComponent; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.util.ModellingTool; public class Am2901Testbench { diff --git a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestUtil.java b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/TestUtil.java similarity index 96% rename from net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestUtil.java rename to net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/TestUtil.java index 8388cae2..937e566a 100644 --- a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestUtil.java +++ b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/TestUtil.java @@ -1,84 +1,84 @@ -package net.mograsim.logic.ui.am2900; - -public final class TestUtil -{ - private TestUtil() - { - - } - - /** - * Transforms the last four bits of an int to a string that contains the binary ('1' and '0') representation of the 4 bits - * - * @author Christian Femers - */ - public static String to4bitBin(int x) - { - StringBuilder sb = new StringBuilder(4); - sb.append((x & 0b1000) == 0 ? '0' : '1'); - sb.append((x & 0b0100) == 0 ? '0' : '1'); - sb.append((x & 0b0010) == 0 ? '0' : '1'); - sb.append((x & 0b0001) == 0 ? '0' : '1'); - return sb.toString(); - } - - /** - * Transforms the given boolean to a string that contains the binary ('1' and '0') representation of the bit - * - * @author Christian Femers - */ - public static String to1bitBin(boolean bitIsSet) - { - return bitIsSet ? "1" : "0"; - } - - /** - * Transforms the given int to a string that contains the binary ('1' and '0') representation of the int. "0" is only returned when the - * int is equal to zero. - * - * @author Christian Femers - */ - public static String to1bitBin(int someInt) - { - return someInt != 0 ? "1" : "0"; - } - - /** - * Transforms a 4 bit signed integer (-8 to 7) to a int representing the same number. (Adding leading 1-bits if the 4 bit int is - * negative) - * - * @author Christian Femers - */ - public static int signed4ToSigned32(int signed4bit) - { - if ((signed4bit & 0b1000) > 0) - return signed4bit | 0xFF_FF_FF_F0; - return signed4bit & 0x00_00_00_0F; - } - - /** - * Transforms a 16 bit signed integer (-32768 to 32767 - a short) to a int representing the same number. (Adding leading 1-bits if the - * 16 bit int is negative) - * - * @author Christian Femers - */ - public static int signed16ToSigned32(int signed16bit) - { - return (short) signed16bit; - } - - /** - * Transforms the last n bits of an int to a string that contains the binary ('1' and '0') representation of the n bits - * - * @author Christian Femers - */ - public static String toNbitString(int x, int n) - { - StringBuilder sb = new StringBuilder(n); - for (int i = 0; i < n; i++) - { - sb.append((x >> i) & 1); - } - return sb.reverse().toString(); - } -} +package net.mograsim.logic.ui.am2900; + +public final class TestUtil +{ + private TestUtil() + { + + } + + /** + * Transforms the last four bits of an int to a string that contains the binary ('1' and '0') representation of the 4 bits + * + * @author Christian Femers + */ + public static String to4bitBin(int x) + { + StringBuilder sb = new StringBuilder(4); + sb.append((x & 0b1000) == 0 ? '0' : '1'); + sb.append((x & 0b0100) == 0 ? '0' : '1'); + sb.append((x & 0b0010) == 0 ? '0' : '1'); + sb.append((x & 0b0001) == 0 ? '0' : '1'); + return sb.toString(); + } + + /** + * Transforms the given boolean to a string that contains the binary ('1' and '0') representation of the bit + * + * @author Christian Femers + */ + public static String to1bitBin(boolean bitIsSet) + { + return bitIsSet ? "1" : "0"; + } + + /** + * Transforms the given int to a string that contains the binary ('1' and '0') representation of the int. "0" is only returned when the + * int is equal to zero. + * + * @author Christian Femers + */ + public static String to1bitBin(int someInt) + { + return someInt != 0 ? "1" : "0"; + } + + /** + * Transforms a 4 bit signed integer (-8 to 7) to a int representing the same number. (Adding leading 1-bits if the 4 bit int is + * negative) + * + * @author Christian Femers + */ + public static int signed4ToSigned32(int signed4bit) + { + if ((signed4bit & 0b1000) > 0) + return signed4bit | 0xFF_FF_FF_F0; + return signed4bit & 0x00_00_00_0F; + } + + /** + * Transforms a 16 bit signed integer (-32768 to 32767 - a short) to a int representing the same number. (Adding leading 1-bits if the + * 16 bit int is negative) + * + * @author Christian Femers + */ + public static int signed16ToSigned32(int signed16bit) + { + return (short) signed16bit; + } + + /** + * Transforms the last n bits of an int to a string that contains the binary ('1' and '0') representation of the n bits + * + * @author Christian Femers + */ + public static String toNbitString(int x, int n) + { + StringBuilder sb = new StringBuilder(n); + for (int i = 0; i < n; i++) + { + sb.append((x >> i) & 1); + } + return sb.reverse().toString(); + } +} diff --git a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901.java b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901.java similarity index 94% rename from net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901.java rename to net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901.java index 22398950..fc4a80a5 100644 --- a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901.java +++ b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901.java @@ -1,146 +1,146 @@ -package net.mograsim.logic.ui.am2900; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import java.util.Arrays; -import java.util.stream.Stream; - -import org.junit.jupiter.api.extension.ExtensionContext; -import org.junit.jupiter.params.provider.Arguments; -import org.junit.jupiter.params.provider.ArgumentsProvider; - -public interface TestableAm2901 -{ - void setup(); - - Result run(); - - void setDest(Am2901_Dest dest); - - void setFunc(Am2901_Func func); - - void setSrc(Am2901_Src src); - - void setReg_A(String val_4_bit); - - void setReg_B(String val_4_bit); - - void setCarryIn(String val_1_bit); - - void setNotOutEnable(String val_1_bit); - - void setD(String val_4_bit); - - void setQ_0(String val_1_bit); - - void setQ_3(String val_1_bit); - - void setRAM_0(String val_1_bit); - - void setRAM_3(String val_1_bit); - - void clockOn(boolean isClockOn); - - void setDirectly(Register r, String val_4_bit); - - String getQ_0(); - - String getQ_3(); - - String getRAM_0(); - - String getRAM_3(); - - String getNotP(); - - String getNotG(); - - String getCarryOut(); - - String getSign(); - - String getZero(); - - String getOverflow(); - - String getY(); - - String getDirectly(Register r); - - default void assertRunSuccess() - { - assertEquals(Result.SUCCESS, run()); - } - - default void assertFullCycleSuccess() - { - assertRunSuccess(); - clockOn(false); - assertRunSuccess(); - clockOn(true); - assertRunSuccess(); - } - - public enum Result - { - SUCCESS, OUT_OF_TIME, ERROR; - } - - public enum Am2901_Dest - { - QREG, NOP, RAMA, RAMF, RAMQD, RAMD, RAMQU, RAMU; - - public boolean doesShift() - { - return ordinal() >= 4; - } - - public int getShiftDir() - { - return doesShift() ? (ordinal() < 6 ? -1 : 1) : 0; - } - - public int getI7() - { - return this.ordinal() >> 1 & 1; - } - } - - public enum Am2901_Func - { - ADD, SUBR, SUBS, OR, AND, NOTRS, EXOR, EXNOR; - } - - public enum Am2901_Src - { - AQ, AB, ZQ, ZB, ZA, DA, DQ, DZ; - } - - public enum Register - { - r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, rA, rB, rC, rD, rE, rF, Q; - - public String toBitString() - { - if (this.ordinal() > 0xF) - throw new UnsupportedOperationException(); - return TestUtil.to4bitBin(this.ordinal()); - } - - public static Stream stream() - { - return Arrays.stream(values()); - } - } - - public static class RegisterProvider implements ArgumentsProvider - { - - @Override - public Stream provideArguments(ExtensionContext context) throws Exception - { - return Register.stream().map(Arguments::of); - } - - } -} +package net.mograsim.logic.ui.am2900; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.Arrays; +import java.util.stream.Stream; + +import org.junit.jupiter.api.extension.ExtensionContext; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.ArgumentsProvider; + +public interface TestableAm2901 +{ + void setup(); + + Result run(); + + void setDest(Am2901_Dest dest); + + void setFunc(Am2901_Func func); + + void setSrc(Am2901_Src src); + + void setReg_A(String val_4_bit); + + void setReg_B(String val_4_bit); + + void setCarryIn(String val_1_bit); + + void setNotOutEnable(String val_1_bit); + + void setD(String val_4_bit); + + void setQ_0(String val_1_bit); + + void setQ_3(String val_1_bit); + + void setRAM_0(String val_1_bit); + + void setRAM_3(String val_1_bit); + + void clockOn(boolean isClockOn); + + void setDirectly(Register r, String val_4_bit); + + String getQ_0(); + + String getQ_3(); + + String getRAM_0(); + + String getRAM_3(); + + String getNotP(); + + String getNotG(); + + String getCarryOut(); + + String getSign(); + + String getZero(); + + String getOverflow(); + + String getY(); + + String getDirectly(Register r); + + default void assertRunSuccess() + { + assertEquals(Result.SUCCESS, run()); + } + + default void assertFullCycleSuccess() + { + assertRunSuccess(); + clockOn(false); + assertRunSuccess(); + clockOn(true); + assertRunSuccess(); + } + + public enum Result + { + SUCCESS, OUT_OF_TIME, ERROR; + } + + public enum Am2901_Dest + { + QREG, NOP, RAMA, RAMF, RAMQD, RAMD, RAMQU, RAMU; + + public boolean doesShift() + { + return ordinal() >= 4; + } + + public int getShiftDir() + { + return doesShift() ? (ordinal() < 6 ? -1 : 1) : 0; + } + + public int getI7() + { + return this.ordinal() >> 1 & 1; + } + } + + public enum Am2901_Func + { + ADD, SUBR, SUBS, OR, AND, NOTRS, EXOR, EXNOR; + } + + public enum Am2901_Src + { + AQ, AB, ZQ, ZB, ZA, DA, DQ, DZ; + } + + public enum Register + { + r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, rA, rB, rC, rD, rE, rF, Q; + + public String toBitString() + { + if (this.ordinal() > 0xF) + throw new UnsupportedOperationException(); + return TestUtil.to4bitBin(this.ordinal()); + } + + public static Stream stream() + { + return Arrays.stream(values()); + } + } + + public static class RegisterProvider implements ArgumentsProvider + { + + @Override + public Stream provideArguments(ExtensionContext context) throws Exception + { + return Register.stream().map(Arguments::of); + } + + } +} diff --git a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java similarity index 89% rename from net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java rename to net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java index 962d58a5..643eecbf 100644 --- a/net.mograsim.logic.ui.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java +++ b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/ui/am2900/TestableAm2901Impl.java @@ -1,381 +1,381 @@ -package net.mograsim.logic.ui.am2900; - -import static org.junit.jupiter.api.Assertions.fail; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Objects; -import java.util.Queue; -import java.util.Set; -import java.util.TreeSet; - -import net.mograsim.logic.core.components.BitDisplay; -import net.mograsim.logic.core.components.ManualSwitch; -import net.mograsim.logic.core.timeline.Timeline; -import net.mograsim.logic.core.types.Bit; -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.GUIComponent; -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.model.wires.Pin; -import net.mograsim.logic.ui.modeladapter.LogicModelParameters; -import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; - -public class TestableAm2901Impl implements TestableAm2901 -{ - private GUIComponent am2901; - private Timeline timeline; - private ManualSwitch I8, I7, I6, I5, I4, I3, I2, I1, I0; - private ManualSwitch C; - private ManualSwitch Cn; - private ManualSwitch D1, D2, D3, D4; - private ManualSwitch A0, A1, A2, A3; - private ManualSwitch B0, B1, B2, B3; - private ManualSwitch IRAMn, IRAMn_3, IQn, IQn_3; - private BitDisplay Y1, Y2, Y3, Y4; - private BitDisplay F_0, Cn_4, OVR, F3; - private BitDisplay ORAMn, ORAMn_3, OQn, OQn_3; - - private Set wireDebugChangeSet; - private boolean debugWires = false; - public int debugEventThreshold = 10_000; - public int debugEventCount = 500; - - private int eventCounter; - - @Override - public Result run() - { - // Normal execution until completion or eventLimit - int eventLimit = debugEventThreshold; - eventCounter = 0; - debugWires = false; - while (eventCounter < eventLimit) - { - timeline.executeNext(); - if (!timeline.hasNext()) - { -// System.out.println("run() took " + eventCounter + " events"); - return Result.SUCCESS; - } - } - // Start debugging if event limit is reached - debugWires = true; - wireDebugChangeSet = new TreeSet<>(); - Set oldChangeSet; - // observe wire changes to detect, if we are really stuck in an endless loop - do - { - eventLimit += debugEventCount; - oldChangeSet = wireDebugChangeSet; - wireDebugChangeSet = new TreeSet<>(); - while (eventCounter < eventLimit) - { - timeline.executeNext(); - if (!timeline.hasNext()) - { - // no endless loop, but more events needed than expected - System.out.println("run() took longer than expected: " + eventCounter); - return Result.SUCCESS; - } - } - } while (!oldChangeSet.equals(wireDebugChangeSet)); - // if stuck, abort execution and print wires - System.err.print("Problematic Wire updates:"); - wireDebugChangeSet.forEach(System.out::println); - System.err.println("run() failed: " + eventCounter); - return Result.OUT_OF_TIME; - } - - @SuppressWarnings("unused") - @Override - public void setup() - { - // Create view model - ViewModelModifiable viewModel = new ViewModelModifiable(); - // TODO replace with deserialized version as soon as high level states work for deserialized components - am2901 = new GUIAm2901(viewModel); -// am2901 = IndirectGUIComponentCreator.createComponent(viewModel, "GUIAm2901"); - // guess which pins are outputs and which are inputs - // TODO this code exists three times... but it seems too "hacky" to put it in a helper class - List inputPinNames = new ArrayList<>(); - List outputPinNames = new ArrayList<>(); - for (Pin p : am2901.getPins().values()) - if (p.getRelX() == 0) - inputPinNames.add(p.name); - else - outputPinNames.add(p.name); - // Get switches - HashMap idSwitchMap = new HashMap<>(); - for (String id : inputPinNames) - { - GUIManualSwitch sw = new GUIManualSwitch(viewModel); - new GUIWire(viewModel, am2901.getPin(id), sw.getOutputPin()); - idSwitchMap.put(id, sw); - } - // Get displays - HashMap idDisplayMap = new HashMap<>(); - for (String id : outputPinNames) - { - GUIBitDisplay bd = new GUIBitDisplay(viewModel); -// bd.addRedrawListener(() -> System.out.println(id + " " + bd.getBitDisplay().getDisplayedValue())); - new GUIWire(viewModel, am2901.getPin(id), bd.getInputPin()); - idDisplayMap.put(id, bd); - } - // Create logic model - LogicModelParameters params = new LogicModelParameters(); - params.gateProcessTime = 50; - params.wireTravelTime = 10; - timeline = ViewLogicModelAdapter.convert(viewModel, params); - // Bind switches/displays to this test class - for (var entry : idSwitchMap.entrySet()) - setField(entry.getKey().replaceAll("\\+|=", "_"), entry.getValue().getManualSwitch()); - for (var entry : idDisplayMap.entrySet()) - setField(entry.getKey().replaceAll("\\+|=", "_"), entry.getValue().getBitDisplay()); - - // Debug code - HashSet wiresIncludingSubmodels = new HashSet<>(); - Queue modelsToIterate = new LinkedList<>(); - modelsToIterate.add(viewModel); - while (modelsToIterate.size() > 0) - { - ViewModel model = modelsToIterate.poll(); - wiresIncludingSubmodels.addAll(model.getWires()); - for (GUIComponent comp : model.getComponentsByName().values()) - if (comp instanceof SubmodelComponent) - modelsToIterate.offer(((SubmodelComponent) comp).submodel); - } - wiresIncludingSubmodels.forEach(w -> w.addRedrawListener(() -> - { - if (debugWires) - { - wireDebugChangeSet.add(w.toString()); - } - })); - timeline.addEventAddedListener(te -> eventCounter++); - } - - @Override - public void setDest(Am2901_Dest dest) - { - var bits = of(dest.ordinal(), 3); - I8.setToValueOf(bits.getBit(0)); - I7.setToValueOf(bits.getBit(1)); - I6.setToValueOf(bits.getBit(2)); - } - - @Override - public void setFunc(Am2901_Func func) - { - var bits = of(func.ordinal(), 3); - I5.setToValueOf(bits.getBit(0)); - I4.setToValueOf(bits.getBit(1)); - I3.setToValueOf(bits.getBit(2)); - } - - @Override - public void setSrc(Am2901_Src src) - { - var bits = of(src.ordinal(), 3); - I2.setToValueOf(bits.getBit(0)); - I1.setToValueOf(bits.getBit(1)); - I0.setToValueOf(bits.getBit(2)); - } - - @Override - public void setReg_A(String val_4_bit) - { - var bits = BitVector.parseMSBFirst(val_4_bit); - A3.setToValueOf(bits.getBit(3)); - A2.setToValueOf(bits.getBit(2)); - A1.setToValueOf(bits.getBit(1)); - A0.setToValueOf(bits.getBit(0)); - } - - @Override - public void setReg_B(String val_4_bit) - { - var bits = BitVector.parseMSBFirst(val_4_bit); - B3.setToValueOf(bits.getBit(3)); - B2.setToValueOf(bits.getBit(2)); - B1.setToValueOf(bits.getBit(1)); - B0.setToValueOf(bits.getBit(0)); - } - - @Override - public void setCarryIn(String val_1_bit) - { - Cn.setToValueOf(Bit.parse(val_1_bit)); - } - - @Override - public void setNotOutEnable(String val_1_bit) - { - throw new UnsupportedOperationException(); // TODO - } - - @Override - public void setD(String val_4_bit) - { - var bits = BitVector.parseMSBFirst(val_4_bit); - D4.setToValueOf(bits.getBit(3)); - D3.setToValueOf(bits.getBit(2)); - D2.setToValueOf(bits.getBit(1)); - D1.setToValueOf(bits.getBit(0)); - } - - @Override - public void setQ_0(String val_1_bit) - { - IQn.setToValueOf(Bit.parse(val_1_bit)); - } - - @Override - public void setQ_3(String val_1_bit) - { - IQn_3.setToValueOf(Bit.parse(val_1_bit)); - } - - @Override - public void setRAM_0(String val_1_bit) - { - IRAMn.setToValueOf(Bit.parse(val_1_bit)); - } - - @Override - public void setRAM_3(String val_1_bit) - { - IRAMn_3.setToValueOf(Bit.parse(val_1_bit)); - } - - @Override - public void clockOn(boolean isClockOn) - { - C.setState(isClockOn); - } - - @Override - public String getQ_0() - { - return OQn.getDisplayedValue().toString(); - } - - @Override - public String getQ_3() - { - return OQn_3.getDisplayedValue().toString(); - } - - @Override - public String getRAM_0() - { - return ORAMn.getDisplayedValue().toString(); - } - - @Override - public String getRAM_3() - { - return ORAMn_3.getDisplayedValue().toString(); - } - - @Override - public String getNotP() - { - throw new UnsupportedOperationException(); // TODO - } - - @Override - public String getNotG() - { - throw new UnsupportedOperationException(); // TODO - } - - @Override - public String getCarryOut() - { - return Cn_4.getDisplayedValue().toString(); - } - - @Override - public String getSign() - { - return F3.getDisplayedValue().toString(); - } - - @Override - public String getZero() - { - return F_0.getDisplayedValue().toString(); - } - - @Override - public String getOverflow() - { - return OVR.getDisplayedValue().toString(); - } - - @Override - public String getY() - { - var y3 = Y4.getDisplayedValue(); - var y2 = Y3.getDisplayedValue(); - var y1 = Y2.getDisplayedValue(); - var y0 = Y1.getDisplayedValue(); - return y0.concat(y1).concat(y2).concat(y3).toBitStringMSBFirst(); - } - - private void setField(String name, Object value) - { - try - { - Field f = TestableAm2901Impl.class.getDeclaredField(name); - f.setAccessible(true); - f.set(this, Objects.requireNonNull(value)); - } - catch (Exception e) - { - fail(e); - } - } - - private static BitVector of(int value, int length) - { - BitVectorMutator mutator = BitVectorMutator.ofLength(length); - int val = value; - for (int i = length - 1; i >= 0; i--) - { - mutator.setBit(i, Bit.lastBitOf(val)); - val >>>= 1; - } - return mutator.toBitVector(); - } - - @Override - public void setDirectly(Register r, String val_4_bit) - { - am2901.setHighLevelState(regToStateID(r), BitVector.parseMSBFirst(val_4_bit)); - } - - @Override - public String getDirectly(Register r) - { - return ((BitVector) am2901.getHighLevelState(regToStateID(r))).toBitStringMSBFirst(); - } - - private static String regToStateID(Register r) - { - if (r == Register.Q) - return "qreg.q"; - return "regs.c" + r.toBitString() + ".q"; - } -} +package net.mograsim.logic.ui.am2900; + +import static org.junit.jupiter.api.Assertions.fail; + +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Objects; +import java.util.Queue; +import java.util.Set; +import java.util.TreeSet; + +import net.mograsim.logic.core.components.BitDisplay; +import net.mograsim.logic.core.components.ManualSwitch; +import net.mograsim.logic.core.timeline.Timeline; +import net.mograsim.logic.core.types.Bit; +import net.mograsim.logic.core.types.BitVector; +import net.mograsim.logic.core.types.BitVector.BitVectorMutator; +import net.mograsim.logic.model.model.ViewModel; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.atomic.GUIBitDisplay; +import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; + +public class TestableAm2901Impl implements TestableAm2901 +{ + private GUIComponent am2901; + private Timeline timeline; + private ManualSwitch I8, I7, I6, I5, I4, I3, I2, I1, I0; + private ManualSwitch C; + private ManualSwitch Cn; + private ManualSwitch D1, D2, D3, D4; + private ManualSwitch A0, A1, A2, A3; + private ManualSwitch B0, B1, B2, B3; + private ManualSwitch IRAMn, IRAMn_3, IQn, IQn_3; + private BitDisplay Y1, Y2, Y3, Y4; + private BitDisplay F_0, Cn_4, OVR, F3; + private BitDisplay ORAMn, ORAMn_3, OQn, OQn_3; + + private Set wireDebugChangeSet; + private boolean debugWires = false; + public int debugEventThreshold = 10_000; + public int debugEventCount = 500; + + private int eventCounter; + + @Override + public Result run() + { + // Normal execution until completion or eventLimit + int eventLimit = debugEventThreshold; + eventCounter = 0; + debugWires = false; + while (eventCounter < eventLimit) + { + timeline.executeNext(); + if (!timeline.hasNext()) + { +// System.out.println("run() took " + eventCounter + " events"); + return Result.SUCCESS; + } + } + // Start debugging if event limit is reached + debugWires = true; + wireDebugChangeSet = new TreeSet<>(); + Set oldChangeSet; + // observe wire changes to detect, if we are really stuck in an endless loop + do + { + eventLimit += debugEventCount; + oldChangeSet = wireDebugChangeSet; + wireDebugChangeSet = new TreeSet<>(); + while (eventCounter < eventLimit) + { + timeline.executeNext(); + if (!timeline.hasNext()) + { + // no endless loop, but more events needed than expected + System.out.println("run() took longer than expected: " + eventCounter); + return Result.SUCCESS; + } + } + } while (!oldChangeSet.equals(wireDebugChangeSet)); + // if stuck, abort execution and print wires + System.err.print("Problematic Wire updates:"); + wireDebugChangeSet.forEach(System.out::println); + System.err.println("run() failed: " + eventCounter); + return Result.OUT_OF_TIME; + } + + @SuppressWarnings("unused") + @Override + public void setup() + { + // Create view model + ViewModelModifiable viewModel = new ViewModelModifiable(); + // TODO replace with deserialized version as soon as high level states work for deserialized components + am2901 = new GUIAm2901(viewModel); +// am2901 = IndirectGUIComponentCreator.createComponent(viewModel, "GUIAm2901"); + // guess which pins are outputs and which are inputs + // TODO this code exists three times... but it seems too "hacky" to put it in a helper class + List inputPinNames = new ArrayList<>(); + List outputPinNames = new ArrayList<>(); + for (Pin p : am2901.getPins().values()) + if (p.getRelX() == 0) + inputPinNames.add(p.name); + else + outputPinNames.add(p.name); + // Get switches + HashMap idSwitchMap = new HashMap<>(); + for (String id : inputPinNames) + { + GUIManualSwitch sw = new GUIManualSwitch(viewModel); + new GUIWire(viewModel, am2901.getPin(id), sw.getOutputPin()); + idSwitchMap.put(id, sw); + } + // Get displays + HashMap idDisplayMap = new HashMap<>(); + for (String id : outputPinNames) + { + GUIBitDisplay bd = new GUIBitDisplay(viewModel); +// bd.addRedrawListener(() -> System.out.println(id + " " + bd.getBitDisplay().getDisplayedValue())); + new GUIWire(viewModel, am2901.getPin(id), bd.getInputPin()); + idDisplayMap.put(id, bd); + } + // Create logic model + LogicModelParameters params = new LogicModelParameters(); + params.gateProcessTime = 50; + params.wireTravelTime = 10; + timeline = ViewLogicModelAdapter.convert(viewModel, params); + // Bind switches/displays to this test class + for (var entry : idSwitchMap.entrySet()) + setField(entry.getKey().replaceAll("\\+|=", "_"), entry.getValue().getManualSwitch()); + for (var entry : idDisplayMap.entrySet()) + setField(entry.getKey().replaceAll("\\+|=", "_"), entry.getValue().getBitDisplay()); + + // Debug code + HashSet wiresIncludingSubmodels = new HashSet<>(); + Queue modelsToIterate = new LinkedList<>(); + modelsToIterate.add(viewModel); + while (modelsToIterate.size() > 0) + { + ViewModel model = modelsToIterate.poll(); + wiresIncludingSubmodels.addAll(model.getWires()); + for (GUIComponent comp : model.getComponentsByName().values()) + if (comp instanceof SubmodelComponent) + modelsToIterate.offer(((SubmodelComponent) comp).submodel); + } + wiresIncludingSubmodels.forEach(w -> w.addRedrawListener(() -> + { + if (debugWires) + { + wireDebugChangeSet.add(w.toString()); + } + })); + timeline.addEventAddedListener(te -> eventCounter++); + } + + @Override + public void setDest(Am2901_Dest dest) + { + var bits = of(dest.ordinal(), 3); + I8.setToValueOf(bits.getBit(0)); + I7.setToValueOf(bits.getBit(1)); + I6.setToValueOf(bits.getBit(2)); + } + + @Override + public void setFunc(Am2901_Func func) + { + var bits = of(func.ordinal(), 3); + I5.setToValueOf(bits.getBit(0)); + I4.setToValueOf(bits.getBit(1)); + I3.setToValueOf(bits.getBit(2)); + } + + @Override + public void setSrc(Am2901_Src src) + { + var bits = of(src.ordinal(), 3); + I2.setToValueOf(bits.getBit(0)); + I1.setToValueOf(bits.getBit(1)); + I0.setToValueOf(bits.getBit(2)); + } + + @Override + public void setReg_A(String val_4_bit) + { + var bits = BitVector.parseMSBFirst(val_4_bit); + A3.setToValueOf(bits.getBit(3)); + A2.setToValueOf(bits.getBit(2)); + A1.setToValueOf(bits.getBit(1)); + A0.setToValueOf(bits.getBit(0)); + } + + @Override + public void setReg_B(String val_4_bit) + { + var bits = BitVector.parseMSBFirst(val_4_bit); + B3.setToValueOf(bits.getBit(3)); + B2.setToValueOf(bits.getBit(2)); + B1.setToValueOf(bits.getBit(1)); + B0.setToValueOf(bits.getBit(0)); + } + + @Override + public void setCarryIn(String val_1_bit) + { + Cn.setToValueOf(Bit.parse(val_1_bit)); + } + + @Override + public void setNotOutEnable(String val_1_bit) + { + throw new UnsupportedOperationException(); // TODO + } + + @Override + public void setD(String val_4_bit) + { + var bits = BitVector.parseMSBFirst(val_4_bit); + D4.setToValueOf(bits.getBit(3)); + D3.setToValueOf(bits.getBit(2)); + D2.setToValueOf(bits.getBit(1)); + D1.setToValueOf(bits.getBit(0)); + } + + @Override + public void setQ_0(String val_1_bit) + { + IQn.setToValueOf(Bit.parse(val_1_bit)); + } + + @Override + public void setQ_3(String val_1_bit) + { + IQn_3.setToValueOf(Bit.parse(val_1_bit)); + } + + @Override + public void setRAM_0(String val_1_bit) + { + IRAMn.setToValueOf(Bit.parse(val_1_bit)); + } + + @Override + public void setRAM_3(String val_1_bit) + { + IRAMn_3.setToValueOf(Bit.parse(val_1_bit)); + } + + @Override + public void clockOn(boolean isClockOn) + { + C.setState(isClockOn); + } + + @Override + public String getQ_0() + { + return OQn.getDisplayedValue().toString(); + } + + @Override + public String getQ_3() + { + return OQn_3.getDisplayedValue().toString(); + } + + @Override + public String getRAM_0() + { + return ORAMn.getDisplayedValue().toString(); + } + + @Override + public String getRAM_3() + { + return ORAMn_3.getDisplayedValue().toString(); + } + + @Override + public String getNotP() + { + throw new UnsupportedOperationException(); // TODO + } + + @Override + public String getNotG() + { + throw new UnsupportedOperationException(); // TODO + } + + @Override + public String getCarryOut() + { + return Cn_4.getDisplayedValue().toString(); + } + + @Override + public String getSign() + { + return F3.getDisplayedValue().toString(); + } + + @Override + public String getZero() + { + return F_0.getDisplayedValue().toString(); + } + + @Override + public String getOverflow() + { + return OVR.getDisplayedValue().toString(); + } + + @Override + public String getY() + { + var y3 = Y4.getDisplayedValue(); + var y2 = Y3.getDisplayedValue(); + var y1 = Y2.getDisplayedValue(); + var y0 = Y1.getDisplayedValue(); + return y0.concat(y1).concat(y2).concat(y3).toBitStringMSBFirst(); + } + + private void setField(String name, Object value) + { + try + { + Field f = TestableAm2901Impl.class.getDeclaredField(name); + f.setAccessible(true); + f.set(this, Objects.requireNonNull(value)); + } + catch (Exception e) + { + fail(e); + } + } + + private static BitVector of(int value, int length) + { + BitVectorMutator mutator = BitVectorMutator.ofLength(length); + int val = value; + for (int i = length - 1; i >= 0; i--) + { + mutator.setBit(i, Bit.lastBitOf(val)); + val >>>= 1; + } + return mutator.toBitVector(); + } + + @Override + public void setDirectly(Register r, String val_4_bit) + { + am2901.setHighLevelState(regToStateID(r), BitVector.parseMSBFirst(val_4_bit)); + } + + @Override + public String getDirectly(Register r) + { + return ((BitVector) am2901.getHighLevelState(regToStateID(r))).toBitStringMSBFirst(); + } + + private static String regToStateID(Register r) + { + if (r == Register.Q) + return "qreg.q"; + return "regs.c" + r.toBitString() + ".q"; + } +} diff --git a/net.mograsim.logic.ui/.classpath b/net.mograsim.logic.model/.classpath similarity index 97% rename from net.mograsim.logic.ui/.classpath rename to net.mograsim.logic.model/.classpath index 6c911418..4a00becd 100644 --- a/net.mograsim.logic.ui/.classpath +++ b/net.mograsim.logic.model/.classpath @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/net.mograsim.logic.ui/.gitignore b/net.mograsim.logic.model/.gitignore similarity index 100% rename from net.mograsim.logic.ui/.gitignore rename to net.mograsim.logic.model/.gitignore diff --git a/net.mograsim.logic.ui/.project b/net.mograsim.logic.model/.project similarity index 94% rename from net.mograsim.logic.ui/.project rename to net.mograsim.logic.model/.project index 8ce0afd8..c6d10606 100644 --- a/net.mograsim.logic.ui/.project +++ b/net.mograsim.logic.model/.project @@ -1,6 +1,6 @@ - net.mograsim.logic.ui + net.mograsim.logic.model net.mograsim.logic.core diff --git a/net.mograsim.logic.ui/.settings/org.eclipse.jdt.core.prefs b/net.mograsim.logic.model/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from net.mograsim.logic.ui/.settings/org.eclipse.jdt.core.prefs rename to net.mograsim.logic.model/.settings/org.eclipse.jdt.core.prefs diff --git a/net.mograsim.logic.ui/.settings/org.eclipse.jdt.ui.prefs b/net.mograsim.logic.model/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from net.mograsim.logic.ui/.settings/org.eclipse.jdt.ui.prefs rename to net.mograsim.logic.model/.settings/org.eclipse.jdt.ui.prefs diff --git a/net.mograsim.logic.model/META-INF/MANIFEST.MF b/net.mograsim.logic.model/META-INF/MANIFEST.MF new file mode 100644 index 00000000..61a85d19 --- /dev/null +++ b/net.mograsim.logic.model/META-INF/MANIFEST.MF @@ -0,0 +1,28 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %Bundle-Name +Bundle-SymbolicName: net.mograsim.logic.model;singleton:=true +Bundle-Version: 0.1.0.qualifier +Export-Package: net.mograsim.logic.model, + net.mograsim.logic.model.examples, + net.mograsim.logic.model.model, + net.mograsim.logic.model.model.components, + net.mograsim.logic.model.model.components.atomic, + net.mograsim.logic.model.model.components.submodels, + net.mograsim.logic.model.model.wires, + net.mograsim.logic.model.modeladapter, + net.mograsim.logic.model.modeladapter.componentadapters, + net.mograsim.logic.model.serializing, + net.mograsim.logic.model.serializing.snippets, + net.mograsim.logic.model.serializing.snippets.highlevelstatehandlers, + net.mograsim.logic.model.serializing.snippets.outlinerenderers, + net.mograsim.logic.model.serializing.snippets.symbolrenderers, + net.mograsim.logic.model.util +Bundle-RequiredExecutionEnvironment: JavaSE-11 +Require-Bundle: org.eclipse.swt;bundle-version="3.0.0";visibility:=reexport, + SWTZoomableCanvas;bundle-version="1.0.0";visibility:=reexport, + net.mograsim.logic.core;bundle-version="0.1.0";visibility:=reexport, + com.google.gson;bundle-version="2.8.2";visibility:=reexport, + net.mograsim.preferences;bundle-version="0.1.0" +Automatic-Module-Name: net.mograsim.logic.ui +Bundle-Vendor: Mograsim Team diff --git a/net.mograsim.logic.ui/OSGI-INF/l10n/bundle.properties b/net.mograsim.logic.model/OSGI-INF/l10n/bundle.properties similarity index 61% rename from net.mograsim.logic.ui/OSGI-INF/l10n/bundle.properties rename to net.mograsim.logic.model/OSGI-INF/l10n/bundle.properties index 33e87895..4eac2829 100644 --- a/net.mograsim.logic.ui/OSGI-INF/l10n/bundle.properties +++ b/net.mograsim.logic.model/OSGI-INF/l10n/bundle.properties @@ -1,3 +1,3 @@ -#Properties file for net.mograsim.logic.ui -Bundle-Vendor = Mograsim Team +#Properties file for net.mograsim.logic.ui +Bundle-Vendor = Mograsim Team Bundle-Name = Mograsim logic user interface \ No newline at end of file diff --git a/net.mograsim.logic.ui/build.properties b/net.mograsim.logic.model/build.properties similarity index 100% rename from net.mograsim.logic.ui/build.properties rename to net.mograsim.logic.model/build.properties diff --git a/net.mograsim.logic.ui/oldsrc/GUIMerger.java b/net.mograsim.logic.model/oldsrc/GUIMerger.java similarity index 100% rename from net.mograsim.logic.ui/oldsrc/GUIMerger.java rename to net.mograsim.logic.model/oldsrc/GUIMerger.java diff --git a/net.mograsim.logic.ui/oldsrc/GUIMux.java b/net.mograsim.logic.model/oldsrc/GUIMux.java similarity index 100% rename from net.mograsim.logic.ui/oldsrc/GUIMux.java rename to net.mograsim.logic.model/oldsrc/GUIMux.java diff --git a/net.mograsim.logic.ui/oldsrc/GUISplitter.java b/net.mograsim.logic.model/oldsrc/GUISplitter.java similarity index 100% rename from net.mograsim.logic.ui/oldsrc/GUISplitter.java rename to net.mograsim.logic.model/oldsrc/GUISplitter.java diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicExecuter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicExecuter.java similarity index 98% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicExecuter.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/LogicExecuter.java index eb8a7235..aa36b1c4 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicExecuter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicExecuter.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui; +package net.mograsim.logic.model; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUICanvas.java similarity index 94% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUICanvas.java index 6b99b6b6..55fd8cf4 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUICanvas.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUICanvas.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui; +package net.mograsim.logic.model; import java.util.ArrayList; import java.util.List; @@ -21,11 +21,11 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.haspamelodica.swt.helper.zoomablecanvas.ZoomableCanvas; 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.submodels.SubmodelComponent; -import net.mograsim.logic.ui.model.components.submodels.SubmodelInterface; -import net.mograsim.logic.ui.model.wires.WireCrossPoint; +import net.mograsim.logic.model.model.ViewModel; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.model.components.submodels.SubmodelInterface; +import net.mograsim.logic.model.model.wires.WireCrossPoint; import net.mograsim.preferences.Preferences; /** diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUIRenderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUIRenderer.java similarity index 88% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUIRenderer.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUIRenderer.java index 56ecffb7..c85dd531 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUIRenderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUIRenderer.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui; +package net.mograsim.logic.model; import org.eclipse.swt.SWT; 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.ViewModel; -import net.mograsim.logic.ui.model.components.GUIComponent; -import net.mograsim.logic.ui.model.wires.Pin; +import net.mograsim.logic.model.model.ViewModel; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.wires.Pin; public class LogicUIRenderer { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUIStandaloneGUI.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUIStandaloneGUI.java similarity index 93% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUIStandaloneGUI.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUIStandaloneGUI.java index a71cdde4..700f69b3 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/LogicUIStandaloneGUI.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/LogicUIStandaloneGUI.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui; +package net.mograsim.logic.model; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FillLayout; @@ -7,7 +7,7 @@ import org.eclipse.swt.widgets.Shell; import net.haspamelodica.swt.helper.zoomablecanvas.helper.ZoomableCanvasOverlay; import net.haspamelodica.swt.helper.zoomablecanvas.helper.ZoomableCanvasUserInput; -import net.mograsim.logic.ui.model.ViewModel; +import net.mograsim.logic.model.model.ViewModel; /** * Standalone simulation visualizer graphical user interface. diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/SimpleLogicUIStandalone.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/SimpleLogicUIStandalone.java similarity index 82% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/SimpleLogicUIStandalone.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/SimpleLogicUIStandalone.java index 6c856c47..23252d4b 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/SimpleLogicUIStandalone.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/SimpleLogicUIStandalone.java @@ -1,11 +1,11 @@ -package net.mograsim.logic.ui; +package net.mograsim.logic.model; import java.util.function.Consumer; import net.mograsim.logic.core.timeline.Timeline; -import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.modeladapter.LogicModelParameters; -import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; public class SimpleLogicUIStandalone { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/ClickableSubmodelComponentsTest.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/examples/ClickableSubmodelComponentsTest.java similarity index 62% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/ClickableSubmodelComponentsTest.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/examples/ClickableSubmodelComponentsTest.java index 829efeb7..4ac98e3f 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/ClickableSubmodelComponentsTest.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/examples/ClickableSubmodelComponentsTest.java @@ -1,11 +1,11 @@ -package net.mograsim.logic.ui.examples; +package net.mograsim.logic.model.examples; -import net.mograsim.logic.ui.SimpleLogicUIStandalone; -import net.mograsim.logic.ui.model.ViewModelModifiable; -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; -import net.mograsim.logic.ui.model.wires.GUIWire; +import net.mograsim.logic.model.SimpleLogicUIStandalone; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUIBitDisplay; +import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; public class ClickableSubmodelComponentsTest { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/RSLatchExample.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/examples/RSLatchExample.java similarity index 78% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/RSLatchExample.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/examples/RSLatchExample.java index 91cdd174..005b39ac 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/examples/RSLatchExample.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/examples/RSLatchExample.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.examples; +package net.mograsim.logic.model.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.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; +import net.mograsim.logic.model.SimpleLogicUIStandalone; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.model.model.components.atomic.GUINotGate; +import net.mograsim.logic.model.model.components.atomic.GUIOrGate; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.WireCrossPoint; public class RSLatchExample { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/ViewModel.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModel.java similarity index 97% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/ViewModel.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModel.java index 4d1f21b2..19381329 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/ViewModel.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModel.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model; +package net.mograsim.logic.model.model; import java.util.ArrayList; import java.util.Collections; @@ -7,8 +7,8 @@ import java.util.List; import java.util.Map; import java.util.function.Consumer; -import net.mograsim.logic.ui.model.components.GUIComponent; -import net.mograsim.logic.ui.model.wires.GUIWire; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.wires.GUIWire; public class ViewModel { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/ViewModelModifiable.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModelModifiable.java similarity index 83% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/ViewModelModifiable.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModelModifiable.java index 3a950754..79304ec3 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/ViewModelModifiable.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/ViewModelModifiable.java @@ -1,9 +1,9 @@ -package net.mograsim.logic.ui.model; +package net.mograsim.logic.model.model; import java.util.Set; -import net.mograsim.logic.ui.model.components.GUIComponent; -import net.mograsim.logic.ui.model.wires.GUIWire; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.wires.GUIWire; public class ViewModelModifiable extends ViewModel { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/GUIComponent.java similarity index 97% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponent.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/GUIComponent.java index bf9ea85b..1b97cd31 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/GUIComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/GUIComponent.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components; +package net.mograsim.logic.model.model.components; import java.util.ArrayList; import java.util.Collections; @@ -12,9 +12,9 @@ import com.google.gson.JsonNull; 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.snippets.HighLevelStateHandler; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.serializing.snippets.HighLevelStateHandler; /** * The base class for all GUI components.
diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIAndGate.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIAndGate.java similarity index 65% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIAndGate.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIAndGate.java index b0427bd3..5859f1fa 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIAndGate.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIAndGate.java @@ -1,10 +1,10 @@ -package net.mograsim.logic.ui.model.components.atomic; +package net.mograsim.logic.model.model.components.atomic; import net.mograsim.logic.core.components.gates.AndGate; -import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; -import net.mograsim.logic.ui.modeladapter.componentadapters.SimpleGateAdapter; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.componentadapters.SimpleGateAdapter; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIAndGate extends SimpleRectangularGUIGate { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIBitDisplay.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIBitDisplay.java similarity index 85% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIBitDisplay.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIBitDisplay.java index cd643db2..46c85460 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIBitDisplay.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIBitDisplay.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components.atomic; +package net.mograsim.logic.model.model.components.atomic; import org.eclipse.swt.graphics.Color; @@ -9,12 +9,12 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; 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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.componentadapters.BitDisplayAdapter; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.preferences.Preferences; public class GUIBitDisplay extends GUIComponent diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIManualSwitch.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIManualSwitch.java similarity index 88% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIManualSwitch.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIManualSwitch.java index ebb7a185..2fd1749d 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIManualSwitch.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIManualSwitch.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components.atomic; +package net.mograsim.logic.model.model.components.atomic; import org.eclipse.swt.graphics.Color; @@ -12,12 +12,12 @@ import net.mograsim.logic.core.components.ManualSwitch; 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; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.componentadapters.ManualSwitchAdapter; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.preferences.Preferences; public class GUIManualSwitch extends GUIComponent diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUINandGate.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUINandGate.java similarity index 65% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUINandGate.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUINandGate.java index 78b16392..1d8f63da 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUINandGate.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUINandGate.java @@ -1,10 +1,10 @@ -package net.mograsim.logic.ui.model.components.atomic; +package net.mograsim.logic.model.model.components.atomic; import net.mograsim.logic.core.components.gates.NandGate; -import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; -import net.mograsim.logic.ui.modeladapter.componentadapters.SimpleGateAdapter; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.componentadapters.SimpleGateAdapter; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUINandGate extends SimpleRectangularGUIGate { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUINotGate.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUINotGate.java similarity index 65% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUINotGate.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUINotGate.java index fdab22cd..5dc69388 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUINotGate.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUINotGate.java @@ -1,10 +1,10 @@ -package net.mograsim.logic.ui.model.components.atomic; +package net.mograsim.logic.model.model.components.atomic; import net.mograsim.logic.core.components.gates.NotGate; -import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; -import net.mograsim.logic.ui.modeladapter.componentadapters.SimpleGateAdapter; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.componentadapters.SimpleGateAdapter; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUINotGate extends SimpleRectangularGUIGate { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIOrGate.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIOrGate.java similarity index 64% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIOrGate.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIOrGate.java index e9c2d0b1..65031a60 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/GUIOrGate.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIOrGate.java @@ -1,10 +1,10 @@ -package net.mograsim.logic.ui.model.components.atomic; +package net.mograsim.logic.model.model.components.atomic; import net.mograsim.logic.core.components.gates.OrGate; -import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; -import net.mograsim.logic.ui.modeladapter.componentadapters.SimpleGateAdapter; -import net.mograsim.logic.ui.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.componentadapters.SimpleGateAdapter; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; public class GUIOrGate extends SimpleRectangularGUIGate { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/SimpleRectangularGUIGate.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularGUIGate.java similarity index 91% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/SimpleRectangularGUIGate.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularGUIGate.java index 384ecb5f..c7c26072 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/SimpleRectangularGUIGate.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/SimpleRectangularGUIGate.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components.atomic; +package net.mograsim.logic.model.model.components.atomic; import java.util.ArrayList; import java.util.List; @@ -12,10 +12,10 @@ import net.haspamelodica.swt.helper.gcs.GeneralGC; 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.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.wires.MovablePin; +import net.mograsim.logic.model.model.wires.Pin; import net.mograsim.preferences.Preferences; public class SimpleRectangularGUIGate extends GUIComponent diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/TextComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java similarity index 77% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/TextComponent.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java index ca484d04..64a6165e 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/atomic/TextComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/TextComponent.java @@ -1,63 +1,63 @@ -package net.mograsim.logic.ui.model.components.atomic; - -import org.eclipse.swt.graphics.Color; - -import com.google.gson.JsonElement; -import com.google.gson.JsonPrimitive; - -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.logic.ui.serializing.IndirectGUIComponentCreator; -import net.mograsim.preferences.Preferences; - -//TODO clean size calculation mess -public class TextComponent extends GUIComponent -{ - private final String text; - - public TextComponent(ViewModelModifiable model, String text) - { - this(model, text, null); - } - - public TextComponent(ViewModelModifiable model, String text, String name) - { - super(model, name); - this.text = text; - // If size is unset, it defaults to 0, which could prohibit this component from being rendered, which would prohibit the size being - // set to a better guess - setSize(1, 1); - } - - @Override - public void render(GeneralGC gc, Rectangle visibleRegion) - { - Point textExtent = gc.textExtent(text); - setSize(textExtent.x, textExtent.y); - - Color textColor = Preferences.current().getColor("net.mograsim.logic.ui.color.text"); - if (textColor != null) - gc.setForeground(textColor); - gc.drawText(text, getPosX(), getPosY(), true); - } - - // serializing - - @Override - public JsonElement getParams() - { - return new JsonPrimitive(text); - } - - static - { - ViewLogicModelAdapter.addComponentAdapter(new NoLogicAdapter<>(TextComponent.class)); - IndirectGUIComponentCreator.setComponentSupplier(TextComponent.class.getName(), - (m, p, n) -> new TextComponent(m, p.getAsString(), n)); - } -} +package net.mograsim.logic.model.model.components.atomic; + +import org.eclipse.swt.graphics.Color; + +import com.google.gson.JsonElement; +import com.google.gson.JsonPrimitive; + +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.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.modeladapter.componentadapters.NoLogicAdapter; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; +import net.mograsim.preferences.Preferences; + +//TODO clean size calculation mess +public class TextComponent extends GUIComponent +{ + private final String text; + + public TextComponent(ViewModelModifiable model, String text) + { + this(model, text, null); + } + + public TextComponent(ViewModelModifiable model, String text, String name) + { + super(model, name); + this.text = text; + // If size is unset, it defaults to 0, which could prohibit this component from being rendered, which would prohibit the size being + // set to a better guess + setSize(1, 1); + } + + @Override + public void render(GeneralGC gc, Rectangle visibleRegion) + { + Point textExtent = gc.textExtent(text); + setSize(textExtent.x, textExtent.y); + + Color textColor = Preferences.current().getColor("net.mograsim.logic.ui.color.text"); + if (textColor != null) + gc.setForeground(textColor); + gc.drawText(text, getPosX(), getPosY(), true); + } + + // serializing + + @Override + public JsonElement getParams() + { + return new JsonPrimitive(text); + } + + static + { + ViewLogicModelAdapter.addComponentAdapter(new NoLogicAdapter<>(TextComponent.class)); + IndirectGUIComponentCreator.setComponentSupplier(TextComponent.class.getName(), + (m, p, n) -> new TextComponent(m, p.getAsString(), n)); + } +} diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SimpleRectangularSubmodelComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SimpleRectangularSubmodelComponent.java similarity index 89% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SimpleRectangularSubmodelComponent.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SimpleRectangularSubmodelComponent.java index acf9fb26..530f0789 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SimpleRectangularSubmodelComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SimpleRectangularSubmodelComponent.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components.submodels; +package net.mograsim.logic.model.model.components.submodels; import java.util.ArrayList; import java.util.Arrays; @@ -13,14 +13,14 @@ import com.google.gson.JsonObject; 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.MovablePin; -import net.mograsim.logic.ui.model.wires.Pin; -import net.mograsim.logic.ui.serializing.SubmodelComponentParams; -import net.mograsim.logic.ui.serializing.snippets.Renderer; -import net.mograsim.logic.ui.serializing.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer; -import net.mograsim.logic.ui.serializing.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer.SimpleRectangularLikeParams; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.wires.MovablePin; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.serializing.SubmodelComponentParams; +import net.mograsim.logic.model.serializing.snippets.Renderer; +import net.mograsim.logic.model.serializing.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer; +import net.mograsim.logic.model.serializing.snippets.symbolrenderers.SimpleRectangularLikeSymbolRenderer.SimpleRectangularLikeParams; import net.mograsim.preferences.Preferences; public class SimpleRectangularSubmodelComponent extends SubmodelComponent diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SubmodelComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelComponent.java similarity index 95% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SubmodelComponent.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelComponent.java index 6f2bab5b..b19f05de 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SubmodelComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelComponent.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.components.submodels; +package net.mograsim.logic.model.model.components.submodels; import java.util.Collections; import java.util.HashMap; @@ -14,19 +14,19 @@ import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.gcs.TranslatedGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; 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.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.InterfacePinParams; -import net.mograsim.logic.ui.serializing.SubmodelComponentParams.SubmodelParameters; -import net.mograsim.logic.ui.serializing.SubmodelComponentParams.SubmodelParameters.InnerComponentParams; -import net.mograsim.logic.ui.serializing.SubmodelComponentParams.SubmodelParameters.InnerWireParams; -import net.mograsim.logic.ui.serializing.SubmodelComponentParams.SubmodelParameters.InnerWireParams.InnerPinParams; +import net.mograsim.logic.model.LogicUIRenderer; +import net.mograsim.logic.model.model.ViewModel; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.MovablePin; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.serializing.SubmodelComponentParams; +import net.mograsim.logic.model.serializing.SubmodelComponentParams.InterfacePinParams; +import net.mograsim.logic.model.serializing.SubmodelComponentParams.SubmodelParameters; +import net.mograsim.logic.model.serializing.SubmodelComponentParams.SubmodelParameters.InnerComponentParams; +import net.mograsim.logic.model.serializing.SubmodelComponentParams.SubmodelParameters.InnerWireParams; +import net.mograsim.logic.model.serializing.SubmodelComponentParams.SubmodelParameters.InnerWireParams.InnerPinParams; /** * A {@link GUIComponent} consisting of another model. A SubmodelComponent can have so-called "interface pins" connecting the diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SubmodelInterface.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelInterface.java similarity index 82% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SubmodelInterface.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelInterface.java index a657b4ee..9ac1749d 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/components/submodels/SubmodelInterface.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/submodels/SubmodelInterface.java @@ -1,10 +1,10 @@ -package net.mograsim.logic.ui.model.components.submodels; +package net.mograsim.logic.model.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; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.wires.Pin; public class SubmodelInterface extends GUIComponent { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/GUIWire.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/GUIWire.java similarity index 98% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/GUIWire.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/GUIWire.java index 7b641ff3..c1070e53 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/GUIWire.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/GUIWire.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.wires; +package net.mograsim.logic.model.model.wires; import java.util.ArrayList; import java.util.Arrays; @@ -14,7 +14,7 @@ import net.mograsim.logic.core.types.BitVector; import net.mograsim.logic.core.types.BitVectorFormatter; import net.mograsim.logic.core.wires.Wire; import net.mograsim.logic.core.wires.Wire.ReadEnd; -import net.mograsim.logic.ui.model.ViewModelModifiable; +import net.mograsim.logic.model.model.ViewModelModifiable; import net.mograsim.preferences.ColorDefinition; import net.mograsim.preferences.ColorManager; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/MovablePin.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/MovablePin.java similarity index 79% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/MovablePin.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/MovablePin.java index f697a22f..06f4de2b 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/MovablePin.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/MovablePin.java @@ -1,6 +1,6 @@ -package net.mograsim.logic.ui.model.wires; +package net.mograsim.logic.model.model.wires; -import net.mograsim.logic.ui.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.GUIComponent; /** * Exactly like {@link Pin}, but {@link #setRelPos(double, double) setRelPos(...)} is public. diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/Pin.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/Pin.java similarity index 97% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/Pin.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/Pin.java index 287a6237..794914eb 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/Pin.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/Pin.java @@ -1,11 +1,11 @@ -package net.mograsim.logic.ui.model.wires; +package net.mograsim.logic.model.model.wires; import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; -import net.mograsim.logic.ui.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.GUIComponent; /** * A connection interface between a GUIComponent and the rest of a ViewModel. Pins usually are created by {@link GUIComponent}s themselves. diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/WireCrossPoint.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/WireCrossPoint.java similarity index 93% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/WireCrossPoint.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/WireCrossPoint.java index da0a4506..52db2777 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/model/wires/WireCrossPoint.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/wires/WireCrossPoint.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.model.wires; +package net.mograsim.logic.model.model.wires; import com.google.gson.JsonElement; import com.google.gson.JsonPrimitive; @@ -8,9 +8,9 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; import net.mograsim.logic.core.LogicObserver; 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.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; import net.mograsim.preferences.ColorDefinition; import net.mograsim.preferences.ColorManager; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/LogicModelParameters.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/LogicModelParameters.java similarity index 66% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/LogicModelParameters.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/LogicModelParameters.java index d75cb1b9..1d83c5f8 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/LogicModelParameters.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/LogicModelParameters.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.modeladapter; +package net.mograsim.logic.model.modeladapter; public class LogicModelParameters { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/ViewLogicModelAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/ViewLogicModelAdapter.java similarity index 91% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/ViewLogicModelAdapter.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/ViewLogicModelAdapter.java index b0d78318..16b52ee1 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/ViewLogicModelAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/ViewLogicModelAdapter.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.modeladapter; +package net.mograsim.logic.model.modeladapter; import java.util.Collections; import java.util.HashMap; @@ -13,14 +13,14 @@ import java.util.stream.Collectors; 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.ViewModel; -import net.mograsim.logic.ui.model.components.GUIComponent; -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; -import net.mograsim.logic.ui.modeladapter.componentadapters.ComponentAdapter; +import net.mograsim.logic.model.model.ViewModel; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.model.components.submodels.SubmodelInterface; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.modeladapter.componentadapters.ComponentAdapter; public class ViewLogicModelAdapter { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/BitDisplayAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/BitDisplayAdapter.java similarity index 74% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/BitDisplayAdapter.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/BitDisplayAdapter.java index 33d4ac18..7e0a063b 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/BitDisplayAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/BitDisplayAdapter.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.modeladapter.componentadapters; +package net.mograsim.logic.model.modeladapter.componentadapters; import java.util.Map; @@ -6,9 +6,9 @@ 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.atomic.GUIBitDisplay; -import net.mograsim.logic.ui.model.wires.Pin; -import net.mograsim.logic.ui.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.model.components.atomic.GUIBitDisplay; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.modeladapter.LogicModelParameters; public class BitDisplayAdapter implements ComponentAdapter { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/ComponentAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ComponentAdapter.java similarity index 58% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/ComponentAdapter.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ComponentAdapter.java index 85cff71e..b7780b3c 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/ComponentAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ComponentAdapter.java @@ -1,12 +1,12 @@ -package net.mograsim.logic.ui.modeladapter.componentadapters; +package net.mograsim.logic.model.modeladapter.componentadapters; import java.util.Map; import net.mograsim.logic.core.timeline.Timeline; import net.mograsim.logic.core.wires.Wire; -import net.mograsim.logic.ui.model.components.GUIComponent; -import net.mograsim.logic.ui.model.wires.Pin; -import net.mograsim.logic.ui.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.modeladapter.LogicModelParameters; public interface ComponentAdapter { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/ManualSwitchAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ManualSwitchAdapter.java similarity index 75% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/ManualSwitchAdapter.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ManualSwitchAdapter.java index d623dab2..7ba8544a 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/ManualSwitchAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/ManualSwitchAdapter.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.modeladapter.componentadapters; +package net.mograsim.logic.model.modeladapter.componentadapters; import java.util.Map; @@ -6,9 +6,9 @@ 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.atomic.GUIManualSwitch; -import net.mograsim.logic.ui.model.wires.Pin; -import net.mograsim.logic.ui.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.modeladapter.LogicModelParameters; public class ManualSwitchAdapter implements ComponentAdapter { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/NoLogicAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/NoLogicAdapter.java similarity index 72% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/NoLogicAdapter.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/NoLogicAdapter.java index d922c61e..a084ba8e 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/NoLogicAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/NoLogicAdapter.java @@ -1,36 +1,36 @@ -package net.mograsim.logic.ui.modeladapter.componentadapters; - -import java.util.Map; - -import net.mograsim.logic.core.timeline.Timeline; -import net.mograsim.logic.core.wires.Wire; -import net.mograsim.logic.ui.model.components.GUIComponent; -import net.mograsim.logic.ui.model.wires.Pin; -import net.mograsim.logic.ui.modeladapter.LogicModelParameters; - -/** - * For GUIComponents that do not have any simulation logic behaviour - * - * @author Christian Femers - */ -public class NoLogicAdapter implements ComponentAdapter -{ - private final Class guiComponentClass; - - public NoLogicAdapter(Class guiComponentClass) - { - this.guiComponentClass = guiComponentClass; - } - - @Override - public Class getSupportedClass() - { - return guiComponentClass; - } - - @Override - public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, T guiComponent, Map logicWiresPerPin) - { - // do nothing - } -} +package net.mograsim.logic.model.modeladapter.componentadapters; + +import java.util.Map; + +import net.mograsim.logic.core.timeline.Timeline; +import net.mograsim.logic.core.wires.Wire; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.modeladapter.LogicModelParameters; + +/** + * For GUIComponents that do not have any simulation logic behaviour + * + * @author Christian Femers + */ +public class NoLogicAdapter implements ComponentAdapter +{ + private final Class guiComponentClass; + + public NoLogicAdapter(Class guiComponentClass) + { + this.guiComponentClass = guiComponentClass; + } + + @Override + public Class getSupportedClass() + { + return guiComponentClass; + } + + @Override + public void createAndLinkComponent(Timeline timeline, LogicModelParameters params, T guiComponent, Map logicWiresPerPin) + { + // do nothing + } +} diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/SimpleGateAdapter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleGateAdapter.java similarity index 84% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/SimpleGateAdapter.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleGateAdapter.java index 0460906d..2a800461 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/modeladapter/componentadapters/SimpleGateAdapter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/modeladapter/componentadapters/SimpleGateAdapter.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.modeladapter.componentadapters; +package net.mograsim.logic.model.modeladapter.componentadapters; import java.util.Map; @@ -7,9 +7,9 @@ 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.atomic.SimpleRectangularGUIGate; -import net.mograsim.logic.ui.model.wires.Pin; -import net.mograsim.logic.ui.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.model.components.atomic.SimpleRectangularGUIGate; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.modeladapter.LogicModelParameters; public class SimpleGateAdapter implements ComponentAdapter { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/CodeSnippetSupplier.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/CodeSnippetSupplier.java similarity index 85% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/CodeSnippetSupplier.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/CodeSnippetSupplier.java index a6b9dae7..f9f151b5 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/CodeSnippetSupplier.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/CodeSnippetSupplier.java @@ -1,17 +1,17 @@ -package net.mograsim.logic.ui.serializing; +package net.mograsim.logic.model.serializing; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.Map; -import net.mograsim.logic.ui.serializing.snippets.HighLevelStateHandler; -import net.mograsim.logic.ui.serializing.snippets.Renderer; -import net.mograsim.logic.ui.serializing.snippets.SnippetSupplier; -import net.mograsim.logic.ui.serializing.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler; -import net.mograsim.logic.ui.serializing.snippets.outlinerenderers.DefaultOutlineRenderer; -import net.mograsim.logic.ui.serializing.snippets.symbolrenderers.DefaultSymbolRenderer; -import net.mograsim.logic.ui.util.JsonHandler; +import net.mograsim.logic.model.serializing.snippets.HighLevelStateHandler; +import net.mograsim.logic.model.serializing.snippets.Renderer; +import net.mograsim.logic.model.serializing.snippets.SnippetSupplier; +import net.mograsim.logic.model.serializing.snippets.highlevelstatehandlers.DefaultHighLevelStateHandler; +import net.mograsim.logic.model.serializing.snippets.outlinerenderers.DefaultOutlineRenderer; +import net.mograsim.logic.model.serializing.snippets.symbolrenderers.DefaultSymbolRenderer; +import net.mograsim.logic.model.util.JsonHandler; public class CodeSnippetSupplier { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSubmodelComponent.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java similarity index 79% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSubmodelComponent.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java index 0468b12b..1ec51445 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/DeserializedSubmodelComponent.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/DeserializedSubmodelComponent.java @@ -1,12 +1,12 @@ -package net.mograsim.logic.ui.serializing; +package net.mograsim.logic.model.serializing; 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; -import net.mograsim.logic.ui.serializing.snippets.Renderer; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.model.wires.MovablePin; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.serializing.snippets.Renderer; public class DeserializedSubmodelComponent extends SubmodelComponent { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/IndirectGUIComponentCreator.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IndirectGUIComponentCreator.java similarity index 93% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/IndirectGUIComponentCreator.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IndirectGUIComponentCreator.java index 365fe9ab..874a8a8b 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/IndirectGUIComponentCreator.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/IndirectGUIComponentCreator.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.serializing; +package net.mograsim.logic.model.serializing; import java.io.IOException; import java.io.InputStream; @@ -8,9 +8,9 @@ import java.util.Map; import com.google.gson.JsonElement; import com.google.gson.JsonNull; -import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUIComponent; -import net.mograsim.logic.ui.util.JsonHandler; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.util.JsonHandler; public class IndirectGUIComponentCreator { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/SubmodelComponentDeserializer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentDeserializer.java similarity index 83% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/SubmodelComponentDeserializer.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentDeserializer.java index 56981157..a5e8793b 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/SubmodelComponentDeserializer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentDeserializer.java @@ -1,17 +1,17 @@ -package net.mograsim.logic.ui.serializing; +package net.mograsim.logic.model.serializing; import java.io.IOException; 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.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.InterfacePinParams; -import net.mograsim.logic.ui.serializing.SubmodelComponentParams.SubmodelParameters; -import net.mograsim.logic.ui.serializing.SubmodelComponentParams.SubmodelParameters.InnerComponentParams; -import net.mograsim.logic.ui.serializing.SubmodelComponentParams.SubmodelParameters.InnerWireParams; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.MovablePin; +import net.mograsim.logic.model.serializing.SubmodelComponentParams.InterfacePinParams; +import net.mograsim.logic.model.serializing.SubmodelComponentParams.SubmodelParameters; +import net.mograsim.logic.model.serializing.SubmodelComponentParams.SubmodelParameters.InnerComponentParams; +import net.mograsim.logic.model.serializing.SubmodelComponentParams.SubmodelParameters.InnerWireParams; /** * Creates {@link SubmodelComponent}s from {@link SubmodelComponentParams} diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/SubmodelComponentParams.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentParams.java similarity index 91% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/SubmodelComponentParams.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentParams.java index 3deda5f7..afce226c 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/SubmodelComponentParams.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentParams.java @@ -1,12 +1,12 @@ -package net.mograsim.logic.ui.serializing; +package net.mograsim.logic.model.serializing; import java.io.IOException; import com.google.gson.JsonElement; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; -import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; -import net.mograsim.logic.ui.util.JsonHandler; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.util.JsonHandler; /** * This class contains all the information necessary to create a new {@link SubmodelComponent} diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/HighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/HighLevelStateHandler.java similarity index 91% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/HighLevelStateHandler.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/HighLevelStateHandler.java index 596582a9..f20b6642 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/HighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/HighLevelStateHandler.java @@ -1,6 +1,6 @@ -package net.mograsim.logic.ui.serializing.snippets; +package net.mograsim.logic.model.serializing.snippets; -import net.mograsim.logic.ui.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.GUIComponent; public interface HighLevelStateHandler { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/Renderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/Renderer.java similarity index 78% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/Renderer.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/Renderer.java index bc0f3939..140780b7 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/Renderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/Renderer.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.serializing.snippets; +package net.mograsim.logic.model.serializing.snippets; import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/SnippetSupplier.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/SnippetSupplier.java similarity index 85% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/SnippetSupplier.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/SnippetSupplier.java index 3adb9e8d..a2b71b5d 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/SnippetSupplier.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/SnippetSupplier.java @@ -1,11 +1,11 @@ -package net.mograsim.logic.ui.serializing.snippets; +package net.mograsim.logic.model.serializing.snippets; import java.util.function.BiFunction; import com.google.gson.Gson; import com.google.gson.JsonElement; -import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; public interface SnippetSupplier { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/highlevelstatehandlers/DefaultHighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/highlevelstatehandlers/DefaultHighLevelStateHandler.java similarity index 68% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/highlevelstatehandlers/DefaultHighLevelStateHandler.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/highlevelstatehandlers/DefaultHighLevelStateHandler.java index 7a68708a..eb08addc 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/highlevelstatehandlers/DefaultHighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/highlevelstatehandlers/DefaultHighLevelStateHandler.java @@ -1,9 +1,9 @@ -package net.mograsim.logic.ui.serializing.snippets.highlevelstatehandlers; +package net.mograsim.logic.model.serializing.snippets.highlevelstatehandlers; -import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; -import net.mograsim.logic.ui.serializing.CodeSnippetSupplier; -import net.mograsim.logic.ui.serializing.snippets.HighLevelStateHandler; -import net.mograsim.logic.ui.serializing.snippets.SnippetSupplier; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.CodeSnippetSupplier; +import net.mograsim.logic.model.serializing.snippets.HighLevelStateHandler; +import net.mograsim.logic.model.serializing.snippets.SnippetSupplier; public class DefaultHighLevelStateHandler implements HighLevelStateHandler { diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/outlinerenderers/DefaultOutlineRenderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/outlinerenderers/DefaultOutlineRenderer.java similarity index 70% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/outlinerenderers/DefaultOutlineRenderer.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/outlinerenderers/DefaultOutlineRenderer.java index ea3c64f7..31528643 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/outlinerenderers/DefaultOutlineRenderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/outlinerenderers/DefaultOutlineRenderer.java @@ -1,12 +1,12 @@ -package net.mograsim.logic.ui.serializing.snippets.outlinerenderers; +package net.mograsim.logic.model.serializing.snippets.outlinerenderers; import net.haspamelodica.swt.helper.gcs.GeneralGC; import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; -import net.mograsim.logic.ui.model.components.GUIComponent; -import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; -import net.mograsim.logic.ui.serializing.CodeSnippetSupplier; -import net.mograsim.logic.ui.serializing.snippets.Renderer; -import net.mograsim.logic.ui.serializing.snippets.SnippetSupplier; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.CodeSnippetSupplier; +import net.mograsim.logic.model.serializing.snippets.Renderer; +import net.mograsim.logic.model.serializing.snippets.SnippetSupplier; import net.mograsim.preferences.ColorDefinition; import net.mograsim.preferences.ColorManager; import net.mograsim.preferences.Preferences; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/symbolrenderers/CenteredTextSymbolRenderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/symbolrenderers/CenteredTextSymbolRenderer.java similarity index 80% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/symbolrenderers/CenteredTextSymbolRenderer.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/symbolrenderers/CenteredTextSymbolRenderer.java index 6ef4a415..9ccfa9c7 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/symbolrenderers/CenteredTextSymbolRenderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/symbolrenderers/CenteredTextSymbolRenderer.java @@ -1,14 +1,14 @@ -package net.mograsim.logic.ui.serializing.snippets.symbolrenderers; +package net.mograsim.logic.model.serializing.snippets.symbolrenderers; import net.haspamelodica.swt.helper.gcs.GeneralGC; 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.components.GUIComponent; -import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; -import net.mograsim.logic.ui.serializing.CodeSnippetSupplier; -import net.mograsim.logic.ui.serializing.snippets.Renderer; -import net.mograsim.logic.ui.serializing.snippets.SnippetSupplier; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.CodeSnippetSupplier; +import net.mograsim.logic.model.serializing.snippets.Renderer; +import net.mograsim.logic.model.serializing.snippets.SnippetSupplier; import net.mograsim.preferences.ColorDefinition; import net.mograsim.preferences.ColorManager; import net.mograsim.preferences.Preferences; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/symbolrenderers/DefaultSymbolRenderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/symbolrenderers/DefaultSymbolRenderer.java similarity index 75% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/symbolrenderers/DefaultSymbolRenderer.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/symbolrenderers/DefaultSymbolRenderer.java index 21b955a1..e6beadfe 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/symbolrenderers/DefaultSymbolRenderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/symbolrenderers/DefaultSymbolRenderer.java @@ -1,13 +1,13 @@ -package net.mograsim.logic.ui.serializing.snippets.symbolrenderers; +package net.mograsim.logic.model.serializing.snippets.symbolrenderers; 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.components.GUIComponent; -import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; -import net.mograsim.logic.ui.serializing.CodeSnippetSupplier; -import net.mograsim.logic.ui.serializing.snippets.Renderer; -import net.mograsim.logic.ui.serializing.snippets.SnippetSupplier; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.serializing.CodeSnippetSupplier; +import net.mograsim.logic.model.serializing.snippets.Renderer; +import net.mograsim.logic.model.serializing.snippets.SnippetSupplier; import net.mograsim.preferences.ColorDefinition; import net.mograsim.preferences.ColorManager; import net.mograsim.preferences.Preferences; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/symbolrenderers/SimpleRectangularLikeSymbolRenderer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/symbolrenderers/SimpleRectangularLikeSymbolRenderer.java similarity index 86% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/symbolrenderers/SimpleRectangularLikeSymbolRenderer.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/symbolrenderers/SimpleRectangularLikeSymbolRenderer.java index 41ba61d6..30ab4bca 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/snippets/symbolrenderers/SimpleRectangularLikeSymbolRenderer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/snippets/symbolrenderers/SimpleRectangularLikeSymbolRenderer.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.serializing.snippets.symbolrenderers; +package net.mograsim.logic.model.serializing.snippets.symbolrenderers; import java.util.Map.Entry; @@ -8,12 +8,12 @@ import net.haspamelodica.swt.helper.gcs.GeneralGC; 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.components.GUIComponent; -import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; -import net.mograsim.logic.ui.model.wires.Pin; -import net.mograsim.logic.ui.serializing.CodeSnippetSupplier; -import net.mograsim.logic.ui.serializing.snippets.Renderer; -import net.mograsim.logic.ui.serializing.snippets.SnippetSupplier; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.components.submodels.SubmodelComponent; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.serializing.CodeSnippetSupplier; +import net.mograsim.logic.model.serializing.snippets.Renderer; +import net.mograsim.logic.model.serializing.snippets.SnippetSupplier; import net.mograsim.preferences.Preferences; /** diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/standardComponentIDMapping.json b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/standardComponentIDMapping.json similarity index 100% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/standardComponentIDMapping.json rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/standardComponentIDMapping.json diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/standardSnippetIDMapping.json b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/standardSnippetIDMapping.json similarity index 100% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/standardSnippetIDMapping.json rename to net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/standardSnippetIDMapping.json diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/util/JsonHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java similarity index 97% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/util/JsonHandler.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java index df482666..9cd9e8cc 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/util/JsonHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/util/JsonHandler.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.util; +package net.mograsim.logic.model.util; import java.io.BufferedReader; import java.io.FileInputStream; diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/util/ModellingTool.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/util/ModellingTool.java similarity index 76% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/util/ModellingTool.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/util/ModellingTool.java index de61a8d8..f3b9424d 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/util/ModellingTool.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/util/ModellingTool.java @@ -1,67 +1,67 @@ -package net.mograsim.logic.ui.util; - -import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUIComponent; -import net.mograsim.logic.ui.model.wires.GUIWire; -import net.mograsim.logic.ui.model.wires.Pin; -import net.mograsim.logic.ui.model.wires.WireCrossPoint; - -public class ModellingTool -{ - private ViewModelModifiable model; - - ModellingTool(ViewModelModifiable model) - { - this.model = model; - } - - public GUIWire connect(GUIComponent a, GUIComponent b, String pinA, String pinB) - { - return connect(a.getPin(pinA), b.getPin(pinB)); - } - - public GUIWire connect(WireCrossPoint a, GUIComponent b, String pinB) - { - return connect(a.getPin(), b.getPin(pinB)); - } - - public GUIWire connect(Pin a, GUIComponent b, String pinB) - { - return connect(a, b.getPin(pinB)); - } - - public GUIWire connect(GUIComponent a, WireCrossPoint b, String pinA) - { - return connect(a.getPin(pinA), b.getPin()); - } - - public GUIWire connect(WireCrossPoint a, WireCrossPoint b) - { - return connect(a.getPin(), b.getPin()); - } - - public GUIWire connect(Pin a, WireCrossPoint b) - { - return connect(a, b.getPin()); - } - - public GUIWire connect(GUIComponent a, Pin b, String pinA) - { - return connect(a.getPin(pinA), b); - } - - public GUIWire connect(WireCrossPoint a, Pin b) - { - return connect(a.getPin(), b); - } - - public GUIWire connect(Pin a, Pin b) - { - return new GUIWire(model, a, b); - } - - public static ModellingTool createFor(ViewModelModifiable model) - { - return new ModellingTool(model); - } -} +package net.mograsim.logic.model.util; + +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.GUIComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.Pin; +import net.mograsim.logic.model.model.wires.WireCrossPoint; + +public class ModellingTool +{ + private ViewModelModifiable model; + + ModellingTool(ViewModelModifiable model) + { + this.model = model; + } + + public GUIWire connect(GUIComponent a, GUIComponent b, String pinA, String pinB) + { + return connect(a.getPin(pinA), b.getPin(pinB)); + } + + public GUIWire connect(WireCrossPoint a, GUIComponent b, String pinB) + { + return connect(a.getPin(), b.getPin(pinB)); + } + + public GUIWire connect(Pin a, GUIComponent b, String pinB) + { + return connect(a, b.getPin(pinB)); + } + + public GUIWire connect(GUIComponent a, WireCrossPoint b, String pinA) + { + return connect(a.getPin(pinA), b.getPin()); + } + + public GUIWire connect(WireCrossPoint a, WireCrossPoint b) + { + return connect(a.getPin(), b.getPin()); + } + + public GUIWire connect(Pin a, WireCrossPoint b) + { + return connect(a, b.getPin()); + } + + public GUIWire connect(GUIComponent a, Pin b, String pinA) + { + return connect(a.getPin(pinA), b); + } + + public GUIWire connect(WireCrossPoint a, Pin b) + { + return connect(a.getPin(), b); + } + + public GUIWire connect(Pin a, Pin b) + { + return new GUIWire(model, a, b); + } + + public static ModellingTool createFor(ViewModelModifiable model) + { + return new ModellingTool(model); + } +} diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/util/Version.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/util/Version.java similarity index 96% rename from net.mograsim.logic.ui/src/net/mograsim/logic/ui/util/Version.java rename to net.mograsim.logic.model/src/net/mograsim/logic/model/util/Version.java index aa845682..b0a72982 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/util/Version.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/util/Version.java @@ -1,4 +1,4 @@ -package net.mograsim.logic.ui.util; +package net.mograsim.logic.model.util; public final class Version { diff --git a/net.mograsim.logic.ui.am2900/META-INF/MANIFEST.MF b/net.mograsim.logic.ui.am2900/META-INF/MANIFEST.MF deleted file mode 100644 index 627efe1f..00000000 --- a/net.mograsim.logic.ui.am2900/META-INF/MANIFEST.MF +++ /dev/null @@ -1,12 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %Bundle-Name -Bundle-SymbolicName: net.mograsim.logic.ui.am2900;singleton:=true -Bundle-Version: 0.1.0.qualifier -Export-Package: net.mograsim.logic.ui.examples, - net.mograsim.logic.ui.model.components.mi.nandbased, - net.mograsim.logic.ui.model.components.mi.nandbased.am2901 -Bundle-RequiredExecutionEnvironment: JavaSE-11 -Require-Bundle: net.mograsim.logic.ui;bundle-version="0.1.0";visibility:=reexport -Automatic-Module-Name: net.mograsim.logic.ui -Bundle-Vendor: Mograsim Team diff --git a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/ComponenetSerializer.java b/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/ComponenetSerializer.java deleted file mode 100644 index 4c7b5d9f..00000000 --- a/net.mograsim.logic.ui.am2900/src/net/mograsim/logic/ui/examples/ComponenetSerializer.java +++ /dev/null @@ -1,65 +0,0 @@ -package net.mograsim.logic.ui.examples; - -import java.io.IOException; -import java.util.function.Function; - -import net.mograsim.logic.ui.model.ViewModelModifiable; -import net.mograsim.logic.ui.model.components.GUIComponent; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUI_rsLatch; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUIand; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUIand41; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUIandor414; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdemux2; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdff; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdlatch; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUIdlatch4; -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.mi.nandbased.GUImux1; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUImux1_4; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUInand3; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUInot4; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUIor4; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUIor_4; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUIram2; -import net.mograsim.logic.ui.model.components.mi.nandbased.GUIram4; -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.mi.nandbased.GUIxor; -import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901; -import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901ALUFuncDecode; -import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901ALUInclDecode; -import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901ALUInclSourceDecodeInclFunctionDecode; -import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901ALUOneBit; -import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901DestDecode; -import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901QReg; -import net.mograsim.logic.ui.model.components.mi.nandbased.am2901.GUIAm2901SourceDecode; -import net.mograsim.logic.ui.model.components.submodels.SubmodelComponent; -import net.mograsim.logic.ui.serializing.SubmodelComponentParams; -import net.mograsim.logic.ui.util.JsonHandler; - -public class ComponenetSerializer -{ - public static void main(String[] args) throws IOException - { - // we know we only use components where this works - Function getIdentifier = c -> c.getClass().getSimpleName(); - - ViewModelModifiable model = new ViewModelModifiable(); - SubmodelComponent[] components = { new GUIAm2901(model), new GUIAm2901ALUFuncDecode(model), new GUIAm2901ALUInclDecode(model), - new GUIAm2901ALUInclSourceDecodeInclFunctionDecode(model), new GUIAm2901ALUOneBit(model), new GUIAm2901DestDecode(model), - new GUIAm2901QReg(model), new GUIAm2901SourceDecode(model), new GUI_rsLatch(model), new GUIand(model), new GUIand41(model), - new GUIandor414(model), new GUIdemux2(model), new GUIdff(model), new GUIdlatch(model), new GUIdlatch4(model), - new GUIfulladder(model), new GUIhalfadder(model), new GUImux1(model), new GUImux1_4(model), new GUInand3(model), - new GUInot4(model), new GUIor4(model), new GUIor_4(model), new GUIram2(model), new GUIram4(model), new GUIsel2_4(model), - new GUIsel3_4(model), new GUIxor(model) }; - - for (SubmodelComponent comp : components) - { - SubmodelComponentParams params = comp.calculateParams(getIdentifier); - JsonHandler.writeJson(params, "components/" - + comp.getClass().getName().substring("net.mograsim.logic.ui.model.components.mi.nandbased.".length()).replace('.', '/') - + ".json"); - } - } -} \ No newline at end of file diff --git a/net.mograsim.logic.ui/META-INF/MANIFEST.MF b/net.mograsim.logic.ui/META-INF/MANIFEST.MF deleted file mode 100644 index 8a3a0961..00000000 --- a/net.mograsim.logic.ui/META-INF/MANIFEST.MF +++ /dev/null @@ -1,28 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %Bundle-Name -Bundle-SymbolicName: net.mograsim.logic.ui;singleton:=true -Bundle-Version: 0.1.0.qualifier -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.serializing.snippets, - net.mograsim.logic.ui.serializing.snippets.highlevelstatehandlers, - net.mograsim.logic.ui.serializing.snippets.outlinerenderers, - net.mograsim.logic.ui.serializing.snippets.symbolrenderers, - net.mograsim.logic.ui.util -Bundle-RequiredExecutionEnvironment: JavaSE-11 -Require-Bundle: org.eclipse.swt;bundle-version="3.0.0";visibility:=reexport, - SWTZoomableCanvas;bundle-version="1.0.0";visibility:=reexport, - net.mograsim.logic.core;bundle-version="0.1.0";visibility:=reexport, - com.google.gson;bundle-version="2.8.2";visibility:=reexport, - net.mograsim.preferences;bundle-version="0.1.0" -Automatic-Module-Name: net.mograsim.logic.ui -Bundle-Vendor: Mograsim Team diff --git a/net.mograsim.plugin.core/META-INF/MANIFEST.MF b/net.mograsim.plugin.core/META-INF/MANIFEST.MF index b125d7eb..ba725806 100644 --- a/net.mograsim.plugin.core/META-INF/MANIFEST.MF +++ b/net.mograsim.plugin.core/META-INF/MANIFEST.MF @@ -20,8 +20,8 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.e4.ui.di, org.eclipse.e4.ui.model.workbench, org.eclipse.ui.themes;bundle-version="1.2.400", - net.mograsim.logic.ui;bundle-version="0.1.0";visibility:=reexport, - net.mograsim.logic.ui.am2900;bundle-version="0.1.0";visibility:=reexport, + net.mograsim.logic.model;bundle-version="0.1.0";visibility:=reexport, + net.mograsim.logic.model.am2900;bundle-version="0.1.0";visibility:=reexport, javax.annotation;bundle-version="1.0.0", net.mograsim.preferences;bundle-version="0.1.0" Bundle-RequiredExecutionEnvironment: JavaSE-11 diff --git a/net.mograsim.plugin.core/src/net/mograsim/plugin/SimulationPreview.java b/net.mograsim.plugin.core/src/net/mograsim/plugin/SimulationPreview.java index d76cd59f..03cdbb4b 100644 --- a/net.mograsim.plugin.core/src/net/mograsim/plugin/SimulationPreview.java +++ b/net.mograsim.plugin.core/src/net/mograsim/plugin/SimulationPreview.java @@ -7,16 +7,16 @@ import org.eclipse.ui.themes.IThemePreview; import net.haspamelodica.swt.helper.swtobjectwrappers.Point; import net.mograsim.logic.core.timeline.Timeline; -import net.mograsim.logic.ui.LogicExecuter; -import net.mograsim.logic.ui.LogicUICanvas; -import net.mograsim.logic.ui.model.ViewModelModifiable; -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; -import net.mograsim.logic.ui.modeladapter.LogicModelParameters; -import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.LogicExecuter; +import net.mograsim.logic.model.LogicUICanvas; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.model.model.components.atomic.GUINotGate; +import net.mograsim.logic.model.model.components.atomic.GUIOrGate; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.model.wires.WireCrossPoint; +import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; import net.mograsim.preferences.Preferences; public class SimulationPreview implements IThemePreview diff --git a/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java b/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java index 0892f248..33fb7253 100644 --- a/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java +++ b/net.mograsim.plugin.core/src/net/mograsim/plugin/views/LogicUIPart.java @@ -10,16 +10,16 @@ import org.eclipse.ui.part.ViewPart; import net.haspamelodica.swt.helper.zoomablecanvas.helper.ZoomableCanvasUserInput; import net.mograsim.logic.core.timeline.Timeline; -import net.mograsim.logic.ui.LogicExecuter; -import net.mograsim.logic.ui.LogicUICanvas; -import net.mograsim.logic.ui.model.ViewModelModifiable; -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; -import net.mograsim.logic.ui.modeladapter.LogicModelParameters; -import net.mograsim.logic.ui.modeladapter.ViewLogicModelAdapter; +import net.mograsim.logic.model.LogicExecuter; +import net.mograsim.logic.model.LogicUICanvas; +import net.mograsim.logic.model.model.ViewModelModifiable; +import net.mograsim.logic.model.model.components.atomic.GUIBitDisplay; +import net.mograsim.logic.model.model.components.atomic.GUIManualSwitch; +import net.mograsim.logic.model.model.components.mi.nandbased.am2901.GUIAm2901; +import net.mograsim.logic.model.model.components.submodels.SimpleRectangularSubmodelComponent; +import net.mograsim.logic.model.model.wires.GUIWire; +import net.mograsim.logic.model.modeladapter.LogicModelParameters; +import net.mograsim.logic.model.modeladapter.ViewLogicModelAdapter; import net.mograsim.plugin.ThemePreferences; import net.mograsim.preferences.Preferences; -- 2.17.1