com.altair.hwm.beans.utils
Class HWMSpinner

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.altair.hwm.beans.utils.HWMBasePanel
                      extended by com.altair.hwm.beans.utils.HWMSpinner
All Implemented Interfaces:
HWMEventListener, IHWMControl, ITCLCodeCreator, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Externalizable, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener

public class HWMSpinner
extends HWMBasePanel
implements IHWMControl, HWMEventListener, java.io.Externalizable, java.beans.PropertyChangeListener, ITCLCodeCreator, javax.swing.event.ChangeListener

Title: HWMSpinner Description: A simple Spinner bean. Very similar to the JSpinner. Company: Altair Engineering, Inc.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Field Summary
static java.lang.String PROP_ACTIONSCRIPT
           
 
Fields inherited from class com.altair.hwm.beans.utils.HWMBasePanel
BASE_VERSION
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
HWMSpinner()
          Constructor
 
Method Summary
 void Disable()
          Providing "Disable" method rather than overriding java's "disable" method because of the following reasons: 1> disable is deprecated 2> It does nothing visually for some controls like button 3> setEnabled calls enable/disable in the base class once it changes the UI.
 void Enable()
          Providing "Enable" method rather than overriding java's "enable" method because of the following reasons: 1> enable is deprecated 2> It does nothing visually for some controls like button 3> setEnabled calls enable/disable in the base class once it changes the UI.
 HWMActionScript GetActionScript()
          Get the Java Script
 java.lang.String getCurrentValue()
          Returns the Spinner current value
 IHWMFrameWork GetFrameWork()
          Returns the interface using which a bean can communicate directly with the HWM application.
 java.lang.String getMaxSpinnerValue()
          Returns the maximum value of the spinner.
 java.lang.String getMinSpinnerValue()
          Returns the minimum value of the spinner.
 java.lang.String getStepSizeValue()
          Returns the Spinner stepsize value
 java.lang.String getToolTipText()
          Returns the tooltip for the spinner.
 void HWMEventCallback(HWMEvent hwmEvent)
          This method is called when the execution of a method succeeds
 void OnExit()
          Invoked by the HWM application when the bean is being destroyed.
 void Play()
          The play method needs to execute the functionaliy.
 void propertyChange(java.beans.PropertyChangeEvent evt)
          This method gets called when a bound property is changed.
 void readExternal(java.io.ObjectInput objInput)
          Reads the properties of the bean
 void ReadProperties()
          Get the required properties from the datamodel and initialize self
 void Run()
          Invoked by the HWM application when all the beans are loaded and the application can run.
 void SaveProperties()
          Save the required properties in the datamodel (so that they persist)
 void SetActionScript(HWMActionScript hwmScript)
          Set the Java Script
 void SetBeanName(java.lang.String strBeanName)
          Set the name of the bean
 void setCurrentValue(java.lang.String nSpinnerCurValue)
          Sets the Spinner current value
 void setEnabled(boolean bEnableState)
          Enables the spinner so that items can be selected.
 void SetFrameWork(IHWMFrameWork hwmFrameWork)
          This method is called by the HWM Application to set the interface with which a bean can communicate directly with the HWM application.
 void setMaxSpinnerValue(java.lang.String nSpinnerMax)
          Sets the maximum value of the Spinner.
 void setMinSpinnerValue(java.lang.String nSpinnerMin)
          Sets the minimum value of the Spinner.
 void setStepSizeValue(java.lang.String nSpinnerStepValue)
          Sets the Spinner stepsize value
 void setToolTipText(java.lang.String strToolTip)
          Sets the tooltip for the spinner.
 void setVisible(boolean bVisibleState)
          Makes the component visible or invisible.
 void stateChanged(javax.swing.event.ChangeEvent event)
           
 java.lang.String TCLCreateAdditionalEventProcs()
          This method rerurns the TCL statement string for any additional procedures that is requred for the bean.
 java.lang.String TCLCreateExec()
          This method returns the TCL statement string that performs the execution of script associated with the bean.
 java.lang.String TCLCreateGetDataFromDataModel()
          This method returns the TCL statement string that gets the data in the datamodel.
 java.lang.String TCLCreateMemberVariables()
          This method returns the TCL statement string for all the memeber variables referred by the bean in question.
 java.lang.String TCLCreateOnDataModelChanged()
          This method returns the TCL statement string that implements the functionlaity requred to handle the "OnDataModelChanged" event.
 java.lang.String TCLCreateSetDataInDataModel()
          This method returns the TCL statement string that sets the data in the datamodel.
 java.lang.String TCLCreateUI()
          This method returns the TCL statement string for creating the GUI for the bean in question.
 void writeExternal(java.io.ObjectOutput objOutput)
          Writes the properties of the bean
 
Methods inherited from class com.altair.hwm.beans.utils.HWMBasePanel
addHWMCmdEventListener, GetBeanName, removeHWMCmdEventListener, setBackground, setFont, setForeground
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setTransferHandler, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROP_ACTIONSCRIPT

public static final java.lang.String PROP_ACTIONSCRIPT
See Also:
Constant Field Values
Constructor Detail

HWMSpinner

public HWMSpinner()
Constructor

Method Detail

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
This method gets called when a bound property is changed.

Specified by:
propertyChange in interface java.beans.PropertyChangeListener
Parameters:
evt - - A PropertyChangeEvent object describing the event source and the property that has changed.

Enable

public void Enable()
Providing "Enable" method rather than overriding java's "enable" method because of the following reasons: 1> enable is deprecated 2> It does nothing visually for some controls like button 3> setEnabled calls enable/disable in the base class once it changes the UI. So overriding enable or disable and then invoking setEnabled will lead to a loop where this class's enable/disable will call setEnabled on the super class and that would in turn call enable/disable in this class.

Overrides:
Enable in class HWMBasePanel

Disable

public void Disable()
Providing "Disable" method rather than overriding java's "disable" method because of the following reasons: 1> disable is deprecated 2> It does nothing visually for some controls like button 3> setEnabled calls enable/disable in the base class once it changes the UI. So overriding enable or disable and then invoking setEnabled will lead to a loop where this class's enable/disable will call setEnabled on the super class and that would in turn call enable/disable in this class.

Overrides:
Disable in class HWMBasePanel

setEnabled

public void setEnabled(boolean bEnableState)
Enables the spinner so that items can be selected. When the spinner is disabled, items cannot be selected and values cannot be typed into its field (if it is editable).

Overrides:
setEnabled in class javax.swing.JComponent
Parameters:
bEnableState - - a boolean value, where true enables the component and false disables it

setVisible

public void setVisible(boolean bVisibleState)
Makes the component visible or invisible. Overrides Component.setVisible.

Overrides:
setVisible in class javax.swing.JComponent
Parameters:
bVisibleState - - true to make the component visible

setToolTipText

public void setToolTipText(java.lang.String strToolTip)
Sets the tooltip for the spinner. The reason we override this method is that if there is no tooltip to show, then the tooltip should be null. But the property panel will set an empty string instead of null. If the tooltip is an empty string, a black dot is shown. To avoid this problem, we set the tooltip text to null if there is no tooltip to be shown.

Overrides:
setToolTipText in class javax.swing.JComponent
Parameters:
strToolTip - Tooltip for the spinner

getToolTipText

public java.lang.String getToolTipText()
Returns the tooltip for the spinner. The reason we override this method is that if there is no tooltip to show, then the tooltip will be null. But if it is null, it will not show up in the properties.

Overrides:
getToolTipText in class javax.swing.JComponent
Returns:
String Tooltip for the spinner

setMinSpinnerValue

public void setMinSpinnerValue(java.lang.String nSpinnerMin)
Sets the minimum value of the Spinner.

Parameters:
nSpinnerMin -

setMaxSpinnerValue

public void setMaxSpinnerValue(java.lang.String nSpinnerMax)
Sets the maximum value of the Spinner.

Parameters:
nSpinnerMax -

setCurrentValue

public void setCurrentValue(java.lang.String nSpinnerCurValue)
Sets the Spinner current value

Parameters:
nSpinnerCurValue - - Current spinner value

setStepSizeValue

public void setStepSizeValue(java.lang.String nSpinnerStepValue)
Sets the Spinner stepsize value

Parameters:
nSpinnerStepValue - - Spinner stepsize value

SetActionScript

public void SetActionScript(HWMActionScript hwmScript)
Set the Java Script

Parameters:
hwmScript - The ActionScript instance

getMinSpinnerValue

public java.lang.String getMinSpinnerValue()
Returns the minimum value of the spinner.

Returns:
String spinnerMinValue - Minimum value of the spinner

getMaxSpinnerValue

public java.lang.String getMaxSpinnerValue()
Returns the maximum value of the spinner.

Returns:
String spinnerMaxValue - Maximum value of the spinner

getCurrentValue

public java.lang.String getCurrentValue()
Returns the Spinner current value

Returns:
String spinnerCurValue - Current spinner value

getStepSizeValue

public java.lang.String getStepSizeValue()
Returns the Spinner stepsize value

Returns:
String spinnerStepValue - Spinner stepsize value

GetActionScript

public HWMActionScript GetActionScript()
Get the Java Script

Returns:
The script to execute

SaveProperties

public void SaveProperties()
Save the required properties in the datamodel (so that they persist)

Overrides:
SaveProperties in class HWMBasePanel

ReadProperties

public void ReadProperties()
Get the required properties from the datamodel and initialize self

Overrides:
ReadProperties in class HWMBasePanel

writeExternal

public void writeExternal(java.io.ObjectOutput objOutput)
                   throws java.io.IOException
Writes the properties of the bean

Specified by:
writeExternal in interface java.io.Externalizable
Overrides:
writeExternal in class HWMBasePanel
Parameters:
objOutput - ObjectOuput stream to which the properties are written
Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput objInput)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Reads the properties of the bean

Specified by:
readExternal in interface java.io.Externalizable
Overrides:
readExternal in class HWMBasePanel
Parameters:
objInput - ObjectInput stream from which the properties are read
Throws:
java.io.IOException
java.lang.ClassNotFoundException

HWMEventCallback

public void HWMEventCallback(HWMEvent hwmEvent)
This method is called when the execution of a method succeeds

Specified by:
HWMEventCallback in interface HWMEventListener
Overrides:
HWMEventCallback in class HWMBasePanel
Parameters:
hwmEvent - The event object that contains the event information

SetFrameWork

public void SetFrameWork(IHWMFrameWork hwmFrameWork)
This method is called by the HWM Application to set the interface with which a bean can communicate directly with the HWM application.

Specified by:
SetFrameWork in interface IHWMControl
Overrides:
SetFrameWork in class HWMBasePanel
Parameters:
hwmFrameWork - The interface with which a bean can communicate with the HWM application.

GetFrameWork

public IHWMFrameWork GetFrameWork()
Returns the interface using which a bean can communicate directly with the HWM application.

Overrides:
GetFrameWork in class HWMBasePanel
Returns:
IHWMFrameWork The interface with which a bean can communicate with the HWM application.

SetBeanName

public void SetBeanName(java.lang.String strBeanName)
Set the name of the bean

Specified by:
SetBeanName in interface IHWMControl
Overrides:
SetBeanName in class HWMBasePanel
Parameters:
strBeanName - The name of this bean as the framework knows it to be. Will be useful, if the bean chooses to scope its data in the datamodel - especially if multiple instances of the same bean appear in the process

OnExit

public void OnExit()
Invoked by the HWM application when the bean is being destroyed. Any uninitializations to be done, can be done here by overriding this method.

Specified by:
OnExit in interface IHWMControl
Overrides:
OnExit in class HWMBasePanel

Run

public void Run()
Invoked by the HWM application when all the beans are loaded and the application can run. Beans that need to perform some action once all the beans are loaded can do it here. The container will call 'Run' on all the beans that have implemented the IHWMControl. The order will be: a> First call "Run" on all the beans in pages associated with a task. Begin with the first task. b> Call 'Run' on rest of the pages (which are not associated with a task). The pages are selected based on their order of creation. c> Within a page, the beans are invoked depending on the order of their creation.

Specified by:
Run in interface IHWMControl
Overrides:
Run in class HWMBasePanel

Play

public void Play()
The play method needs to execute the functionaliy. This may be invoked in the replay mode.

Specified by:
Play in interface IHWMControl
Overrides:
Play in class HWMBasePanel

TCLCreateUI

public java.lang.String TCLCreateUI()
This method returns the TCL statement string for creating the GUI for the bean in question.

Specified by:
TCLCreateUI in interface ITCLCodeCreator

TCLCreateMemberVariables

public java.lang.String TCLCreateMemberVariables()
This method returns the TCL statement string for all the memeber variables referred by the bean in question. The code generated by this method goes in the "DisplayWnd" procedure of the task.

Specified by:
TCLCreateMemberVariables in interface ITCLCodeCreator

TCLCreateSetDataInDataModel

public java.lang.String TCLCreateSetDataInDataModel()
This method returns the TCL statement string that sets the data in the datamodel. The code generated by this method goes in the SetDataInDataModel code of the Task.

Specified by:
TCLCreateSetDataInDataModel in interface ITCLCodeCreator

TCLCreateGetDataFromDataModel

public java.lang.String TCLCreateGetDataFromDataModel()
This method returns the TCL statement string that gets the data in the datamodel. The code generated by this method goes in the GetDataFromDataModel code of the Task. The bean in question will generate the equivalent TCL code.

Specified by:
TCLCreateGetDataFromDataModel in interface ITCLCodeCreator

TCLCreateExec

public java.lang.String TCLCreateExec()
This method returns the TCL statement string that performs the execution of script associated with the bean. The code generated goes into the "Exec" procedure of the task. The bean in question will generate the TCL code.

Specified by:
TCLCreateExec in interface ITCLCodeCreator

TCLCreateAdditionalEventProcs

public java.lang.String TCLCreateAdditionalEventProcs()
This method rerurns the TCL statement string for any additional procedures that is requred for the bean. For e.g: In the case of a "Browse" button, there should be a "OnBrowseFile" procedure which is the callback for the "Browse" button. The TCL equivalent code for creating that proceudre will be returned by this method. The bean in question will implement the required procedures code generation.

Specified by:
TCLCreateAdditionalEventProcs in interface ITCLCodeCreator

TCLCreateOnDataModelChanged

public java.lang.String TCLCreateOnDataModelChanged()
This method returns the TCL statement string that implements the functionlaity requred to handle the "OnDataModelChanged" event. If the bean in question needs to be interested in updating itself, then the bean will be implementing the method to return the TCL code.

Specified by:
TCLCreateOnDataModelChanged in interface ITCLCodeCreator

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent event)
Specified by:
stateChanged in interface javax.swing.event.ChangeListener