FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

checkboxes for mode menu, one menu per editor · GoToLoop/processing@77fd1db · GitHub

Repository navigation

Commit 77fd1db

Browse files
committed
checkboxes for mode menu, one menu per editor
1 parent 23c2b62 commit 77fd1db

3 files changed

Lines changed: 37 additions & 18 deletions

File tree

‎app/src/processing/app/Base.java‎

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public class Base {
8888
private Mode defaultMode;
8989
// private Mode androidMode;
9090
private Mode[] modeList;
91-
private JMenu modeMenu;
91+
// private JMenu modeMenu;
9292

9393
private JMenu sketchbookMenu;
9494

@@ -214,17 +214,6 @@ public Base(String[] args) {
214214
defaultMode = new JavaMode(this, getContentFile("modes/java"));
215215
Mode androidMode = new AndroidMode(this, getContentFile("modes/android"));
216216
modeList = new Mode[] { defaultMode, androidMode };
217-
modeMenu = new JMenu();
218-
for (final Mode mode : modeList) {
219-
JMenuItem item = new JMenuItem(mode.getTitle());
220-
item.addActionListener(new ActionListener() {
221-
public void actionPerformed(ActionEvent e) {
222-
// System.out.println(e);
223-
changeMode(mode);
224-
}
225-
});
226-
modeMenu.add(item);
227-
}
228217

229218
// Get the sketchbook path, and make sure it's set properly
230219
determineSketchbookFolder();
@@ -289,11 +278,6 @@ public void actionPerformed(ActionEvent e) {
289278
// }
290279

291280

292-
public JMenu getModeMenu() {
293-
return modeMenu;
294-
}
295-
296-
297281
// public Mode getDefaultMode() {
298282
// return defaultMode;
299283
// }
@@ -526,6 +510,11 @@ protected void changeMode(Mode mode) {
526510
}
527511
}
528512
}
513+
514+
515+
public Mode[] getModeList() {
516+
return modeList;
517+
}
529518

530519

531520
// Because of variations in native windowing systems, no guarantees about

‎app/src/processing/app/Editor.java‎

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ public abstract class Editor extends JFrame implements RunnerListener {
9797
private final Stack<Integer> caretRedoStack = new Stack<Integer>();
9898

9999
private FindReplace find;
100+
JMenu modeMenu;
100101

101102

102103
protected Editor(final Base base, String path, int[] location, final Mode mode) {
@@ -153,6 +154,7 @@ public void windowDeactivated(WindowEvent e) {
153154
Box box = Box.createVerticalBox();
154155
Box upper = Box.createVerticalBox();
155156

157+
initModeMenu();
156158
toolbar = createToolbar();
157159
upper.add(toolbar);
158160

@@ -297,6 +299,34 @@ public Mode getMode() {
297299
}
298300

299301

302+
protected void initModeMenu() {
303+
modeMenu = new JMenu();
304+
for (final Mode m : base.getModeList()) {
305+
if (mode == m) {
306+
JCheckBoxMenuItem item = new JCheckBoxMenuItem(m.getTitle());
307+
// doesn't need a listener, since it doesn't do anything
308+
item.setSelected(true);
309+
modeMenu.add(item);
310+
} else {
311+
JMenuItem item = new JMenuItem(m.getTitle());
312+
item.addActionListener(new ActionListener() {
313+
public void actionPerformed(ActionEvent e) {
314+
// System.out.println(e);
315+
base.changeMode(m);
316+
}
317+
});
318+
modeMenu.add(item);
319+
}
320+
}
321+
}
322+
323+
324+
public JMenu getModeMenu() {
325+
return modeMenu;
326+
}
327+
328+
329+
300330
// public Settings getTheme() {
301331
// return mode.getTheme();
302332
// }

‎app/src/processing/app/EditorToolbar.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ public void mousePressed(MouseEvent e) {
438438
int x = e.getX();
439439
int y = e.getY();
440440
if (x > modeX1 && x < modeX2 && y > modeY1 && y < modeY2) {
441-
JPopupMenu popup = base.getModeMenu().getPopupMenu();
441+
JPopupMenu popup = editor.getModeMenu().getPopupMenu();
442442
popup.show(this, x, y);
443443
}
444444

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL