Graphics2D Actor API

g2d.graphviewer
Class BaseFrame

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 g2d.swing.IOPFrame
                          extended by g2d.mwa.MWAFrame
                              extended by g2d.mwa.IDFrame
                                  extended by g2d.graphviewer.BaseFrame
All Implemented Interfaces:
ControlListener, ComponentListener, WindowListener, ImageObserver, MenuContainer, Serializable, Comparable, EventListener, Accessible, ChangeListener, RootPaneContainer, WindowConstants

public class BaseFrame
extends IDFrame
implements ChangeListener

Base frame for any kind of graphviewer window that displays a net, a navigator panel, and tabbed panels to display various things.

Author:
linda for pla, ian for graphviewer
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class g2d.mwa.IDFrame
IDFrame.ID
 
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
static int NAV_MAX_HEIGHT
           
static int NAV_WIDTH
           
 
Fields inherited from class g2d.mwa.IDFrame
topFrames
 
Fields inherited from class g2d.mwa.MWAFrame
initialSize, windowMenu
 
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
BaseFrame(String title, MWAFrame parent, boolean allowsSelections)
          Creates a window frame for PLA application that is anchored at given parent frame (if not NULL)
 
Method Summary
 void addMenuAt(JMenu menu, int index)
          Insert a given menu to the current menu bar at given position.
 boolean allowsSelections()
           
 JMenu getFileMenu()
           
static Color[] getFILL_COLORS()
          Obtain current fill colors for this class.
 JMenu getGraphMenu()
           
 GraphPanel getGraphPanel()
           
 int getMenuCount()
          Obtain number of menus other than the "Window" menu in the current menu bar.
 NavPanel getNavPanel()
           
 SEPanel getSEPanel()
           
 String getTitleWithoutID()
           
 ToolBar getToolBar()
           
 BaseFrame getTopBaseFrame()
          Walking up the hierarchy of frames until parent is no longer of class BaseFrame and then returns the last base frame found.
 JMenu getZoomMenu()
           
static void hideProgressDialog()
          Hide current modal dialog with progress bar.
 boolean isEmpty()
           
static void main(String[] args)
           
static void setFILL_COLORS(Color[] fc)
          Change fill colors for this class.
 void setGraph(IOPGraph graph)
          Set the graph of this frame to the given one.
 void setSubtitle(String text)
          Adding a subtitle to this frame.
 void setTitle(String s)
           
static void showProgressDialog(String title, Component c)
          Show modal dialog with (indeterminante) progress bar with a given title.
 void stateChanged(ChangeEvent event)
           
 
Methods inherited from class g2d.mwa.IDFrame
getID, windowClosed, windowClosing, windowOpened
 
Methods inherited from class g2d.mwa.MWAFrame
close, compareTo, componentHidden, componentMoved, componentResized, componentShown, getChildrenFrames, getInitialSize, getJMenuBar, getOrigJMenuBar, getParentFrame, getTopFrame, setDefaultCloseOperation, setInitialSize, setJMenuBar, updateWindows, updateWindows, windowActivated, windowDeactivated, windowDeiconified, windowIconified
 
Methods inherited from class g2d.swing.IOPFrame
add, add, add, getScreenSize, setSize, setSize
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, 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, 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, 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 java.awt.MenuContainer
getFont, postEvent
 

Field Detail

NAV_WIDTH

public static final int NAV_WIDTH
See Also:
Constant Field Values

NAV_MAX_HEIGHT

public static final int NAV_MAX_HEIGHT
See Also:
Constant Field Values
Constructor Detail

BaseFrame

public BaseFrame(String title,
                 MWAFrame parent,
                 boolean allowsSelections)
Creates a window frame for PLA application that is anchored at given parent frame (if not NULL)

Parameters:
title - String with title of window; if empty or NULL, will display "untitled"
parent - parent window of this window
allowsSelections - If true, shows "Selections" tab to set goals etc.
See Also:
NavPanel, Sg2d.graphviewer.EPanel
Method Detail

allowsSelections

public boolean allowsSelections()

getMenuCount

public int getMenuCount()
Obtain number of menus other than the "Window" menu in the current menu bar.

Returns:
Number of current menus

addMenuAt

public void addMenuAt(JMenu menu,
                      int index)
Insert a given menu to the current menu bar at given position. If given position is 0, it will prepend the given menu. If given position equals getMenuCount() it will append given menu at end but always before the "Window" menu (which should remain at the last position).

Will throw exceptions if the given menu is null or the given position is not in the above specified range [0..getMenuCount()]

Parameters:
menu - JMenu to be added to current menu bar
index - Number indicating position where to insert the menu

setTitle

public void setTitle(String s)
Overrides:
setTitle in class MWAFrame

getTitleWithoutID

public String getTitleWithoutID()

setSubtitle

public void setSubtitle(String text)
Adding a subtitle to this frame. If the subtitle contains newlines and tabs, these will be converted to HTML tags for proper display. Also, if text has more than one line or lines are too long for current window width, will only show the first 1.3 lines by default. User can resize the area using a split pane.

Parameters:
text - String potentially containing newline and tab characters that denotes subtitle of this frame

getTopBaseFrame

public BaseFrame getTopBaseFrame()
Walking up the hierarchy of frames until parent is no longer of class BaseFrame and then returns the last base frame found.

Returns:
Last base frame encountered walking up frame hierarchy or this base frame if none such found

getFILL_COLORS

public static Color[] getFILL_COLORS()
Obtain current fill colors for this class.

Returns:
Array of 12 Color objects that denote 4 colors each given in order of 3 shades dark - medium - light

setFILL_COLORS

public static void setFILL_COLORS(Color[] fc)
Change fill colors for this class.

Does not prompt existing frames to update.

Parameters:
fc - Array of 12 Color objects that denote 4 colors each given in order of 3 shades dark - medium - light

getFileMenu

public JMenu getFileMenu()

getZoomMenu

public JMenu getZoomMenu()

getGraphMenu

public JMenu getGraphMenu()

getToolBar

public ToolBar getToolBar()

getGraphPanel

public GraphPanel getGraphPanel()

getSEPanel

public SEPanel getSEPanel()

getNavPanel

public NavPanel getNavPanel()

setGraph

public void setGraph(IOPGraph graph)
Set the graph of this frame to the given one. Sets the buffered image of the graph in the navigator. Infers lists of occurrences and rules from the given graph, and then updates the SE panel accordingly. Will hide any open progress dialog. Will also remove any categorization of the occurrences. To maintain the categorization, call
     setGraph(graph, getCategorization())
 

Parameters:
graph - IOPGraph to be set in this frame

isEmpty

public boolean isEmpty()

showProgressDialog

public static void showProgressDialog(String title,
                                      Component c)
Show modal dialog with (indeterminante) progress bar with a given title.

Parameters:
title - String with title for dialog
c - Component to center dialog over

hideProgressDialog

public static void hideProgressDialog()
Hide current modal dialog with progress bar.


stateChanged

public void stateChanged(ChangeEvent event)
Specified by:
stateChanged in interface ChangeListener

main

public static void main(String[] args)

Graphics2D Actor API