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

net.java.sip.communicator.impl.gui.main.chat
Class ChatWritePanel

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.chat.ChatWritePanel
All Implemented Interfaces:
ActionListener, KeyListener, MouseListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, UndoableEditListener

public class ChatWritePanel
extends TransparentPanel
implements ActionListener, KeyListener, MouseListener, UndoableEditListener

The ChatWritePanel is the panel, where user writes her messages. It is located at the bottom of the split in the ChatPanel and it contains an editor, where user writes the text.

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
ChatWritePanel(ChatPanel panel)
          Creates an instance of ChatWritePanel.
 
Method Summary
 void actionPerformed(ActionEvent e)
           
 void appendText(String text)
          Appends the given text to the end of the contained HTML document.
 void changeSendCommand(boolean isEnter)
          Replaces the Ctrl+Enter send command with simple Enter.
 void clearWriteArea()
          Clears write message area.
 void dispose()
          Runs clean-up for associated resources which need explicit disposal (e.g.
 JEditorPane getEditorPane()
          Returns the editor panel, contained in this ChatWritePanel.
 EditTextToolBar getEditTextToolBar()
          Returns the toolbar above the chat write area.
 WritePanelRightButtonMenu getRightButtonMenu()
          Returns the WritePanelRightButtonMenu opened in this panel.
 String getText()
          Returns the write area text as a plain text without any formatting.
 String getTextAsHtml()
          Returns the write area text as an html text.
 void keyPressed(KeyEvent e)
          When CTRL+Z is pressed invokes the ChatWritePanel.undo() method, when CTRL+R is pressed invokes the ChatWritePanel.redo() method.
 void keyReleased(KeyEvent e)
           
 void keyTyped(KeyEvent e)
          Sends typing notifications when user types.
 void mouseClicked(MouseEvent e)
          Opens the WritePanelRightButtonMenu whe user clicks with the right mouse button on the editor area.
 void mouseEntered(MouseEvent e)
           
 void mouseExited(MouseEvent e)
           
 void mousePressed(MouseEvent e)
           
 void mouseReleased(MouseEvent e)
           
 void setStylebarVisible(boolean b)
          Shows or hides the Stylebar depending on the value of parameter b.
 void stopTypingTimer()
          Stops the timer and sends a notification message.
 void undoableEditHappened(UndoableEditEvent e)
          Handles the UndoableEditEvent, by adding the content edit to the UndoManager.
 
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

ChatWritePanel

public ChatWritePanel(ChatPanel panel)
Creates an instance of ChatWritePanel.

Parameters:
panel - The parent ChatPanel.
Method Detail

setStylebarVisible

public void setStylebarVisible(boolean b)
Shows or hides the Stylebar depending on the value of parameter b.

Parameters:
b - if true, makes the Stylebar visible, otherwise hides the Stylebar

dispose

public void dispose()
Runs clean-up for associated resources which need explicit disposal (e.g. listeners keeping this instance alive because they were added to the model which operationally outlives this instance).


getEditorPane

public JEditorPane getEditorPane()
Returns the editor panel, contained in this ChatWritePanel.

Returns:
The editor panel, contained in this ChatWritePanel.

changeSendCommand

public void changeSendCommand(boolean isEnter)
Replaces the Ctrl+Enter send command with simple Enter.


undoableEditHappened

public void undoableEditHappened(UndoableEditEvent e)
Handles the UndoableEditEvent, by adding the content edit to the UndoManager.

Specified by:
undoableEditHappened in interface UndoableEditListener
Parameters:
e - The UndoableEditEvent.

keyTyped

public void keyTyped(KeyEvent e)
Sends typing notifications when user types.

Specified by:
keyTyped in interface KeyListener
Parameters:
e - the event.

keyPressed

public void keyPressed(KeyEvent e)
When CTRL+Z is pressed invokes the ChatWritePanel.undo() method, when CTRL+R is pressed invokes the ChatWritePanel.redo() method.

Specified by:
keyPressed in interface KeyListener

keyReleased

public void keyReleased(KeyEvent e)
Specified by:
keyReleased in interface KeyListener

actionPerformed

public void actionPerformed(ActionEvent e)
Specified by:
actionPerformed in interface ActionListener

stopTypingTimer

public void stopTypingTimer()
Stops the timer and sends a notification message.


mouseClicked

public void mouseClicked(MouseEvent e)
Opens the WritePanelRightButtonMenu whe user clicks with the right mouse button on the editor area.

Specified by:
mouseClicked in interface MouseListener

mousePressed

public void mousePressed(MouseEvent e)
Specified by:
mousePressed in interface MouseListener

mouseReleased

public void mouseReleased(MouseEvent e)
Specified by:
mouseReleased in interface MouseListener

mouseEntered

public void mouseEntered(MouseEvent e)
Specified by:
mouseEntered in interface MouseListener

mouseExited

public void mouseExited(MouseEvent e)
Specified by:
mouseExited in interface MouseListener

getRightButtonMenu

public WritePanelRightButtonMenu getRightButtonMenu()
Returns the WritePanelRightButtonMenu opened in this panel. Used by the ChatWindow, when the ESC button is pressed, to check if there is an open menu, which should be closed.

Returns:
the WritePanelRightButtonMenu opened in this panel

getTextAsHtml

public String getTextAsHtml()
Returns the write area text as an html text.

Returns:
the write area text as an html text.

getText

public String getText()
Returns the write area text as a plain text without any formatting.

Returns:
the write area text as a plain text without any formatting.

clearWriteArea

public void clearWriteArea()
Clears write message area.


appendText

public void appendText(String text)
Appends the given text to the end of the contained HTML document. This method is used to insert smileys when user selects a smiley from the menu.

Parameters:
text - the text to append.

getEditTextToolBar

public EditTextToolBar getEditTextToolBar()
Returns the toolbar above the chat write area.

Returns:
the toolbar above the chat write area.

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

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