com.altair.hwm.beans.utils
Class HWMListBox

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.HWMListBox
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.ListSelectionListener

public class HWMListBox
extends javax.swing.JPanel
implements IHWMControl, HWMEventListener, java.io.Externalizable, java.beans.PropertyChangeListener, ITCLCodeCreator, javax.swing.event.ListSelectionListener

Title: HWMListBox

Description: A listboc bean. Very similar to the JListBox, with additional functionality that the user can specify the entries in the listbox as properties of the bean

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 MULTIPLE_SELECTION
           
static java.lang.String PROP_ACTIONSCRIPT
           
static java.lang.String PROP_ENABLE
           
static java.lang.String PROP_LIST_ENTRY
          List of property names for this bean for which propertyChange event will be fired
static java.lang.String PROP_SELECTION_TYPE
           
static java.lang.String PROP_TOOLTIP
           
static java.lang.String PROP_VALUE
           
static java.lang.String PROP_VISIBLE
           
static java.lang.String SINGLE_SELECTION
           
 
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
HWMListBox()
          Constructor
HWMListBox(java.lang.Object[] arrobjItems)
          Constructor which takes an array of objects as parameter
HWMListBox(java.util.Vector vectItems)
          Constructor which takes vector of items
 
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 GetBeanName()
          Get the name of this bean (the name was assigned by the EPIC framework)
 java.util.Vector GetEntries()
          Gets the items listed in the combo box
 IHWMFrameWork GetFrameWork()
          Returns the interface using which a bean can communicate directly with the HWM application.
 java.util.Vector GetSelectedValues()
          Sets the string to be selected.
 java.lang.String GetSelectionType()
           
 java.lang.String getToolTipText()
          Returns the tooltip for the button.
 void HWMEventCallback(HWMEvent hwmEvent)
          This method is called when the execution of a method succeeds
 void jbInit()
          Advise for the even which is fired when an item is selected
 void OnExit()
          Invoked by the HWM application when the bean is being destroyed.
 void OnItemSelected()
          When an item is selected, this event is fired
 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 setEnabled(boolean bEnableState)
          Enables the component so that items can be selected.
 void SetEntries(java.util.Vector vecItems)
          Sets the list of items in the combobox
 void SetEntries(java.util.Vector vecItems, boolean bUpdateDataModel)
          Sets the list of items in the combobox
 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 SetSelectedValues(java.util.Vector vectSelectedObjs)
          Sets the string to be selected.
 void SetSelectionType(java.lang.String selType)
           
 void setToolTipText(java.lang.String strToolTip)
          Sets the tooltip for the component.
 void setVisible(boolean bVisibleState)
          Makes the component visible or invisible.
 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 valueChanged(javax.swing.event.ListSelectionEvent event)
          Called when the selection in the list changes
 void writeExternal(java.io.ObjectOutput objOutput)
          Writes the properties of the bean
 
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, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, 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_LIST_ENTRY

public static final java.lang.String PROP_LIST_ENTRY
List of property names for this bean for which propertyChange event will be fired

See Also:
Constant Field Values

PROP_VALUE

public static final java.lang.String PROP_VALUE
See Also:
Constant Field Values

PROP_ENABLE

public static final java.lang.String PROP_ENABLE
See Also:
Constant Field Values

PROP_VISIBLE

public static final java.lang.String PROP_VISIBLE
See Also:
Constant Field Values

PROP_ACTIONSCRIPT

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

PROP_TOOLTIP

public static final java.lang.String PROP_TOOLTIP
See Also:
Constant Field Values

PROP_SELECTION_TYPE

public static final java.lang.String PROP_SELECTION_TYPE
See Also:
Constant Field Values

SINGLE_SELECTION

public static final java.lang.String SINGLE_SELECTION
See Also:
Constant Field Values

MULTIPLE_SELECTION

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

HWMListBox

public HWMListBox()
Constructor


HWMListBox

public HWMListBox(java.lang.Object[] arrobjItems)
Constructor which takes an array of objects as parameter

Parameters:
arrobjItems - Array of objects to be listed in the combo box

HWMListBox

public HWMListBox(java.util.Vector vectItems)
Constructor which takes vector of items

Parameters:
vectItems - Vector of objects to be listed in the combo box
Method Detail

jbInit

public void jbInit()
Advise for the even which is fired when an item is selected


GetSelectionType

public java.lang.String GetSelectionType()

SetSelectionType

public void SetSelectionType(java.lang.String selType)

valueChanged

public void valueChanged(javax.swing.event.ListSelectionEvent event)
Called when the selection in the list changes

Specified by:
valueChanged in interface javax.swing.event.ListSelectionListener

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.

GetActionScript

public HWMActionScript GetActionScript()
Get the Java Script

Returns:
The script to execute

SetActionScript

public void SetActionScript(HWMActionScript hwmScript)
Set the Java Script

Parameters:
hwmScript - The ActionScript instance

OnItemSelected

public void OnItemSelected()
When an item is selected, this event is fired


SetSelectedValues

public void SetSelectedValues(java.util.Vector vectSelectedObjs)
Sets the string to be selected. Fires an prop change event too

Parameters:
strItem - the string to be selected

GetSelectedValues

public java.util.Vector GetSelectedValues()
Sets the string to be selected. Fires an prop change event too

Parameters:
strItem - the string to be selected

SetEntries

public void SetEntries(java.util.Vector vecItems)
Sets the list of items in the combobox

Parameters:
vecItems - Vector of objects to be listed in the combo box

SetEntries

public void SetEntries(java.util.Vector vecItems,
                       boolean bUpdateDataModel)
Sets the list of items in the combobox

Parameters:
vecItems - Vector of objects to be listed in the combo box

GetEntries

public java.util.Vector GetEntries()
Gets the items listed in the combo box

Returns:
Vector of objects listed in the combo box

getToolTipText

public java.lang.String getToolTipText()
Returns the tooltip for the button. 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 button

setToolTipText

public void setToolTipText(java.lang.String strToolTip)
Sets the tooltip for the component. 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 button

setEnabled

public void setEnabled(boolean bEnableState)
Enables the component so that items can be selected. When the combo box 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

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.


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.


SaveProperties

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


ReadProperties

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


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
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
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
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
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.

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

GetBeanName

public java.lang.String GetBeanName()
Get the name of this bean (the name was assigned by the EPIC framework)

Returns:
String The bean name

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

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

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

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 ffor creating that proceudre will be returned by this methos. The bean in question will implement the required procediures 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 mthod to return the TCL code.

Specified by:
TCLCreateOnDataModelChanged in interface ITCLCodeCreator