Jitsi: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.impl.gui.main.call
Class OneToOneCallPeerPanel

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.OneToOneCallPeerPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, CallPeerRenderer, Skinnable

public class OneToOneCallPeerPanel
extends TransparentPanel
implements CallPeerRenderer, Skinnable

The OneToOneCallPeerPanel is the panel containing data for a call peer in a given call. It contains information like call peer name, photo, call duration, etc.

Author:
Yana Stamcheva, Lyubomir Marinov, Sebastien Vincent, Adam Netocny
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
OneToOneCallPeerPanel(CallRenderer callRenderer, CallPeer callPeer, List<Container> videoContainers)
          Creates a CallPeerPanel for the given call peer.
OneToOneCallPeerPanel(CallRenderer callRenderer, CallPeer callPeer, List<Container> videoContainers, UIVideoHandler vHandler)
          Creates a CallPeerPanel for the given call peer.
 
Method Summary
 void addMouseAndKeyListeners()
          Add KeyListener, MouseListener, MouseWheelListener and MouseMotionListener to remote video component.
(package private)  Component createCenter(List<Container> videoContainers)
          Creates the Component hierarchy of the central area of this CallPeerPanel which displays the photo of the CallPeer or the video if any.
 CallPanel getCallPanel()
          Returns the parent CallPanel containing this renderer.
 CallPeerAdapter getCallPeerAdapter()
          Returns the call peer adapter managing all related listeners.
 CallRenderer getCallRenderer()
          Returns the parent call renderer.
 Component getComponent()
          Returns the component associated with this renderer.
 String getPeerName()
          Returns the name of the peer, contained in this panel.
 UIVideoHandler getVideoHandler()
          Returns the video handler associated with this call peer renderer.
 boolean isLocalVideoVisible()
          Indicates if the local video component is currently visible.
 void loadSkin()
          Reloads all icons.
 void printDTMFTone(char dtmfChar)
          Prints the given DTMG character through this CallPeerRenderer.
 void removeMouseAndKeyListeners()
          Remove KeyListener, MouseListener, MouseWheelListener and MouseMotionListener to remote video component.
 void securityOff(CallPeerSecurityOffEvent evt)
          Indicates that the security has gone off.
 void securityOn(CallPeerSecurityOnEvent evt)
          Indicates that the security is turned on.
 void setCallPeerAdapter(CallPeerAdapter adapter)
          Sets the call peer adapter managing all related listeners.
 void setErrorReason(String reason)
          Sets the reason of a call failure if one occurs.
 void setLocalVideoVisible(boolean isVisible)
          Shows/hides the local video component.
 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[] image)
          Set the image 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 and icon.
 
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, 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, 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

OneToOneCallPeerPanel

public OneToOneCallPeerPanel(CallRenderer callRenderer,
                             CallPeer callPeer,
                             List<Container> videoContainers,
                             UIVideoHandler vHandler)
Creates a CallPeerPanel for the given call peer.

Parameters:
callRenderer - the renderer of the call
callPeer - the CallPeer represented in this panel

OneToOneCallPeerPanel

public OneToOneCallPeerPanel(CallRenderer callRenderer,
                             CallPeer callPeer,
                             List<Container> videoContainers)
Creates a CallPeerPanel for the given call peer.

Parameters:
callRenderer - the renderer of the call
callPeer - the CallPeer represented in this panel
Method Detail

createCenter

Component createCenter(List<Container> videoContainers)
Creates the Component hierarchy of the central area of this CallPeerPanel which displays the photo of the CallPeer or the video if any.

Returns:
the root of the Component hierarchy of the central area of this CallPeerPanel which displays the photo of the CallPeer or the video if any

getPeerName

public String getPeerName()
Returns the name of the peer, contained in this panel.

Returns:
the name of the peer, contained in this panel

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

setPeerImage

public void setPeerImage(byte[] image)
Set the image of the peer

Specified by:
setPeerImage in interface CallPeerRenderer
Parameters:
image - new image

setPeerState

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

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

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

securityOn

public void securityOn(CallPeerSecurityOnEvent evt)
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:
evt - Details about the event that caused this message.

securityOff

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

Specified by:
securityOff in interface CallPeerRenderer
Parameters:
evt - Details about the event that caused this message.

setCallPeerAdapter

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

Specified by:
setCallPeerAdapter in interface CallPeerRenderer
Parameters:
adapter - the adapter to set

getCallPeerAdapter

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

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

getCallPanel

public CallPanel getCallPanel()
Returns the parent CallPanel containing this renderer.

Specified by:
getCallPanel in interface CallPeerRenderer
Returns:
the parent CallPanel 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

addMouseAndKeyListeners

public void addMouseAndKeyListeners()
Add KeyListener, MouseListener, MouseWheelListener and MouseMotionListener to remote video component.


removeMouseAndKeyListeners

public void removeMouseAndKeyListeners()
Remove KeyListener, MouseListener, MouseWheelListener and MouseMotionListener to remote video component.


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
Parameters:
reason - the reason to display

loadSkin

public void loadSkin()
Reloads all icons.

Specified by:
loadSkin in interface Skinnable

setLocalVideoVisible

public void setLocalVideoVisible(boolean isVisible)
Shows/hides the local video component.

Specified by:
setLocalVideoVisible in interface CallPeerRenderer
Parameters:
isVisible - true to show the local video, false - otherwise

isLocalVideoVisible

public boolean isLocalVideoVisible()
Indicates if the local video component is currently visible.

Specified by:
isLocalVideoVisible in interface CallPeerRenderer
Returns:
true if the local video component is currently visible, false - otherwise

getCallRenderer

public CallRenderer getCallRenderer()
Returns the parent call renderer.

Specified by:
getCallRenderer in interface CallPeerRenderer
Returns:
the parent call renderer

getComponent

public Component getComponent()
Returns the component associated with this renderer.

Specified by:
getComponent in interface CallPeerRenderer
Returns:
the component associated with this renderer

getVideoHandler

public UIVideoHandler getVideoHandler()
Returns the video handler associated with this call peer renderer.

Specified by:
getVideoHandler in interface CallPeerRenderer
Returns:
the video handler associated with this call peer renderer

Jitsi: the OpenSource Java VoIP and Instant Messaging client.

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