SIP Communicator: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.impl.gui.main.contactlist
Class ContactListPane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JScrollPane
                  extended by net.java.sip.communicator.impl.gui.customcontrols.SCScrollPane
                      extended by net.java.sip.communicator.impl.gui.main.contactlist.ContactListPane
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ScrollPaneConstants, PluginComponentListener, ContactListListener, FileTransferListener, MessageListener, TypingNotificationsListener

public class ContactListPane
extends SCScrollPane
implements MessageListener, TypingNotificationsListener, FileTransferListener, ContactListListener, PluginComponentListener

The contactlist panel not only contains the contact list but it has the role of a message dispatcher. It process all sent and received messages as well as all typing notifications. Here are managed all contact list mouse events.

Author:
Yana Stamcheva
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JScrollPane
JScrollPane.AccessibleJScrollPane, JScrollPane.ScrollBar
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JScrollPane
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
 
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.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ContactListPane(MainFrame mainFrame)
          Creates the contactlist scroll panel defining the parent frame.
 
Method Summary
 void contactClicked(ContactListEvent evt)
          Implements the ContactListListener.contactSelected method.
 void fileTransferCreated(FileTransferCreatedEvent event)
          Nothing to do here, because we already know when a file transfer is created.
 void fileTransferRequestCanceled(FileTransferRequestEvent event)
          Called when an IncomingFileTransferRequest has been canceled from the contact who sent it.
 void fileTransferRequestReceived(FileTransferRequestEvent event)
          When a request has been received we show it to the user through the chat session renderer.
 void fileTransferRequestRejected(FileTransferRequestEvent event)
          Called when a new IncomingFileTransferRequest has been rejected.
 CommonRightButtonMenu getCommonRightButtonMenu()
          Returns the right button menu of the contact list.
 TreeContactList getContactList()
          Returns the contact list.
 void groupClicked(ContactListEvent evt)
          Implements the ContactListListener.groupSelected method.
 void initList(MetaContactListService contactListService)
          Initializes the contact list.
 void messageDelivered(MessageDeliveredEvent evt)
          When a sent message is delivered shows it in the chat conversation panel.
 void messageDeliveryFailed(MessageDeliveryFailedEvent evt)
          Shows a warning message to the user when message delivery has failed.
 void messageReceived(MessageReceivedEvent evt)
          When a message is received determines whether to open a new chat window or chat window tab, or to indicate that a message is received from a contact which already has an open chat.
 void pluginComponentAdded(PluginComponentEvent event)
          Adds the plugin component given by event to this panel if it's its container.
 void pluginComponentRemoved(PluginComponentEvent event)
          Removes the plugin component given by event if previously added in this panel.
 void setChatNotificationMsg(MetaContact metaContact, String notificationMsg)
          Sets the typing notification message at the appropriate chat.
 void typingNotificationReceived(TypingNotificationEvent evt)
          Informs the user what is the typing state of his chat contacts.
 
Methods inherited from class net.java.sip.communicator.impl.gui.customcontrols.SCScrollPane
setViewportView
 
Methods inherited from class javax.swing.JScrollPane
createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, 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

ContactListPane

public ContactListPane(MainFrame mainFrame)
Creates the contactlist scroll panel defining the parent frame.

Parameters:
mainFrame - The parent frame.
Method Detail

initList

public void initList(MetaContactListService contactListService)
Initializes the contact list.

Parameters:
contactListService - The MetaContactListService which will be used for a contact list data model.

getContactList

public TreeContactList getContactList()
Returns the contact list.

Returns:
the contact list

contactClicked

public void contactClicked(ContactListEvent evt)
Implements the ContactListListener.contactSelected method.

Specified by:
contactClicked in interface ContactListListener
Parameters:
evt - the ContactListEvent that notified us

groupClicked

public void groupClicked(ContactListEvent evt)
Implements the ContactListListener.groupSelected method.

Specified by:
groupClicked in interface ContactListListener
Parameters:
evt - the ContactListEvent that notified us

messageReceived

public void messageReceived(MessageReceivedEvent evt)
When a message is received determines whether to open a new chat window or chat window tab, or to indicate that a message is received from a contact which already has an open chat. When the chat is found checks if in mode "Auto popup enabled" and if this is the case shows the message in the appropriate chat panel.

Specified by:
messageReceived in interface MessageListener
Parameters:
evt - the event containing details on the received message

messageDelivered

public void messageDelivered(MessageDeliveredEvent evt)
When a sent message is delivered shows it in the chat conversation panel.

Specified by:
messageDelivered in interface MessageListener
Parameters:
evt - the event containing details on the message delivery

messageDeliveryFailed

public void messageDeliveryFailed(MessageDeliveryFailedEvent evt)
Shows a warning message to the user when message delivery has failed.

Specified by:
messageDeliveryFailed in interface MessageListener
Parameters:
evt - the event containing details on the message delivery failure

typingNotificationReceived

public void typingNotificationReceived(TypingNotificationEvent evt)
Informs the user what is the typing state of his chat contacts.

Specified by:
typingNotificationReceived in interface TypingNotificationsListener
Parameters:
evt - the event containing details on the typing notification

fileTransferRequestReceived

public void fileTransferRequestReceived(FileTransferRequestEvent event)
When a request has been received we show it to the user through the chat session renderer.

Specified by:
fileTransferRequestReceived in interface FileTransferListener
Parameters:
event - FileTransferRequestEvent
See Also:
FileTransferListener.fileTransferRequestReceived(FileTransferRequestEvent)

fileTransferCreated

public void fileTransferCreated(FileTransferCreatedEvent event)
Nothing to do here, because we already know when a file transfer is created.

Specified by:
fileTransferCreated in interface FileTransferListener
Parameters:
event - the FileTransferCreatedEvent that notified us

fileTransferRequestRejected

public void fileTransferRequestRejected(FileTransferRequestEvent event)
Called when a new IncomingFileTransferRequest has been rejected. Nothing to do here, because we are the one who rejects the request.

Specified by:
fileTransferRequestRejected in interface FileTransferListener
Parameters:
event - the FileTransferRequestEvent containing the received request which was rejected.

fileTransferRequestCanceled

public void fileTransferRequestCanceled(FileTransferRequestEvent event)
Called when an IncomingFileTransferRequest has been canceled from the contact who sent it.

Specified by:
fileTransferRequestCanceled in interface FileTransferListener
Parameters:
event - the FileTransferRequestEvent containing the request which was canceled.

setChatNotificationMsg

public void setChatNotificationMsg(MetaContact metaContact,
                                   String notificationMsg)
Sets the typing notification message at the appropriate chat.

Parameters:
metaContact - The meta contact.
notificationMsg - The typing notification message.

getCommonRightButtonMenu

public CommonRightButtonMenu getCommonRightButtonMenu()
Returns the right button menu of the contact list.

Returns:
the right button menu of the contact list

pluginComponentAdded

public void pluginComponentAdded(PluginComponentEvent event)
Adds the plugin component given by event to this panel if it's its container.

Specified by:
pluginComponentAdded in interface PluginComponentListener
Parameters:
event - the PluginComponentEvent that notified us

pluginComponentRemoved

public void pluginComponentRemoved(PluginComponentEvent event)
Removes the plugin component given by event if previously added in this panel.

Specified by:
pluginComponentRemoved in interface PluginComponentListener
Parameters:
event - the PluginComponentEvent that notified us

SIP Communicator: the OpenSource Java VoIP and Instant Messaging client.

SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
Distributable under LGPL license.