com.ibm.commons.swt.controls
Class LookupComboBox

java.lang.Object
  extended by org.eclipse.swt.widgets.Widget
      extended by org.eclipse.swt.widgets.Control
          extended by org.eclipse.swt.widgets.Scrollable
              extended by org.eclipse.swt.widgets.Composite
                  extended by org.eclipse.swt.widgets.Combo
                      extended by com.ibm.commons.swt.controls.custom.CustomCombo
                          extended by com.ibm.commons.swt.controls.LookupComboBox
All Implemented Interfaces:
com.ibm.commons.iloader.node.lookups.api.LookupListener, ICustomControl, java.util.EventListener, org.eclipse.swt.graphics.Drawable

public class LookupComboBox
extends CustomCombo
implements com.ibm.commons.iloader.node.lookups.api.LookupListener

A Combo control that extends com.ibm.commons.swt.controls.custom.CustomCombo. This Combo box control has the added features of being populated based on a 'lookup', and encapsulates the ability to have a blank first row.


Field Summary
 
Fields inherited from class org.eclipse.swt.widgets.Combo
LIMIT
 
Fields inherited from class org.eclipse.swt.widgets.Control
handle
 
Constructor Summary
LookupComboBox(org.eclipse.swt.widgets.Composite parent, int style, java.lang.String id)
          Constructs a new instance of the class given the parent Composite, a style value describing its behavior and appearance, and id which can be used to later identify this control.
 
Method Summary
 java.lang.String getFirstLineTitle()
          Used in conjunction with setFirstBlankLine(boolean).
 ILookup getLookup()
          Returns the lookup associated with this combo box.
 java.lang.String getValue()
          If a lookup has been assigned to this control, then calling this method will return the 'code' associated with the currently selected 'label'.
 boolean isEditableLabels()
           
 boolean isFirstBlankLine()
          Returns whether or not the first row of the combo box will be blank (default is false).
 void lookupChanged(ILookup lookup)
           
 void setEditableLabels(boolean editableLabels)
          Determines whether or not the values of the combo box can be edited.
 void setFirstBlankLine(boolean firstBlankLine)
          Sets whether or not the first row of the combo box is empty by default.
 void setFirstLineTitle(java.lang.String firstLineTitle)
           
 void setLookup(ILookup lookup)
          Sets a lookup to be used in conjunction with this combobox.
 void setValue(java.lang.String value)
          Sets the value of the combo.
 
Methods inherited from class com.ibm.commons.swt.controls.custom.CustomCombo
checkSubclass, computeSize, getCols, getId, setCols, setId
 
Methods inherited from class org.eclipse.swt.widgets.Combo
add, add, addModifyListener, addSelectionListener, addVerifyListener, clearSelection, copy, cut, deselect, deselectAll, getItem, getItemCount, getItemHeight, getItems, getListVisible, getOrientation, getSelection, getSelectionIndex, getText, getTextHeight, getTextLimit, getVisibleItemCount, indexOf, indexOf, paste, remove, remove, remove, removeAll, removeModifyListener, removeSelectionListener, removeVerifyListener, select, setItem, setItems, setListVisible, setOrientation, setSelection, setText, setTextLimit, setVisibleItemCount
 
Methods inherited from class org.eclipse.swt.widgets.Composite
changed, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList
 
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getBorderWidth, getClientArea, getHorizontalBar, getVerticalBar
 
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTraverseListener, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getRegion, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTraverseListener, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setRegion, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LookupComboBox

public LookupComboBox(org.eclipse.swt.widgets.Composite parent,
                      int style,
                      java.lang.String id)
Constructs a new instance of the class given the parent Composite, a style value describing its behavior and appearance, and id which can be used to later identify this control.

Parameters:
parent - - a Composite control which will be the parent of the new instance (CANNOT be null).
style - - the style of the control to construct.
id - - the programmatic ID of the control once constructed.
Method Detail

getLookup

public ILookup getLookup()
Returns the lookup associated with this combo box.

Returns:
returns an instance of ILookup, or null if a lookup has not been defined.
See Also:
com.ibm.commons.iloader.node.lookups.api.ILookup}

setLookup

public void setLookup(ILookup lookup)
Sets a lookup to be used in conjunction with this combobox. The lookup provides a way for the control to provide a 'UI' and a 'Model'. The lookup provides labels and codes. The labels are shown to the end user, but when 'getValue' is called on the widget the 'code' supplied by the lookup with be returned (as opposed to the label).

Parameters:
lookup - an instance of ILookup containing codes and labels

lookupChanged

public void lookupChanged(ILookup lookup)
Specified by:
lookupChanged in interface com.ibm.commons.iloader.node.lookups.api.LookupListener

getValue

public java.lang.String getValue()
If a lookup has been assigned to this control, then calling this method will return the 'code' associated with the currently selected 'label'. Otherwise the current value of the combo is returned.

Returns:
returns a string

setValue

public void setValue(java.lang.String value)
Sets the value of the combo. If the value is one of the codes in the lookup then the label correspondending to the code is set as the value of the combo, otherwise the value passed into the method is set as the value of the combo.

Parameters:
value - the desired value of the comobo box.

isFirstBlankLine

public boolean isFirstBlankLine()
Returns whether or not the first row of the combo box will be blank (default is false).

Returns:

setFirstBlankLine

public void setFirstBlankLine(boolean firstBlankLine)
Sets whether or not the first row of the combo box is empty by default. If true the first row of the combo will always be empty.

Parameters:
firstBlankLine -

getFirstLineTitle

public java.lang.String getFirstLineTitle()
Used in conjunction with setFirstBlankLine(boolean). If the first row is set to be blank, and has a title, then the null value of the model will be assigned a lable for instance in some models it may be desirable to assign a value to the default case, e.g. '(default)'.

Returns:

setFirstLineTitle

public void setFirstLineTitle(java.lang.String firstLineTitle)
Parameters:
firstLineTitle -
See Also:
getFirstLineTitle()

isEditableLabels

public boolean isEditableLabels()

setEditableLabels

public void setEditableLabels(boolean editableLabels)
Determines whether or not the values of the combo box can be edited.

Parameters:
editableLabels -