net.sf.jaxodraw.gui.panel
Class JaxoMainPanel

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 net.sf.jaxodraw.gui.panel.JaxoMainPanel
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, JaxoLocalized

public final class JaxoMainPanel
extends javax.swing.JFrame
implements java.awt.event.ActionListener, JaxoLocalized

The main panel: holds the menu bar, the button panel, the flag panel and the canvas. Responsible for the interaction between those components.

Since:
2.0
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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.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
JaxoMainPanel()
          The initialisation method of the panel: sets up the menus, the button panels, the flag panel and the canvas.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent evt)
          Performs an action in reply to an action event on either the menu bar, tool bar, grid bar, tabbed canvas panel or button panel.
 void addRecentFile(java.lang.String saveFileName)
          Adds a new entry to the file menu, with a shortcut to a recently opened graph.
 void applyPrefs()
          Applies the preferences.
 void commitGraphChanges()
          forward to JaxoTabbedCanvasPanel.
 void commitRepeatableGraphChanges()
          forward to selected JaxoTab.
 void commitRepeatableGraphChanges(int count)
          forward to selected JaxoTab.
 JaxoCanvas getCanvas()
          Returns an instance of the canvas.
 java.awt.Color getCanvasBackground()
          Returns the background color of the canvas.
 int getDefaultMode()
          Returns the current default mode.
 int getGridSize()
          forward to selected JaxoTab.
 int getGridType()
          forward to selected JaxoTab.
 int getMode()
          Return the current drawing/editing mode.
 JaxoPluginInfo getPluginInfo()
          Returns a JaxoPluginInfo object that contains information about available plugins at runtime.
 JaxoPreview getPreview()
          Default preview to be used.
 JaxoTab getSelectedTab()
          forward to JaxoTabbedCanvasPanel.
 int getVertexType()
          Returns the current vertex type.
 boolean isGridOn()
          Check if the grid is currently switched on in the preferences.
 boolean isSnap()
          Returns the current snap mode.
 boolean isWatchMode()
          Indicates whether watch mode is active or not.
 void openOrImport(java.lang.String[] inputFileNames)
          Open given file names, reusing an current unused tab.
 void removeRecentFile(java.lang.String saveFileName)
          Removes the given file from the list of recent files.
 void resetMode()
          Revert to the the defaultMode, or re-initialize the current mode if the defaultMode is none.
 void setAntialiasEnabled(boolean on)
          Switches antialiasing on or off.
 void setCanvasBackground(java.awt.Color value)
          Sets the background color of the canvas.
 void setDefaultAction(int value)
          Sets the default action.
 void setDefaultGridSize(int value)
          set default: currently changes grid size of all tabs.
 void setDefaultGridType(int value)
          set default: currently changes grid type of all tabs.
 void setGridBarVisible(boolean show)
          Switches the gridBar on or off.
 void setGridColor(java.awt.Color color)
          forward to selected JaxoTab.
 void setGridSize(int value)
          forward to selected JaxoTab and update canvas dimensions.
 void setGridStyle(int style)
          forward to selected JaxoTab.
 void setGridType(int value)
          forward to selected JaxoTab.
 void setLanguage(java.lang.String languageString)
          Update all sub-components with the new language.
 void setMode(int newMode)
          Sets the current drawing/edit mode.
 void setSnap(boolean setSnap)
          Sets the snap mode.
 void setStatusBarVisible(boolean show)
          Switches the status bar on or off.
 void setToolBarVisible(boolean show)
          Switches the toolBar on or off.
 void shutdown(int exitStatus)
          Dispose the main frame and call JaxoLauncher.shutdown(exitStatus).
 void tabChanged(JaxoTab t)
          Adjusts the main panel to a changed tab.
 void updateLanguage()
          Updates the component with the current language as set in the preferences (JaxoPrefs.PREF_LANGUAGE).
 void updateSelectedTab(JaxoTab old, JaxoTab t)
          Updates the tab when it changes.
 
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, update
 
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, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

JaxoMainPanel

public JaxoMainPanel()
The initialisation method of the panel: sets up the menus, the button panels, the flag panel and the canvas. Start by showing one tab with an empty graph.

Method Detail

getPluginInfo

public JaxoPluginInfo getPluginInfo()
Returns a JaxoPluginInfo object that contains information about available plugins at runtime.

Returns:
The JaxoPluginInfo object.

openOrImport

public void openOrImport(java.lang.String[] inputFileNames)
Open given file names, reusing an current unused tab.

Parameters:
inputFileNames - Array of file names to be opened.

getMode

public int getMode()
Return the current drawing/editing mode.

Returns:
The current drawing/editing mode.

setMode

public void setMode(int newMode)
Sets the current drawing/edit mode.

Parameters:
newMode - The drawing/edit mode to be set.

getCanvas

public JaxoCanvas getCanvas()
Returns an instance of the canvas.

Returns:
The canvas.

setLanguage

public void setLanguage(java.lang.String languageString)
Update all sub-components with the new language.

Parameters:
languageString - The new language to set.

updateLanguage

public void updateLanguage()
Updates the component with the current language as set in the preferences (JaxoPrefs.PREF_LANGUAGE).

Specified by:
updateLanguage in interface JaxoLocalized

getPreview

public JaxoPreview getPreview()
Default preview to be used. Should not be modified directly - instead, obtain an own copy().

Returns:
A preview.

applyPrefs

public void applyPrefs()
Applies the preferences.


getCanvasBackground

public java.awt.Color getCanvasBackground()
Returns the background color of the canvas.

Returns:
The canvas background color.

setCanvasBackground

public void setCanvasBackground(java.awt.Color value)
Sets the background color of the canvas.

Parameters:
value - The color to set.

setToolBarVisible

public void setToolBarVisible(boolean show)
Switches the toolBar on or off.

Parameters:
show - A boolean variable that indicates whether the toolBar is visible or not.

setStatusBarVisible

public void setStatusBarVisible(boolean show)
Switches the status bar on or off.

Parameters:
show - A boolean variable that indicates whether the status bar is visible or not.

setGridBarVisible

public void setGridBarVisible(boolean show)
Switches the gridBar on or off.

Parameters:
show - A boolean variable that indicates whether the toolBar is visible or not.

setAntialiasEnabled

public void setAntialiasEnabled(boolean on)
Switches antialiasing on or off.

Parameters:
on - A boolean variable that indicates whether antialising is on or not.

getVertexType

public int getVertexType()
Returns the current vertex type.

Returns:
The current vertex type.

setSnap

public void setSnap(boolean setSnap)
Sets the snap mode.

Parameters:
setSnap - The new snap mode.

isSnap

public boolean isSnap()
Returns the current snap mode.

Returns:
The current snap mode.

isWatchMode

public boolean isWatchMode()
Indicates whether watch mode is active or not.

Returns:
True when watch mode is active, false otherwise.

resetMode

public void resetMode()
Revert to the the defaultMode, or re-initialize the current mode if the defaultMode is none.


getDefaultMode

public int getDefaultMode()
Returns the current default mode.

Returns:
The current default mode.

setDefaultAction

public void setDefaultAction(int value)
Sets the default action. If value is not a valid default mode, it is set to JaxoConstants.DEF_NONE.

Parameters:
value - The default action to set.

isGridOn

public boolean isGridOn()
Check if the grid is currently switched on in the preferences.

Returns:
True if grid is on.

getGridSize

public int getGridSize()
forward to selected JaxoTab.

Returns:
The grid size of the current tab.

setGridSize

public void setGridSize(int value)
forward to selected JaxoTab and update canvas dimensions.

Parameters:
value - The size to set.

setDefaultGridSize

public void setDefaultGridSize(int value)
set default: currently changes grid size of all tabs.

Parameters:
value - The size to set.

getGridType

public int getGridType()
forward to selected JaxoTab.

Returns:
The grid type of the current tab.

setGridType

public void setGridType(int value)
forward to selected JaxoTab.

Parameters:
value - The type to set.

setGridStyle

public void setGridStyle(int style)
forward to selected JaxoTab.

Parameters:
style - The style to set.

setGridColor

public void setGridColor(java.awt.Color color)
forward to selected JaxoTab.

Parameters:
color - The color to set.

setDefaultGridType

public void setDefaultGridType(int value)
set default: currently changes grid type of all tabs.

Parameters:
value - The type to set.

getSelectedTab

public JaxoTab getSelectedTab()
forward to JaxoTabbedCanvasPanel.

Returns:
The current tab.

commitGraphChanges

public void commitGraphChanges()
forward to JaxoTabbedCanvasPanel.


commitRepeatableGraphChanges

public void commitRepeatableGraphChanges()
forward to selected JaxoTab.


commitRepeatableGraphChanges

public void commitRepeatableGraphChanges(int count)
forward to selected JaxoTab.

Parameters:
count - The count of changes.

addRecentFile

public void addRecentFile(java.lang.String saveFileName)
Adds a new entry to the file menu, with a shortcut to a recently opened graph.

Parameters:
saveFileName - The full path to the saved graph.

removeRecentFile

public void removeRecentFile(java.lang.String saveFileName)
Removes the given file from the list of recent files.

Parameters:
saveFileName - The file to remove.

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent evt)
Performs an action in reply to an action event on either the menu bar, tool bar, grid bar, tabbed canvas panel or button panel. NOTE: This should be the central method where all input events (except drawing events on the Canvas) should be processed. The MainPanel is the only component that has direct access to all sub-components, and therefore it's easiest to trigger identical events from different input sources.

This method throws an Exception if the source of the ActionEvent is not a Component.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
evt - The action event that triggers an action. The ActionCommand of the event has to be an integer, encapsulated as a String, that identifies the event according to the modes in JaxoConstants.

shutdown

public void shutdown(int exitStatus)
Dispose the main frame and call JaxoLauncher.shutdown(exitStatus).

Parameters:
exitStatus - The exit status code.

updateSelectedTab

public void updateSelectedTab(JaxoTab old,
                              JaxoTab t)
Updates the tab when it changes.

Parameters:
old - The old tab.
t - The new tab.

tabChanged

public void tabChanged(JaxoTab t)
Adjusts the main panel to a changed tab.

Parameters:
t - The old tab.


Licensed under GPL. For more information, see http://jaxodraw.sourceforge.net/license.html or the LICENSE file in the jaxodraw distribution.