wtanaka.praya.disp
Class JPrayaPanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--wtanaka.praya.disp.JPrayaPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, EditorListener, java.util.EventListener, FolderChangeListener, FolderListener, java.awt.image.ImageObserver, java.awt.MenuContainer, MessageTargetDescriber, ProtocolDescriptionListener, ProtocolSelectable, Pushable, java.io.Serializable, java.awt.event.WindowListener

public class JPrayaPanel
extends javax.swing.JPanel
implements EditorListener, Pushable, java.awt.event.ActionListener, java.awt.event.WindowListener, MessageTargetDescriber, FolderChangeListener, ProtocolDescriptionListener, ProtocolSelectable, FolderListener

This is the main praya functionality and ui.

Version:
$Name: $ $Date: 2002/07/13 22:10:43 $
Author:
$Author: wtanaka $
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.ActionStandin, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
(package private)  ProtoFolder configFolder
           
(package private)  Display currentDisplay
           
(package private)  javax.swing.JPanel currentDisplayCont
           
(package private)  NormalFolder currentFolder
           
private  Protocol displayedProtocol
          If there is no selected message to reply to, the message is sent through this protocol.
(package private)  EditorManager em
           
private  IdleTracker m_idletracker
           
(package private)  JModuleAdder moduleAdder
           
(package private)  ModuleManager moduleManager
           
(package private)  OutboxFolder outboxFolder
           
private  java.util.Vector protocols
          A vector containing the currently instantiated protocols.
(package private)  NormalFolder rootFolder
           
private  java.lang.Object secret
          Used to change the thread that is allowed to make system folders.
private  SplitTableDisplay splitTableInstance
           
private  TableDisplay tableInstance
          The instance of the TableDisplay
(package private)  TrashFolder trashFolder
           
private  TreeDisplay treeInstance
           
 
Fields inherited from class javax.swing.JPanel
defaultLayout, uiClassID
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, actionMap, ACTIONMAP_CREATED, alignmentX, alignmentY, ANCESTOR_INPUTMAP_CREATED, ANCESTOR_USING_BUFFER, ancestorInputMap, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, CREATED_DOUBLE_BUFFER, flags, FOCUS_INPUTMAP_CREATED, focusInputMap, HAS_FOCUS, htmlKey, htmlView, inputVerifier, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, IS_PRINTING, IS_PRINTING_ALL, KEY_EVENTS_ENABLED, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, paintingChild, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, verifyInputWhenFocusTarget, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW, WHEN_IN_FOCUSED_WINDOW_BINDINGS, WIF_INPUTMAP_CREATED, windowInputMap
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dbg, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JPrayaPanel()
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
          Implementation of ActionListener.
 void addProtocol(Protocol p)
           
 void contentsChanged(NormalFolder folder, int begin, int end)
           
(package private)  void createNewFolder()
           
 void currentFolderChanged(FolderChangeEvent evt)
          Changes the current folder based on the FolderChangeEvent given
 void descriptionChanged(ProtocolDescriptionEvent evt)
          From interface ProtocolDescriptionListener -- redraws the display and updates the editor send target.
 void editorEventPerformed(EditorEvent evt)
           
(package private)  void generateLongMessage()
          Generates a long message and puts it in the current folder.
(package private)  void generateMessages()
          Generates some test messages and puts them in the current folder.
 Recipient getSendRecipient()
          This is not allowed to return null.
 void intervalAdded(NormalFolder folder, int begin, int end)
          Called when an object is added to a folder
 void intervalRemoved(NormalFolder folder, int begin, int end)
          Called when an object is removed from a folder.
 void receiveMessage(Message m)
          This is from the pushable interface.
 void removeProtocol(Protocol p)
           
 void selectProtocol(Protocol p)
           
 void selectProtocol(ProtoObj p)
           
(package private)  void setCurrentDisplay(Display d)
           
 void shutdown()
           
 void windowActivated(java.awt.event.WindowEvent evt)
           
 void windowClosed(java.awt.event.WindowEvent evt)
           
 void windowClosing(java.awt.event.WindowEvent evt)
           
 void windowDeactivated(java.awt.event.WindowEvent evt)
           
 void windowDeiconified(java.awt.event.WindowEvent evt)
           
 void windowIconified(java.awt.event.WindowEvent evt)
           
 void windowOpened(java.awt.event.WindowEvent evt)
           
 
Methods inherited from class javax.swing.JPanel
, getAccessibleContext, getUIClassID, paramString, updateUI, writeObject
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, checkIfChildObscuredBySibling, clearFocusOwners, componentInputMapChanged, computeVisibleRect, computeVisibleRect, compWriteObjectNotify, contains, createToolTip, disable, enable, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getCreatedDoubleBuffer, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInputMap, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, rectangleIsObscuredBySibling, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setCreatedDoubleBuffer, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPaintingChild, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, unregisterWithKeyboardManager, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, adjustListeningChildren, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, nextFocus, numListening, paintComponents, paintHeavyweightComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, printComponents, printHeavyweightComponents, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFocusOwner, setLayout, transferFocus, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, constructComponentName, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isRecursivelyVisible, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resetGC, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

protocols

private final java.util.Vector protocols
A vector containing the currently instantiated protocols.

m_idletracker

private IdleTracker m_idletracker

secret

private java.lang.Object secret
Used to change the thread that is allowed to make system folders.

em

EditorManager em

moduleManager

ModuleManager moduleManager

moduleAdder

JModuleAdder moduleAdder

rootFolder

NormalFolder rootFolder

currentFolder

NormalFolder currentFolder

configFolder

ProtoFolder configFolder

outboxFolder

OutboxFolder outboxFolder

trashFolder

TrashFolder trashFolder

currentDisplayCont

javax.swing.JPanel currentDisplayCont

currentDisplay

Display currentDisplay

tableInstance

private TableDisplay tableInstance
The instance of the TableDisplay

splitTableInstance

private SplitTableDisplay splitTableInstance

treeInstance

private TreeDisplay treeInstance

displayedProtocol

private Protocol displayedProtocol
If there is no selected message to reply to, the message is sent through this protocol.
Constructor Detail

JPrayaPanel

public JPrayaPanel()
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Implementation of ActionListener. listens for certain menu actions, and takes appropriate action.
Specified by:
actionPerformed in interface java.awt.event.ActionListener

createNewFolder

void createNewFolder()

setCurrentDisplay

void setCurrentDisplay(Display d)
Parameters:
d - the new display. it cannot be null

editorEventPerformed

public void editorEventPerformed(EditorEvent evt)
Specified by:
editorEventPerformed in interface EditorListener

receiveMessage

public void receiveMessage(Message m)
This is from the pushable interface. it allows this Praya to listen for messages from its protocol clients.
Specified by:
receiveMessage in interface Pushable

getSendRecipient

public Recipient getSendRecipient()
Description copied from interface: MessageTargetDescriber
This is not allowed to return null.
Specified by:
getSendRecipient in interface MessageTargetDescriber

addProtocol

public void addProtocol(Protocol p)

descriptionChanged

public void descriptionChanged(ProtocolDescriptionEvent evt)
From interface ProtocolDescriptionListener -- redraws the display and updates the editor send target.
Specified by:
descriptionChanged in interface ProtocolDescriptionListener
See Also:
ProtocolDescriptionListener.descriptionChanged(wtanaka.praya.ProtocolDescriptionEvent)

removeProtocol

public void removeProtocol(Protocol p)

selectProtocol

public void selectProtocol(Protocol p)

selectProtocol

public void selectProtocol(ProtoObj p)
Specified by:
selectProtocol in interface ProtocolSelectable

shutdown

public void shutdown()

generateMessages

void generateMessages()
Generates some test messages and puts them in the current folder.

generateLongMessage

void generateLongMessage()
Generates a long message and puts it in the current folder.

windowActivated

public void windowActivated(java.awt.event.WindowEvent evt)
Specified by:
windowActivated in interface java.awt.event.WindowListener

windowClosed

public void windowClosed(java.awt.event.WindowEvent evt)
Specified by:
windowClosed in interface java.awt.event.WindowListener

windowClosing

public void windowClosing(java.awt.event.WindowEvent evt)
Specified by:
windowClosing in interface java.awt.event.WindowListener

windowDeactivated

public void windowDeactivated(java.awt.event.WindowEvent evt)
Specified by:
windowDeactivated in interface java.awt.event.WindowListener

windowDeiconified

public void windowDeiconified(java.awt.event.WindowEvent evt)
Specified by:
windowDeiconified in interface java.awt.event.WindowListener

windowIconified

public void windowIconified(java.awt.event.WindowEvent evt)
Specified by:
windowIconified in interface java.awt.event.WindowListener

windowOpened

public void windowOpened(java.awt.event.WindowEvent evt)
Specified by:
windowOpened in interface java.awt.event.WindowListener

currentFolderChanged

public void currentFolderChanged(FolderChangeEvent evt)
Changes the current folder based on the FolderChangeEvent given
Specified by:
currentFolderChanged in interface FolderChangeListener

intervalRemoved

public void intervalRemoved(NormalFolder folder,
                            int begin,
                            int end)
Description copied from interface: FolderListener
Called when an object is removed from a folder.
Specified by:
intervalRemoved in interface FolderListener
Following copied from interface: wtanaka.praya.obj.FolderListener
Parameters:
folder - the folder from which the object was removed

intervalAdded

public void intervalAdded(NormalFolder folder,
                          int begin,
                          int end)
Description copied from interface: FolderListener
Called when an object is added to a folder
Specified by:
intervalAdded in interface FolderListener
Following copied from interface: wtanaka.praya.obj.FolderListener
Parameters:
target - the folder to which the object was added

contentsChanged

public void contentsChanged(NormalFolder folder,
                            int begin,
                            int end)
Specified by:
contentsChanged in interface FolderListener