X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.logic.model.editor%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Feditor%2Fui%2FEditorGUI.java;h=6e61b1bc036f6d2b855bdacda8bab2f22db439ce;hb=HEAD;hp=17e12ebb07ae4179ea79115a87da305c7bfa337c;hpb=58babf45ae7d259a296656451d796dbe601377a4;p=Mograsim.git diff --git a/plugins/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/ui/EditorGUI.java b/plugins/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/ui/EditorGUI.java index 17e12ebb..6e61b1bc 100644 --- a/plugins/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/ui/EditorGUI.java +++ b/plugins/net.mograsim.logic.model.editor/src/net/mograsim/logic/model/editor/ui/EditorGUI.java @@ -1,19 +1,18 @@ package net.mograsim.logic.model.editor.ui; +import static net.mograsim.logic.model.preferences.RenderPreferences.DRAG_BUTTON; +import static net.mograsim.logic.model.preferences.RenderPreferences.ZOOM_BUTTON; + import java.io.IOException; import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.List; -import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.Shell; @@ -77,8 +76,8 @@ public class EditorGUI setupBottomToolBar(innerComp); ZoomableCanvasUserInput userInput = new ZoomableCanvasUserInput(logicCanvas); - userInput.buttonDrag = 3; - userInput.buttonZoom = 2; + userInput.buttonDrag = editor.renderPrefs.getInt(DRAG_BUTTON); + userInput.buttonZoom = editor.renderPrefs.getInt(ZOOM_BUTTON); userInput.enableUserInput(); new ZoomableCanvasOverlay(logicCanvas, null).enableScale(); } @@ -95,20 +94,20 @@ public class EditorGUI ToolItem file = new ToolItem(toolBar, SWT.DROP_DOWN); // TODO - DropDownEntry newEntry = new DropDownEntry("New", e -> Editor.openNewEditor()); - DropDownEntry loadEntry = new DropDownEntry("Load", e -> + DropDownEntry newEntry = new DropDownEntry("New", Editor::openNewEditor); + DropDownEntry loadEntry = new DropDownEntry("Load", () -> { try { SaveLoadManager.openLoadDialog(); } - catch (IOException e1) + catch (IOException e) { - editor.dialogManager.openWarningDialog("Failed to load Component!", e1.getMessage()); + editor.dialogManager.openWarningDialog("Failed to load Component!", e.getMessage()); } }); - DropDownEntry saveEntry = new DropDownEntry("Save", e -> editor.save()); - DropDownEntry saveAsEntry = new DropDownEntry("Save as...", e -> editor.saveAs()); + DropDownEntry saveEntry = new DropDownEntry("Save", editor::save); + DropDownEntry saveAsEntry = new DropDownEntry("Save as...", editor::saveAs); DropDownEntry[] entries = new DropDownEntry[] { newEntry, loadEntry, saveEntry, saveAsEntry }; @@ -118,6 +117,7 @@ public class EditorGUI return toolBar; } + @SuppressWarnings("unused") // ToolItem private ToolBar setupBottomToolBar(Composite parent) { GridData d = new GridData(); @@ -135,7 +135,7 @@ public class EditorGUI int index = 0; for (Editor.Snapping sn : Editor.Snapping.values()) { - entries[index++] = new DropDownEntry(sn.toString(), e -> + entries[index++] = new DropDownEntry(sn.toString(), () -> { editor.setSnapping(sn); snappSelect.setText(sn.toString()); @@ -157,57 +157,33 @@ public class EditorGUI for (DropDownEntry entry : entries) { MenuItem item = new MenuItem(menu, SWT.PUSH); - item.addSelectionListener(new SelectionListener() - { - @Override - public void widgetSelected(SelectionEvent e) - { - entry.listener.widgetSelected(e); - } - - @Override - public void widgetDefaultSelected(SelectionEvent e) - { - widgetSelected(e); - } - }); + item.addListener(SWT.Selection, e -> entry.onSelected.run()); item.setText(entry.title); } - parent.addListener(SWT.Selection, new Listener() + parent.addListener(SWT.Selection, e -> { - public void handleEvent(Event event) - { - if (event.detail == SWT.ARROW) - { - Rectangle rect = parent.getBounds(); - Point pt = new Point(rect.x, rect.y + rect.height); - pt = parent.getParent().toDisplay(pt); - menu.setLocation(pt.x, pt.y); - menu.setVisible(true); - } - } + Rectangle rect = parent.getBounds(); + Point pt = new Point(rect.x, rect.y + rect.height); + pt = parent.getParent().toDisplay(pt); + menu.setLocation(pt.x, pt.y); + menu.setVisible(true); }); } private static class DropDownEntry { public final String title; - public final EntrySelectedListener listener; + public final Runnable onSelected; - public DropDownEntry(String title, EntrySelectedListener listener) + public DropDownEntry(String title, Runnable onSelected) { super(); this.title = title; - this.listener = listener; + this.onSelected = onSelected; } } - private static interface EntrySelectedListener - { - public void widgetSelected(SelectionEvent e); - } - public void refreshAddList() { addList.setItems(IndirectModelComponentCreator.getStandardComponentIDs().keySet().stream().sorted().toArray(String[]::new));