talx x1.0.5

talx.view.composer
Class BasicComposer

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.composer.BasicComposer
All Implemented Interfaces:
javax.accessibility.Accessible, ComposerGUI, ControllerListener, EraseListener, java.util.EventListener, GUIStateConstants, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.ScrollPaneConstants, java.io.Serializable, TALComponent
Direct Known Subclasses:
BuddyIconComposer, VirtualKeyboardComposer

public class BasicComposer
extends TALPanel
implements ComposerGUI, ControllerListener, EraseListener, GUIStateConstants, javax.swing.ScrollPaneConstants

This class is a JFrame which represents the Composer window for this email client. It contains all field and buttons for creating a message and sending. The message is sent out through events. Also included in this InternalFrame is a comboe box for choosing message templates to make typing a message easier for the user.

See Also:
Serialized Form

Nested Class Summary
protected  class BasicComposer.ComposerButton
           
 
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  BasicComposer.ComposerButton[] buttons
          Action Buttons.
protected  TALLabel messageLabel
          Label to hold the caption for the editor pane.
protected  ReplyPane messageText
          This pane is for the message area.
protected  javax.swing.JTextField subjectField
          Control that holds the subject line.
 
Fields inherited from class talx.view.components.TALPanel
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.ComposerGUI
CANCEL_BUTTON_NAME, CLEAN_COMMAND, DIRTY_COMMAND, EDIT_COMMAND, MESSAGE_TEXT_NAME, NAME, POSTPONE_BUTTON_NAME, SEND_BUTTON_NAME, SENTENCE_COMMAND, SUBJECT_FIELD_NAME, WORD_COMMAND
 
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
BasicComposer(MailSystemDesktop ms, Settings settings, java.lang.String param)
           
 
Method Summary
 void controllerChange(ControllerChangeEvent ev)
          Sent when the controller wants the GUI to change state.
 void controllerChangeFinished(ChangeFinishedEvent ev)
          Sent when the gui state has been finalized.
 void controllerChangeVetoed(ActionVetoException ex)
          Sent when the system has decided not to transition on a user action.
 void eraseGenerated(EraseEvent e)
          This method listens to our ReplyPane for when the user deletes.
 int[] getDeletions()
          Returns the information on erasures.
 MailSystemDesktop getDesktop()
          Returns the desktop of which this composer is a part.
 java.util.Enumeration getInternalControls()
          Returns an iterator on the radio buttons (if any) in the message pane.
 ComposerControl[] getMainControls()
          Returns the send and abort buttons.
 java.lang.String getSubject()
          Returns the subject entered into this reply.
 java.lang.String getText()
          Returns the text entered into this reply.
 long getTime()
          Returns the time since the composer was last made visible.
 void reset()
          Resets the time and deletion information.
 void setDeletions(int[] values)
           
 void setSubject(java.lang.String text)
          Sets the subject for this reply.
 void setText(java.lang.String value)
          Enters the new text into the compose area.
 void setTime(long value)
           
 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

buttons

protected BasicComposer.ComposerButton[] buttons
Action Buttons.


messageText

protected ReplyPane messageText
This pane is for the message area.


messageLabel

protected TALLabel messageLabel
Label to hold the caption for the editor pane.


subjectField

protected javax.swing.JTextField subjectField
Control that holds the subject line.

Constructor Detail

BasicComposer

public BasicComposer(MailSystemDesktop ms,
                     Settings settings,
                     java.lang.String param)
Parameters:
ms - The Desktop frame that the ComposerGUI will be added to.
settings - The settings for the gui system.
param - a string with key=value pairs describing the buttons at the bottom of the composer, where key is the action command and value is the button label.
Method Detail

controllerChange

public void controllerChange(ControllerChangeEvent ev)
Sent when the controller wants the GUI to change state.

Specified by:
controllerChange in interface ControllerListener

controllerChangeFinished

public void controllerChangeFinished(ChangeFinishedEvent ev)
Sent when the gui state has been finalized.

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

eraseGenerated

public void eraseGenerated(EraseEvent e)
This method listens to our ReplyPane for when the user deletes.

Specified by:
eraseGenerated in interface EraseListener

getTime

public long getTime()
Returns the time since the composer was last made visible.

Specified by:
getTime in interface ComposerGUI

setTime

public void setTime(long value)
Specified by:
setTime in interface ComposerGUI

getDeletions

public int[] getDeletions()
Returns the information on erasures.

Specified by:
getDeletions in interface ComposerGUI
Returns:
an int array with the first element set to the number of erased words and the second element set to the number of erased characters.

setDeletions

public void setDeletions(int[] values)
Specified by:
setDeletions in interface ComposerGUI

getMainControls

public ComposerControl[] getMainControls()
Returns the send and abort buttons.

Specified by:
getMainControls in interface ComposerGUI

getInternalControls

public java.util.Enumeration getInternalControls()
Returns an iterator on the radio buttons (if any) in the message pane.

Specified by:
getInternalControls in interface ComposerGUI

getSubject

public java.lang.String getSubject()
Returns the subject entered into this reply.

Specified by:
getSubject in interface ComposerGUI

setSubject

public void setSubject(java.lang.String text)
Sets the subject for this reply.

Specified by:
setSubject in interface ComposerGUI

getText

public java.lang.String getText()
Returns the text entered into this reply.

Specified by:
getText in interface ComposerGUI

setText

public void setText(java.lang.String value)
Enters the new text into the compose area.

Specified by:
setText in interface ComposerGUI

getDesktop

public MailSystemDesktop getDesktop()
Returns the desktop of which this composer is a part.

Specified by:
getDesktop in interface ComposerGUI

reset

public void reset()
Resets the time and deletion information.

Specified by:
reset in interface ComposerGUI

toString

public java.lang.String toString()

talx x1.0.5

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