/////////////////////////////////////////////////////////////////////////////
// Name: combobox.h
-// Purpose: documentation for wxComboBox class
+// Purpose: interface of wxComboBox
// Author: wxWidgets team
// RCS-ID: $Id$
// Licence: wxWindows license
/**
@class wxComboBox
@wxheader{combobox.h}
-
- A combobox is like a combination of an edit control and a listbox. It can be
- displayed as static list with editable or read-only text field; or a drop-down
- list with
- text field; or a drop-down list without a text field.
-
- A combobox permits a single selection only. Combobox items are numbered from
- zero.
-
+
+ A combobox is like a combination of an edit control and a listbox. It can
+ be displayed as static list with editable or read-only text field; or a
+ drop-down list with text field; or a drop-down list without a text field.
+
+ A combobox permits a single selection only. Combobox items are numbered
+ from zero.
+
If you need a customized combobox, have a look at wxComboCtrl,
- wxOwnerDrawnComboBox, wxComboPopup
- and the ready-to-use wxBitmapComboBox.
-
+ wxOwnerDrawnComboBox, wxComboPopup and the ready-to-use wxBitmapComboBox.
+
@beginStyleTable
- @style{wxCB_SIMPLE}:
+ @style{wxCB_SIMPLE}
Creates a combobox with a permanently displayed list. Windows only.
- @style{wxCB_DROPDOWN}:
+ @style{wxCB_DROPDOWN}
Creates a combobox with a drop-down list.
- @style{wxCB_READONLY}:
- Same as wxCB_DROPDOWN but only the strings specified as the
- combobox choices can be selected, it is impossible to select (even
- from a program) a string which is not in the choices list.
- @style{wxCB_SORT}:
+ @style{wxCB_READONLY}
+ Same as wxCB_DROPDOWN but only the strings specified as the combobox
+ choices can be selected, it is impossible to select (even from a
+ program) a string which is not in the choices list.
+ @style{wxCB_SORT}
Sorts the entries in the list alphabetically.
- @style{wxTE_PROCESS_ENTER}:
+ @style{wxTE_PROCESS_ENTER}
The control will generate the event wxEVT_COMMAND_TEXT_ENTER
(otherwise pressing Enter key is either processed internally by the
control or used for navigation between dialog controls). Windows
only.
@endStyleTable
-
- @beginEventTable
- @event{EVT_COMBOBOX(id\, func)}:
+
+ @beginEventTable{wxCommandEvent}
+ @event{EVT_COMBOBOX(id, func)}
Process a wxEVT_COMMAND_COMBOBOX_SELECTED event, when an item on
- the list is selected. Note that calling GetValue returns the new
+ the list is selected. Note that calling GetValue() returns the new
value of selection.
- @event{EVT_TEXT(id\, func)}:
+ @event{EVT_TEXT(id, func)}
Process a wxEVT_COMMAND_TEXT_UPDATED event, when the combobox text
changes.
- @event{EVT_TEXT_ENTER(id\, func)}:
+ @event{EVT_TEXT_ENTER(id, func)}
Process a wxEVT_COMMAND_TEXT_ENTER event, when RETURN is pressed in
the combobox (notice that the combobox must have been created with
wxTE_PROCESS_ENTER style to receive this event).
@endEventTable
-
+
@library{wxcore}
@category{ctrl}
- @appearance{combobox.png}
-
- @seealso
- wxListBox, wxTextCtrl, wxChoice, wxCommandEvent
+ <!-- @appearance{combobox.png} -->
+
+ @see wxListBox, wxTextCtrl, wxChoice, wxCommandEvent
*/
-class wxComboBox : public wxControlWithItems
+class wxComboBox : public wxControl, public wxItemContainer
{
public:
+ /**
+ Default constructor.
+ */
+ wxComboBox();
+
//@{
/**
Constructor, creating and showing a combobox.
-
- @param parent
- Parent window. Must not be @NULL.
-
- @param id
- Window identifier. The value wxID_ANY indicates a default value.
-
- @param value
- Initial selection string. An empty string indicates no selection.
-
- @param pos
- Window position.
-
- @param size
- Window size. If wxDefaultSize is specified then the window is sized
- appropriately.
-
- @param n
- Number of strings with which to initialise the control.
-
- @param choices
- An array of strings with which to initialise the control.
-
- @param style
- Window style. See wxComboBox.
-
- @param validator
- Window validator.
-
- @param name
- Window name.
-
- @sa Create(), wxValidator
+
+ @param parent
+ Parent window. Must not be @NULL.
+ @param id
+ Window identifier. The value wxID_ANY indicates a default value.
+ @param value
+ Initial selection string. An empty string indicates no selection.
+ @param pos
+ Window position.
+ @param size
+ Window size. If wxDefaultSize is specified then the window is sized
+ appropriately.
+ @param n
+ Number of strings with which to initialise the control.
+ @param choices
+ An array of strings with which to initialise the control.
+ @param style
+ Window style. See wxComboBox.
+ @param validator
+ Window validator.
+ @param name
+ Window name.
+
+ @beginWxPythonOnly
+ The wxComboBox constructor in wxPython reduces the @a n and @a choices
+ arguments are to a single argument, which is a list of strings.
+ @endWxPythonOnly
+
+ @see Create(), wxValidator
*/
- wxComboBox();
- wxComboBox(wxWindow* parent, wxWindowID id,
- const wxString& value = "",
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- int n = 0,
- const wxString choices[] = @NULL,
- long style = 0,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = "comboBox");
- wxComboBox(wxWindow* parent, wxWindowID id,
- const wxString& value,
- const wxPoint& pos,
- const wxSize& size,
- const wxArrayString& choices,
- long style = 0,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = "comboBox");
+ wxComboBox(wxWindow* parent, wxWindowID id,
+ const wxString& value = "",
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0,
+ const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = "comboBox");
+ wxComboBox(wxWindow* parent, wxWindowID id,
+ const wxString& value,
+ const wxPoint& pos,
+ const wxSize& size,
+ const wxArrayString& choices,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = "comboBox");
//@}
/**
*/
~wxComboBox();
+ //@{
/**
- Returns @true if the combobox is editable and there is a text selection to copy
- to the clipboard.
- Only available on Windows.
+ Creates the combobox for two-step construction. Derived classes should
+ call or replace this function. See wxComboBox() for further details.
*/
- bool CanCopy();
+ bool Create(wxWindow* parent, wxWindowID id,
+ const wxString& value = "",
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n, const wxString choices[],
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = "comboBox");
+ bool Create(wxWindow* parent, wxWindowID id,
+ const wxString& value,
+ const wxPoint& pos,
+ const wxSize& size,
+ const wxArrayString& choices,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = "comboBox");
+ //@}
/**
- Returns @true if the combobox is editable and there is a text selection to copy
- to the clipboard.
- Only available on Windows.
+ Returns @true if the combobox is editable and there is a text selection
+ to copy to the clipboard. Only available on Windows.
*/
- bool CanCut();
+ bool CanCopy() const;
/**
- Returns @true if the combobox is editable and there is text on the clipboard
- that can be pasted into the
- text field. Only available on Windows.
+ Returns @true if the combobox is editable and there is a text selection
+ to copy to the clipboard. Only available on Windows.
*/
- bool CanPaste();
+ bool CanCut() const;
/**
- Returns @true if the combobox is editable and the last undo can be redone.
- Only available on Windows.
+ Returns @true if the combobox is editable and there is text on the
+ clipboard that can be pasted into the text field. Only available on
+ Windows.
*/
- bool CanRedo();
+ bool CanPaste() const;
/**
- Returns @true if the combobox is editable and the last edit can be undone.
- Only available on Windows.
+ Returns @true if the combobox is editable and the last undo can be
+ redone. Only available on Windows.
*/
- bool CanUndo();
+ bool CanRedo() const;
/**
- Copies the selected text to the clipboard.
+ Returns @true if the combobox is editable and the last edit can be
+ undone. Only available on Windows.
*/
- void Copy();
+ bool CanUndo() const;
- //@{
/**
- Creates the combobox for two-step construction. Derived classes
- should call or replace this function. See wxComboBox()
- for further details.
+ Copies the selected text to the clipboard.
*/
- bool Create(wxWindow* parent, wxWindowID id,
- const wxString& value = "",
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- int n, const wxString choices[],
- long style = 0,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = "comboBox");
- bool Create(wxWindow* parent, wxWindowID id,
- const wxString& value,
- const wxPoint& pos,
- const wxSize& size,
- const wxArrayString& choices,
- long style = 0,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = "comboBox");
- //@}
+ void Copy();
/**
Copies the selected text to the clipboard and removes the selection.
*/
-#define void Cut() /* implementation is private */
+ void Cut();
/**
- This function does the same things as
- wxChoice::GetCurrentSelection and
- returns the item currently selected in the dropdown list if it's open or the
- same thing as wxControlWithItems::GetSelection otherwise.
+ This function does the same things as wxChoice::GetCurrentSelection()
+ and returns the item currently selected in the dropdown list if it's
+ open or the same thing as wxControlWithItems::GetSelection() otherwise.
*/
- int GetCurrentSelection();
+ int GetCurrentSelection() const;
/**
Returns the insertion point for the combobox's text field.
-
- @b Note: Under wxMSW, this function always returns 0 if the combobox
- doesn't have the focus.
+
+ @note Under wxMSW, this function always returns 0 if the combobox
+ doesn't have the focus.
*/
- long GetInsertionPoint();
+ long GetInsertionPoint() const;
/**
Returns the last position in the combobox text field.
*/
- virtual wxTextPos GetLastPosition();
+ virtual wxTextPos GetLastPosition() const;
/**
- This is the same as wxTextCtrl::GetSelection
- for the text control which is part of the combobox. Notice that this is a
- different method from wxControlWithItems::GetSelection.
-
+ This is the same as wxTextCtrl::GetSelection() for the text control
+ which is part of the combobox. Notice that this is a different method
+ from wxControlWithItems::GetSelection().
+
Currently this method is only implemented in wxMSW and wxGTK.
*/
- void GetSelection(long * from, long * to);
+ void GetSelection(long* from, long* to) const;
/**
Returns the current value in the combobox text field.
*/
- wxString GetValue();
+ wxString GetValue() const;
/**
Pastes text from the clipboard to the text field.
/**
Removes the text between the two positions in the combobox text field.
-
- @param from
- The first position.
-
- @param to
- The last position.
+
+ @param from
+ The first position.
+ @param to
+ The last position.
*/
void Remove(long from, long to);
/**
- Replaces the text between two positions with the given text, in the combobox
- text field.
-
- @param from
- The first position.
-
- @param to
- The second position.
-
- @param text
- The text to insert.
+ Replaces the text between two positions with the given text, in the
+ combobox text field.
+
+ @param from
+ The first position.
+ @param to
+ The second position.
+ @param text
+ The text to insert.
*/
void Replace(long from, long to, const wxString& text);
/**
Sets the insertion point in the combobox text field.
-
- @param pos
- The new insertion point.
+
+ @param pos
+ The new insertion point.
*/
void SetInsertionPoint(long pos);
/**
Selects the text between the two positions, in the combobox text field.
-
- @param from
- The first position.
-
- @param to
- The second position.
+
+ @param from
+ The first position.
+ @param to
+ The second position.
+
+ @beginWxPythonOnly
+ This method is called SetMark() in wxPython, "SetSelection" is kept for
+ wxControlWithItems::SetSelection().
+ @endWxPythonOnly
*/
void SetSelection(long from, long to);
/**
Sets the text for the combobox text field.
-
- @b NB: For a combobox with @c wxCB_READONLY style the string must be in
- the combobox choices list, otherwise the call to SetValue() is ignored.
-
- @param text
- The text to set.
+
+ @note For a combobox with @c wxCB_READONLY style the string must be in
+ the combobox choices list, otherwise the call to SetValue() is
+ ignored.
+
+ @param text
+ The text to set.
*/
void SetValue(const wxString& text);
*/
void Undo();
};
+