DESY ACOP Beans Home

com.cosylab.gui
Class LabelDisplayer

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 com.cosylab.gui.components.AbstractDisplayerPanel
                      extended by com.cosylab.gui.LabelDisplayer
All Implemented Interfaces:
StateOriginator, PopupManageable, CommonDisplayer, DataConsumer, DataStateProvider, Displayer, StringConsumer, StringDisplayer, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
AcopLabel

public class LabelDisplayer
extends AbstractDisplayerPanel
implements StringDisplayer, PopupManageable

A displayer GUI widget that can uniformly display changable string value. Displayer is build primarely as StringConsumer but can act as any other consumer by help of StringConsumerMulticaster utility class. By look is similar to number displayer. User can display arbytrary value by implementing own way to turn it in to String.

Version:
$id$
Author:
Igor Verstovsek, Igor Kriznar
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class com.cosylab.gui.components.AbstractDisplayerPanel
DYNAMIC_LAYOUT, HORIZONTAL_LAYOUT, VERTICAL_LAYOUT
 
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 com.cosylab.gui.displayers.Displayer
C_EDITABLE, DATA_SOURCE
 
Fields inherited from interface com.cosylab.gui.displayers.CommonDisplayer
C_BIT_DESCRIPTIONS, C_BIT_MASK, C_COLOR, C_CONDITION_WHEN_CLEARED, C_CONDITION_WHEN_SET, C_DESCRIPTION, C_DISPLAY_NAME, C_FORMAT, C_GRAPH_MAX, C_GRAPH_MIN, C_MAXIMUM, C_MIN_STEP, C_MINIMUM, C_POSITION, C_PROPERTY_TYPE, C_SEQUENCE_LENGTH, C_UNITS
 
Fields inherited from interface com.cosylab.gui.displayers.DataStateProvider
DATA_STATE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
LabelDisplayer()
          Constructor for LabelDisplayer.
 
Method Summary
 void cleanup()
          Performs general cleanup of displayer resources.
 void destroy()
           
 int getColumns()
          Returns number of character columns.
 AbstractCustomizerPanel getCustomizer()
          Loads the default com.cosylab.gui.components.customizer.Customizer for this displayer and returns it.
 DataConsumer getDataConsumer(java.lang.Class type)
           Returns data consumer for requested data consumer type.
 DataSource getDataSource()
          Returns data source.
 DataState getDataState()
          Returns data quality state.
 DataConsumer getDefaultDataConsumer()
          Returns the implementation of default consumer type supported by this data consumer.
 InfoDialog getInfoDialog()
           
 PopupManager getPopupManager()
          Returns popum manager for adding popup actions.
 java.lang.String[] getSupportedCharacteristics()
          Resturns array with names of supported characteristics.
 java.lang.Class[] getSupportedConsumerTypes()
          Returns array of supported data consumer types, which can be used as parameter and returnned with getDataCosnumer(Class) method.
 java.lang.String getValue()
          Returns the string value.
protected  javax.swing.JComponent getValueComponent()
          Should return the component to display the value of this displayer.
protected  ResizableTextLabel getValueLabel()
          A label which is used to display value.
protected  void internalSetEnabled()
           
protected  void internalSetEnhanced()
           
protected  void internalSetResizable()
           
 boolean isEditable()
           Returns true if this displayer can interact with user and fire value updates requested by user.
 boolean isSuspended()
          Returns true if GUI updates are suspended.
static void main(java.lang.String[] args)
           
 void resume()
          Resumes updates of GUI component.
 void setBackground(java.awt.Color bg)
           
 void setCharacteristics(java.util.Map characteristics)
          Sets new dynamic value characteristics to this data consumer.
 void setColumns(int c)
          DOCUMENT ME!
 void setDataSource(DataSource dataSource)
          Sets data source and registeres this displayer as data consumer.
 void setTransferHandler(javax.swing.TransferHandler newHandler)
           
 void setValue(java.lang.String value)
          Sets the value displayed by the displayer.
 void suspend()
          Suspends all updates of displayer.
 void updateDataState(DataState state)
          Push data state (quality) update change for dynamic value.
 void updateValue(long timestamp, java.lang.String value)
          Notifys this consumer about new dynamic value update.
 
Methods inherited from class com.cosylab.gui.components.AbstractDisplayerPanel
getLayoutOrientation, getState, getTitle, getTitleComponent, getTitleMaximumFontSize, getTitleMinimumFontSize, internalSetTitle, isDragEnabled, isDropEnabled, isEnhanced, isPopupEnabled, isResizable, isTitleVisible, layoutDisplayer, layoutValue, layoutValueAndTitle, setDragEnabled, setDropEnabled, setEnabled, setEnhanced, setForeground, setLayoutOrientation, setPopupEnabled, setResizable, setState, setTitle, setTitleMaximumFontSize, setTitleMinimumFontSize, setTitleVisible
 
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, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, 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
 
Methods inherited from interface com.cosylab.gui.displayers.Displayer
getTitle, setTitle
 
Methods inherited from interface com.cosylab.gui.displayers.DataStateProvider
addPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from interface com.cosylab.gui.displayers.DataConsumer
getName
 

Constructor Detail

LabelDisplayer

public LabelDisplayer()
Constructor for LabelDisplayer.

Method Detail

cleanup

public void cleanup()
Description copied from interface: CommonDisplayer
Performs general cleanup of displayer resources. All by displayer issued object are not valid any more after cleanup. Displayer positions itself in initial state and DataState is changed to NOT_INITIALIZED state.

Specified by:
cleanup in interface CommonDisplayer

destroy

public void destroy()

getColumns

public int getColumns()
Returns number of character columns. Fixes the length of displayed string to fixed value.

Returns:
number of characters in displayed string

getDataConsumer

public DataConsumer getDataConsumer(java.lang.Class type)
Description copied from interface: DataConsumer

Returns data consumer for requested data consumer type. If this data consumer does not support required data consumer, null is returned.

If this data cosnumer does not support specific data consumer type, then it means, that it is not desirable to cast data of that type to any by this consumer supported data consumer types.

Specified by:
getDataConsumer in interface DataConsumer
Parameters:
type - Class of specific data consumer (e.g. DoubleConsumer)
Returns:
implementation of required data consumer or null if not supported

getDataSource

public DataSource getDataSource()
Description copied from interface: Displayer
Returns data source. This is convenience method for integration with VCE development tools. If null returned does not mean that this displayer is not connected to data source, it only means that setDataSource() method was not used.

Specified by:
getDataSource in interface Displayer
Returns:
the data source for this displayer, if set by setter

getDataState

public DataState getDataState()
Description copied from interface: DataStateProvider
Returns data quality state. This property is changed by data consumer interface. In case of multiple displayer, this state indicates integral state for all contained data consumers.

Specified by:
getDataState in interface DataStateProvider
Returns:
dynamic data quality state

getDefaultDataConsumer

public DataConsumer getDefaultDataConsumer()
Description copied from interface: DataConsumer
Returns the implementation of default consumer type supported by this data consumer.

Specified by:
getDefaultDataConsumer in interface DataConsumer
Returns:
the implementation of default consumer type supported by this data consumer

getValueLabel

protected ResizableTextLabel getValueLabel()
A label which is used to display value. Extended class can access directly to customize how label will display value. Note that some label properties are overriden by default displayer policies when policy is changed.

Returns:
the label which displays string value

setBackground

public void setBackground(java.awt.Color bg)
Overrides:
setBackground in class AbstractDisplayerPanel

getSupportedCharacteristics

public java.lang.String[] getSupportedCharacteristics()
Description copied from interface: DataConsumer
Resturns array with names of supported characteristics. Data source can use this method to optimize setting characteristics to this data consumer. If arrray of length 0 is return, then consumer does not need or support any characteristic. If null is returned, than consumer expect all existing characteristics from data source.

Specified by:
getSupportedCharacteristics in interface DataConsumer
Returns:
array with names of supported characteristics

getSupportedConsumerTypes

public java.lang.Class[] getSupportedConsumerTypes()
Description copied from interface: DataConsumer
Returns array of supported data consumer types, which can be used as parameter and returnned with getDataCosnumer(Class) method.

Specified by:
getSupportedConsumerTypes in interface DataConsumer
Returns:
array of supported data consumer types

getValue

public java.lang.String getValue()
Returns the string value.

Specified by:
getValue in interface StringDisplayer
Returns:
the string value

getValueComponent

protected javax.swing.JComponent getValueComponent()
Description copied from class: AbstractDisplayerPanel
Should return the component to display the value of this displayer. This method is called inside the constructor to add the valueComponent to the AbstractDisplayerPanel. Subclasses should thus use lazy initialization inside this method.

Specified by:
getValueComponent in class AbstractDisplayerPanel
Returns:
the value component of the AbstractDisplayerPanel.

internalSetEnabled

protected void internalSetEnabled()
Overrides:
internalSetEnabled in class AbstractDisplayerPanel

internalSetEnhanced

protected void internalSetEnhanced()
Overrides:
internalSetEnhanced in class AbstractDisplayerPanel

internalSetResizable

protected void internalSetResizable()
Overrides:
internalSetResizable in class AbstractDisplayerPanel

isEditable

public boolean isEditable()
Description copied from interface: Displayer

Returns true if this displayer can interact with user and fire value updates requested by user. If displayer is editable, mus implement DataSource interface.

Displayers, which does not support value editing will return allways false. Displayers which support value editing MUST implement also setter setEditable(booelan).

Specified by:
isEditable in interface Displayer
Returns:
true if this displayer can receive value change requestes by user

isSuspended

public boolean isSuspended()
Description copied from interface: CommonDisplayer
Returns true if GUI updates are suspended.

Specified by:
isSuspended in interface CommonDisplayer
Returns:
true if GUI updates are suspended

resume

public void resume()
Description copied from interface: CommonDisplayer
Resumes updates of GUI component.

Specified by:
resume in interface CommonDisplayer
See Also:
CommonDisplayer.suspend()

setCharacteristics

public void setCharacteristics(java.util.Map characteristics)
Description copied from interface: DataConsumer
Sets new dynamic value characteristics to this data consumer. This is usually called only at initializaation, before first data state or value is updated. Usually carries characteristics such as value minimum or maximum. Name and meaning of atributes is defined with contract betwean data consumer and source implementation.

Specified by:
setCharacteristics in interface DataConsumer
Parameters:
characteristics - the Map with attri

setColumns

public void setColumns(int c)
DOCUMENT ME!

Parameters:
c - DOCUMENT ME!

setDataSource

public void setDataSource(DataSource dataSource)
                   throws java.beans.PropertyVetoException
Description copied from interface: Displayer
Sets data source and registeres this displayer as data consumer. This is convenience method for integration with VCE development tools, you can connect displayers directly to data sources without using this method.

Specified by:
setDataSource in interface Displayer
Parameters:
dataSource - new data source of this displayer
Throws:
java.beans.PropertyVetoException - DOCUMENT ME!

setValue

public void setValue(java.lang.String value)
Description copied from interface: StringDisplayer
Sets the value displayed by the displayer. This method may be invoked only by the adapter delivering a new value from the modeling layer.

Specified by:
setValue in interface StringDisplayer
Parameters:
value - new value to be displayed
See Also:
StringDisplayer.getValue()

suspend

public void suspend()
Description copied from interface: CommonDisplayer
Suspends all updates of displayer. Displayer might receive data change updates, but does not call redraw on GUI components, which is time and CPU consuming.

Specified by:
suspend in interface CommonDisplayer

updateDataState

public void updateDataState(DataState state)
Description copied from interface: DataConsumer
Push data state (quality) update change for dynamic value. Usually called by data source.

Specified by:
updateDataState in interface DataConsumer
Parameters:
state - new data state(quality) descriptor

updateValue

public void updateValue(long timestamp,
                        java.lang.String value)
                 throws CommonException
Description copied from interface: StringConsumer
Notifys this consumer about new dynamic value update.

Specified by:
updateValue in interface StringConsumer
Parameters:
timestamp - the time of dynamic value event
value - new value
Throws:
CommonException

getPopupManager

public PopupManager getPopupManager()
Description copied from class: AbstractDisplayerPanel
Returns popum manager for adding popup actions.

Specified by:
getPopupManager in interface PopupManageable
Overrides:
getPopupManager in class AbstractDisplayerPanel
Returns:
returns popup manager, which manages popup menu
See Also:
PopupManageable.getPopupManager()

getInfoDialog

public InfoDialog getInfoDialog()

getCustomizer

public AbstractCustomizerPanel getCustomizer()
Loads the default com.cosylab.gui.components.customizer.Customizer for this displayer and returns it.

Overrides:
getCustomizer in class AbstractDisplayerPanel
Returns:
the Customizer intance for this displayer

main

public static void main(java.lang.String[] args)

setTransferHandler

public void setTransferHandler(javax.swing.TransferHandler newHandler)
Overrides:
setTransferHandler in class AbstractDisplayerPanel


Copyright © 2010. All Rights Reserved.