X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4cc4bfafe5a31cb96f35b3ec9b19fa2b0b3a4eef..63b37a4e648320827a5b4a3161be13154370b5c3:/interface/combobox.h diff --git a/interface/combobox.h b/interface/combobox.h index b47bb712dc..d70190e385 100644 --- a/interface/combobox.h +++ b/interface/combobox.h @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: combobox.h -// Purpose: documentation for wxComboBox class +// Purpose: interface of wxComboBox // Author: wxWidgets team // RCS-ID: $Id$ // Licence: wxWindows license @@ -10,45 +10,43 @@ @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 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 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). @@ -56,18 +54,22 @@ @library{wxcore} @category{ctrl} - @appearance{combobox.png} + - @seealso - wxListBox, wxTextCtrl, wxChoice, wxCommandEvent + @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 @@ -77,8 +79,7 @@ public: @param pos Window position. @param size - Window size. If wxDefaultSize is specified then the window is - sized + Window size. If wxDefaultSize is specified then the window is sized appropriately. @param n Number of strings with which to initialise the control. @@ -90,10 +91,14 @@ public: 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, @@ -118,49 +123,10 @@ public: */ ~wxComboBox(); - /** - Returns @true if the combobox is editable and there is a text selection to copy - to the clipboard. - Only available on Windows. - */ - bool CanCopy(); - - /** - Returns @true if the combobox is editable and there is a text selection to copy - to the clipboard. - Only available on Windows. - */ - bool CanCut(); - - /** - 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 CanPaste(); - - /** - Returns @true if the combobox is editable and the last undo can be redone. - Only available on Windows. - */ - bool CanRedo(); - - /** - Returns @true if the combobox is editable and the last edit can be undone. - Only available on Windows. - */ - bool CanUndo(); - - /** - Copies the selected text to the clipboard. - */ - void Copy(); - //@{ /** - Creates the combobox for two-step construction. Derived classes - should call or replace this function. See wxComboBox() - for further details. + Creates the combobox for two-step construction. Derived classes should + call or replace this function. See wxComboBox() for further details. */ bool Create(wxWindow* parent, wxWindowID id, const wxString& value = "", @@ -180,43 +146,80 @@ public: 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. + */ + bool CanCopy() const; + + /** + Returns @true if the combobox is editable and there is a text selection + to copy to the clipboard. Only available on Windows. + */ + bool CanCut() 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. + */ + bool CanPaste() const; + + /** + Returns @true if the combobox is editable and the last undo can be + redone. Only available on Windows. + */ + bool CanRedo() const; + + /** + Returns @true if the combobox is editable and the last edit can be + undone. Only available on Windows. + */ + bool CanUndo() const; + + /** + Copies the selected text to the clipboard. + */ + void Copy(); + /** Copies the selected text to the clipboard and removes the selection. */ 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. @@ -230,7 +233,7 @@ public: /** Removes the text between the two positions in the combobox text field. - + @param from The first position. @param to @@ -239,9 +242,9 @@ public: void Remove(long from, long to); /** - Replaces the text between two positions with the given text, in the combobox - text field. - + Replaces the text between two positions with the given text, in the + combobox text field. + @param from The first position. @param to @@ -253,7 +256,7 @@ public: /** Sets the insertion point in the combobox text field. - + @param pos The new insertion point. */ @@ -266,19 +269,26 @@ public: /** Selects the text between the two positions, in the combobox text field. - + @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. - + + @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. */ @@ -289,3 +299,4 @@ public: */ void Undo(); }; +