fr.esrf.tangoatk.widget.attribute
Class NumberSpectrumViewer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by fr.esrf.tangoatk.widget.util.chart.JLChart
                  extended by fr.esrf.tangoatk.widget.util.chart.AdvancedJLChart
                      extended by fr.esrf.tangoatk.widget.attribute.NumberSpectrumViewer
All Implemented Interfaces:
IAttributeStateListener, IErrorListener, INumberScalarListener, ISpectrumListener, IJLChartActionListener, IJLChartListener, JDrawable, java.awt.event.ActionListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener

public class NumberSpectrumViewer
extends AdvancedJLChart
implements ISpectrumListener, INumberScalarListener, IJLChartActionListener, IJLChartListener, JDrawable

A class to display a scalar spectrum attribute . The NumberSpectrumViewer displays the spectrum according to index value (x axis shows value index).

See Also:
Serialized Form

Nested Class Summary
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  double A0
           
protected  double A1
           
protected static java.lang.String DISPLAY_QUALITY_STRING
           
protected static java.lang.String DISPLAY_UNIT_STRING
           
protected  JLDataView dvy
           
protected  java.lang.String format
           
protected  INumberSpectrum model
           
protected  SimplePropertyFrame pf
           
protected  boolean qualityVisible
           
protected  boolean unitVisible
           
protected  java.lang.String xAxisUnit
           
 
Fields inherited from class fr.esrf.tangoatk.widget.util.chart.AdvancedJLChart
dataViewMenu, dataViewOptionItem, loadFileMenuItem, MENU_DATALOAD, MENU_RESET, removeDataViewMenuItem, resetMenuItem
 
Fields inherited from class fr.esrf.tangoatk.widget.util.chart.JLChart
chartMenu, dialogParent, FR_DATE_FORMAT, LABEL_DOWN, LABEL_LEFT, LABEL_RIGHT, LABEL_ROW, LABEL_UP, labelRect, lastDataFileLocation, lastFileFilter, lastSnapshotLocation, maxDisplayDuration, MENU_CHARTPROP, MENU_DATASAVE, MENU_DVPROP, MENU_PRINT, MENU_STAT, MENU_TABLE, modalDialog, noValueString, preferDialog, tableDialog, US_DATE_FORMAT
 
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
NumberSpectrumViewer()
          Creates new fNumberSpectrumViewer
 
Method Summary
 void actionPerformed(JLChartActionEvent evt)
          Called when the user select a user action (available from contextual chart menu)
 void clearModel()
          clearModel removes the model.
 java.lang.String[] clickOnChart(JLChartEvent e)
          Called when the user click on the chart
 void errorChange(ErrorEvent errorEvent)
           
 boolean getActionState(JLChartActionEvent evt)
          Called when the the action name starting with 'chk' (displayed as check box menu item) and each time the chart menu is shown.
 javax.swing.JComponent getComponent()
          Returns the JComponent that implements this interface.
 java.lang.String getDescription(java.lang.String name)
          Get a description of this extensions.
 java.lang.String getExtendedParam(java.lang.String name)
          Returns the specified parameter value.
 java.lang.String[] getExtensionList()
          Returns list of extension name for this objects (Empty array for none).
 boolean getManageXaxis()
          Gets if the viewer should manage the X axis according to a min and max value.
 java.lang.String getSettings()
          Return configuration.
 java.lang.String getXAxisUnit()
          Gets the x Axis unit.
 void initForEditing()
          Call after a component of a JDSwingObject is created, this give a default look and feel for editing.
 boolean isQualityVisible()
           
 boolean isUnitVisible()
          Returns whether unit shoud be visible or not
static void main(java.lang.String[] args)
           
 void numberScalarChange(NumberScalarEvent evt)
           
protected  boolean prepareDataViewMenu(JLDataView dataView)
           
 void removeDataView(JLDataView view)
           
 boolean setExtendedParam(java.lang.String name, java.lang.String value, boolean popupErr)
          Sets the specified param.
 void setManageXaxis(boolean b)
          Sets if the viewer should manage the X axis according to a min and max value.
 void setModel(INumberSpectrum v)
          setModel Set the model.
 void setQualityVisible(boolean qualityVisible)
           
 java.lang.String setSettings(java.lang.String cfg)
          Apply configuration.
 void setUnitVisible(boolean displayUnit)
          Sets whether unit shoud be visible or not
 void setXAxisAffineTransform(double a0, double a1)
          Sets an affine tranform to the X axis.
 void setXaxisModels(INumberScalar min, INumberScalar max)
          Sets the min and max for X axis to two scalar attributes
 void setXAxisUnit(java.lang.String u)
          Sets the x Axis unit.
 void spectrumChange(NumberSpectrumEvent numberSpectrumEvent)
           
 void stateChange(AttributeStateEvent evt)
           
 
Methods inherited from class fr.esrf.tangoatk.widget.util.chart.AdvancedJLChart
actionPerformed, mousePressed, removeMenuItem
 
Methods inherited from class fr.esrf.tangoatk.widget.util.chart.JLChart
addData, addJLChartActionListener, addMenuItem, addSeparator, addUserAction, applyConfiguration, buildPanelString, enterZoom, exitZoom, garbageData, getChartBackground, getConfiguration, getDisplayDuration, getExtension, getHeader, getHeaderFont, getHelpString, getLabelFont, getLabelPlacement, getMargin, getMaxDisplayDuration, getNoValueString, getTimePrecision, getXAxis, getY1Axis, getY2Axis, isLabelVisible, isPaintAxisFirst, isXAxisOnBottom, isZoomed, loadDataFile, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mouseReleased, paint, printGraph, refreshTableSingle, removeJLChartActionListener, removeUserAction, reset, reset, setBackground, setChartBackground, setDisplayDuration, setHeader, setHeaderColor, setHeaderFont, setHeaderVisible, setJLChartListener, setLabelFont, setLabelPlacement, setLabelVisible, setMargin, setMaxDisplayDuration, setNoValueString, setPaintAxisFirst, setParentForTableDialog, setParentForTableDialog, setPreferDialogForTable, setTimePrecision, setXAxisOnBottom, showDataOptionDialog, showOptionDialog, showPanel, showTableAll, unselectAll
 
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, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, 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, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, 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, 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
 

Field Detail

model

protected INumberSpectrum model

dvy

protected JLDataView dvy

pf

protected SimplePropertyFrame pf

A0

protected double A0

A1

protected double A1

xAxisUnit

protected java.lang.String xAxisUnit

format

protected java.lang.String format

unitVisible

protected boolean unitVisible

qualityVisible

protected boolean qualityVisible

DISPLAY_UNIT_STRING

protected static final java.lang.String DISPLAY_UNIT_STRING
See Also:
Constant Field Values

DISPLAY_QUALITY_STRING

protected static final java.lang.String DISPLAY_QUALITY_STRING
See Also:
Constant Field Values
Constructor Detail

NumberSpectrumViewer

public NumberSpectrumViewer()
Creates new fNumberSpectrumViewer

Method Detail

getManageXaxis

public boolean getManageXaxis()
Gets if the viewer should manage the X axis according to a min and max value.


setManageXaxis

public void setManageXaxis(boolean b)
Sets if the viewer should manage the X axis according to a min and max value. This method should be called BEFORE setModel()

Parameters:
b -

getXAxisUnit

public java.lang.String getXAxisUnit()
Gets the x Axis unit.


setXAxisUnit

public void setXAxisUnit(java.lang.String u)
Sets the x Axis unit.

Parameters:
u -

setXAxisAffineTransform

public void setXAxisAffineTransform(double a0,
                                    double a1)
Sets an affine tranform to the X axis. This allows to transform spectra index displayed on X axis.

Parameters:
a0 -
a1 -

initForEditing

public void initForEditing()
Description copied from interface: JDrawable
Call after a component of a JDSwingObject is created, this give a default look and feel for editing.

Specified by:
initForEditing in interface JDrawable

getComponent

public javax.swing.JComponent getComponent()
Description copied from interface: JDrawable
Returns the JComponent that implements this interface.

Specified by:
getComponent in interface JDrawable

getDescription

public java.lang.String getDescription(java.lang.String name)
Description copied from interface: JDrawable
Get a description of this extensions.

Specified by:
getDescription in interface JDrawable
Parameters:
name - Extension name
Returns:
Empty string for no description.

getExtensionList

public java.lang.String[] getExtensionList()
Description copied from interface: JDrawable
Returns list of extension name for this objects (Empty array for none).

Specified by:
getExtensionList in interface JDrawable

setExtendedParam

public boolean setExtendedParam(java.lang.String name,
                                java.lang.String value,
                                boolean popupErr)
Description copied from interface: JDrawable
Sets the specified param.

Specified by:
setExtendedParam in interface JDrawable
Parameters:
name - Parameter name (Case unsensitive).
value - Parameter value.
popupErr - true when the JDrawable should display a popup if the parameter value is incorrect, false otherwise. Note that the JDrawable must not display an error message if the parameter does not exists even if popupAllowed is true.
Returns:
true if parameters has been succesfully applied, false otherwise.

getExtendedParam

public java.lang.String getExtendedParam(java.lang.String name)
Description copied from interface: JDrawable
Returns the specified parameter value.

Specified by:
getExtendedParam in interface JDrawable
Parameters:
name - Param name (Case unsensitive).
Returns:
Empty string if not exists, the value otherwise.

actionPerformed

public void actionPerformed(JLChartActionEvent evt)
Description copied from interface: IJLChartActionListener
Called when the user select a user action (available from contextual chart menu)

Specified by:
actionPerformed in interface IJLChartActionListener
Parameters:
evt - Event object (containing acion name and state)
See Also:
JLChart.addUserAction(java.lang.String)

getActionState

public boolean getActionState(JLChartActionEvent evt)
Description copied from interface: IJLChartActionListener
Called when the the action name starting with 'chk' (displayed as check box menu item) and each time the chart menu is shown. if several listener handle the same action, the result will be a logical and of all results.

Specified by:
getActionState in interface IJLChartActionListener
Parameters:
evt - Event object (containing acion name)
See Also:
JLChart.addUserAction(java.lang.String)

errorChange

public void errorChange(ErrorEvent errorEvent)
Specified by:
errorChange in interface IErrorListener

stateChange

public void stateChange(AttributeStateEvent evt)
Specified by:
stateChange in interface IAttributeStateListener

spectrumChange

public void spectrumChange(NumberSpectrumEvent numberSpectrumEvent)
Specified by:
spectrumChange in interface ISpectrumListener

clickOnChart

public java.lang.String[] clickOnChart(JLChartEvent e)
Description copied from interface: IJLChartListener
Called when the user click on the chart

Specified by:
clickOnChart in interface IJLChartListener
Parameters:
e - Event object (containing click inforamtion)
Returns:
A set of string to display in the value tooltip. Does not display the tooltip if an empty array is returned. Keep default behavior when null is returned

setModel

public void setModel(INumberSpectrum v)
setModel Set the model.

Parameters:
v - Value to assign to model.

clearModel

public void clearModel()
clearModel removes the model.


setSettings

public java.lang.String setSettings(java.lang.String cfg)
Apply configuration.

Parameters:
cfg - String containing configuration
Returns:
error string when failure or an empty string when succesfull

getSettings

public java.lang.String getSettings()
Return configuration.

Returns:
current chart configuration as string

isUnitVisible

public boolean isUnitVisible()
Returns whether unit shoud be visible or not

Returns:
boolean corresponding to the choice

setUnitVisible

public void setUnitVisible(boolean displayUnit)
Sets whether unit shoud be visible or not

Parameters:
displayUnit - corresponding to the choice

isQualityVisible

public boolean isQualityVisible()

setQualityVisible

public void setQualityVisible(boolean qualityVisible)

removeDataView

public void removeDataView(JLDataView view)
Overrides:
removeDataView in class JLChart

prepareDataViewMenu

protected boolean prepareDataViewMenu(JLDataView dataView)
Overrides:
prepareDataViewMenu in class AdvancedJLChart

setXaxisModels

public void setXaxisModels(INumberScalar min,
                           INumberScalar max)
Sets the min and max for X axis to two scalar attributes

Parameters:
min -
max -

numberScalarChange

public void numberScalarChange(NumberScalarEvent evt)
Specified by:
numberScalarChange in interface INumberScalarListener

main

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