org.mars_sim.msp.ui.standard
Class MainDesktopPane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JLayeredPane
                  extended by javax.swing.JDesktopPane
                      extended by org.mars_sim.msp.ui.standard.MainDesktopPane
All Implemented Interfaces:
java.awt.event.ComponentListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class MainDesktopPane
extends javax.swing.JDesktopPane
implements java.awt.event.ComponentListener

The MainDesktopPane class is the desktop part of the project's UI. It contains all tool and unit windows, and is itself contained, along with the tool bars, by the main window.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JDesktopPane
javax.swing.JDesktopPane.AccessibleJDesktopPane
 
Nested classes/interfaces inherited from class javax.swing.JLayeredPane
javax.swing.JLayeredPane.AccessibleJLayeredPane
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JDesktopPane
LIVE_DRAG_MODE, OUTLINE_DRAG_MODE
 
Fields inherited from class javax.swing.JLayeredPane
DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MainDesktopPane(MainWindow mainWindow)
          Constructor
 
Method Summary
 void addModel(UnitTableModel model)
          Displays a new Unit model in the monitor window
 void centerMapGlobe(Coordinates targetLocation)
          Centers the map and the globe on given coordinates.
 void closeToolWindow(java.lang.String toolName)
          Closes a tool window if it is open
 void componentHidden(java.awt.event.ComponentEvent e)
           
 void componentMoved(java.awt.event.ComponentEvent e)
           
 void componentResized(java.awt.event.ComponentEvent e)
          Create background tile when MainDesktopPane is first displayed.
 void componentShown(java.awt.event.ComponentEvent e)
           
 void disposeAnnouncementWindow()
          Removes the popup announcement window from the desktop.
 void disposeUnitWindow(Unit unit)
          Disposes a unit window and button.
 void disposeUnitWindow(UnitWindow window)
          Disposes a unit window and button.
 UnitWindow findUnitWindow(Unit unit)
          Finds an existing unit window for a unit.
 MainWindow getMainWindow()
          Returns the MainWindow instance
 AudioPlayer getSoundPlayer()
          Gets the sound player used by the desktop.
 ToolWindow getToolWindow(java.lang.String toolName)
          Returns a tool window for a given tool name
 boolean isToolWindowOpen(java.lang.String toolName)
          Return true if tool window is open
 void openAnnouncementWindow(java.lang.String announcement)
          Opens a popup announcement window on the desktop.
 void openToolWindow(java.lang.String toolName)
          Opens a tool window if necessary
 void openUnitWindow(Unit unit, boolean initialWindow)
          Creates and opens a window for a unit if it isn't already in existance and open.
 
Methods inherited from class javax.swing.JDesktopPane
addImpl, getAccessibleContext, getAllFrames, getAllFramesInLayer, getDesktopManager, getDragMode, getSelectedFrame, getUI, getUIClassID, paramString, remove, removeAll, selectFrame, setComponentZOrder, setDesktopManager, setDragMode, setSelectedFrame, setUI, updateUI
 
Methods inherited from class javax.swing.JLayeredPane
getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, insertIndexForLayer, isOptimizedDrawingEnabled, lowestLayer, moveToBack, moveToFront, paint, putLayer, setLayer, setLayer, setPosition
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeContainerListener, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MainDesktopPane

public MainDesktopPane(MainWindow mainWindow)
Constructor

Parameters:
mainWindow - the main outer window
Method Detail

getMainWindow

public MainWindow getMainWindow()
Returns the MainWindow instance

Returns:
MainWindow instance

componentResized

public void componentResized(java.awt.event.ComponentEvent e)
Create background tile when MainDesktopPane is first displayed. Recenter logoLabel on MainWindow and set backgroundLabel to the size of MainDesktopPane.

Specified by:
componentResized in interface java.awt.event.ComponentListener
Parameters:
e - the component event

componentMoved

public void componentMoved(java.awt.event.ComponentEvent e)
Specified by:
componentMoved in interface java.awt.event.ComponentListener

componentShown

public void componentShown(java.awt.event.ComponentEvent e)
Specified by:
componentShown in interface java.awt.event.ComponentListener

componentHidden

public void componentHidden(java.awt.event.ComponentEvent e)
Specified by:
componentHidden in interface java.awt.event.ComponentListener

getToolWindow

public ToolWindow getToolWindow(java.lang.String toolName)
Returns a tool window for a given tool name

Parameters:
toolName - the name of the tool window
Returns:
the tool window

addModel

public void addModel(UnitTableModel model)
Displays a new Unit model in the monitor window

Parameters:
model - the new model to display

centerMapGlobe

public void centerMapGlobe(Coordinates targetLocation)
Centers the map and the globe on given coordinates. Also opens the map tool if it's closed.

Parameters:
targetLocation - the new center location

isToolWindowOpen

public boolean isToolWindowOpen(java.lang.String toolName)
Return true if tool window is open

Parameters:
toolName - the name of the tool window
Returns:
true true if tool window is open

openToolWindow

public void openToolWindow(java.lang.String toolName)
Opens a tool window if necessary

Parameters:
toolName - the name of the tool window

closeToolWindow

public void closeToolWindow(java.lang.String toolName)
Closes a tool window if it is open

Parameters:
toolName - the name of the tool window

openUnitWindow

public void openUnitWindow(Unit unit,
                           boolean initialWindow)
Creates and opens a window for a unit if it isn't already in existance and open.

Parameters:
unit - the unit the window is for.
initialWindow - true if window is opened at UI startup.

findUnitWindow

public UnitWindow findUnitWindow(Unit unit)
Finds an existing unit window for a unit.

Parameters:
unit - the unit to search for.
Returns:
existing unit window or null if none.

disposeUnitWindow

public void disposeUnitWindow(Unit unit)
Disposes a unit window and button.

Parameters:
unit - the unit the window is for.

disposeUnitWindow

public void disposeUnitWindow(UnitWindow window)
Disposes a unit window and button.

Parameters:
window - the unit window to dispose.

getSoundPlayer

public AudioPlayer getSoundPlayer()
Gets the sound player used by the desktop.

Returns:
sound player.

openAnnouncementWindow

public void openAnnouncementWindow(java.lang.String announcement)
Opens a popup announcement window on the desktop.

Parameters:
announcement - the announcement text to display.

disposeAnnouncementWindow

public void disposeAnnouncementWindow()
Removes the popup announcement window from the desktop.