Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

edu.ou.kmi.buddyspace.gui
Class BSRosterTreeView  view BSRosterTreeView download BSRosterTreeView.java

java.lang.Object
  extended byedu.ou.kmi.buddyspace.gui.BSRosterTreeView
All Implemented Interfaces:
java.awt.event.ActionListener, edu.ou.kmi.buddyspace.core.BSMessageListener, edu.ou.kmi.buddyspace.core.BSPresenceListener, java.util.EventListener, java.awt.event.MouseListener, org.jabber.jabberbeans.RosterListener

public class BSRosterTreeView
extends java.lang.Object
implements org.jabber.jabberbeans.RosterListener, edu.ou.kmi.buddyspace.core.BSPresenceListener, edu.ou.kmi.buddyspace.core.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.
 
Field Summary
private  javax.swing.JMenuItem addContactMenuItem
           
private  javax.swing.JPopupMenu buddyContextMenu
           
private  javax.swing.JMenuItem changeMenuItem
           
private  javax.swing.JMenuItem chatMenuItem
           
private  javax.swing.JPopupMenu componentContextMenu
           
private  edu.ou.kmi.buddyspace.core.BSCore core
           
private  javax.swing.JMenuItem deleteMenuItem
           
private  boolean expand
           
private  javax.swing.JPopupMenu groupContextMenu
           
private  java.util.TreeMap groups
           
private  java.util.Hashtable items
           
private  javax.swing.JMenuItem loginMenuItem
           
private  javax.swing.JMenuItem logoutMenuItem
           
private  BSMainFrame mainFrame
           
private  edu.ou.kmi.buddyspace.core.BSMessengerBean messengerBean
           
private  javax.swing.tree.DefaultTreeModel model
           
private  javax.swing.JMenuItem msgGroupOnlineMenuItem
           
private  javax.swing.JMenuItem msgMenuItem
           
private  javax.swing.JMenuItem msgWholeGroupMenuItem
           
private  JID myJID
           
private  java.lang.String myResGroupName
           
private  boolean onlyOnline
           
private  edu.ou.kmi.buddyspace.core.BSPresenceBean presenceBean
           
private  javax.swing.JMenuItem refreshMenuItem
           
private  java.util.Hashtable relations
           
(package private)  javax.swing.JMenu relationsMenu
           
(package private)  javax.swing.JMenuItem relContactMenuItem
           
(package private)  javax.swing.JMenuItem relDeleteMenuItem
           
(package private)  javax.swing.JMenuItem relPeerMenuItem
           
(package private)  javax.swing.JMenuItem relSubMenuItem
           
(package private)  javax.swing.JMenuItem relSupMenuItem
           
private  javax.swing.JPopupMenu resourceContextMenu
           
private  javax.swing.tree.DefaultMutableTreeNode root
           
private  edu.ou.kmi.buddyspace.core.BSRosterBean rosterBean
           
private  javax.swing.JScrollPane scrollPane
           
private  javax.swing.JMenuItem sendFileMenuItem
           
private  javax.swing.JMenuItem subscribeMenuItem
           
private  BSRosterTreeView.BSRosterRestorableTree tree
           
 
Constructor Summary
BSRosterTreeView(BSMainFrame mainFrame, edu.ou.kmi.buddyspace.core.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(org.jabber.jabberbeans.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
 javax.swing.JScrollPane getScrollPane()
          Returns scrollPane - the top GUI component of rosterTree
 void groupchatMessageReceived(org.jabber.jabberbeans.Message msg)
          BSMessageListener function - update unread msg flag.
 void headlineMessageReceived(org.jabber.jabberbeans.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(org.jabber.jabberbeans.Message msg)
          BSMessageListener function - empty implementation.
 void messageRead(org.jabber.jabberbeans.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(org.jabber.jabberbeans.Message msg)
          BSMessageListener function - update unread msg flag.
 void presenceChanged(edu.ou.kmi.buddyspace.core.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.
 void setMessengerBean(edu.ou.kmi.buddyspace.core.BSMessengerBean messengerBean)
          Sets messengerBean
protected  void setOfflineTree()
           
 void setOnlyOnline(boolean onlyOnline)
          Sets the tree to display only online users
 void setPresenceBean(edu.ou.kmi.buddyspace.core.BSPresenceBean presenceBean)
          Sets presenceBean
private  void setRelation(java.lang.String category)
          Sets my relation to jid.
 void setRosterBean(edu.ou.kmi.buddyspace.core.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 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
 
Methods inherited from interface org.jabber.jabberbeans.RosterListener
changedRoster, replacedRoster
 

Field Detail

groups

private java.util.TreeMap groups

items

private java.util.Hashtable items

relations

private java.util.Hashtable relations

rosterBean

private edu.ou.kmi.buddyspace.core.BSRosterBean rosterBean

presenceBean

private edu.ou.kmi.buddyspace.core.BSPresenceBean presenceBean

messengerBean

private edu.ou.kmi.buddyspace.core.BSMessengerBean messengerBean

tree

private BSRosterTreeView.BSRosterRestorableTree tree

scrollPane

private javax.swing.JScrollPane scrollPane

root

private javax.swing.tree.DefaultMutableTreeNode root

model

private javax.swing.tree.DefaultTreeModel model

refreshMenuItem

private javax.swing.JMenuItem refreshMenuItem

addContactMenuItem

private javax.swing.JMenuItem addContactMenuItem

msgMenuItem

private javax.swing.JMenuItem msgMenuItem

msgGroupOnlineMenuItem

private javax.swing.JMenuItem msgGroupOnlineMenuItem

msgWholeGroupMenuItem

private javax.swing.JMenuItem msgWholeGroupMenuItem

chatMenuItem

private javax.swing.JMenuItem chatMenuItem

sendFileMenuItem

private javax.swing.JMenuItem sendFileMenuItem

deleteMenuItem

private javax.swing.JMenuItem deleteMenuItem

subscribeMenuItem

private javax.swing.JMenuItem subscribeMenuItem

changeMenuItem

private javax.swing.JMenuItem changeMenuItem

loginMenuItem

private javax.swing.JMenuItem loginMenuItem

logoutMenuItem

private javax.swing.JMenuItem logoutMenuItem

groupContextMenu

private javax.swing.JPopupMenu groupContextMenu

buddyContextMenu

private javax.swing.JPopupMenu buddyContextMenu

resourceContextMenu

private javax.swing.JPopupMenu resourceContextMenu

componentContextMenu

private javax.swing.JPopupMenu componentContextMenu

relationsMenu

javax.swing.JMenu relationsMenu

relSupMenuItem

javax.swing.JMenuItem relSupMenuItem

relSubMenuItem

javax.swing.JMenuItem relSubMenuItem

relPeerMenuItem

javax.swing.JMenuItem relPeerMenuItem

relContactMenuItem

javax.swing.JMenuItem relContactMenuItem

relDeleteMenuItem

javax.swing.JMenuItem relDeleteMenuItem

onlyOnline

private boolean onlyOnline

myResGroupName

private final java.lang.String myResGroupName
See Also:
Constant Field Values

expand

private boolean expand

core

private edu.ou.kmi.buddyspace.core.BSCore core

myJID

private JID myJID

mainFrame

private BSMainFrame mainFrame
Constructor Detail

BSRosterTreeView

public BSRosterTreeView(BSMainFrame mainFrame,
                        edu.ou.kmi.buddyspace.core.BSCore core)
Constructor

Method Detail

setRosterBean

public void setRosterBean(edu.ou.kmi.buddyspace.core.BSRosterBean rosterBean)
Sets rosterBean


setPresenceBean

public void setPresenceBean(edu.ou.kmi.buddyspace.core.BSPresenceBean presenceBean)
Sets presenceBean


setMessengerBean

public void setMessengerBean(edu.ou.kmi.buddyspace.core.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(edu.ou.kmi.buddyspace.core.BSPresenceInfo pi)
BSPresenceListener function - updates roster.

Specified by:
presenceChanged in interface edu.ou.kmi.buddyspace.core.BSPresenceListener

presencesCleared

public void presencesCleared()
BSPresenceListener function - updates roster.

Specified by:
presencesCleared in interface edu.ou.kmi.buddyspace.core.BSPresenceListener

subscriptionRequested

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

Specified by:
subscriptionRequested in interface edu.ou.kmi.buddyspace.core.BSPresenceListener

subscriptionApproved

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

Specified by:
subscriptionApproved in interface edu.ou.kmi.buddyspace.core.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(org.jabber.jabberbeans.Message msg)
BSMessageListener function - update unread msg flag.

Specified by:
plainMessageReceived in interface edu.ou.kmi.buddyspace.core.BSMessageListener

chatMessageReceived

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

Specified by:
chatMessageReceived in interface edu.ou.kmi.buddyspace.core.BSMessageListener

headlineMessageReceived

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

Specified by:
headlineMessageReceived in interface edu.ou.kmi.buddyspace.core.BSMessageListener

groupchatMessageReceived

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

Specified by:
groupchatMessageReceived in interface edu.ou.kmi.buddyspace.core.BSMessageListener

messageRead

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

Specified by:
messageRead in interface edu.ou.kmi.buddyspace.core.BSMessageListener

messageError

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

Specified by:
messageError in interface edu.ou.kmi.buddyspace.core.BSMessageListener

messageError

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

Specified by:
messageError in interface edu.ou.kmi.buddyspace.core.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.


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

setRelation

private void setRelation(java.lang.String category)
Sets my relation to jid. I-X process panels stuff.


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.


sendFileTo

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