com.swfm.mica.widgets
Class MiComboBox

java.lang.Object
  extended bycom.swfm.mica.core.MiPart
      extended bycom.swfm.mica.core.MiContainer
          extended bycom.swfm.mica.layouts.MiLayout
              extended bycom.swfm.mica.core.MiVisibleContainer
                  extended bycom.swfm.mica.widgets.MiWidget
                      extended bycom.swfm.mica.widgets.MiComboBox
All Implemented Interfaces:
MiiActionHandler, MiiActionTypes, MiiAttributeTypes, MiiCopyable, MiiDragAndDropParticipant, MiiEventTypes, MiiLayout, MiiNames, MiiPropertyTypes, MiiTypes

public class MiComboBox
extends MiWidget
implements MiiActionHandler

Version:
%I% %G%
Author:
Michael L. Davis

Field Summary
static java.lang.String Mi_COMBOBOX_PROTOTYPE_CLASS_NAME
           
                   
Constructor Summary
MiComboBox()
           
MiComboBox(boolean textFieldSensitive)
           
 
Method Summary
 MiPart copy()
          Returns a copy of this MiPart.
 void copy(MiPart source)
          Copy the state of this MiPart into the target MiPart.
static MiComboBox create()
          Creates a new widget from the prototype.
 boolean getAutoCompleteValues()
           
 Strings getContents()
          Gets the contents (list of values) this widget displays.
 MiTable getList()
           
 MiMenu getMenu()
           
static MiComboBox getPrototype()
          Gets the prototype that is to be copied when the #create method is called and to have it's attributes and handlers copied whenever any widget of this type is created.
 boolean getRestrictionIgnoresCase()
           
 MiTextField getTextField()
           
 java.lang.String getValue()
          Gets the value this widget displays.
 boolean isRestrictingValuesToThoseInList()
           
 boolean isRestrictionWarnsOnly()
           
static MiPart makeDecoration()
           
static MiPart makeDecoration(double width, double height)
           
 boolean processAction(MiiAction action)
          Processes the given action.
 void setAutoCompleteValues(boolean flag)
           
 void setContents(Strings contents)
          Sets the contents (list of values) this widget displays.
 void setList(MiTable list)
           
static void setPrototype(MiComboBox p)
          Sets the prototype that is to be copied when the #create method is called and to have it's attributes and handlers copied whenever any widget of this type is created.
 void setRestrictingValuesToThoseInList(boolean flag)
           
 void setRestrictionIgnoresCase(boolean flag)
           
 void setRestrictionWarnsOnly(boolean flag)
           
 void setSensitive(boolean flag)
          Update the attributes of this widget while setting it's sensitivity.
 void setValue(java.lang.String value)
          Sets the value this widget displays.
 
Methods inherited from class com.swfm.mica.widgets.MiWidget
doExport, getEnterKeyFocusAttributes, getEnterKeyFocusBackgroundColor, getEnterKeyFocusBorderLook, getEnterKeyFocusColor, getEnterKeyFocusStatusHelp, getInSensitiveAttributes, getInSensitiveBackgroundColor, getInSensitiveBorderLook, getInSensitiveColor, getInSensitiveStatusHelp, getKeyboardFocusAttributes, getKeyboardFocusBackgroundColor, getKeyboardFocusBorderLook, getKeyboardFocusColor, getKeyboardFocusStatusHelp, getMouseFocusAttributes, getMouseFocusBackgroundColor, getMouseFocusBorderLook, getMouseFocusColor, getMouseFocusStatusHelp, getNormalAttributes, getNormalBackgroundColor, getNormalBorderLook, getNormalColor, getNormalStatusHelp, getPropertyDescriptions, getPropertyValue, getRadioStateEnforcer, getSelectedAttributes, getSelectedBackgroundColor, getSelectedBorderLook, getSelectedColor, getSelectedStatusHelp, getToolkit, getWidgetAttributes, isAutoAttributesEnabled, isDesignTime, select, setAttributes, setAutoAttributesEnabled, setCurrentBackgroundColor, setCurrentColor, setEnterKeyFocus, setEnterKeyFocusAttributes, setEnterKeyFocusBackgroundColor, setEnterKeyFocusBorderLook, setEnterKeyFocusColor, setEnterKeyFocusStatusHelpMessage, setInSensitiveAttributes, setInSensitiveBackgroundColor, setInSensitiveBorderLook, setInSensitiveColor, setInSensitiveStatusHelpMessage, setKeyboardFocus, setKeyboardFocusAttributes, setKeyboardFocusBackgroundColor, setKeyboardFocusBorderLook, setKeyboardFocusColor, setKeyboardFocusStatusHelpMessage, setMouseFocus, setMouseFocusAttributes, setMouseFocusBackgroundColor, setMouseFocusBorderLook, setMouseFocusColor, setMouseFocusStatusHelpMessage, setNormalAttributes, setNormalBackgroundColor, setNormalBorderLook, setNormalColor, setNormalStatusHelpMessage, setPropertyValue, setPropertyValues, setRadioStateEnforcer, setSelectedAttributes, setSelectedBackgroundColor, setSelectedBorderLook, setSelectedColor, setSelectedStatusHelpMessage, setWidgetAttributes, setWidgetAttributes
 
Methods inherited from class com.swfm.mica.core.MiVisibleContainer
calcMinimumSize, calcPreferredSize, getContainerLayoutSpec, getDisplaysFocusBorder, getInnerBounds, getIntersectionWithLine, getOKToDrawOutsideInnerBounds, getShadowShape, getShape, getTotalMargins, getVisibleContainerAutomaticLayoutEnabled, invalidateArea, isShapeShrinkToFitEnabled, pick, setContainerLayoutSpec, setDisplaysFocusBorder, setMargins, setOKToDrawOutsideInnerBounds, setShape, setShape, setShapeShrinkToFitEnabled, setVisibleContainerAutomaticLayoutEnabled
 
Methods inherited from class com.swfm.mica.layouts.MiLayout
determinesPreferredAndMinimumSizes, getAlleyHSpacing, getAlleyMargins, getAlleyVSpacing, getCellMargins, getCellMargins, getElementHJustification, getElementHSizing, getElementVJustification, getElementVSizing, getInsetMargins, getInsetMargins, getLastElementJustification, getTarget, getUniqueElementIndex, getUniqueElementSizing, isEnabled, isIndependantOfTargetPosition, isScalingOfPartsWhenBoundsChangesHandledDuringLayout, layoutParts, makeCopy, setAlleyHSpacing, setAlleySpacing, setAlleyVSpacing, setCellMargins, setCellMargins, setElementHJustification, setElementHSizing, setElementJustification, setElementSizing, setElementVJustification, setElementVSizing, setEnabled, setInsetMargins, setInsetMargins, setLastElementJustification, setScalingOfPartsWhenBoundsChangesHandledDuringLayout, setTarget, setUniqueElementIndex, setUniqueElementSizing, toString
 
Methods inherited from class com.swfm.mica.core.MiContainer
appendPart, containsPart, deepCopy, doImport, getIndexOfPart, getKeepConnectionsBelowNodes, getNumberOfParts, getPart, getPart, getSupportedImportFormats, hasEventHandlers, hasValidCachedEventHandlerInfo, insertPart, invalidateCachedEventHandlerInfo, isContainerOf, isContainerOf, isContainerOfWithAttachments, pickDeepListContents, pickObject, removeAllParts, removePart, removePart, setKeepConnectionsBelowNodes, setPart, translate
 
Methods inherited from class com.swfm.mica.core.MiPart
_reCalcBounds, _render, _replaceBounds, _setContainer, _setDrawManager, _setValidatingLayout, appendActionHandler, appendActionHandler, appendActionHandler, appendActionHandler, appendActionHandler, appendAttachment, appendAttachment, appendCommandHandler, appendCommandHandler, appendCommandHandler, appendConnection, appendContainer, appendEventHandler, appendItem, appendPoint, appendPoint, applyCustomLookAndFeel, containsItem, containsOpaqueRectangles, deleteAllConnections, deleteAllParts, deleteSelf, dispatchAction, dispatchAction, dispatchAction, dispatchActionRequest, dispatchActionRequest, dispatchActionRequest, dispatchEvent, draw, drawNow, drawNow, flip, flip, freeAccessLock, get1DShapeStrokeBackgroundColor, get1DShapeStrokesFilled, getAccessLock, getActionHandler, getActionsGenerated, getActionsLocallyGenerated, getActionsRequestedFromParts, getAfterRenderer, getAlphaCompositeRenderMode, getAnnotationPointManager, getAssociatedParts, getAttachment, getAttachment, getAttachmentMargins, getAttachments, getAttributeLockMask, getAttributePublicMask, getAttributes, getAttributeValue, getBackgroundColor, getBackgroundImage, getBackgroundRenderer, getBackgroundTile, getBalloonHelp, getBeforeRenderer, getBlackColor, getBorderHiliteColor, getBorderHiliteWidth, getBorderLook, getBorderRenderer, getBounds, getBounds, getCenter, getCenter, getCenterOfRotation, getCenterX, getCenterY, getColor, getConnection, getConnectionPointManager, getContainer, getContainerRequestedActions, getContainingEditor, getContainingWindow, getContextCursor, getContextMenu, getContextMenu, getControlPointManager, getCustomLookAndFeels, getCustomLookAndFeels, getDarkColor, getDeepConnection, getDeepConnection, getDeepConnections, getDeeplyInvalidateAreas, getDefaultAttributes, getDialogHelp, getDoubleBuffer, getDragAndDropBehavior, getDrawBounds, getDrawManager, getEventHandler, getEventHandler, getEventHandlerWithClass, getEventHandlingDisabledByContainer, getEventHandlingEnabled, getFlipped, getFont, getFontHorizontalJustification, getFontPointSize, getFontVerticalJustification, getHasBorderHilite, getHasShadow, getHeight, getID, getIncomingInvalidLayoutNotificationsEnabled, getIndexOfItem, getInnerBounds, getInvalidAreaNotificationsEnabled, getInvalidLayoutNotificationsEnabled, getItem, getItem, getKeyFocusTraversalGroup, getLayout, getLayoutManipulator, getLightColor, getLineEndSize, getLineEndsRenderer, getLineEndsSizeFnOfLineWidth, getLineEndStyle, getLineStartSize, getLineStartStyle, getLineStyle, getLineWidth, getLocallyRequestedEventTypes, getManipulator, getMargins, getMaximumHeight, getMaximumWidth, getMinimumHeight, getMinimumPickAreaSize, getMinimumSize, getMinimumWidth, getName, getNumberOfActionHandlers, getNumberOfAttachments, getNumberOfConnections, getNumberOfContainers, getNumberOfDeepConnections, getNumberOfEventHandlers, getNumberOfItems, getNumberOfPoints, getNumberOfResources, getOutgoingInvalidLayoutNotificationsEnabled, getPoint, getPoint, getPointEntryAngle, getPointExitAngle, getPointX, getPointY, getPreferredSize, getPrototypeManipulator, getRelativeLocation, getResource, getResourceName, getRootWindow, getRotation, getSelectionGraphics, getShadowColor, getShadowDirection, getShadowLength, getShadowRenderer, getShadowStyle, getSize, getSnapPointManager, getStatusHelp, getSupportedExportFormats, getThisOrPartHasInvalidArea, getToolHintHelp, getTotalNumberOfPartsCreated, getTransform, getTransparency, getValidatingLayout, getVisibilityAnimator, getWhiteColor, getWidth, getWriteMode, getXmax, getXmin, getXorColor, getYmax, getYmin, hasAttachment, hasAttribute, hasEnterKeyFocus, hasEventHandler, hasFixedAspectRatio, hasFixedHeight, hasFixedWidth, hasKeyboardFocus, hasMouseFocus, hasOverriddenMinimumSize, hasOverriddenPreferredSize, hasProperty, hasTotallyInvalidArea, hasValidLayout, insertActionHandler, insertActionHandler, insertActionHandler, insertConnection, insertContainer, insertEventHandler, insertItem, insertPoint, insertPoint, invalidateArea, invalidateLayout, isAcceptingEnterKeyFocus, isAcceptingKeyboardFocus, isAcceptingMouseFocus, isAcceptingTabKeys, isActionDispatchingEnabled, isConnectable, isConnectedTo, isCopyable, isCopyableAsPartOfCopyable, isDeletable, isDoubleBuffered, isDragAndDropSource, isDragAndDropTarget, isFilled, isFontBold, isFontItalic, isFontUnderlined, isHidden, isMovable, isOpaqueRectangle, isPickable, isPickableWhenTransparent, isPrintable, isSavable, isSelectable, isSelected, isSensitive, isShowing, isSnappable, isUngroupable, isValidConnectionDestination, isValidConnectionSource, isVisible, makeImageFromArea, makeLayoutManipulator, makeManipulator, optimizedInvalidateArea, optimizedInvalidateDrawBoundsArea, overrideAttributes, overrideEventHandlingDisabledByContainer, packLayout, pickDeepList, preRenderToDoubleBuffer, refreshBounds, refreshLookAndFeel, refreshLookAndFeel, removeActionHandler, removeActionHandler, removeActionHandlers, removeAllActionHandlers, removeAllAttachments, removeAllConnections, removeAllEventHandlers, removeAllItems, removeAllManipulators, removeAttachment, removeAttachment, removeCommandHandler, removeCommandHandler, removeConnection, removeConnection, removeContainer, removeContainer, removeEventHandler, removeFromAllContainers, removeItem, removeItem, removePoint, removeResource, removeSelf, replaceDrawBounds, replaceSelf, requestEnterKeyFocus, requestKeyboardFocus, rotate, rotate, rotateTo, scale, scale, scale, set1DShapeStrokeBackgroundColor, set1DShapeStrokesFilled, setAcceptingEnterKeyFocus, setAcceptingKeyboardFocus, setAcceptingMouseFocus, setAcceptingTabKeys, setActionDispatchingEnabled, setAfterRenderer, setAlphaCompositeRenderMode, setAnnotationPointManager, setAttachmentDrawnAfter, setAttachmentMargins, setAttachmentsVisibility, setAttributeLockMask, setAttributePublicMask, setAttributeValue, setAttributeValue, setAttributeValue, setAttributeValue, setAttributeValue, setBackgroundColor, setBackgroundColor, setBackgroundImage, setBackgroundRenderer, setBackgroundTile, setBalloonHelp, setBalloonHelpMessage, setBeforeRenderer, setBlackColor, setBorderHiliteColor, setBorderHiliteWidth, setBorderLook, setBorderRenderer, setBounds, setBounds, setCenter, setCenter, setCenterX, setCenterY, setColor, setColor, setConnectable, setConnectionPointManager, setContextCursor, setContextMenu, setControlPointManager, setCopyable, setCopyableAsPartOfCopyable, setCustomLookAndFeels, setCustomLookAndFeels, setDarkColor, setDeeplyInvalidateAreas, setDefaultAttributes, setDeletable, setDialogHelp, setDialogHelpMessage, setDoubleBuffer, setDoubleBuffered, setDragAndDropBehavior, setEventHandlingEnabled, setFilled, setFixedAspectRatio, setFixedHeight, setFixedWidth, setFont, setFontBold, setFontHorizontalJustification, setFontItalic, setFontPointSize, setFontUnderlined, setFontVerticalJustification, setHasBorderHilite, setHasShadow, setHeight, setHidden, setIncomingInvalidLayoutNotificationsEnabled, setInvalidAreaNotificationsEnabled, setInvalidLayoutNotificationsEnabled, setIsDragAndDropSource, setIsDragAndDropTarget, setIsOpaqueRectangle, setItem, setKeyFocusTraversalGroup, setLayout, setLightColor, setLineEndSize, setLineEndSizeFnOfLineWidth, setLineEndsRenderer, setLineEndStyle, setLineStartSize, setLineStartStyle, setLineStyle, setLineWidth, setMaximumHeight, setMaximumWidth, setMinimumHeight, setMinimumPickAreaSize, setMinimumSize, setMinimumWidth, setMovable, setName, setNumberOfPoints, setOutgoingInvalidLayoutNotificationsEnabled, setPickable, setPickableWhenTransparent, setPoint, setPoint, setPreferredSize, setPrintable, setPrototypeManipulator, setResource, setSavable, setSelectable, setSelectionGraphics, setShadowColor, setShadowDirection, setShadowLength, setShadowRenderer, setShadowStyle, setSize, setSize, setSnappable, setSnapPointManager, setStatusHelp, setStatusHelpMessage, setSupportedImportFormats, setToolHintHelp, setToolHintMessage, setTransparency, setTransparency, setUngroupable, setVisibilityAnimator, setVisible, setWhiteColor, setWidth, setWriteMode, setXmax, setXmin, setXorColor, setYmax, setYmin, supportsImportOfSpecificInstance, translate, translate, translatePoint, validateLayout, validatePropertyValue, waitUntilRedrawn
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.swfm.mica.layouts.MiiLayout
getMinimumSize, getPreferredSize, invalidateLayout
 

Field Detail

Mi_COMBOBOX_PROTOTYPE_CLASS_NAME

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

MiComboBox

public MiComboBox()

MiComboBox

public MiComboBox(boolean textFieldSensitive)
Method Detail

create

public static MiComboBox create()
Creates a new widget from the prototype. This is the factory pattern implementation for this widget. If the prototype is null, then the default contructor is used.

Returns:
the new widget
See Also:
setPrototype(com.swfm.mica.widgets.MiComboBox)

getList

public MiTable getList()

setList

public void setList(MiTable list)

getTextField

public MiTextField getTextField()

getMenu

public MiMenu getMenu()

setSensitive

public void setSensitive(boolean flag)
Description copied from class: MiWidget
Update the attributes of this widget while setting it's sensitivity.

Overrides:
setSensitive in class MiWidget
Parameters:
flag - true if sensitive

setValue

public void setValue(java.lang.String value)
Description copied from class: MiWidget
Sets the value this widget displays. Override this, if desired, as it implements the core functionality. Most widgets do.

Overrides:
setValue in class MiWidget
Parameters:
value - the value in the form of a text string

getValue

public java.lang.String getValue()
Description copied from class: MiWidget
Gets the value this widget displays. Override this, if desired, as it implements the core functionality. Most widgets do.

Overrides:
getValue in class MiWidget
Returns:
the value in the form of a text string

setContents

public void setContents(Strings contents)
Description copied from class: MiWidget
Sets the contents (list of values) this widget displays. Override this, if desired, as it implements the core functionality. Most major widgets do.

Overrides:
setContents in class MiWidget
Parameters:
contents - the contents in the form of a list of text strings

getContents

public Strings getContents()
Description copied from class: MiWidget
Gets the contents (list of values) this widget displays. Override this, if desired, as it implements the core functionality. Most major widgets do.

Overrides:
getContents in class MiWidget
Returns:
the contents in the form of a list of text strings

setRestrictingValuesToThoseInList

public void setRestrictingValuesToThoseInList(boolean flag)

isRestrictingValuesToThoseInList

public boolean isRestrictingValuesToThoseInList()

setRestrictionWarnsOnly

public void setRestrictionWarnsOnly(boolean flag)

isRestrictionWarnsOnly

public boolean isRestrictionWarnsOnly()

setRestrictionIgnoresCase

public void setRestrictionIgnoresCase(boolean flag)

getRestrictionIgnoresCase

public boolean getRestrictionIgnoresCase()

setAutoCompleteValues

public void setAutoCompleteValues(boolean flag)

getAutoCompleteValues

public boolean getAutoCompleteValues()

setPrototype

public static void setPrototype(MiComboBox p)
Sets the prototype that is to be copied when the #create method is called and to have it's attributes and handlers copied whenever any widget of this type is created.

Parameters:
p - the new prototype
See Also:
getPrototype(), create(), MiPart.copy()

getPrototype

public static MiComboBox getPrototype()
Gets the prototype that is to be copied when the #create method is called and to have it's attributes and handlers copied whenever any widget of this type is created.

Returns:
the prototype
See Also:
setPrototype(com.swfm.mica.widgets.MiComboBox), create(), MiPart.copy()

processAction

public boolean processAction(MiiAction action)
Description copied from interface: MiiActionHandler
Processes the given action.

Specified by:
processAction in interface MiiActionHandler
Parameters:
action - the action to process
Returns:
true if it is OK to send action to the next action handler false if it is NOT OK to send action to the next action handler

makeDecoration

public static MiPart makeDecoration()

makeDecoration

public static MiPart makeDecoration(double width,
                                    double height)

copy

public MiPart copy()
Description copied from class: MiPart
Returns a copy of this MiPart. The copy has the same attributes, bounds, resources, attachments, layouts, action handlers, and event handlers. A Mi_COPY_ACTION is generated and dispatched to this MiPart (not the copy).

MiPart theNewCopy = (MiPart )action.getActionSystemInfo(); MiPart theCopied = action.getActionSource();

In addition a Mi_COPY_ACTION | Mi_EXECUTE_ACTION_PHASE action is sent to the 'copied' MiPart. This allows the application to perform the copy itself:

MiPart[] theNewCopy = (MiPart[] )action.getActionSystemInfo(); MiPart theCopied = action.getActionSource(); ... semantics = ((Semantics )theCopied.getResource("semantics")).copy(); ... theNewCopy[0] = semantics.getGraphics(); return(true);

This should be rarely overridden as the overridding method cannot tell whether the copy was performed by a MiiActionHandler as described above (so all data in the copy has been copied and adjusted already).

Overrides:
copy in class MiPart
Returns:
the copy
See Also:
MiPart.deepCopy()

copy

public void copy(MiPart source)
Copy the state of this MiPart into the target MiPart.

Overrides:
copy in class MiWidget
Parameters:
source - the part to copy
See Also:
MiPart.copy()