mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
moving some of the default file menu logic back into Base
This commit is contained in:
@@ -84,7 +84,7 @@ public class Base {
|
||||
Collections.synchronizedList(new ArrayList<Editor>());
|
||||
protected Editor activeEditor;
|
||||
/** A lone file menu to be used when all sketch windows are closed. */
|
||||
static public JMenu defaultFileMenu;
|
||||
protected JMenu defaultFileMenu;
|
||||
|
||||
/**
|
||||
* Starts with the last mode used with the environment,
|
||||
@@ -437,6 +437,49 @@ public class Base {
|
||||
// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
|
||||
|
||||
|
||||
/**
|
||||
* Limited file menu to be used on OS X when no sketches are open.
|
||||
*/
|
||||
public JMenu initDefaultFileMenu() {
|
||||
defaultFileMenu = new JMenu(Language.text("menu.file"));
|
||||
|
||||
JMenuItem item = Toolkit.newJMenuItem(Language.text("menu.file.new"), 'N');
|
||||
item.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
handleNew();
|
||||
}
|
||||
});
|
||||
defaultFileMenu.add(item);
|
||||
|
||||
item = Toolkit.newJMenuItem(Language.text("menu.file.open"), 'O');
|
||||
item.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
handleOpenPrompt();
|
||||
}
|
||||
});
|
||||
defaultFileMenu.add(item);
|
||||
|
||||
item = Toolkit.newJMenuItemShift(Language.text("menu.file.sketchbook"), 'K');
|
||||
item.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
getNextMode().showSketchbookFrame();
|
||||
}
|
||||
});
|
||||
defaultFileMenu.add(item);
|
||||
|
||||
item = Toolkit.newJMenuItemShift(Language.text("menu.file.examples"), 'O');
|
||||
item.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
thinkDifferentExamples();
|
||||
}
|
||||
});
|
||||
defaultFileMenu.add(item);
|
||||
|
||||
return defaultFileMenu;
|
||||
}
|
||||
|
||||
|
||||
void buildCoreModes() {
|
||||
Mode javaMode =
|
||||
ModeContribution.load(this, Platform.getContentFile("modes/java"),
|
||||
|
||||
@@ -23,18 +23,13 @@
|
||||
package processing.app.platform;
|
||||
|
||||
import java.awt.Desktop;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.File;
|
||||
|
||||
import javax.swing.JMenu;
|
||||
import javax.swing.JMenuBar;
|
||||
import javax.swing.JMenuItem;
|
||||
|
||||
import processing.app.Base;
|
||||
import processing.app.Language;
|
||||
import processing.app.ui.About;
|
||||
import processing.app.ui.Toolkit;
|
||||
|
||||
|
||||
/**
|
||||
@@ -88,54 +83,8 @@ public class ThinkDifferent {
|
||||
|
||||
// Set the menu bar to be used when nothing else is open.
|
||||
JMenuBar defaultMenuBar = new JMenuBar();
|
||||
JMenu fileMenu = buildFileMenu(base);
|
||||
JMenu fileMenu = base.initDefaultFileMenu();
|
||||
defaultMenuBar.add(fileMenu);
|
||||
// This is kind of a gross way to do this, but the alternatives? Hrm.
|
||||
Base.defaultFileMenu = fileMenu;
|
||||
desktop.setDefaultMenuBar(defaultMenuBar);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gimpy file menu to be used on OS X when no sketches are open.
|
||||
*/
|
||||
static protected JMenu buildFileMenu(final Base base) {
|
||||
JMenuItem item;
|
||||
JMenu fileMenu = new JMenu(Language.text("menu.file"));
|
||||
|
||||
item = Toolkit.newJMenuItem(Language.text("menu.file.new"), 'N');
|
||||
item.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
base.handleNew();
|
||||
}
|
||||
});
|
||||
fileMenu.add(item);
|
||||
|
||||
item = Toolkit.newJMenuItem(Language.text("menu.file.open"), 'O');
|
||||
item.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
base.handleOpenPrompt();
|
||||
}
|
||||
});
|
||||
fileMenu.add(item);
|
||||
|
||||
item = Toolkit.newJMenuItemShift(Language.text("menu.file.sketchbook"), 'K');
|
||||
item.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
base.getNextMode().showSketchbookFrame();
|
||||
}
|
||||
});
|
||||
fileMenu.add(item);
|
||||
|
||||
item = Toolkit.newJMenuItemShift(Language.text("menu.file.examples"), 'O');
|
||||
item.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
base.thinkDifferentExamples();
|
||||
}
|
||||
});
|
||||
fileMenu.add(item);
|
||||
|
||||
return fileMenu;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user