edu.ou.kmi.buddyspace.gui
Class BSRosterTreeView

java.lang.Object
  |
  +--edu.ou.kmi.buddyspace.gui.BSRosterTreeView
All Implemented Interfaces:
java.awt.event.ActionListener, BSMessageListener, BSPresenceListener, java.util.EventListener, java.awt.event.MouseListener

public class BSRosterTreeView
extends java.lang.Object
implements BSPresenceListener, BSMessageListener, java.awt.event.MouseListener, java.awt.event.ActionListener

BSRosterTreeView is graphical display of roster using tree. It relies on BSRosterBean, BSPresenceBean and BSMessengerBean.


Nested Class Summary
 class BSRosterTreeView.BSComponentNode
          BSComponentNode is a tree node representing resource of a JID.
 class BSRosterTreeView.BSGroupNode
          BSGroupNode is one of the BSRosterTreeView nodes.
 class BSRosterTreeView.BSJIDItem
          BSJIDItem holds information needed for displaying a jid in tree.
 class BSRosterTreeView.BSResourceNode
          BSResourceNode is a tree node representing resource of a JID.
 class BSRosterTreeView.BSRosterRenderer
          BSRosterRenderer provides roster tree specific rendering.
protected  class BSRosterTreeView.BSRosterRestorableTree
          BSRosterRestorableTree provides storing and restoring of expansion state.
 
Constructor Summary
BSRosterTreeView(BSMainFrame mainFrame, BSCore core)
          Constructor
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          ActionListener function.
protected  void addContact()
          Called when addContact selected.
protected  void addMyResources()
          Adds my resources into the tree
protected  void addRosterItem(BSRosterTreeView.BSComponentNode node, java.lang.String groupName)
          Adds given transport item into the group
protected  void addRosterItem(BSRosterTreeView.BSJIDItem ji, java.lang.String groupName)
          Adds given jid item into the group
protected  void adjustPopupPosition(javax.swing.JPopupMenu menu)
          Adjusts popup menu position
 void changeContact()
          Called from outside the roster tree to change selected node.
protected  void changeContact(javax.swing.tree.DefaultMutableTreeNode buddy)
          Called when changeContact selected.
 void changedRoster(Roster r)
          RosterListener function - updates roster.
 void chatMessageReceived(Message msg)
          BSMessageListener function - update unread msg flag.
protected  void collapseAllGroups()
          Collapses all groups
protected  void composeMessage(javax.swing.JMenuItem mi)
          Called when compose message is selected.
 void deleteContact()
          Called from outside the roster tree to delete selected node.
protected  void deleteContact(javax.swing.tree.DefaultMutableTreeNode buddy)
          Called when deleteContact selected.
protected  void expandAllGroups()
          Expands all groups
protected  void getPlan(javax.swing.tree.DefaultMutableTreeNode buddy)
          Called when getPlan selected.
 javax.swing.JScrollPane getScrollPane()
          Returns scrollPane - the top GUI component of rosterTree
 void groupchatMessageReceived(Message msg)
          BSMessageListener function - update unread msg flag.
 void headlineMessageReceived(Message msg)
          BSMessageListener function - update unread msg flag.
protected  void initComponents()
          Inits GUI components
protected  void login()
          Called when login a component selected.
protected  void logout()
          Called when logout a component selected.
protected  void maybeShowPopup(java.awt.event.MouseEvent e)
          If supposed to, shows popup menu.
 void messageError(JID toAddress, java.lang.String errType, java.lang.String error)
          BSMessageListener function - empty implementation.
 void messageError(Message msg)
          BSMessageListener function - empty implementation.
 void messageRead(Message msg)
          BSMessageListener function - update unread msg flag.
 void mouseClicked(java.awt.event.MouseEvent e)
          MouseListener function - catches double-clicks.
 void mouseEntered(java.awt.event.MouseEvent e)
          MouseListener function - empty implementation.
 void mouseExited(java.awt.event.MouseEvent e)
          MouseListener function - empty implementation.
 void mousePressed(java.awt.event.MouseEvent e)
          MouseListener function - catches popup clicks.
 void mouseReleased(java.awt.event.MouseEvent e)
          MouseListener function - catches popup clicks.
protected  void openChatWindow()
          Called when open chat is selected.
 void plainMessageReceived(Message msg)
          BSMessageListener function - update unread msg flag.
 void presenceChanged(BSPresenceInfo pi)
          BSPresenceListener function - updates roster.
 void presencesCleared()
          BSPresenceListener function - updates roster.
 void replacedRoster(Roster r)
          RosterListener function - updates roster.
protected  void sendFileTo(javax.swing.tree.DefaultMutableTreeNode buddy)
          Called when sendFile selected.
protected  void setIndividualPresence(java.lang.Object source)
          Called when setIndividualPresence selected.
 void setMessengerBean(BSMessengerBean messengerBean)
          Sets messengerBean
protected  void setOfflineTree()
           
 void setOnlyOnline(boolean onlyOnline)
          Sets the tree to display only online users
 void setPresenceBean(BSPresenceBean presenceBean)
          Sets presenceBean
 void setRosterBean(BSRosterBean rosterBean)
          Sets rosterBean
 void setUserInfo(java.lang.String username, java.lang.String resource, java.lang.String server)
          Sets information about current user.
protected  void sortGroups()
          Sorts groups in roster tree
protected  void subscribe()
          Called when subscribe selected.
 void subscriptionApproved(JID jid)
          BSPresenceListener function - empty implementation.
 void subscriptionRequested(JID jid)
          BSPresenceListener function - empty implementation.
 void updateAfterMessageChange(JID fromAddress)
          Updates unread msg flag for jid
protected  void updatePresenceMenu(javax.swing.tree.DefaultMutableTreeNode node)
          Updates the individual presence menu before painting
protected  void updateRoster()
          Completely updates roster taking information from underlying roster, presence and messenger beans.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BSRosterTreeView

public BSRosterTreeView(BSMainFrame mainFrame,
                        BSCore core)
Constructor

Method Detail

setRosterBean

public void setRosterBean(BSRosterBean rosterBean)
Sets rosterBean


setPresenceBean

public void setPresenceBean(BSPresenceBean presenceBean)
Sets presenceBean


setMessengerBean

public void setMessengerBean(BSMessengerBean messengerBean)
Sets messengerBean


setUserInfo

public void setUserInfo(java.lang.String username,
                        java.lang.String resource,
                        java.lang.String server)
Sets information about current user. That is used for displaying myResources...


initComponents

protected void initComponents()
Inits GUI components


getScrollPane

public javax.swing.JScrollPane getScrollPane()
Returns scrollPane - the top GUI component of rosterTree


setOnlyOnline

public void setOnlyOnline(boolean onlyOnline)
Sets the tree to display only online users


presenceChanged

public void presenceChanged(BSPresenceInfo pi)
BSPresenceListener function - updates roster.

Specified by:
presenceChanged in interface BSPresenceListener

presencesCleared

public void presencesCleared()
BSPresenceListener function - updates roster.

Specified by:
presencesCleared in interface BSPresenceListener

subscriptionRequested

public void subscriptionRequested(JID jid)
BSPresenceListener function - empty implementation.

Specified by:
subscriptionRequested in interface BSPresenceListener

subscriptionApproved

public void subscriptionApproved(JID jid)
BSPresenceListener function - empty implementation.

Specified by:
subscriptionApproved in interface BSPresenceListener

changedRoster

public void changedRoster(Roster r)
RosterListener function - updates roster.


replacedRoster

public void replacedRoster(Roster r)
RosterListener function - updates roster.


updateRoster

protected void updateRoster()
Completely updates roster taking information from underlying roster, presence and messenger beans.


setOfflineTree

protected void setOfflineTree()

addRosterItem

protected void addRosterItem(BSRosterTreeView.BSJIDItem ji,
                             java.lang.String groupName)
Adds given jid item into the group


addRosterItem

protected void addRosterItem(BSRosterTreeView.BSComponentNode node,
                             java.lang.String groupName)
Adds given transport item into the group


sortGroups

protected void sortGroups()
Sorts groups in roster tree


expandAllGroups

protected void expandAllGroups()
Expands all groups


collapseAllGroups

protected void collapseAllGroups()
Collapses all groups


addMyResources

protected void addMyResources()
Adds my resources into the tree


plainMessageReceived

public void plainMessageReceived(Message msg)
BSMessageListener function - update unread msg flag.

Specified by:
plainMessageReceived in interface BSMessageListener

chatMessageReceived

public void chatMessageReceived(Message msg)
BSMessageListener function - update unread msg flag.

Specified by:
chatMessageReceived in interface BSMessageListener

headlineMessageReceived

public void headlineMessageReceived(Message msg)
BSMessageListener function - update unread msg flag.

Specified by:
headlineMessageReceived in interface BSMessageListener

groupchatMessageReceived

public void groupchatMessageReceived(Message msg)
BSMessageListener function - update unread msg flag.

Specified by:
groupchatMessageReceived in interface BSMessageListener

messageRead

public void messageRead(Message msg)
BSMessageListener function - update unread msg flag.

Specified by:
messageRead in interface BSMessageListener

messageError

public void messageError(JID toAddress,
                         java.lang.String errType,
                         java.lang.String error)
BSMessageListener function - empty implementation.

Specified by:
messageError in interface BSMessageListener

messageError

public void messageError(Message msg)
BSMessageListener function - empty implementation.

Specified by:
messageError in interface BSMessageListener

updateAfterMessageChange

public void updateAfterMessageChange(JID fromAddress)
Updates unread msg flag for jid


mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
MouseListener function - catches double-clicks.

Specified by:
mouseClicked in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
MouseListener function - catches popup clicks.

Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
MouseListener function - catches popup clicks.

Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
MouseListener function - empty implementation.

Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
MouseListener function - empty implementation.

Specified by:
mouseExited in interface java.awt.event.MouseListener

openChatWindow

protected void openChatWindow()
Called when open chat is selected. Open chat with selected jid.


composeMessage

protected void composeMessage(javax.swing.JMenuItem mi)
Called when compose message is selected. Opens composing of message with selected item.


subscribe

protected void subscribe()
Called when subscribe selected.


login

protected void login()
Called when login a component selected.


logout

protected void logout()
Called when logout a component selected.


maybeShowPopup

protected void maybeShowPopup(java.awt.event.MouseEvent e)
If supposed to, shows popup menu.


updatePresenceMenu

protected void updatePresenceMenu(javax.swing.tree.DefaultMutableTreeNode node)
Updates the individual presence menu before painting


adjustPopupPosition

protected void adjustPopupPosition(javax.swing.JPopupMenu menu)
Adjusts popup menu position


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
ActionListener function. Handles actions.

Specified by:
actionPerformed in interface java.awt.event.ActionListener

deleteContact

public void deleteContact()
Called from outside the roster tree to delete selected node.


changeContact

public void changeContact()
Called from outside the roster tree to change selected node.


addContact

protected void addContact()
Called when addContact selected.


deleteContact

protected void deleteContact(javax.swing.tree.DefaultMutableTreeNode buddy)
Called when deleteContact selected.


changeContact

protected void changeContact(javax.swing.tree.DefaultMutableTreeNode buddy)
Called when changeContact selected.


getPlan

protected void getPlan(javax.swing.tree.DefaultMutableTreeNode buddy)
Called when getPlan selected.


setIndividualPresence

protected void setIndividualPresence(java.lang.Object source)
Called when setIndividualPresence selected.


sendFileTo

protected void sendFileTo(javax.swing.tree.DefaultMutableTreeNode buddy)
Called when sendFile selected.