Eclipse Platform
2.0

org.eclipse.swt.custom
Class CCombo

java.lang.Object
  |
  +--org.eclipse.swt.widgets.Widget
        |
        +--org.eclipse.swt.widgets.Control
              |
              +--org.eclipse.swt.widgets.Scrollable
                    |
                    +--org.eclipse.swt.widgets.Composite
                          |
                          +--org.eclipse.swt.custom.CCombo
All Implemented Interfaces:
Drawable

public final class CCombo
extends Composite

The CCombo class represents a selectable user interface object that combines a text field and a list and issues notificiation when an item is selected from the list.

Note that although this class is a subclass of Composite, it does not make sense to add children to it, or set a layout on it.

Styles:
BORDER, READ_ONLY, FLAT
Events:
Selection


Field Summary
 
Fields inherited from class org.eclipse.swt.widgets.Control
handle
 
Constructor Summary
CCombo(Composite parent, int style)
          Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.
 
Method Summary
 void add(String string)
          Adds an item.
 void add(String string, int index)
          Adds an item at an index.
 void addModifyListener(ModifyListener listener)
          Adds the listener to receive events.
 void addSelectionListener(SelectionListener listener)
          Adds the listener to receive events.
 void clearSelection()
          Clears the current selection.
 Point computeSize(int wHint, int hHint, boolean changed)
          Returns the preferred size of the receiver.
 void deselect(int index)
          Deselects an item.
 void deselectAll()
          Deselects all items.
 Control[] getChildren()
          Returns an array containing the receiver's children.
 String getItem(int index)
          Gets an item at an index.
 int getItemCount()
          Gets the number of items.
 int getItemHeight()
          Gets the height of one item.
 String[] getItems()
          Gets the items.
 Point getSelection()
          Gets the selection.
 int getSelectionIndex()
          Gets the index of the selected item.
 String getText()
          Gets the widget text.
 int getTextHeight()
          Gets the height of the combo's text field.
 int getTextLimit()
          Gets the text limit.
 int indexOf(String string)
          Gets the index of an item.
 int indexOf(String string, int start)
          Gets the index of an item.
 boolean isFocusControl()
          Returns true if the receiver has the user-interface focus, and false otherwise.
 void redraw(int x, int y, int width, int height, boolean all)
          Causes the rectangular area of the receiver specified by the arguments to be marked as needing to be redrawn.
 void remove(int index)
          Removes an item at an index.
 void remove(int start, int end)
          Removes a range of items.
 void remove(String string)
          Removes an item.
 void removeAll()
          Removes all items.
 void removeModifyListener(ModifyListener listener)
          Removes the listener.
 void removeSelectionListener(SelectionListener listener)
          Removes the listener.
 void select(int index)
          Selects an item.
 void setBackground(Color color)
          Sets the receiver's background color to the color specified by the argument, or to the default system color for the control if the argument is null.
 boolean setFocus()
          Causes the receiver to have the keyboard focus, such that all keyboard events will be delivered to it.
 void setFont(Font font)
          Sets the font that the receiver will use to paint textual information to the font specified by the argument, or to the default font for that kind of control if the argument is null.
 void setForeground(Color color)
          Sets the receiver's foreground color to the color specified by the argument, or to the default system color for the control if the argument is null.
 void setItem(int index, String string)
          Sets the text of an item.
 void setItems(String[] items)
          Sets all items.
 void setSelection(Point selection)
          Sets the new selection.
 void setText(String string)
          Sets the widget text
 void setTextLimit(int limit)
          Sets the text limit
 void setToolTipText(String string)
          Sets the receiver's tool tip text to the argument, which may be null indicating that no tool tip text should be shown.
 
Methods inherited from class org.eclipse.swt.widgets.Composite
checkSubclass, getLayout, getTabList, layout, layout, setLayout, setTabList
 
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getVerticalBar
 
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addFocusListener, addHelpListener, addKeyListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addPaintListener, addTraverseListener, computeSize, forceFocus, getAccessible, getBackground, getBorderWidth, getBounds, getDisplay, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getParent, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isDisposed, isEnabled, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, removeControlListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removePaintListener, removeTraverseListener, setBounds, setBounds, setCapture, setCursor, setEnabled, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setSize, setSize, setVisible, toControl, toDisplay, traverse, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getStyle, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, setData, setData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CCombo

public CCombo(Composite parent,
              int style)
Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

The style value is either one of the style constants defined in class SWT which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the int "|" operator) two or more of those SWT style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

Parameters:
parent - a widget which will be the parent of the new instance (cannot be null)
style - the style of widget to construct
Throws:
IllegalArgumentException -
SWTException -
See Also:
SWT.BORDER, SWT.READ_ONLY, SWT.FLAT, Widget.getStyle()
Method Detail

add

public void add(String string)
Adds an item.

The item is placed at the end of the list. Indexing is zero based.

Parameters:
string - the new item
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_NULL_ARGUMENT) - when the string is null
SWTError(ERROR_ITEM_NOT_ADDED) - when the item cannot be added

add

public void add(String string,
                int index)
Adds an item at an index.

The item is placed at an index in the list. Indexing is zero based. This operation will fail when the index is out of range.

Parameters:
string - the new item
index - the index for the item
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_NULL_ARGUMENT) - when the string is null
SWTError(ERROR_ITEM_NOT_ADDED) - when the item cannot be added

addModifyListener

public void addModifyListener(ModifyListener listener)
Adds the listener to receive events.

Parameters:
listener - the listener
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_NULL_ARGUMENT) - when listener is null

addSelectionListener

public void addSelectionListener(SelectionListener listener)
Adds the listener to receive events.

Parameters:
listener - the listener
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_NULL_ARGUMENT) - when listener is null

clearSelection

public void clearSelection()
Clears the current selection.

Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed

computeSize

public Point computeSize(int wHint,
                         int hHint,
                         boolean changed)
Description copied from class: Control
Returns the preferred size of the receiver.

The preferred size of a control is the size that it would best be displayed at. The width hint and height hint arguments allow the caller to ask a control questions such as "Given a particular width, how high does the control need to be to show all of the contents?" To indicate that the caller does not wish to constrain a particular dimension, the constant SWT.DEFAULT is passed for the hint.

If the changed flag is true, it indicates that the receiver's contents have changed, therefore any caches that a layout manager containing the control may have been keeping need to be flushed. When the control is resized, the changed flag will be false, so layout manager caches can be retained.

Overrides:
computeSize in class Composite
Parameters:
wHint - the width hint (can be SWT.DEFAULT)
hHint - the height hint (can be SWT.DEFAULT)
changed - true if the control's contents have changed, and false otherwise
Returns:
the preferred size of the control.
See Also:
Layout, Control.getBorderWidth(), Control.getBounds(), Control.getSize(), Control.pack(), "computeTrim, getClientArea for controls that implement them"

deselect

public void deselect(int index)
Deselects an item.

If the item at an index is selected, it is deselected. If the item at an index is not selected, it remains deselected. Indices that are out of range are ignored. Indexing is zero based.

Parameters:
index - the index of the item
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed

deselectAll

public void deselectAll()
Deselects all items.

If an item is selected, it is deselected. If an item is not selected, it remains unselected.

Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed

getChildren

public Control[] getChildren()
Description copied from class: Composite
Returns an array containing the receiver's children.

Note: This is not the actual structure used by the receiver to maintain its list of children, so modifying the array will not affect the receiver.

Overrides:
getChildren in class Composite
Returns:
an array of children

getItem

public String getItem(int index)
Gets an item at an index.

Indexing is zero based. This operation will fail when the index is out of range or an item could not be queried from the OS.

Parameters:
index - the index of the item
Returns:
the item
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_CANNOT_GET_ITEM) - when the operation fails

getItemCount

public int getItemCount()
Gets the number of items.

This operation will fail if the number of items could not be queried from the OS.

Returns:
the number of items in the widget
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_CANNOT_GET_COUNT) - when the operation fails

getItemHeight

public int getItemHeight()
Gets the height of one item.

This operation will fail if the height of one item could not be queried from the OS.

Returns:
the height of one item in the widget
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_CANNOT_GET_ITEM_HEIGHT) - when the operation fails

getItems

public String[] getItems()
Gets the items.

This operation will fail if the items cannot be queried from the OS.

Returns:
the items in the widget
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_CANNOT_GET_ITEM) - when the operation fails

getSelection

public Point getSelection()
Gets the selection.

Returns:
a point representing the selection start and end
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed

getSelectionIndex

public int getSelectionIndex()
Gets the index of the selected item.

Indexing is zero based. If no item is selected -1 is returned.

Returns:
the index of the selected item.
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed

getText

public String getText()
Gets the widget text.

If the widget has no text, an empty string is returned.

Returns:
the widget text
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed

getTextHeight

public int getTextHeight()
Gets the height of the combo's text field.

The operation will fail if the height cannot be queried from the OS.

Returns:
the height of the combo's text field.
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_ERROR_CANNOT_GET_ITEM_HEIGHT) - when the operation fails

getTextLimit

public int getTextLimit()
Gets the text limit.

Returns:
the text limit
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed

indexOf

public int indexOf(String string)
Gets the index of an item.

The list is searched starting at 0 until an item is found that is equal to the search item. If no item is found, -1 is returned. Indexing is zero based.

Parameters:
string - the search item
Returns:
the index of the item
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_NULL_ARGUMENT) - when string is null

indexOf

public int indexOf(String string,
                   int start)
Gets the index of an item.

The widget is searched starting at start including the end position until an item is found that is equal to the search itenm. If no item is found, -1 is returned. Indexing is zero based.

Parameters:
string - the search item
Returns:
the index of the item
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_NULL_ARGUMENT) - when string is null

isFocusControl

public boolean isFocusControl()
Description copied from class: Control
Returns true if the receiver has the user-interface focus, and false otherwise.

Overrides:
isFocusControl in class Control
Returns:
the receiver's focus state

redraw

public void redraw(int x,
                   int y,
                   int width,
                   int height,
                   boolean all)
Description copied from class: Control
Causes the rectangular area of the receiver specified by the arguments to be marked as needing to be redrawn. The next time a paint request is processed, that area of the receiver will be painted. If the all flag is true, any children of the receiver which intersect with the specified area will also paint their intersecting areas. If the all flag is false, the children will not be painted.

Overrides:
redraw in class Control
Parameters:
x - the x coordinate of the area to draw
y - the y coordinate of the area to draw
width - the width of the area to draw
height - the height of the area to draw
all - true if children should redraw, and false otherwise
See Also:
Control.update()

remove

public void remove(int index)
Removes an item at an index.

Indexing is zero based. This operation will fail when the index is out of range or an item could not be removed from the OS.

Parameters:
index - the index of the item
Returns:
the selection state
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_ITEM_NOT_REMOVED) - when the operation fails

remove

public void remove(int start,
                   int end)
Removes a range of items.

Indexing is zero based. The range of items is from the start index up to and including the end index. This operation will fail when the index is out of range or an item could not be removed from the OS.

Parameters:
start - the start of the range
end - the end of the range
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_ITEM_NOT_REMOVED) - when the operation fails

remove

public void remove(String string)
Removes an item.

This operation will fail when the item could not be removed from the OS.

Parameters:
string - the search item
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_NULL_ARGUMENT) - when string is null
SWTError(ERROR_ITEM_NOT_REMOVED) - when the operation fails

removeAll

public void removeAll()
Removes all items.

Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed

removeModifyListener

public void removeModifyListener(ModifyListener listener)
Removes the listener.

Parameters:
listener - the listener
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_NULL_ARGUMENT) - when listener is null

removeSelectionListener

public void removeSelectionListener(SelectionListener listener)
Removes the listener.

Parameters:
listener - the listener
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_NULL_ARGUMENT) - when listener is null

select

public void select(int index)
Selects an item.

If the item at an index is not selected, it is selected. Indices that are out of range are ignored. Indexing is zero based.

Parameters:
index - the index of the item
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed

setBackground

public void setBackground(Color color)
Description copied from class: Control
Sets the receiver's background color to the color specified by the argument, or to the default system color for the control if the argument is null.

Overrides:
setBackground in class Control
Parameters:
color - the new color (or null)

setFocus

public boolean setFocus()
Description copied from class: Control
Causes the receiver to have the keyboard focus, such that all keyboard events will be delivered to it.

Overrides:
setFocus in class Composite
Returns:
true if the control got focus, and false if it was unable to.
See Also:
Control.forceFocus()

setFont

public void setFont(Font font)
Description copied from class: Control
Sets the font that the receiver will use to paint textual information to the font specified by the argument, or to the default font for that kind of control if the argument is null.

Overrides:
setFont in class Control
Parameters:
font - the new font (or null)

setForeground

public void setForeground(Color color)
Description copied from class: Control
Sets the receiver's foreground color to the color specified by the argument, or to the default system color for the control if the argument is null.

Overrides:
setForeground in class Control
Parameters:
color - the new color (or null)

setItem

public void setItem(int index,
                    String string)
Sets the text of an item.

Indexing is zero based. This operation will fail when the index is out of range or an item could not be changed in the OS.

Parameters:
index - the index for the item
string - the item
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_NULL_ARGUMENT) - when items is null
SWTError(ERROR_ITEM_NOT_MODIFIED) - when the operation fails

setItems

public void setItems(String[] items)
Sets all items.

Parameters:
items - the array of items
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_NULL_ARGUMENT) - when items is null
SWTError(ERROR_ITEM_NOT_ADDED) - when the operation fails

setSelection

public void setSelection(Point selection)
Sets the new selection.

Parameters:
selection - point representing the start and the end of the new selection
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_NULL_ARGUMENT) - when selection is null

setText

public void setText(String string)
Sets the widget text

Parameters:
string - the widget text
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_NULL_ARGUMENT) - when string is null

setTextLimit

public void setTextLimit(int limit)
Sets the text limit

Parameters:
limit - new text limit
Throws:
SWTError(ERROR_THREAD_INVALID_ACCESS) - when called from the wrong thread
SWTError(ERROR_WIDGET_DISPOSED) - when the widget has been disposed
SWTError(ERROR_CANNOT_BE_ZERO) - when limit is 0

setToolTipText

public void setToolTipText(String string)
Description copied from class: Control
Sets the receiver's tool tip text to the argument, which may be null indicating that no tool tip text should be shown.

Overrides:
setToolTipText in class Control
Parameters:
string - the new tool tip text (or null)

Eclipse Platform
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.