pipe.gui
Class GuiFrame

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended bypipe.gui.GuiFrame
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, Constants, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.util.Observer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class GuiFrame
extends javax.swing.JFrame
implements Constants, java.awt.event.ActionListener, java.util.Observer

See Also:
Serialized Form

Nested Class Summary
(package private)  class GuiFrame.AnimateAction
           
(package private)  class GuiFrame.DeleteAction
           
(package private)  class GuiFrame.ExampleFileAction
           
(package private)  class GuiFrame.FileAction
           
(package private)  class GuiFrame.GridAction
           
(package private)  class GuiFrame.ToggleButton
          A JToggleButton that watches an Action for selection change
(package private)  class GuiFrame.TypeAction
           
(package private)  class GuiFrame.WindowHandler
           
 
Nested classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  GuiFrame.TypeAction annotationAction
           
private  GuiFrame appGui
           
private  DataLayer appModel
           
private  javax.swing.JTabbedPane appTab
           
private  GuiView appView
           
private  GuiFrame.TypeAction arcAction
           
private  GuiFrame.FileAction closeAction
           
private  GuiFrame.FileAction createAction
           
private  GuiFrame.DeleteAction deleteAction
           
private  GuiFrame.TypeAction deleteTokenAction
           
private  GuiFrame.FileAction exitAction
           
private  GuiFrame.FileAction exportPNGAction
           
private  GuiFrame.FileAction exportPSAction
           
private  java.lang.String frameTitle
           
private  javax.swing.JMenuBar menuBar
           
private  int mode
           
private  int newNameCounter
           
private  GuiFrame.FileAction openAction
           
private  GuiFrame.TypeAction placeAction
           
private  int prev_mode
           
private  GuiFrame.FileAction printAction
           
private  GuiFrame.AnimateAction randomAction
           
private  GuiFrame.AnimateAction randomAnimateAction
           
private  GuiFrame.FileAction saveAction
           
private  GuiFrame.FileAction saveAsAction
           
private  GuiFrame.TypeAction selectAction
           
private  GuiFrame.AnimateAction startAction
           
private  StatusBar statusBar
           
private  GuiFrame.AnimateAction stepbackwardAction
           
private  GuiFrame.AnimateAction stepforwardAction
           
private  GuiFrame.TypeAction timedtransAction
           
private  GuiFrame.GridAction toggleGrid
           
private  GuiFrame.TypeAction tokenAction
           
private  GuiFrame.TypeAction transAction
           
 
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.Window
 
Fields inherited from class java.awt.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface pipe.gui.Constants
ADDTOKEN, ANIMATE, ANNOTATION, ANNOTATION_DEFAULT_FONT, ANNOTATION_DEFAULT_FONT_SIZE, ANNOTATION_LAYER_OFFSET, ANNOTATION_MIN_WIDTH, ANNOTATION_SIZE_OFFSET, ARC, ARC_CONTROL_POINT_CONSTANT, ARC_LAYER_OFFSET, ARC_PATH_PROXIMITY_WIDTH, ARC_PATH_SELECTION_WIDTH, ARC_POINT_LAYER_OFFSET, CREATING, DEFAULT_ELEMENT_TYPE, DELETE, DELTOKEN, DRAW, ELEMENT_FILL_COLOUR, ELEMENT_LINE_COLOUR, ENABLED_TRANSITION_COLOUR, FIRE, GRID, IMMTRANS, LOWEST_LAYER_OFFSET, NOTE_DISABLED_COLOUR, NOTE_EDITING_COLOUR, PLACE, PLACE_TRANSITION_HEIGHT, PLACE_TRANSITION_LAYER_OFFSET, PLACE_TRANSITION_PROXIMITY_RADIUS, PROPERTY_FILE_DESC, PROPERTY_FILE_EXTENSION, RANDOM, RESERVED_BORDER, RESIZE_POINT_DOWN_COLOUR, SELECT, SELECTION_FILL_COLOUR, SELECTION_LAYER_OFFSET, SELECTION_LINE_COLOUR, START, STEPBACKWARD, STEPFORWARD, STOP, TIMEDTRANS
 
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
GuiFrame(java.lang.String title)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
private  void addButton(javax.swing.JToolBar toolBar, GuiAction action)
           
private  javax.swing.JMenuItem addMenuItem(javax.swing.JMenu menu, javax.swing.Action action)
           
 boolean checkForSave()
          If current net has modifications, asks if you want to save and does it if you want.
 boolean checkForSaveAll()
           
 void createNewTab(java.lang.String filename)
          Creates a new tab with the selected file, or a new file if filename==null
 void disableGuiMenu()
           
 void enableActions(boolean status)
           
 void enableGuiMenu()
           
 int getMode()
           
 StatusBar getStatusBar()
           
 void initExit()
           
 void restoreMode()
           
private  void saveNet(java.io.File outFile)
           
private  void saveOperation(boolean forceSaveAs)
           
private  void setAnimationMode(boolean on)
           
 void setMode(int _mode)
           
 void setObjects()
           
 void setObjects(int place)
           
 void setObjectsNull(int index)
           
 void setRandomAnimationMode(boolean on)
           
 void setTab()
           
 void setTitle(java.lang.String title)
           
 void update(java.util.Observable o, java.lang.Object obj)
           
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, 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, isOpaque, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

frameTitle

private java.lang.String frameTitle

appModel

private DataLayer appModel

appGui

private GuiFrame appGui

appView

private GuiView appView

mode

private int mode

prev_mode

private int prev_mode

newNameCounter

private int newNameCounter

appTab

private javax.swing.JTabbedPane appTab

statusBar

private StatusBar statusBar

menuBar

private javax.swing.JMenuBar menuBar

createAction

private GuiFrame.FileAction createAction

openAction

private GuiFrame.FileAction openAction

closeAction

private GuiFrame.FileAction closeAction

saveAction

private GuiFrame.FileAction saveAction

saveAsAction

private GuiFrame.FileAction saveAsAction

exitAction

private GuiFrame.FileAction exitAction

printAction

private GuiFrame.FileAction printAction

exportPNGAction

private GuiFrame.FileAction exportPNGAction

exportPSAction

private GuiFrame.FileAction exportPSAction

toggleGrid

private GuiFrame.GridAction toggleGrid

deleteAction

private GuiFrame.DeleteAction deleteAction

annotationAction

private GuiFrame.TypeAction annotationAction

arcAction

private GuiFrame.TypeAction arcAction

placeAction

private GuiFrame.TypeAction placeAction

transAction

private GuiFrame.TypeAction transAction

timedtransAction

private GuiFrame.TypeAction timedtransAction

tokenAction

private GuiFrame.TypeAction tokenAction

selectAction

private GuiFrame.TypeAction selectAction

deleteTokenAction

private GuiFrame.TypeAction deleteTokenAction

startAction

private GuiFrame.AnimateAction startAction

stepforwardAction

private GuiFrame.AnimateAction stepforwardAction

stepbackwardAction

private GuiFrame.AnimateAction stepbackwardAction

randomAction

private GuiFrame.AnimateAction randomAction

randomAnimateAction

private GuiFrame.AnimateAction randomAnimateAction
Constructor Detail

GuiFrame

public GuiFrame(java.lang.String title)
Method Detail

addButton

private void addButton(javax.swing.JToolBar toolBar,
                       GuiAction action)

addMenuItem

private javax.swing.JMenuItem addMenuItem(javax.swing.JMenu menu,
                                          javax.swing.Action action)

enableActions

public void enableActions(boolean status)

getStatusBar

public StatusBar getStatusBar()

setObjects

public void setObjects()

setObjects

public void setObjects(int place)

setObjectsNull

public void setObjectsNull(int index)

setTab

public void setTab()

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

update

public void update(java.util.Observable o,
                   java.lang.Object obj)
Specified by:
update in interface java.util.Observer

saveOperation

private void saveOperation(boolean forceSaveAs)

saveNet

private void saveNet(java.io.File outFile)

createNewTab

public void createNewTab(java.lang.String filename)
Creates a new tab with the selected file, or a new file if filename==null

Parameters:
filename - Filename of net to load, or null to create a new, empty tab

checkForSave

public boolean checkForSave()
If current net has modifications, asks if you want to save and does it if you want.

Returns:
true if handled, false if cancelled

checkForSaveAll

public boolean checkForSaveAll()

setRandomAnimationMode

public void setRandomAnimationMode(boolean on)

setAnimationMode

private void setAnimationMode(boolean on)

setMode

public void setMode(int _mode)

getMode

public int getMode()

restoreMode

public void restoreMode()

disableGuiMenu

public void disableGuiMenu()

enableGuiMenu

public void enableGuiMenu()

setTitle

public void setTitle(java.lang.String title)

initExit

public void initExit()