talx x1.0.5

talx.view.inbox
Class AbstractInbox

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bytalx.view.components.TALPanel
                      extended bytalx.view.inbox.AbstractInbox
All Implemented Interfaces:
javax.accessibility.Accessible, ControllerListener, java.util.EventListener, GUIStateConstants, java.awt.image.ImageObserver, InboxGUI, java.awt.MenuContainer, java.lang.Runnable, javax.swing.ScrollPaneConstants, java.io.Serializable, TALComponent
Direct Known Subclasses:
BasicInbox, MultiButtonInbox

public abstract class AbstractInbox
extends TALPanel
implements InboxGUI, java.lang.Runnable, javax.swing.ScrollPaneConstants

Provides generic inbox behavior. Subclasses just need to override the abstract methods to deal with a particular type of mailbox

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
protected  GUIState currentState
          Informs the run method how to draw.
protected  GameManager gm
           
protected  MailSystemDesktop ms
           
protected  Settings settings
           
 
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 talx.view.InboxGUI
ARCHIVE, NAME, PERSON, PLAYER
 
Fields inherited from interface talx.model.GUIStateConstants
ACTIVE_COMMANDS, ARCHIVE_MESSAGE, CHOICE_DIALOG, COMPOSE_FOCUS, COMPOSE_WINDOW, COMPOSER_CAPTION, COMPOSER_DIRTY, CONFIRM_DIALOG, CURRENT_PEOPLE, CURRENT_PLAYER, DEFAULT_MESSAGE, DIALOG_FOCUS, DIALOG_TEXT, INBOX_FOCUS, INBOX_MAIL_COUNTS, INBOX_MAIL_COUNTS_ANSWERED, INBOX_MAIL_COUNTS_NEW, INBOX_PANEL, INBOX_PLAYER_CAPTIONS, NO_CHANGE, NO_MESSAGE, NO_PEOPLE, NO_PERSON, NO_PLAYER, READER_CAPTION, READER_FOCUS, READER_HEADERS, READER_WINDOW, STATE_ABBR, STATE_CONST, STATE_DESC
 
Fields inherited from interface javax.swing.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AbstractInbox(MailSystemDesktop ms, GameManager gm, Settings settings)
           
 
Method Summary
 void controllerChange(ControllerChangeEvent ev)
          Queues this to run in the awt event thread.
 void controllerChangeFinished(ChangeFinishedEvent ev)
          Sent when the system has finished transitioning to a new state.
 void controllerChangeVetoed(ActionVetoException ex)
          Sent when the system has decided not to transition on a user action.
 java.util.Enumeration getMailBoxes()
           
 void init(StringValueMap extraButtonData)
          Adds all controls to the inbox.
abstract  MailBox mailboxFactory(Person p, MailSystemDesktop ms, Settings settings)
          This method should return a mailbox suitable for the given person.
 void run()
          Decides whether to show the inbox panel or not and highlights active mailboxes.
abstract  StartGame startGameFactory(Player p, MailSystemDesktop ms, Settings settings)
          This method should return a gamebox suitable for the given player.
 java.lang.String toString()
           
 
Methods inherited from class talx.view.components.TALPanel
getFocusCycleCurrent, getFocusCycleStart, getNextFocusOwner, getPreviousFocusOwner, init, init, isFocusable, isFocusCycleEnd
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface talx.view.TALComponent
getFocusCycleCurrent, getFocusCycleStart, getNextFocusOwner, getPreviousFocusOwner, isFocusable, isFocusCycleEnd
 

Field Detail

ms

protected MailSystemDesktop ms

settings

protected Settings settings

gm

protected GameManager gm

currentState

protected GUIState currentState
Informs the run method how to draw.

Constructor Detail

AbstractInbox

public AbstractInbox(MailSystemDesktop ms,
                     GameManager gm,
                     Settings settings)
Method Detail

init

public void init(StringValueMap extraButtonData)
Adds all controls to the inbox. This method should be called by subclass constructors last. This method reads adds a logout button, mailboxes and start games as indicated in the settings.

Parameters:
extraButtonData - the contents of the non-scrolling button panel at the bottom of the inbox. These should have the action command as the key and the button text as the value.

mailboxFactory

public abstract MailBox mailboxFactory(Person p,
                                       MailSystemDesktop ms,
                                       Settings settings)
This method should return a mailbox suitable for the given person. Any active controls should be registered with the ActionDispatcher prior to returning from this method.


startGameFactory

public abstract StartGame startGameFactory(Player p,
                                           MailSystemDesktop ms,
                                           Settings settings)
This method should return a gamebox suitable for the given player. Any active controls should be registered with the ActionDispatcher prior to returning from this method.


controllerChange

public void controllerChange(ControllerChangeEvent ev)
Queues this to run in the awt event thread. To change the drawing behavior, override the run method.

Specified by:
controllerChange in interface ControllerListener

run

public void run()
Decides whether to show the inbox panel or not and highlights active mailboxes.

Specified by:
run in interface java.lang.Runnable

getMailBoxes

public java.util.Enumeration getMailBoxes()
Specified by:
getMailBoxes in interface InboxGUI

controllerChangeFinished

public void controllerChangeFinished(ChangeFinishedEvent ev)
Description copied from interface: ControllerListener
Sent when the system has finished transitioning to a new state.

Specified by:
controllerChangeFinished in interface ControllerListener

controllerChangeVetoed

public void controllerChangeVetoed(ActionVetoException ex)
Description copied from interface: ControllerListener
Sent when the system has decided not to transition on a user action.

Specified by:
controllerChangeVetoed in interface ControllerListener

toString

public java.lang.String toString()

talx x1.0.5

© 2001-2005 University of Oregon.
Eugene OR 97403, U.S.A. All Rights Reserved.