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

net.java.sip.communicator.impl.gui.main.call.conference
Class ConferencePeerPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by net.java.sip.communicator.util.swing.TransparentPanel
                      extended by net.java.sip.communicator.impl.gui.main.call.conference.BasicConferenceParticipantPanel
                          extended by net.java.sip.communicator.impl.gui.main.call.conference.ConferencePeerPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, CallPeerRenderer, CallPeerConferenceListener

public class ConferencePeerPanel
extends BasicConferenceParticipantPanel
implements CallPeerRenderer, CallPeerConferenceListener

The ConferencePeerPanel renders a single ConferencePeer, which is not a conference focus.

Author:
Yana Stamcheva, Lubomir Marinov
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
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.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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ConferencePeerPanel(CallDialog callDialog, CallPeer callPeer)
          Creates a ConferencePeerPanel, that would be contained in the given callDialog and would correspond to the given callPeer.
ConferencePeerPanel(CallDialog callDialog, ProtocolProviderService protocolProvider)
          Creates a ConferencePeerPanel by specifying the parent callDialog, containing it and the corresponding protocolProvider.
 
Method Summary
 void conferenceFocusChanged(CallPeerConferenceEvent conferenceEvent)
          Enables or disables the conference focus UI depending on the change.
 void conferenceMemberAdded(CallPeerConferenceEvent conferenceEvent)
          Adds a ConferenceMemberPanel to this container when a ConferenceMember has been added to the corresponding conference.
 void conferenceMemberRemoved(CallPeerConferenceEvent conferenceEvent)
          Removes the corresponding ConferenceMemberPanel from this container when a ConferenceMember has been removed from the corresponding conference.
 void fireLocalUserSoundLevelChanged(int level)
          Updates the sound bar level of the local user participating in the conference.
 CallDialog getCallDialog()
          Returns the parent CallDialog containing this renderer.
 CallPeerAdapter getCallPeerAdapter()
          Returns the call peer adapter that manages all related listeners.
(package private)  ConferenceMembersSoundLevelListener getConferenceMembersSoundLevelListener()
          Returns the listener instance and created if needed.
(package private)  net.java.sip.communicator.impl.gui.main.call.conference.ConferencePeerPanel.StreamSoundLevelListener getStreamSoundLevelListener()
          Returns the listener instance and created if needed.
 void paintComponent(Graphics g)
          Paints a special background for conference focus peers.
 void printDTMFTone(char dtmfChar)
          Prints the given DTMG character through this CallPeerRenderer.
 void securityOff()
          Indicates that the security has gone off.
 void securityOn(String securityString, boolean isSecurityVerified)
          Indicates that the security is turned on.
 void setAudioSecurityOn(boolean isAudioSecurityOn)
          Updates all related components to fit the new value.
 void setCallPeerAdapter(CallPeerAdapter adapter)
          Sets the call peer adapter that manages all related listeners.
 void setEncryptionCipher(String encryptionCipher)
          Updates all related components to fit the new value.
 void setErrorReason(String reason)
          Sets the reason of a call failure if one occurs.
 void setMute(boolean isMute)
          Sets the mute status icon to the status panel.
 void setOnHold(boolean isOnHold)
          Sets the "on hold" property value.
 void setPeerImage(byte[] icon)
          Sets the icon of the peer.
 void setPeerName(String name)
          Sets the name of the peer.
 void setPeerState(String state)
          Sets the state of the contained call peer by specifying the state name.
 void setVideoSecurityOn(boolean isVideoSecurityOn)
          Updates all related components to fit the new value.
 
Methods inherited from class net.java.sip.communicator.impl.gui.main.call.conference.BasicConferenceParticipantPanel
addToCenter, addToNameBar, addToStatusBar, isFocusUI, isSingleFocusUI, setFocusUI, setParticipantImage, setParticipantName, setParticipantState, setSingleFocusUI, setTitleBackground, updateSoundBar
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, isValidateRoot, paint, paintBorder, paintChildren, 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, 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, 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, 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

ConferencePeerPanel

public ConferencePeerPanel(CallDialog callDialog,
                           ProtocolProviderService protocolProvider)
Creates a ConferencePeerPanel by specifying the parent callDialog, containing it and the corresponding protocolProvider.

Parameters:
callDialog - the call dialog containing this panel
protocolProvider - the ProtocolProviderService for the call

ConferencePeerPanel

public ConferencePeerPanel(CallDialog callDialog,
                           CallPeer callPeer)
Creates a ConferencePeerPanel, that would be contained in the given callDialog and would correspond to the given callPeer.

Parameters:
callDialog - the dialog, in which this panel is shown
callPeer - The peer who own this UI
Method Detail

securityOff

public void securityOff()
Indicates that the security has gone off.

Specified by:
securityOff in interface CallPeerRenderer

securityOn

public void securityOn(String securityString,
                       boolean isSecurityVerified)
Indicates that the security is turned on.

Sets the secured status icon to the status panel and initializes/updates the corresponding security details.

Specified by:
securityOn in interface CallPeerRenderer
Parameters:
securityString - the security string
isSecurityVerified - indicates if the security string has been already verified by the underlying CallPeer

setMute

public void setMute(boolean isMute)
Sets the mute status icon to the status panel.

Specified by:
setMute in interface CallPeerRenderer
Parameters:
isMute - indicates if the call with this peer is muted

setOnHold

public void setOnHold(boolean isOnHold)
Sets the "on hold" property value.

Specified by:
setOnHold in interface CallPeerRenderer
Parameters:
isOnHold - indicates if the call with this peer is put on hold

setPeerImage

public void setPeerImage(byte[] icon)
Sets the icon of the peer.

Specified by:
setPeerImage in interface CallPeerRenderer
Parameters:
icon - the icon to set

setPeerName

public void setPeerName(String name)
Sets the name of the peer.

Specified by:
setPeerName in interface CallPeerRenderer
Parameters:
name - the name of the peer

setPeerState

public void setPeerState(String state)
Sets the state of the contained call peer by specifying the state name.

Specified by:
setPeerState in interface CallPeerRenderer
Parameters:
state - the state of the contained call peer

setAudioSecurityOn

public void setAudioSecurityOn(boolean isAudioSecurityOn)
Updates all related components to fit the new value.

Specified by:
setAudioSecurityOn in interface CallPeerRenderer
Parameters:
isAudioSecurityOn - indicates if the audio security is turned on or off.

setEncryptionCipher

public void setEncryptionCipher(String encryptionCipher)
Updates all related components to fit the new value.

Specified by:
setEncryptionCipher in interface CallPeerRenderer
Parameters:
encryptionCipher - the encryption cipher to show

setVideoSecurityOn

public void setVideoSecurityOn(boolean isVideoSecurityOn)
Updates all related components to fit the new value.

Specified by:
setVideoSecurityOn in interface CallPeerRenderer
Parameters:
isVideoSecurityOn - indicates if the video security is turned on or off.

setCallPeerAdapter

public void setCallPeerAdapter(CallPeerAdapter adapter)
Sets the call peer adapter that manages all related listeners.

Specified by:
setCallPeerAdapter in interface CallPeerRenderer
Parameters:
adapter - the call peer adapter

getCallPeerAdapter

public CallPeerAdapter getCallPeerAdapter()
Returns the call peer adapter that manages all related listeners.

Specified by:
getCallPeerAdapter in interface CallPeerRenderer
Returns:
the call peer adapter

getCallDialog

public CallDialog getCallDialog()
Returns the parent CallDialog containing this renderer.

Specified by:
getCallDialog in interface CallPeerRenderer
Returns:
the parent CallDialog containing this renderer

printDTMFTone

public void printDTMFTone(char dtmfChar)
Prints the given DTMG character through this CallPeerRenderer.

Specified by:
printDTMFTone in interface CallPeerRenderer
Parameters:
dtmfChar - the DTMF char to print

setErrorReason

public void setErrorReason(String reason)
Sets the reason of a call failure if one occurs. The renderer should display this reason to the user.

Specified by:
setErrorReason in interface CallPeerRenderer
Overrides:
setErrorReason in class BasicConferenceParticipantPanel
Parameters:
reason - the reason to display

fireLocalUserSoundLevelChanged

public void fireLocalUserSoundLevelChanged(int level)
Updates the sound bar level of the local user participating in the conference.

Parameters:
level - the new sound level

conferenceMemberAdded

public void conferenceMemberAdded(CallPeerConferenceEvent conferenceEvent)
Adds a ConferenceMemberPanel to this container when a ConferenceMember has been added to the corresponding conference.

Specified by:
conferenceMemberAdded in interface CallPeerConferenceListener
Parameters:
conferenceEvent - the CallPeerConferenceEvent that has been triggered

conferenceMemberRemoved

public void conferenceMemberRemoved(CallPeerConferenceEvent conferenceEvent)
Removes the corresponding ConferenceMemberPanel from this container when a ConferenceMember has been removed from the corresponding conference.

Specified by:
conferenceMemberRemoved in interface CallPeerConferenceListener
Parameters:
conferenceEvent - the CallPeerConferenceEvent that has been triggered

conferenceFocusChanged

public void conferenceFocusChanged(CallPeerConferenceEvent conferenceEvent)
Enables or disables the conference focus UI depending on the change. When a peer changes its status from focus to not focus or the reverse. we must change its listeners. If the peer is focus we use conference member lister, cause we will receive its status and the statuses of its conference members. And if it is not a focus we must listen with stream sound level listener

Specified by:
conferenceFocusChanged in interface CallPeerConferenceListener
Parameters:
conferenceEvent - the conference event

paintComponent

public void paintComponent(Graphics g)
Paints a special background for conference focus peers.

Overrides:
paintComponent in class BasicConferenceParticipantPanel
Parameters:
g - the Graphics object used for painting

getConferenceMembersSoundLevelListener

ConferenceMembersSoundLevelListener getConferenceMembersSoundLevelListener()
Returns the listener instance and created if needed.

Returns:
the conferenceMembersSoundLevelListener

getStreamSoundLevelListener

net.java.sip.communicator.impl.gui.main.call.conference.ConferencePeerPanel.StreamSoundLevelListener getStreamSoundLevelListener()
Returns the listener instance and created if needed.

Returns:
the streamSoundLevelListener

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

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