com.altair.hwm.beans.utils
Class HWMMinMaxIcon

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.AbstractButton
                  extended by javax.swing.JButton
                      extended by com.altair.hwm.beans.utils.HWMMinMaxIcon
All Implemented Interfaces:
IHWMControl, ITCLCodeCreator, java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.SwingConstants

public class HWMMinMaxIcon
extends javax.swing.JButton
implements IHWMControl, ITCLCodeCreator, java.beans.PropertyChangeListener, java.awt.event.ActionListener

Title: HWMMinMaxIcon

Description: A button / Icon bean. Very similar to the JButton

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
 
Fields inherited from class javax.swing.AbstractButton
BORDER_PAINTED_CHANGED_PROPERTY, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
 
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 javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
HWMMinMaxIcon()
          Creates an icon button with no set text or icon.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
          Calls a method when the icon / button is pressed
 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.
 java.lang.String GetBeanName()
          Get the name of this bean (the name was assigned by the EPIC framework)
 IHWMFrameWork GetFrameWork()
          Returns the interface using which a bean can communicate directly with the HWM application.
 java.lang.String GetImageFilename()
          Method to get the image file name
 java.lang.String getToolTipText()
          Returns the tooltip for the icon button.
 void OnAction()
          Callback when the Icon button is pressed
 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)
          Read the data back again and update the UI too
 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 SetBeanName(java.lang.String strBeanName)
          Set the name of the bean
 void setEnabled(boolean bEnableState)
          Enables the icon button.
 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 SetImageFilename(java.lang.String imageFilename)
          Method to set the specific image file onto the icon button
 void SetImageFilename(java.lang.String imageFilename, boolean bUpdateDataModel)
          Method to set the image file onto the icon button and same would be updated in the datamodel
 void setToolTipText(java.lang.String strToolTip)
          Sets the tooltip for the icon button.
 void setVisible(boolean bVisibleState)
          Makes the component visible or invisible.
 java.lang.String TCLCreateAdditionalEventProcs()
          This method returns 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 (Icon).
 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 Icon / Button.
 void writeExternal(java.io.ObjectOutput objOutput)
          Save the data into file (pmt)
 
Methods inherited from class javax.swing.JButton
getAccessibleContext, getUIClassID, isDefaultButton, isDefaultCapable, removeNotify, setDefaultCapable, updateUI
 
Methods inherited from class javax.swing.AbstractButton
addActionListener, addChangeListener, addItemListener, doClick, doClick, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, isSelected, removeActionListener, removeChangeListener, removeItemListener, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setFocusPainted, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setModel, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition
 
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, 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, 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, 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
 

Constructor Detail

HWMMinMaxIcon

public HWMMinMaxIcon()
Creates an icon button with no set text or icon.

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.

getToolTipText

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

setToolTipText

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

setEnabled

public void setEnabled(boolean bEnableState)
Enables the icon button. When the icon button is disabled, icon button cannot be selected

Overrides:
setEnabled in class javax.swing.AbstractButton
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.


SetImageFilename

public void SetImageFilename(java.lang.String imageFilename)
Method to set the specific image file onto the icon button

Parameters:
imageFilename - - Image File Name picked by the user

SetImageFilename

public void SetImageFilename(java.lang.String imageFilename,
                             boolean bUpdateDataModel)
Method to set the image file onto the icon button and same would be updated in the datamodel

Parameters:
imageFilename - - Image File Name picked by the user
bUpdateDataModel - - boolean whether to save the data into datamodel

GetImageFilename

public java.lang.String GetImageFilename()
Method to get the image file name

Returns:
- m_strIconToggle - File name of the represented icon

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
Save the data into file (pmt)

Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput objInput)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Read the data back again and update the UI too

Throws:
java.io.IOException
java.lang.ClassNotFoundException

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

Play

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

Specified by:
Play in interface IHWMControl
Throws:
java.lang.Exception

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.

Specified by:
Run in interface IHWMControl

TCLCreateAdditionalEventProcs

public java.lang.String TCLCreateAdditionalEventProcs()
                                               throws java.lang.Exception
This method returns the TCL statement string for any additional procedures that is requred for the bean. The TCL equivalent code for creating that procedure will be returned by this method. The bean in question (Icon) will implement the required procedures code generation.

Specified by:
TCLCreateAdditionalEventProcs in interface ITCLCodeCreator
Throws:
java.lang.Exception

TCLCreateExec

public java.lang.String TCLCreateExec()
                               throws java.lang.Exception
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
Throws:
java.lang.Exception

TCLCreateGetDataFromDataModel

public java.lang.String TCLCreateGetDataFromDataModel()
                                               throws java.lang.Exception
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 (Icon) will generate the equivalent TCL code.

Specified by:
TCLCreateGetDataFromDataModel in interface ITCLCodeCreator
Throws:
java.lang.Exception

TCLCreateMemberVariables

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

Specified by:
TCLCreateMemberVariables in interface ITCLCodeCreator
Throws:
java.lang.Exception

TCLCreateOnDataModelChanged

public java.lang.String TCLCreateOnDataModelChanged()
                                             throws java.lang.Exception
This method returns the TCL statement string that implements the functionlaity requred to handle the "OnDataModelChanged" event. If the bean in question (Icon) 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
Throws:
java.lang.Exception

TCLCreateSetDataInDataModel

public java.lang.String TCLCreateSetDataInDataModel()
                                             throws java.lang.Exception
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
Throws:
java.lang.Exception

TCLCreateUI

public java.lang.String TCLCreateUI()
                             throws java.lang.Exception
This method returns the TCL statement string for creating the GUI Icon / Button.

Specified by:
TCLCreateUI in interface ITCLCodeCreator
Throws:
java.lang.Exception

OnAction

public void OnAction()
              throws java.lang.Exception
Callback when the Icon button is pressed

Throws:
java.lang.Exception

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Calls a method when the icon / button is pressed

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
event - - The action event object (See Java docs for help)