Reorganized to be easily extensible.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3444 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -59,15 +59,35 @@ public class EditorApp implements Runnable
|
|||||||
/**
|
/**
|
||||||
* Construct and initialize the EditorApp object.
|
* Construct and initialize the EditorApp object.
|
||||||
*/
|
*/
|
||||||
public EditorApp (final String target)
|
public EditorApp (String[] args)
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
|
final String target = (args.length > 0) ? args[0] : null;
|
||||||
|
|
||||||
|
if (System.getProperty("no_log_redir") != null) {
|
||||||
|
Log.info("Logging to console only.");
|
||||||
|
|
||||||
|
} else {
|
||||||
|
String dlog = localDataDir("editor.log");
|
||||||
|
try {
|
||||||
|
PrintStream logOut = new PrintStream(
|
||||||
|
new BufferedOutputStream(new FileOutputStream(dlog)));
|
||||||
|
System.setOut(logOut);
|
||||||
|
System.setErr(logOut);
|
||||||
|
Log.info("Opened debug log '" + dlog + "'.");
|
||||||
|
|
||||||
|
} catch (IOException ioe) {
|
||||||
|
Log.warning("Failed to open debug log [path=" + dlog +
|
||||||
|
", error=" + ioe + "].");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// we need to use heavy-weight popup menus so that they can overly
|
// we need to use heavy-weight popup menus so that they can overly
|
||||||
// our non-lightweight Miso view
|
// our non-lightweight Miso view
|
||||||
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
|
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
|
||||||
|
|
||||||
// create and size the main application frame
|
// create and size the main application frame
|
||||||
_frame = new EditorFrame();
|
_frame = createEditorFrame();
|
||||||
|
|
||||||
// create our frame manager
|
// create our frame manager
|
||||||
_framemgr = FrameManager.newInstance(_frame);
|
_framemgr = FrameManager.newInstance(_frame);
|
||||||
@@ -213,33 +233,18 @@ public class EditorApp implements Runnable
|
|||||||
_framemgr.start();
|
_framemgr.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected EditorFrame createEditorFrame ()
|
||||||
|
{
|
||||||
|
return new EditorFrame();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiate the application object and start it running.
|
* Instantiate the application object and start it running.
|
||||||
*/
|
*/
|
||||||
public static void main (String[] args)
|
public static void main (String[] args)
|
||||||
{
|
{
|
||||||
String target = (args.length > 0) ? args[0] : null;
|
|
||||||
|
|
||||||
if (System.getProperty("no_log_redir") != null) {
|
|
||||||
Log.info("Logging to console only.");
|
|
||||||
|
|
||||||
} else {
|
|
||||||
String dlog = localDataDir("editor.log");
|
|
||||||
try {
|
|
||||||
PrintStream logOut = new PrintStream(
|
|
||||||
new BufferedOutputStream(new FileOutputStream(dlog)));
|
|
||||||
System.setOut(logOut);
|
|
||||||
System.setErr(logOut);
|
|
||||||
Log.info("Opened debug log '" + dlog + "'.");
|
|
||||||
|
|
||||||
} catch (IOException ioe) {
|
|
||||||
Log.warning("Failed to open debug log [path=" + dlog +
|
|
||||||
", error=" + ioe + "].");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
EditorApp app = new EditorApp(target);
|
EditorApp app = new EditorApp(args);
|
||||||
// start up the UI on the AWT thread to avoid deadlocks
|
// start up the UI on the AWT thread to avoid deadlocks
|
||||||
EventQueue.invokeLater(app);
|
EventQueue.invokeLater(app);
|
||||||
|
|
||||||
|
|||||||
@@ -164,22 +164,7 @@ public class EditorFrame extends ManagedJFrame
|
|||||||
|
|
||||||
// create the "File" menu
|
// create the "File" menu
|
||||||
JMenu menuFile = new JMenu("File");
|
JMenu menuFile = new JMenu("File");
|
||||||
menuFile.setMnemonic(KeyEvent.VK_F);
|
createFileMenu(menuFile);
|
||||||
accel = KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK);
|
|
||||||
MenuUtil.addMenuItem(menuFile, "New", KeyEvent.VK_N, accel,
|
|
||||||
this, "handleNew");
|
|
||||||
accel = KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK);
|
|
||||||
MenuUtil.addMenuItem(menuFile, "Open", KeyEvent.VK_O, accel,
|
|
||||||
this, "handleOpen");
|
|
||||||
//addMenuItem(menuFile, "Close", KeyEvent.VK_C);
|
|
||||||
accel = KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK);
|
|
||||||
MenuUtil.addMenuItem(menuFile, "Save", KeyEvent.VK_S, accel,
|
|
||||||
this, "handleSave");
|
|
||||||
MenuUtil.addMenuItem(menuFile, "Save As", KeyEvent.VK_A, null,
|
|
||||||
this, "handleSaveAs");
|
|
||||||
accel = KeyStroke.getKeyStroke(KeyEvent.VK_Q, ActionEvent.CTRL_MASK);
|
|
||||||
MenuUtil.addMenuItem(menuFile, "Quit", KeyEvent.VK_Q, accel,
|
|
||||||
this, "handleQuit");
|
|
||||||
|
|
||||||
// create the "Edit" menu
|
// create the "Edit" menu
|
||||||
// JMenu menuEdit = new JMenu("Edit");
|
// JMenu menuEdit = new JMenu("Edit");
|
||||||
@@ -193,17 +178,7 @@ public class EditorFrame extends ManagedJFrame
|
|||||||
|
|
||||||
// create the "Actions" menu
|
// create the "Actions" menu
|
||||||
JMenu menuActions = new JMenu("Actions");
|
JMenu menuActions = new JMenu("Actions");
|
||||||
MenuUtil.addMenuItem(menuActions, "Load (reload) test tiles", this,
|
createActionsMenu(menuActions);
|
||||||
"handleTestTiles");
|
|
||||||
menuActions.setMnemonic(KeyEvent.VK_A);
|
|
||||||
|
|
||||||
accel = KeyStroke.getKeyStroke(KeyEvent.VK_D, ActionEvent.CTRL_MASK);
|
|
||||||
MenuUtil.addMenuItem(menuActions, "Make default base tile",
|
|
||||||
KeyEvent.VK_M, accel, this, "handleSetDefBase");
|
|
||||||
|
|
||||||
accel = KeyStroke.getKeyStroke(KeyEvent.VK_M, ActionEvent.CTRL_MASK);
|
|
||||||
MenuUtil.addMenuItem(menuActions, "Update mini view",
|
|
||||||
KeyEvent.VK_M, accel, this, "updateMiniView");
|
|
||||||
|
|
||||||
// create the "Settings" menu
|
// create the "Settings" menu
|
||||||
JMenu menuSettings = new JMenu("Settings");
|
JMenu menuSettings = new JMenu("Settings");
|
||||||
@@ -224,6 +199,41 @@ public class EditorFrame extends ManagedJFrame
|
|||||||
setJMenuBar(bar);
|
setJMenuBar(bar);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void createFileMenu (JMenu menuFile)
|
||||||
|
{
|
||||||
|
menuFile.setMnemonic(KeyEvent.VK_F);
|
||||||
|
accel = KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK);
|
||||||
|
MenuUtil.addMenuItem(menuFile, "New", KeyEvent.VK_N, accel,
|
||||||
|
this, "handleNew");
|
||||||
|
accel = KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK);
|
||||||
|
MenuUtil.addMenuItem(menuFile, "Open", KeyEvent.VK_O, accel,
|
||||||
|
this, "handleOpen");
|
||||||
|
//addMenuItem(menuFile, "Close", KeyEvent.VK_C);
|
||||||
|
accel = KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK);
|
||||||
|
MenuUtil.addMenuItem(menuFile, "Save", KeyEvent.VK_S, accel,
|
||||||
|
this, "handleSave");
|
||||||
|
MenuUtil.addMenuItem(menuFile, "Save As", KeyEvent.VK_A, null,
|
||||||
|
this, "handleSaveAs");
|
||||||
|
accel = KeyStroke.getKeyStroke(KeyEvent.VK_Q, ActionEvent.CTRL_MASK);
|
||||||
|
MenuUtil.addMenuItem(menuFile, "Quit", KeyEvent.VK_Q, accel,
|
||||||
|
this, "handleQuit");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void createActionsMenu (JMenu menuActions)
|
||||||
|
{
|
||||||
|
MenuUtil.addMenuItem(menuActions, "Load (reload) test tiles", this,
|
||||||
|
"handleTestTiles");
|
||||||
|
menuActions.setMnemonic(KeyEvent.VK_A);
|
||||||
|
|
||||||
|
accel = KeyStroke.getKeyStroke(KeyEvent.VK_D, ActionEvent.CTRL_MASK);
|
||||||
|
MenuUtil.addMenuItem(menuActions, "Make default base tile",
|
||||||
|
KeyEvent.VK_M, accel, this, "handleSetDefBase");
|
||||||
|
|
||||||
|
accel = KeyStroke.getKeyStroke(KeyEvent.VK_M, ActionEvent.CTRL_MASK);
|
||||||
|
MenuUtil.addMenuItem(menuActions, "Update mini view",
|
||||||
|
KeyEvent.VK_M, accel, this, "updateMiniView");
|
||||||
|
}
|
||||||
|
|
||||||
protected void setScene (StageScene scene)
|
protected void setScene (StageScene scene)
|
||||||
{
|
{
|
||||||
// save off the scene objects
|
// save off the scene objects
|
||||||
|
|||||||
Reference in New Issue
Block a user