X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model.editor%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Feditor%2Fui%2FEditorGUI.java;h=17e12ebb07ae4179ea79115a87da305c7bfa337c;hb=8bed58cd47f4e53a0a83e066d38864aa6875502f;hp=06f9f4b7621d4161dead1099e5edd45105cf0ced;hpb=b1432755d8bbf5a32811af08faf6383c6c540359;p=Mograsim.git diff --git a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/ui/EditorGUI.java b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/ui/EditorGUI.java index 06f9f4b7..17e12ebb 100644 --- a/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/ui/EditorGUI.java +++ b/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/ui/EditorGUI.java @@ -1,5 +1,7 @@ package net.mograsim.logic.model.editor.ui; +import java.io.IOException; + import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; @@ -22,7 +24,7 @@ import net.haspamelodica.swt.helper.zoomablecanvas.helper.ZoomableCanvasOverlay; import net.haspamelodica.swt.helper.zoomablecanvas.helper.ZoomableCanvasUserInput; import net.mograsim.logic.model.editor.Editor; import net.mograsim.logic.model.editor.SaveLoadManager; -import net.mograsim.logic.model.serializing.IndirectGUIComponentCreator; +import net.mograsim.logic.model.serializing.IndirectModelComponentCreator; public class EditorGUI { @@ -50,7 +52,7 @@ public class EditorGUI innerCompData.horizontalAlignment = SWT.FILL; innerCompData.verticalAlignment = SWT.FILL; innerComp.setLayoutData(innerCompData); - + GridLayout innerLayout = new GridLayout(); innerComp.setLayout(innerLayout); innerLayout.numColumns = 2; @@ -63,7 +65,7 @@ public class EditorGUI logicCanvas = new EditorCanvas(innerComp, SWT.TRAIL, editor); logicCanvas.setLayoutData(d); - + d = new GridData(); d.grabExcessVerticalSpace = true; d.verticalAlignment = SWT.FILL; @@ -71,7 +73,7 @@ public class EditorGUI addList = new List(innerComp, SWT.V_SCROLL); addList.setLayoutData(d); refreshAddList(); - + setupBottomToolBar(innerComp); ZoomableCanvasUserInput userInput = new ZoomableCanvasUserInput(logicCanvas); @@ -92,17 +94,26 @@ public class EditorGUI ToolItem file = new ToolItem(toolBar, SWT.DROP_DOWN); - //TODO -// DropDownEntry newEntry = new DropDownEntry("New", e -> { -// }); - DropDownEntry loadEntry = new DropDownEntry("Load", e -> SaveLoadManager.openLoadDialog()); + // TODO + DropDownEntry newEntry = new DropDownEntry("New", e -> Editor.openNewEditor()); + DropDownEntry loadEntry = new DropDownEntry("Load", e -> + { + try + { + SaveLoadManager.openLoadDialog(); + } + catch (IOException e1) + { + editor.dialogManager.openWarningDialog("Failed to load Component!", e1.getMessage()); + } + }); DropDownEntry saveEntry = new DropDownEntry("Save", e -> editor.save()); DropDownEntry saveAsEntry = new DropDownEntry("Save as...", e -> editor.saveAs()); - - DropDownEntry[] entries = new DropDownEntry[] { loadEntry, saveEntry, saveAsEntry}; - + + DropDownEntry[] entries = new DropDownEntry[] { newEntry, loadEntry, saveEntry, saveAsEntry }; + setupDrowpDownMenu(file, entries); - + file.setText("File"); return toolBar; } @@ -199,7 +210,7 @@ public class EditorGUI public void refreshAddList() { - addList.setItems(IndirectGUIComponentCreator.getStandardComponentIDs().toArray(String[]::new)); + addList.setItems(IndirectModelComponentCreator.getStandardComponentIDs().keySet().stream().sorted().toArray(String[]::new)); addList.select(0); } @@ -218,5 +229,4 @@ public class EditorGUI if (!display.readAndDispatch()) display.sleep(); } - -} +} \ No newline at end of file