DESY ACOP Beans Home

de.desy.acop.displayers
Class AcopSlider

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.Slider
                      extended by com.cosylab.gui.SliderDisplayer
                          extended by de.desy.acop.displayers.AcopSlider
All Implemented Interfaces:
StateOriginator, TickParameters, PopupManageable, CommonDisplayer, ConvertibleDisplayer, DataConsumer, DataSource, DataStateProvider, Displayer, DoubleConsumer, DoubleDisplayer, DoubleSeqConsumer, AcopDisplayer, ConnectionParametersReceiver, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class AcopSlider
extends SliderDisplayer
implements DoubleSeqConsumer, AcopDisplayer

AcopSlider is a displayer which can show a single double value. The slider can be used as a component which controls settable connection points.

The component consists of a JSlider which has a user interface is sensitive to mouse movement. User can set a value by dragging the thumb of the JSlider. The thumb will always show the value that the user has set. A black trailer on the same slider will show the actual value that is read from the remote property. The position of the trailer cannot be set in runtime.

Value on AcopSlider can also be adjusted using the navigation buttons or the number field on the top of the component. By setting the properties Slider.setBitStep(double), Slider.setSmallStep(double) and Slider.setLargeStep(double) one can configure the size of the steps used when pressing the navigations buttons. If using the number field the value has to be confirmed by pressing enter key before it results in the movement of the thumb.

Slider has three different types of set modes (see SliderSetMode) which specify at what actions the set value will be sent to the remote connection point.

The connection point for this displayer should be set using the connectionParameters property, where the remote name of the ConnectionParameters points to the desired property.

Version:
$Id: Templates.xml,v 1.10 2004/01/13 16:17:13 jbobnar Exp $
Author:
Jaka Bobnar
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.cosylab.gui.components.Slider
Slider.Button
 
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.SliderDisplayer
update
 
Fields inherited from class com.cosylab.gui.components.Slider
SET_MANUAL, SET_ON_CHANGE, SET_ON_RELEASE
 
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 de.desy.acop.displayers.tools.AcopDisplayer
ARRAY_INDEX_PROPERTY
 
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 de.desy.acop.displayers.tools.ConnectionParametersReceiver
CONNECTION_PARAMETERS_PROPERTY
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AcopSlider()
          Constructs new AcopSlider.
 
Method Summary
 int getArrayIndex()
          Returns index, which is used when this displayer must pick one value from incoming array of values.
 ConnectionParameters getConnectionParameters()
          Returns ConnectionParameters associated with this receiver.
 DataConsumer getDataConsumer(java.lang.Class type)
           Returns data consumer for requested data consumer type.
 InfoDialog getInfoDialog()
          Returns the InfoDialog hooked to this Displayer.
 boolean isPropertiesPopupEnabled()
          Returns true if Properties item is enabled in the popup menu.
static void main(java.lang.String[] args)
           
 void setAcopIcons()
          Apply navigation button icons demanded by ACOP bitDecrement button uses ArrowLeft.gif instead of Minus16.gif bitIncrement button uses ArrowRight.gif instead of Plus16.gif slowDecrement button uses ArrowLeftLeft.gif instead of ArrowLeftLeft.gif slowIncrement button uses ArrowRightRight.gif instead of ArrowRightRight.gif fastDecrement button uses ArrowLeftLeftLeft.gif instead of ArrowLeftLeft.gif fastIncrement button uses ArrowRightRightRight.gif instead of ArrowRightRight.gif
 void setArrayIndex(int arrayIndex)
          Sets index, which is used when this displayer must pick one value from incoming array of values.
 void setCharacteristics(java.util.Map characteristics)
          Sets new dynamic value characteristics to this data consumer.
 void setConnectionParameters(ConnectionParameters param)
          Sets the ConnectionParameters to the receiver.
 void setPropertiesPopupEnabled(boolean enable)
          Enables/disables Properties item in the popup menu.
 void updateValue(long timestamp, double[] value)
          Notifys this consumer about new dynamic value update.
 
Methods inherited from class com.cosylab.gui.SliderDisplayer
addConsumer, cleanup, destroy, getAcceptableConsumerTypes, getConsumers, getConverter, getDataSource, getDataState, getDefaultDataConsumer, getPopupManager, getSupportedCharacteristics, getSupportedConsumerTypes, isSuspended, removeAllConsumers, removeConsumer, resume, setConverter, setDataSource, suspend, updateDataState, updateValue
 
Methods inherited from class com.cosylab.gui.components.Slider
addSetListener, decrementBit, decrementLarge, decrementSmall, fireSetPerformed, formatNumber, getAutoSynchronizeDelay, getBitStep, getButtonIcon, getButtonText, getButtonTooltip, getContinuousModeDelayTime, getContinuousModeRepeatTime, getCustomizer, getFieldFormat, getFormat, getInfoBar, getLargeStep, getMajorTickLabels, getMajorTicks, getMaximum, getMinimum, getMinorTicksStep, getMode, getNavigationBar, getReadback, getRestoreButtonTitle, getSetMode, getSlider, getSliderUI, getSmallStep, getState, getStoredValue, getTicksFormat, getTitle, getTitleFont, getTitleVisible, getToolTipText, getUnits, getUnitsFont, getValue, getValuePrecision, incrementBit, incrementLarge, incrementSmall, isAutoSynchronize, isBitStepRelative, isButtonVisible, isContinuousControlVisible, isContinuousModeEnabled, isDragEnabled, isDropEnabled, isEditable, isLargeStepRelative, isPopupEnabled, isSmallStepRelative, isSnapToTicks, isStorageButtonsVisible, isStoredValueLabelVisible, isSyncButtonVisible, isUnitsVisible, measureTick, removeSetListener, resetSteps, restoreValue, setAutoSynchronize, setAutoSynchronizeDelay, setBackground, setBitStep, setBitStepRelative, setButtonIcon, setButtonText, setButtonTooltip, setButtonVisible, setContinuousControlVisible, setContinuousModeDelayTime, setContinuousModeEnabled, setContinuousModeRepeatTime, setDragEnabled, setDropEnabled, setEditable, setEnabled, setFieldFormat, setForeground, setFormat, setLargeStep, setLargeStepRelative, setMajorTickLabels, setMajorTicks, setManual, setMaximum, setMinimum, setMinorTicksStep, setMode, setPopupEnabled, setReadback, setRestoreButtonTitle, setSetMode, setSmallStep, setSmallStepRelative, setSnapToTicks, setState, setStorageButtonsVisible, setStoredValue, setStoredValueLabelVisible, setSyncButtonVisible, setTicksFormat, setTitle, setTitleFont, setTitleVisible, setToolTipText, setUnits, setUnitsFont, setUnitsVisible, setValue, setValuePrecision, storeValue, synchronize
 
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, 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, 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
 
Methods inherited from interface com.cosylab.gui.displayers.ConvertibleDisplayer
getConverter, setConverter
 
Methods inherited from interface com.cosylab.gui.displayers.Displayer
getDataSource, getTitle, isEditable, setDataSource, setTitle
 
Methods inherited from interface com.cosylab.gui.displayers.DataConsumer
getDefaultDataConsumer, getName, getSupportedCharacteristics, getSupportedConsumerTypes, updateDataState
 
Methods inherited from interface com.cosylab.gui.displayers.CommonDisplayer
cleanup, isSuspended, resume, suspend
 
Methods inherited from interface com.cosylab.gui.components.util.PopupManageable
getPopupManager
 
Methods inherited from interface com.cosylab.gui.displayers.DataStateProvider
addPropertyChangeListener, addPropertyChangeListener, getDataState, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from interface de.desy.acop.displayers.tools.ConnectionParametersReceiver
addPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from interface com.cosylab.gui.displayers.DoubleDisplayer
getFormat, getMaximum, getMinimum, getUnits, getValue, setFormat, setMaximum, setMinimum, setUnits, setValue
 

Constructor Detail

AcopSlider

public AcopSlider()
Constructs new AcopSlider.

Method Detail

main

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

setAcopIcons

public void setAcopIcons()
Apply navigation button icons demanded by ACOP bitDecrement button uses ArrowLeft.gif instead of Minus16.gif bitIncrement button uses ArrowRight.gif instead of Plus16.gif slowDecrement button uses ArrowLeftLeft.gif instead of ArrowLeftLeft.gif slowIncrement button uses ArrowRightRight.gif instead of ArrowRightRight.gif fastDecrement button uses ArrowLeftLeftLeft.gif instead of ArrowLeftLeft.gif fastIncrement button uses ArrowRightRightRight.gif instead of ArrowRightRight.gif


updateValue

public void updateValue(long timestamp,
                        double[] value)
                 throws CommonException
Description copied from interface: DoubleSeqConsumer
Notifys this consumer about new dynamic value update.

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

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
Overrides:
getDataConsumer in class SliderDisplayer
Parameters:
type - Class of specific data consumer (e.g. DoubleConsumer)
Returns:
implementation of required data consumer or null if not supported

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
Overrides:
setCharacteristics in class SliderDisplayer
Parameters:
characteristics - the Map with attri

getConnectionParameters

public ConnectionParameters getConnectionParameters()
Description copied from interface: ConnectionParametersReceiver
Returns ConnectionParameters associated with this receiver.

Specified by:
getConnectionParameters in interface ConnectionParametersReceiver
Returns:
the connection parameters

setConnectionParameters

public void setConnectionParameters(ConnectionParameters param)
                             throws CommonException,
                                    java.beans.PropertyVetoException
Description copied from interface: ConnectionParametersReceiver
Sets the ConnectionParameters to the receiver. If a receiver is a a displayer it should connect to the remote point upon setting the parameters.

Specified by:
setConnectionParameters in interface ConnectionParametersReceiver
Parameters:
param - new parameters
Throws:
CommonException - if connection establishing failed
java.beans.PropertyVetoException - if setting failed due to improper parameters

getArrayIndex

public int getArrayIndex()
Description copied from interface: AcopDisplayer
Returns index, which is used when this displayer must pick one value from incoming array of values.

Specified by:
getArrayIndex in interface AcopDisplayer
Returns:
index of value in incoming array

setArrayIndex

public void setArrayIndex(int arrayIndex)
Description copied from interface: AcopDisplayer
Sets index, which is used when this displayer must pick one value from incoming array of values.

Specified by:
setArrayIndex in interface AcopDisplayer
Parameters:
arrayIndex - of value in incoming array

getInfoDialog

public InfoDialog getInfoDialog()
Description copied from class: SliderDisplayer
Returns the InfoDialog hooked to this Displayer.

Overrides:
getInfoDialog in class SliderDisplayer
Returns:

setPropertiesPopupEnabled

public void setPropertiesPopupEnabled(boolean enable)
Enables/disables Properties item in the popup menu.

Parameters:
enable -

isPropertiesPopupEnabled

public boolean isPropertiesPopupEnabled()
Returns true if Properties item is enabled in the popup menu.

Returns:


Copyright © 2010. All Rights Reserved.