ComboBox

A combobox combines a text field with a pop-down list of values; the user may select the value of the text field from among the values in the list.

This widget has two types of values that can be set. First, a list of values can be set to populate the drop-down list which can then be selected via a mouse. Second, the value can be set independently and in addition to the value list. See the below widget specific and common commands for an overview of how this works.

Constructors

this
this(UiElement parent)

Construct the widget.

Members

Functions

getSelected
int getSelected()

Get the index of the selected value from the current widget's list values.

select
auto select(int index)

Select the value at a particular index in the value list.

Mixins

__anonymous
mixin BoundingBox

Mixin common commands.

__anonymous
mixin Color
Undocumented in source.
__anonymous
mixin Cursor
Undocumented in source.
__anonymous
mixin Data
Undocumented in source.
__anonymous
mixin Delete_
Undocumented in source.
__anonymous
mixin ExportSelection
Undocumented in source.
__anonymous
mixin Font
Undocumented in source.
__anonymous
mixin Height
Undocumented in source.
__anonymous
mixin Index
Undocumented in source.
__anonymous
mixin Insert
Undocumented in source.
__anonymous
mixin Justify
Undocumented in source.
__anonymous
mixin PostCommand
Undocumented in source.
__anonymous
mixin Selection
Undocumented in source.
__anonymous
mixin Value!(this._valueVariable, string)
Undocumented in source.
__anonymous
mixin Width
Undocumented in source.
__anonymous
mixin XScrollCommand!(ComboBox)
Undocumented in source.
__anonymous
mixin XView
Undocumented in source.

Mixed In Members

From mixin BoundingBox

getCharBoundingBox
int[] getCharBoundingBox(int charIndex)

Get the bounding box of a character in the text.

From mixin Color

setForegroundColor
auto setForegroundColor(string color)

Set the foreground color of the widget.

setBackgroundColor
auto setBackgroundColor(string color)

Set the background color of the widget.

setInsertColor
auto setInsertColor(string color)

Set the insert cursor color of the widget.

From mixin Cursor

setCursorPosition
auto setCursorPosition(int charIndex)

Set the text cursor just after the character index passed.

From mixin Data

getData
string[] getData()

Get the data values of the widget.

setData
auto setData(string[] values)

Set data values of the widget.

From mixin Delete_

deleteText
auto deleteText(int startCharIndex, int endCharIndex)

Delete the text.

From mixin ExportSelection

disableExportSelection
auto disableExportSelection()

Disable the selection export. This is only applicable to X based operating systems.

From mixin Font

setFont
auto setFont(string font, int size, FontStyle[] styles)

Set the font and style for the widget.

setFont
auto setFont(string fontInfo)

Set the font and style for the widget via a simple string. This method is exists to set the font using the output of the font dialog.

From mixin Height

setHeight
auto setHeight(int height)

Set the height of the widget if the geometry manager allows.

From mixin Index

getTextLength
int getTextLength()

Get the length of the text.

getCursorIndex
int getCursorIndex()

Get the index where the insert cursor is.

getSelectedTextIndices
int[] getSelectedTextIndices()

Get the start and end indexes of the text selection if there is one.

From mixin Insert

insertTextAt
auto insertTextAt(string text, int charIndex)

Insert text at an index.

appendText
auto appendText(string text)

Append text to the end.

insertTextAtCursor
auto insertTextAtCursor(string text)

Insert text at the cursor position.

From mixin Justify

setTextAlignment
auto setTextAlignment(string alignment)

Set the alignment of the widget text.

From mixin PostCommand

setPostCommand
auto setPostCommand(CommandCallback callback)

Add a post command to a widget. This is usually to modify the widget after creation.

removePostCommand
auto removePostCommand()

Remove a previously set post command.

From mixin Selection

deselectText
auto deselectText()

Clear the text selection.

isTextSelected
bool isTextSelected()

Check if any text selected.

selectText
auto selectText(int startCharIndex, int endCharIndex)

Select the text.

From mixin Width

setWidth
auto setWidth(int width)

Set the width of the widget if the geometry manager allows.

From mixin XView

getXView
double[] getXView()

Get floating point values which represent the viewable portion of the text. Each element is a real fraction between 0 and 1; together they describe the horizontal span that is visible in the window. For example, if the first element is .2 and the second element is .6, 20% of the entry's text is off-screen to the left, the middle 40% is visible in the window, and 40% of the text is off-screen to the right.

setXView
auto setXView(double position)

Adjusts the view in the window so that the position appears at the left edge of the window. Position must be a fraction between 0.0 (start of the text) and 1.0 (end of the text).

scrollXToChar
auto scrollXToChar(int charIndex)

Adjusts the view in the window so that the character index passed is displayed at the left edge of the window.

scrollXChars
auto scrollXChars(int numberOfChars)

Scroll the text by a specified amount of characters. Positive values scroll text to the left, negative values scroll text to the right.

scrollXPages
auto scrollXPages(int numberOfPages)

Scroll the text by a specified amount of pages. Positive values scroll text to the left, negative values scroll text to the right.

Inherited Members

From Widget

setState
auto setState(string[] state)

Set the widget's state.

getState
string[] getState()

Get the widget's state.

inState
bool inState(string[] state)

Test if a widget is in a particular state.

removeState
auto removeState(string[] state)

Remove the widget's state.

resetState
auto resetState()

Reset the widget's state to default.

setStyle
auto setStyle(string style)

Set the widget's style.

getStyle
string getStyle()

Get the widget's style.

setKeyboardFocus
auto setKeyboardFocus(string focus)

Set if the widget can recieve focus during keyboard traversal.

getKeyboardFocus
string getKeyboardFocus()

Get if the widget can recieve focus during keyboard traversal.

pack
auto pack(int outerPadding, int innerPadding, string side, string fill, string anchor, bool expand)

Geometry method for loosely placing this widget inside its parent using a web browser model. Widgets flow around each other in the available space.

grid
auto grid(int column, int row, int outerPadding, int innerPadding, int columnSpan, int rowSpan, string sticky)

Geometry method for placing this widget inside its parent using an imaginary grid. Somewhat more direct and intuitive than pack. Choose grid for tabular layouts, and when there's no good reason to choose something else.

place
auto place(int xPos, int yPos, int width, int height, string anchor, string borderMode)

Geometry method for placing this widget inside its parent using absolute positioning.

place
auto place(double relativeXPos, double relativeYPos, double relativeWidth, double relativeHeight, string anchor, string borderMode)

Geometry method for placing this widget inside its parent using relative positioning. In this case the position and size is specified as a floating-point number between 0.0 and 1.0 relative to the height of the parent. 0.5 means the widget will be half as high as the parent and 1.0 means the widget will have the same height as the parent, and so on.

Examples

auto data = ["foo", "bar", "baz", "qux"];

auto comboBox = new ComboBox()
	.setData(data);
	.setValue(data[0])
	.pack();

Common Commands

These are injected common commands that can also be used with this widget.

BoundingBox
Color
Cursor
Data
Delete
Exportselection
Font
Height
Index
Insert
Justify
PostCommand
Selection
Value
Width
XScrollCommand
XView

Additional Events

Additional events that can also be bound to using the bind method.

<<Clear>>, <<Copy>>, <<Cut>>, <<Paste>>, <<PasteSelection>>, <<PrevWindow>>, <<TraverseIn>>, <Alt-Key>, <B1-Enter>, <B1-Leave>, <B1-Motion>, <B2-Motion>, <Button-1>, <Button-2>, <Button-4>, <Button-5>, <ButtonRelease-1>, <ButtonRelease-2>, <Control-Button-1>, <Control-Key-Left>, <Control-Key-Right>, <Control-Key-a>, <Control-Key-b>, <Control-Key-backslash>, <Control-Key-d>, <Control-Key-e>, <Control-Key-f>, <Control-Key-h>, <Control-Key-k>, <Control-Key-slash>, <Control-Key>, <Control-Shift-Key-Left>, <Control-Shift-Key-Right>, <Double-Button-1>, <Key-BackSpace>, <Key-Delete>, <Key-Down>, <Key-End>, <Key-Escape>, <Key-F10>, <Key-Home>, <Key-KP_Enter>, <Key-Left>, <Key-Return>, <Key-Right>, <Key-Tab>, <Key-Up>, <Key>, <Meta-Key>, <Motion>, <Shift-Button-1>, <Shift-Key-End>, <Shift-Key-Home>, <Shift-Key-Left>, <Shift-Key-Right>, <Triple-Button-1>,

See Also

Meta