DESY ACOP Beans Home

com.cosylab.gui
Class DialKnobDisplayer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.cosylab.gui.components.DialKnob
                  extended by com.cosylab.gui.DialKnobDisplayer
All Implemented Interfaces:
StateOriginator, CosyTransferHandler.MouseFilter, PopupManageable, CommonDisplayer, ConvertibleDisplayer, DataConsumer, DataSource, DataStateProvider, Displayer, DoubleConsumer, DoubleDisplayer, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
AcopDialKnob

public class DialKnobDisplayer
extends DialKnob
implements DoubleDisplayer, DataSource, ConvertibleDisplayer

DialKnob implemented as Displayer.

Version:
$id$
Author:
Jernej Kamenik
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.cosylab.gui.components.DialKnob
DialKnob.MouseHandler, DialKnob.Renderer, DialKnob.TiltHandler, DialKnob.UserValueListener, DialKnob.ValueListener
 
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.DialKnob
format, formatter, mouseHandler, rangedValue, renderer, title, titleVisible, units, userRangedValue
 
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.ConvertibleDisplayer
CONVERTER_PROPERTY
 
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
DialKnobDisplayer()
           
 
Method Summary
 void addConsumer(DataConsumer consumer)
          Registers data consumer at this data source.
 void cleanup()
          Performs general cleanup of displayer resources.
 void destroy()
           
 java.lang.Class[] getAcceptableConsumerTypes()
          Returns the array of consumer types, which are acceptable by this data source.
 DataConsumer[] getConsumers()
          Returns array of registered data consumer.
 Converter getConverter()
          Returns the converter.
 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()
          Returns the info dialog that belongs to this displayer.
 PopupManager getPopupManager()
          Returns the popup manager employed by this widget.
 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.
 boolean isSuspended()
          Returns true if GUI updates are suspended.
static void main(java.lang.String[] arg0)
           
 void removeAllConsumers()
          Removes all consumers from data source and releases all resources and bindings allocated inside datasource to the consumers.
 void removeConsumer(DataConsumer consumer)
          Deregisters data consumer from this data source.
 void resume()
          Resumes updates of GUI component.
 void setCharacteristics(java.util.Map characteristics)
          Sets new dynamic value characteristics to this data consumer.
 void setConverter(Converter converter)
          Sets new converter.
 void setDataSource(DataSource dataSource)
          Sets data source and registeres this displayer as data consumer.
 void suspend()
          Suspends all updates of displayer.
 void updateDataState(DataState state)
          Push data state (quality) update change for dynamic value.
 void updateValue(long timestamp, double value)
          Notifys this consumer about new dynamic value update.
 
Methods inherited from class com.cosylab.gui.components.DialKnob
addSetListener, getAlarmColor, getAutoSynchronizeDelay, getFormat, getGraphMax, getGraphMin, getHighAlarmLimit, getHighWarningLimit, getLowAlarmLimit, getLowWarningLimit, getMaximum, getMinimum, getNormalColor, getOutOfBoundsColor, getRangedValue, getState, getTitle, getUnits, getUserMax, getUserMin, getUserRangedValue, getUserValue, getValue, getValuePolicy, getWarningColor, isAutoSynchronize, isDragArea, isDragEnabled, isDropEnabled, isEditable, isEnhanced, isPopupEnabled, isRangeColors, isResizable, isTiltingEnabled, isTitleVisible, isUnitsVisible, notifyListeners, paintComponent, removeSetListener, repaint, setAlarmColor, setAutoSynchronize, setAutoSynchronizeDelay, setBackground, setDragEnabled, setDropEnabled, setEditable, setEnabled, setEnhanced, setForeground, setFormat, setGraphMax, setGraphMin, setHighAlarmLimit, setHighWarningLimit, setLowAlarmLimit, setLowWarningLimit, setMaximum, setMinimum, setNormalColor, setOutOfBoundsColor, setPopupEnabled, setRangeColors, setResizable, setState, setTiltingEnabled, setTitle, setTitleVisible, setTransferHandler, setUnits, setUnitsVisible, setUserMax, setUserMin, setUserValue, setValue, setValuePolicy, setWarningColor, synchronize
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, updateUI
 
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, 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.DoubleDisplayer
getFormat, getMaximum, getMinimum, getUnits, getValue, setFormat, setMaximum, setMinimum, setUnits, setValue
 
Methods inherited from interface com.cosylab.gui.displayers.Displayer
getTitle, isEditable, setTitle
 
Methods inherited from interface com.cosylab.gui.displayers.DataConsumer
getName
 
Methods inherited from interface com.cosylab.gui.displayers.DataStateProvider
addPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

DialKnobDisplayer

public DialKnobDisplayer()
Method Detail

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

getConsumers

public DataConsumer[] getConsumers()
Description copied from interface: DataSource
Returns array of registered data consumer.

Specified by:
getConsumers in interface DataSource
Returns:
array of registered data consumer

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

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

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

getAcceptableConsumerTypes

public java.lang.Class[] getAcceptableConsumerTypes()
Description copied from interface: DataSource
Returns the array of consumer types, which are acceptable by this data source.

Specified by:
getAcceptableConsumerTypes in interface DataSource
Returns:
the array of acceptable data source types

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

addConsumer

public void addConsumer(DataConsumer consumer)
                 throws java.beans.PropertyVetoException
Description copied from interface: DataSource
Registers data consumer at this data source. This data source can denay consumer by throwing PropertyVetoException if consumer does not provide necessary DataConsumer type.

Specified by:
addConsumer in interface DataSource
Parameters:
consumer - the data consumer to be regitered at this data source
Throws:
java.beans.PropertyVetoException
See Also:
DataConsumer.getDataConsumer(Class)

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()

removeConsumer

public void removeConsumer(DataConsumer consumer)
Description copied from interface: DataSource
Deregisters data consumer from this data source.

Specified by:
removeConsumer in interface DataSource
Parameters:
consumer - data consumer to be deregistered

resume

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

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

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,
                        double value)
                 throws CommonException
Description copied from interface: DoubleConsumer
Notifys this consumer about new dynamic value update.

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

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

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!

getConverter

public Converter getConverter()
Returns the converter.

Specified by:
getConverter in interface ConvertibleDisplayer
Returns:
Returns the converter.

setConverter

public void setConverter(Converter converter)
                  throws java.beans.PropertyVetoException
Sets new converter.

Specified by:
setConverter in interface ConvertibleDisplayer
Parameters:
converter - The converter to set.
Throws:
java.beans.PropertyVetoException - if set fails

removeAllConsumers

public void removeAllConsumers()
Description copied from interface: DataSource
Removes all consumers from data source and releases all resources and bindings allocated inside datasource to the consumers.

Specified by:
removeAllConsumers in interface DataSource

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

getCustomizer

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

Overrides:
getCustomizer in class DialKnob
Returns:
the Customizer intance for this displayer
See Also:
Customizer

getInfoDialog

public InfoDialog getInfoDialog()
Returns the info dialog that belongs to this displayer.

Returns:

getPopupManager

public PopupManager getPopupManager()
Description copied from class: DialKnob
Returns the popup manager employed by this widget. Default values in the popup menu are Synchronize, Preferences..., and Capture Screen....

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

main

public static void main(java.lang.String[] arg0)
Parameters:
arg0 -


Copyright © 2010. All Rights Reserved.