fr.esrf.tangoatk.widget.util.chart.math
Class StaticChartMathExpression

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.util.chart.math.StaticChartMathExpression
All Implemented Interfaces:
IJLChartActionListener, 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 StaticChartMathExpression
extends AdvancedJLChart
implements IJLChartActionListener

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 static java.lang.String EVALUATE_EXPRESSION
           
protected  java.util.HashMap<JLDataView,java.lang.Object[]> expressionMap
           
static int X_AXIS
          Used to put a DataView on X axis
static int Y1_AXIS
          Used to put a DataView on Y1 axis
static int Y2_AXIS
          Used to put a DataView on Y2 axis
 
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
StaticChartMathExpression()
           
 
Method Summary
 void actionPerformed(JLChartActionEvent evt)
          Called when the user select a user action (available from contextual chart menu)
 void applyConfiguration(CfFileReader f)
          Apply graph configuration.
protected  JLDataView applyExpression(java.lang.String expression, JLDataView expressionDataView, java.lang.String[] variables, boolean x)
           
 JLDataView applyExpressionToChart(java.lang.String expression, JLDataView expressionDataView, int selectedAxis, java.lang.String[] variables, boolean x)
          Call this method to evaluate an expression and have the result represented by a DataView you previously parametered
 void clearExpressions()
           
 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.
 java.lang.String getConfiguration()
          Build a configuration string that can be write into a file and is compatible with CfFileReader.
 boolean isCanPutExpressionOnX()
           
 boolean isUseXViewsWithExpressions()
           
static void main(java.lang.String[] args)
           
 java.util.Vector<JLDataView> prepareViews()
           
 void removeDataView(JLDataView view)
           
protected  void reset(boolean showConfirmDialog)
           
 void setCanPutExpressionOnX(boolean canSetExpressionOnX)
           
 void setUseXViewsWithExpressions(boolean useXViewsWithExpressions)
           
 void showExpressionDialog()
          Display the expression dialog.
protected  void updateExpressions(JLDataView view)
           
 
Methods inherited from class fr.esrf.tangoatk.widget.util.chart.AdvancedJLChart
actionPerformed, mousePressed, prepareDataViewMenu, removeMenuItem
 
Methods inherited from class fr.esrf.tangoatk.widget.util.chart.JLChart
addData, addJLChartActionListener, addMenuItem, addSeparator, addUserAction, buildPanelString, enterZoom, exitZoom, garbageData, getChartBackground, 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, 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

EVALUATE_EXPRESSION

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

Y1_AXIS

public static final int Y1_AXIS
Used to put a DataView on Y1 axis

See Also:
Constant Field Values

Y2_AXIS

public static final int Y2_AXIS
Used to put a DataView on Y2 axis

See Also:
Constant Field Values

X_AXIS

public static final int X_AXIS
Used to put a DataView on X axis

See Also:
Constant Field Values

expressionMap

protected java.util.HashMap<JLDataView,java.lang.Object[]> expressionMap
Constructor Detail

StaticChartMathExpression

public StaticChartMathExpression()
Method Detail

showExpressionDialog

public void showExpressionDialog()
Display the expression dialog.


applyExpressionToChart

public JLDataView applyExpressionToChart(java.lang.String expression,
                                         JLDataView expressionDataView,
                                         int selectedAxis,
                                         java.lang.String[] variables,
                                         boolean x)
Call this method to evaluate an expression and have the result represented by a DataView you previously parametered

Parameters:
expression - The String representing your expression. It must not be null. Example: "cos(x1) + 2*sin(x2)/exp(x3)"
expressionDataView - The JLDataView in which you want to put your expression evaluation result. It can be null. In this case, a JLDataView is automatically created.
selectedAxis - The axis on which you want to put your DataView. It can be X_AXIS, Y1_AXIS or Y2_AXIS
variables - A String[] representing the dataview names associated with your variables in order of the variables index. Example : You have two variables x1 and x2 in your expression. x1 is associated with the JLDataView named "theCurve", and x2 with the JLDataView named "theBar". Then, variables must be {"theCurve", "theBar"}.
x - A boolean to know whether your expression looks like "f(x)". If your expression looks like "f(x1,...,xn)" then set x to false. If it looks like "f(x)", set x to true.
Returns:
The JLDataView used to draw the expression result (the one given in parameter if not null, the automatically created one otherwise). Returns null if you try to put an expression on x axis when it is not allowed
See Also:
X_AXIS, Y1_AXIS, Y2_AXIS

applyExpression

protected JLDataView applyExpression(java.lang.String expression,
                                     JLDataView expressionDataView,
                                     java.lang.String[] variables,
                                     boolean x)

prepareViews

public java.util.Vector<JLDataView> prepareViews()

clearExpressions

public void clearExpressions()

updateExpressions

protected void updateExpressions(JLDataView view)

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)

getConfiguration

public java.lang.String getConfiguration()
Description copied from class: JLChart
Build a configuration string that can be write into a file and is compatible with CfFileReader.

Overrides:
getConfiguration in class JLChart
Returns:
A string containing param.
See Also:
JLChart.applyConfiguration(fr.esrf.tangoatk.widget.util.chart.CfFileReader), JLDataView.getConfiguration(java.lang.String), JLAxis.getConfiguration(java.lang.String)

applyConfiguration

public void applyConfiguration(CfFileReader f)
Description copied from class: JLChart
Apply graph configuration. This includes all global settings. The CfFileReader object must have been filled by the caller.

Overrides:
applyConfiguration in class JLChart
Parameters:
f - Handle to CfFileReader object that contains global graph param
See Also:
CfFileReader.parseText(java.lang.String), CfFileReader.readFile(java.lang.String), JLAxis.applyConfiguration(java.lang.String, fr.esrf.tangoatk.widget.util.chart.CfFileReader), JLDataView.applyConfiguration(java.lang.String, fr.esrf.tangoatk.widget.util.chart.CfFileReader)

reset

protected void reset(boolean showConfirmDialog)
Overrides:
reset in class JLChart

main

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

isUseXViewsWithExpressions

public boolean isUseXViewsWithExpressions()
Returns:
the useXViewsWithExpressions

setUseXViewsWithExpressions

public void setUseXViewsWithExpressions(boolean useXViewsWithExpressions)
Parameters:
useXViewsWithExpressions - the useXViewsWithExpressions to set

isCanPutExpressionOnX

public boolean isCanPutExpressionOnX()
Returns:
the canSetExpressionOnX

setCanPutExpressionOnX

public void setCanPutExpressionOnX(boolean canSetExpressionOnX)
Parameters:
canSetExpressionOnX - the canSetExpressionOnX to set

removeDataView

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