com.threerings.stage.tools.editor
Class EditorFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by com.threerings.media.ManagedJFrame
                          extended by com.threerings.stage.tools.editor.EditorFrame
All Implemented Interfaces:
com.threerings.media.FrameManager.ManagedRoot, EditorScenePanel.SceneModelListener, ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class EditorFrame
extends com.threerings.media.ManagedJFrame
implements EditorScenePanel.SceneModelListener

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  JFileChooser _chooser
          The file chooser used for loading and saving scenes.
protected  EditorContext _ctx
          The editor context.
protected  JInternalFrame _dialog
          Used for displaying dialogs.
protected  String _filepath
          The file last associated with the current scene.
protected  JPanel _main
          Contains the scene view panel or other fun stuff.
protected  EditorModel _model
          The editor data model.
protected  ActionListener _openListener
          Handles JFileChooser responses when opening files.
protected  SceneParser _parser
          We use this to load scenes.
protected  StageScene _scene
          The scene currently undergoing edit.
protected  SceneInfoPanel _sceneInfoPanel
          The panel that displays scene info.
protected  EditorScrollBox _scrollBox
          The scrollbox used to display the view position within the scene.
protected  EditorScenePanel _svpanel
          The panel that displays the scene view.
protected  TestTileLoader _testLoader
          The test tileset loader.
protected  TileInfoPanel _tpanel
          The panel that displays tile info.
protected  StageSceneWriter _writer
          We use this to save scenes.
 
Fields inherited from class com.threerings.media.ManagedJFrame
_fmgr
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
EditorFrame(StageSceneWriter writer)
           
 
Method Summary
protected  boolean checkSaveOk()
          Check to see if the save can proceed, and pop up errors if it can't.
protected  void createActionsMenu(JMenu menuActions)
           
protected  void createFileMenu(JMenu menuFile)
           
 void createMenuBar()
          Create the menu bar and menu items and add them to the frame.
protected  EditorScenePanel createScenePanel()
          Creates the EditorScenePanel to use in this frame.
 void handleNew(ActionEvent evt)
          Creates a blank scene and configures the editor to begin editing it.
 void handleOpen(ActionEvent evt)
          Presents the user with an open file dialog and loads the scenes from the selected file.
 void handlePreferences(ActionEvent evt)
          Handles a request to open the preferences dialog.
 void handleQuit(ActionEvent evt)
          Handles a request to quit.
 void handleSave(ActionEvent evt)
          Save the scenes to the file they were last associated with.
 void handleSaveAs(ActionEvent evt)
          Present the user with a save file dialog and save the scenes to the selected file.
 void handleSetDefBase(ActionEvent evt)
          Make the currently selected base tile into the scene's default tile.
 void handleTestTiles(ActionEvent evt)
          Handles a request to reload the test tiles.
 void init(EditorContext ctx, String target)
           
protected  boolean loadScene(String path)
          Loads the scene from the specified path into the editor and returns true if it succeeds.
protected  void newScene()
           
 void openScene(String path)
          Loads the scene from the specified path into the editor and displays an error dialog if it fails.
 void redo(ActionEvent evt)
           
protected  void setFilePath(String filepath)
          Keeps our file path around and conveys that information in the window title.
 void setMisoSceneModel(StageMisoSceneModel model)
           
protected  void setScene(StageScene scene)
           
 void undo(ActionEvent evt)
           
 void updateMiniView(ActionEvent evt)
          Update the mini view in the scrollbox.
 void updateTileInfo()
           
 
Methods inherited from class com.threerings.media.ManagedJFrame
getFrameManager, getWindow, init, paint, update
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.threerings.media.FrameManager.ManagedRoot
getRootPane
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

_openListener

protected ActionListener _openListener
Handles JFileChooser responses when opening files.


_scene

protected StageScene _scene
The scene currently undergoing edit.


_filepath

protected String _filepath
The file last associated with the current scene.


_main

protected JPanel _main
Contains the scene view panel or other fun stuff.


_dialog

protected JInternalFrame _dialog
Used for displaying dialogs.


_chooser

protected JFileChooser _chooser
The file chooser used for loading and saving scenes.


_svpanel

protected EditorScenePanel _svpanel
The panel that displays the scene view.


_tpanel

protected TileInfoPanel _tpanel
The panel that displays tile info.


_sceneInfoPanel

protected SceneInfoPanel _sceneInfoPanel
The panel that displays scene info.


_scrollBox

protected EditorScrollBox _scrollBox
The scrollbox used to display the view position within the scene.


_model

protected EditorModel _model
The editor data model.


_ctx

protected EditorContext _ctx
The editor context.


_parser

protected SceneParser _parser
We use this to load scenes.


_writer

protected StageSceneWriter _writer
We use this to save scenes.


_testLoader

protected TestTileLoader _testLoader
The test tileset loader.

Constructor Detail

EditorFrame

public EditorFrame(StageSceneWriter writer)
Method Detail

init

public void init(EditorContext ctx,
                 String target)

createScenePanel

protected EditorScenePanel createScenePanel()
Creates the EditorScenePanel to use in this frame.


createMenuBar

public void createMenuBar()
Create the menu bar and menu items and add them to the frame.


createFileMenu

protected void createFileMenu(JMenu menuFile)

createActionsMenu

protected void createActionsMenu(JMenu menuActions)

setScene

protected void setScene(StageScene scene)

newScene

protected void newScene()

setMisoSceneModel

public void setMisoSceneModel(StageMisoSceneModel model)
Specified by:
setMisoSceneModel in interface EditorScenePanel.SceneModelListener

handleNew

public void handleNew(ActionEvent evt)
Creates a blank scene and configures the editor to begin editing it. Eventually this should make sure the user has a chance to save any scene for which editing is currently in progress.


handleOpen

public void handleOpen(ActionEvent evt)
Presents the user with an open file dialog and loads the scenes from the selected file.


openScene

public void openScene(String path)
Loads the scene from the specified path into the editor and displays an error dialog if it fails.


loadScene

protected boolean loadScene(String path)
                     throws IOException,
                            SAXException
Loads the scene from the specified path into the editor and returns true if it succeeds.

Throws:
IOException
SAXException

handleSave

public void handleSave(ActionEvent evt)
Save the scenes to the file they were last associated with.


checkSaveOk

protected boolean checkSaveOk()
Check to see if the save can proceed, and pop up errors if it can't.


handleSaveAs

public void handleSaveAs(ActionEvent evt)
Present the user with a save file dialog and save the scenes to the selected file.


setFilePath

protected void setFilePath(String filepath)
Keeps our file path around and conveys that information in the window title.


handleQuit

public void handleQuit(ActionEvent evt)
Handles a request to quit. Presently this just quits, but eventually it should give the user the chance to save any edits in progress.


handleTestTiles

public void handleTestTiles(ActionEvent evt)
Handles a request to reload the test tiles.


updateMiniView

public void updateMiniView(ActionEvent evt)
Update the mini view in the scrollbox.


undo

public void undo(ActionEvent evt)

redo

public void redo(ActionEvent evt)

updateTileInfo

public void updateTileInfo()

handlePreferences

public void handlePreferences(ActionEvent evt)
Handles a request to open the preferences dialog.


handleSetDefBase

public void handleSetDefBase(ActionEvent evt)
Make the currently selected base tile into the scene's default tile.