Package wtanaka.praya.gui

Set of generic GUI widgets.

See:
          Description

Interface Summary
ChatWidget This is a chat Widget which talks to exactly one other person.
Compositor Interface indicating that a subclass is an editor component.
MessageDrop A message drop is the recipient for several different protocols.
MessageWidget Message Widget base interface.
MultiChatWidget This is a chat widget that can handle more than one recipient.
ProtocolList Protocol List Widget.
RecipientList This widget represents the current state of the list of recipients for a given protocol.
UIFactory A MessageDrop is a place where some number of protocols can drop their messages.
Widget Widget base class for all wtanaka.praya.gui widgets.
 

Class Summary
AboutBox About Box Window.
ConfigureDialog Configuration dialog box used to configure a protocol.
Console This console is good for dumping error messages.
DefaultChatWidget This is the ytalk-like chat widget which allows input on a character-by-character basis and batches the text up into individual messages.
DefaultCompositor Default implementation of Compositor, suitable for subclassing or otherwise including in a more UI specific Compositor.
DefaultMessage Proposed new widget for text in a message drop.
DefaultMessageDrop A message drop is the recipient for several different protocols.
DefaultProtocolList DefaultProtocolList includes a visual list of instantiated protocols.
DefaultRecipientList This is the default recipient list implementation, useful for inclusion in other implementors of the UIFactory.
DefaultRecipientListCellRenderer Default recipient list cell renderer.
DefaultStatusPulldown Default status pulldown implementation.
DetachedMessage Detached message frame.
FolderListCellRenderer Used by ListMessageDrop.
FolderListModel Used by ListMessageDrop.
GenericConfigPanel A JPanel that gives a generic user interface surfacing a list of configuration items.
GUI Main GUI class.
GuiUtil External methods for swing GUI stuff.
HTMLMessageDrop Message drop implemented using a JEditorPane and HTML for separating and rendering messages.
JDefaultButton Button with "default" look.
JLessLeakyFrame A less leaky frame that has the workaround suggested in: http://developer.java.sun.com/developer/bugParade/bugs/4256253.html
JWidthTrackingList This JList subclass forces its children to track the Viewport width.
LicenseBox License information.
ListMessageDrop ListMessageDrop is a standard message display widget.
MessageEditorKit This kit supports URL highlighting.
MessageTextArea A subclass of JTextArea which handles tab as any other character, and can optionally handle return by generating an action event (instead of inserting a return character).
ModuleList Editable module list.
ModuleListModel ListModel for a ModuleList.
NewProtocolDialog New Protocol Dialog Box.
NewProtocolDialog.ProtocolCellRenderer  
PostMessageComponent Component which renders a horizontal rule and also contains a reference to the message above it.
ProtocolConsole UI widget for accessing the console of a protocol.
ProtocolGUIUtils Utility methods for calling protocol methods through reflection.
TalkChatWidget Character-by-character chat widget ala ytalk.
TalkChatWidget.JLabeledTextArea A text area with a label at the top which represents a particular chat participant.
TimedDocumentReactor This class is a DocumentListener which aggregates calls to removeUpdate() and insertUpdate() and calls an ActionListener if enough time elapses without receiving any removeUpdate or insertUpdate calls.
WindowHider WindowHider sets windows to be invisible on windowClosing events().
 

Package wtanaka.praya.gui Description

Set of generic GUI widgets. The package is organized into
Fully Generic Classes. These are classes which are not specific to Praya in any way, but are used by other classes in this package or in the application. GuiUtil provides some external methods for methods added to java.awt.Frame added post-swing 1.1.

JDefaultButton is a JButton which has the "default" selected look to it.

JLessLeakyFrame implements the workaround suggested for fixing a memory leak suggested in sun java bug 4256253.

Console, a window for displaying textual output. TimedDocumentReactor, a document listener which triggers an action after editing stops on its document for more than a configurable time. WindowHider a WindowAdapter which sets its target to non-visible on windowclosing events.

MessageEditorKit extends DefaultEditorKit and supports URL highlighting.

Praya specific interfaces The base class Widget, and its subclasses:
MessageWidget which represents the GUI for one message.
MessageDrop which represents a display of some number of messages.
Compositor which represents the input area for writing a message.
ProtocolList, a list of protocols
RecipientList, a list of recipients
ChatWidget which represents a UI widget combining a message drop and an compositor (many IM systems use this kind of UI)
MultiChatWidget which is a chat widget that can handle multiple recipients

UIFactory encapsulates a particular UI behavior and is used to create widgets and direct the behavior of the UI consistent with the UI behavior.

Message display (both individual and grouped) DetachedMessage used to display one single detached message

DefaultMessageDrop, the original message drop

ListMessageDrop, the JList based message drop and its helper classes JWidthTrackingList, FolderListModel, and FolderListCellRenderer

HTMLMessageDrop, the experimental HTML rendering based message drop and its helper class PostMessageComponent

DefaultMessage, an experimental new message display

Compositors. These classes allow you to compose outgoing messages. DefaultCompositor, the default compositor, and its editable text area, MessageTextArea
Protocols: creation, display and configuration thereof. DefaultProtocolList the default ProtocolList and NewProtocolDialog which allows you to create new Protocols

ConfigureDialog and GenericConfigPanel, the components for configuring protocol instances.

ProtocolConsole which allows you to send textual commands to a particular instance of a Protocol.

Finally, ProtocolMethodUtils contains some internal utilities used to query protocol instances.

Recipients DefaultRecipientList DefaultRecipientListCellRenderer
Modules ModuleList ModuleListModel
Status DefaultStatusPulldown
Support components -- these are things like about boxes and license boxes. They are administrative ui components which are necessary for the application as a whole, but not for the proper use of the application features. AboutBox LicenseBox
Main Entry Point GUI