com.pegacat.vcf
Class BaseGUI

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--com.pegacat.vcf.BaseGUI
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class BaseGUI
extends java.awt.Frame

The Base GUI displays itself and the various plugged-in components (obtained from Framework) using a skin. Non-trivial user events are passed back to the framework class for handling.

See Also:
Serialized Form

Inner classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, 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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
BaseGUI(Framework framework, Skin startingSkin)
          Constructor takes a framework object, and creates the basic gui.
 
Method Summary
 void addPlugins(java.util.Vector plugins)
          Given a list of plugins, this creates a button for each one (using the plugins advertised name), and sets up a button listener to call the 'start()' method of the plugin when the button is pressed.
 com.pegacat.vcf.LoadWatcher getLoadWatcher()
           
 void message(java.lang.String msg)
          Dialog Box coming soon.
 void paint(java.awt.Graphics g)
          most of the work here is done by paintBackground(), which handles painting the background bitmap.
static void paintBackground(java.awt.Graphics g, Skin skin, int height, int width, java.awt.image.ImageObserver observer, int xOffset, int yOffset)
          Paints the background bitmap.
 void setSkin(Skin newSkin)
          Sets the skin used by the BaseGUI for displaying buttons, backgrounds and so forth
protected  void setStartingPosition()
          Sets the browser up at the same position and size that it was when last saved.
protected  void setupLayout()
          Set the layout to use a grid bag layout
 void setupLoadWatcher()
           
 void setupMenu()
          This sets up the menu bar, providing links back to the Framework object for all non-trivial actions (e.g.
protected  void setupSkins(java.awt.Menu skins)
          This reads from disk all the available skins, and sets up check box menu items corresponding to them.
protected  void setupTitleBar()
          Make minor additions; the top-right window icon and the title bar text.
protected  void setupWindowButtons()
          Sets up the window behaviour to close the application on a window close.
 void showAbout()
           
 void showHelp()
          XXX todo - stick in standard java help system.
 void shutdown()
          Close down the program - update the global properties with the most recent graphics shtuff, and call framework.shutdown().
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getAccessibleContext, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, isResizable, paramString, remove, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle
 
Methods inherited from class java.awt.Window
addWindowListener, applyResourceBundle, applyResourceBundle, dispose, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, processWindowEvent, removeWindowListener, setCursor, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setFont, setLayout, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
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
 

Constructor Detail

BaseGUI

public BaseGUI(Framework framework,
               Skin startingSkin)
Constructor takes a framework object, and creates the basic gui. Note that buttons 'n stuff aren't added until Framework calls 'addPlugins()'
Method Detail

setupLayout

protected void setupLayout()
Set the layout to use a grid bag layout

setStartingPosition

protected void setStartingPosition()
Sets the browser up at the same position and size that it was when last saved.

setupTitleBar

protected void setupTitleBar()
Make minor additions; the top-right window icon and the title bar text.

setSkin

public void setSkin(Skin newSkin)
Sets the skin used by the BaseGUI for displaying buttons, backgrounds and so forth

setupWindowButtons

protected void setupWindowButtons()
Sets up the window behaviour to close the application on a window close.

shutdown

public void shutdown()
Close down the program - update the global properties with the most recent graphics shtuff, and call framework.shutdown().

paint

public void paint(java.awt.Graphics g)
most of the work here is done by paintBackground(), which handles painting the background bitmap.
Overrides:
paint in class java.awt.Container

paintBackground

public static void paintBackground(java.awt.Graphics g,
                                   Skin skin,
                                   int height,
                                   int width,
                                   java.awt.image.ImageObserver observer,
                                   int xOffset,
                                   int yOffset)
Paints the background bitmap. Also used by the button panel, with some offset magic, to seamlessly paint the background over the button panel in the right position, effectively making the button panel 'invisible'...

setupLoadWatcher

public void setupLoadWatcher()

getLoadWatcher

public com.pegacat.vcf.LoadWatcher getLoadWatcher()

addPlugins

public void addPlugins(java.util.Vector plugins)
Given a list of plugins, this creates a button for each one (using the plugins advertised name), and sets up a button listener to call the 'start()' method of the plugin when the button is pressed.

setupMenu

public void setupMenu()
This sets up the menu bar, providing links back to the Framework object for all non-trivial actions (e.g. opening connections, setting options etc.)

setupSkins

protected void setupSkins(java.awt.Menu skins)
This reads from disk all the available skins, and sets up check box menu items corresponding to them. Checking one clears all the others, and loads the new skin.

showAbout

public void showAbout()

showHelp

public void showHelp()
XXX todo - stick in standard java help system.

message

public void message(java.lang.String msg)
Dialog Box coming soon.