From c82d72653f8b866040259e01f45d341a062d89a8 Mon Sep 17 00:00:00 2001 From: joelmoniz Date: Thu, 29 May 2014 00:25:14 +0530 Subject: [PATCH] Open Sketches Sub-Menu implementation complete Current sketch is now indicated with a check box --- app/src/processing/app/Editor.java | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/app/src/processing/app/Editor.java b/app/src/processing/app/Editor.java index f993e7717..6ea9f309d 100644 --- a/app/src/processing/app/Editor.java +++ b/app/src/processing/app/Editor.java @@ -897,7 +897,11 @@ public abstract class Editor extends JFrame implements RunnerListener { sketchMenu.addSeparator(); - sketchMenu.addMenuListener(new MenuListener() { + final Editor editorName = this; + + sketchMenu.addMenuListener(new MenuListener() { // Menu Listener so that + // the Open Sketches sub-menu is populated + // only when the Sketch menu is opened java.util.List menuList = new java.util.ArrayList(); @@ -908,11 +912,19 @@ public abstract class Editor extends JFrame implements RunnerListener { java.util.List ed = base.getEditors(); JMenuItem item; for (final Editor editor2 : ed) { - item = new JMenuItem(editor2.getSketch().getName()); + if (editorName.getSketch().getName().trim().contains(editor2.getSketch().getName().trim())) + { + item = new JCheckBoxMenuItem(editor2.getSketch().getName()); + item.setSelected(true); + } + else + { + item = new JMenuItem(editor2.getSketch().getName()); + } item.setText(editor2.getSketch().getName() + " (" + editor2.getMode().getTitle() + ")"); - - item.addActionListener(new ActionListener() { + + item.addActionListener(new ActionListener() { // Action listener to bring the appropriate sketch in front @Override public void actionPerformed(ActionEvent e) { @@ -921,7 +933,6 @@ public abstract class Editor extends JFrame implements RunnerListener { editor2.toFront(); } }); - openSketchesSubmenu.add(item); menuList.add(item); } @@ -946,7 +957,6 @@ public abstract class Editor extends JFrame implements RunnerListener { } - //TODO: Make current sketch at the top of the list / tick mark it abstract public void handleImportLibrary(String jarPath);