com.valhalla.jbother
Class BuddyListTree

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bycom.valhalla.jbother.BuddyListTree
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class BuddyListTree
extends javax.swing.JPanel

BuddyListTree is the part of the buddy list dialog that draws the buddies and their groups from your Jabber roster. It also displays different pictures for different statuses.

Version:
1.0
Author:
Adam Olsen
See Also:
Serialized Form

Nested Class Summary
(package private)  class BuddyListTree.BuddyListExpansionListener
          To listen to when a group gets expanded.
(package private)  class BuddyListTree.PopupMouseListener
          Listens for mouse events in the tree
 
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
 
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.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
BuddyListTree()
          Sets up the tree
 
Method Summary
 void addBuddy(BuddyStatus buddy)
          Adds a buddy to the tree - if it's not already in the tree
 void checkAddEntry(BuddyStatus buddy)
          finds out if the buddy should be displayed in the BuddyListTree.
 AutomatedTreeNode checkGroup(java.lang.String group)
          Checks to see if the group is already in the tree, and returns the index of it
 void clearBuddies()
          Clears all the buddies from the JTree
 boolean getShowAgentBuddies()
          Returns whether or not agent buddies are showing
 boolean getShowAgentMessages()
          Returns whether or now agent messages are to be recieved
 boolean getShowOfflineBuddies()
          Returns whether or not offlines buddies are showing
 boolean getShowUnfiledBuddies()
          Returns whether or not unfiled buddies are showing
 javax.swing.JTree getTree()
          Returns the JTree
 void initiateConversation()
          Starts a conversation if someone double double clicks on a buddy
 boolean isInTree(BuddyStatus buddy)
          Returns whether or not the buddy is in the tree
 void loadOfflineBuddies()
          Shows all the current offline buddies
 void reloadBuddies()
          Redraws the JTree
 void reloadBuddies(boolean loadOffline)
          Redraws the JTree
 void removeBuddy(BuddyStatus buddy, java.lang.String group)
          Removes the buddy from the tree
 void setConnection(org.jivesoftware.smack.XMPPConnection connection)
          Sets the JTree's XMPPConnection
 void setShowAgentBuddies(boolean show)
          Sets whether or not to show agents/transports
 void setShowAgentMessages(boolean show)
          Set to true if you want to show messages from agents
 void setShowOfflineBuddies(boolean show)
          Sets whether or not to show the offline buddies
 void setShowUnfiledBuddies(boolean show)
          Sets whether or not to show the unfiled buddies
 
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, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BuddyListTree

public BuddyListTree()
Sets up the tree

Method Detail

getTree

public javax.swing.JTree getTree()
Returns the JTree

Returns:
the actual JTree swing component

setConnection

public void setConnection(org.jivesoftware.smack.XMPPConnection connection)
Sets the JTree's XMPPConnection

Parameters:
connection - the current connection

setShowOfflineBuddies

public void setShowOfflineBuddies(boolean show)
Sets whether or not to show the offline buddies

Parameters:
show - true to show the offline buddies

setShowUnfiledBuddies

public void setShowUnfiledBuddies(boolean show)
Sets whether or not to show the unfiled buddies

Parameters:
show - true to show unfiled buddies

setShowAgentBuddies

public void setShowAgentBuddies(boolean show)
Sets whether or not to show agents/transports

Parameters:
show - true to show agents and transports

setShowAgentMessages

public void setShowAgentMessages(boolean show)
Set to true if you want to show messages from agents

Parameters:
show - whether or not to recieve messages

getShowOfflineBuddies

public boolean getShowOfflineBuddies()
Returns whether or not offlines buddies are showing

Returns:
true if offline buddies are showing

getShowUnfiledBuddies

public boolean getShowUnfiledBuddies()
Returns whether or not unfiled buddies are showing

Returns:
true if unfiled buddies are showing

getShowAgentBuddies

public boolean getShowAgentBuddies()
Returns whether or not agent buddies are showing

Returns:
true if agent buddies are showing

getShowAgentMessages

public boolean getShowAgentMessages()
Returns whether or now agent messages are to be recieved

Returns:
true if agent messages are being recieved

reloadBuddies

public void reloadBuddies()
Redraws the JTree


loadOfflineBuddies

public void loadOfflineBuddies()
Shows all the current offline buddies


reloadBuddies

public void reloadBuddies(boolean loadOffline)
Redraws the JTree

Parameters:
loadOffline - whether or not to just load the offline buddies

clearBuddies

public void clearBuddies()
Clears all the buddies from the JTree


checkGroup

public AutomatedTreeNode checkGroup(java.lang.String group)
Checks to see if the group is already in the tree, and returns the index of it

Parameters:
group - the group to check

checkAddEntry

public void checkAddEntry(BuddyStatus buddy)
finds out if the buddy should be displayed in the BuddyListTree. If so the buddy is added to the tree

Parameters:
buddy - the buddy to add

isInTree

public boolean isInTree(BuddyStatus buddy)
Returns whether or not the buddy is in the tree

Parameters:
buddy - the buddy to check
Returns:
true if the buddy is in the tree

addBuddy

public void addBuddy(BuddyStatus buddy)
Adds a buddy to the tree - if it's not already in the tree

Parameters:
buddy - the buddy to add

removeBuddy

public void removeBuddy(BuddyStatus buddy,
                        java.lang.String group)
Removes the buddy from the tree

Parameters:
buddy - the buddy to remove
group - the group the buddy is in

initiateConversation

public void initiateConversation()
Starts a conversation if someone double double clicks on a buddy