X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a236aa2058ccf3d36e9cafc20fa7375080c4be50..0d28a1f9271606b5a38b4b7b2a78bd869bb7d520:/include/wx/univ/combobox.h diff --git a/include/wx/univ/combobox.h b/include/wx/univ/combobox.h index 48fc4225f4..7fef4303bf 100644 --- a/include/wx/univ/combobox.h +++ b/include/wx/univ/combobox.h @@ -22,16 +22,16 @@ class WXDLLIMPEXP_FWD_CORE wxListBox; // ---------------------------------------------------------------------------- // choose the next/prev/specified (by numArg) item -#define wxACTION_COMBOBOX_SELECT_NEXT _T("next") -#define wxACTION_COMBOBOX_SELECT_PREV _T("prev") -#define wxACTION_COMBOBOX_SELECT _T("select") +#define wxACTION_COMBOBOX_SELECT_NEXT wxT("next") +#define wxACTION_COMBOBOX_SELECT_PREV wxT("prev") +#define wxACTION_COMBOBOX_SELECT wxT("select") // ---------------------------------------------------------------------------- // wxComboBox: a combination of text control and a listbox // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxComboBox : public wxComboCtrl, public wxComboBoxBase +class WXDLLIMPEXP_CORE wxComboBox : public wxComboCtrl, public wxComboBoxBase { public: // ctors and such @@ -91,8 +91,9 @@ public: // implement the combobox interface // wxTextCtrl methods - virtual wxString GetValue() const; + virtual wxString GetValue() const { return DoGetValue(); } virtual void SetValue(const wxString& value); + virtual void WriteText(const wxString& value); virtual void Copy(); virtual void Cut(); virtual void Paste(); @@ -103,6 +104,7 @@ public: virtual void Replace(long from, long to, const wxString& value); virtual void Remove(long from, long to); virtual void SetSelection(long from, long to); + virtual void GetSelection(long *from, long *to) const; virtual void SetEditable(bool editable); virtual bool IsEditable() const; @@ -125,6 +127,7 @@ public: virtual int FindString(const wxString& s, bool bCase = false) const; virtual void SetSelection(int n); virtual int GetSelection() const; + virtual wxString GetStringSelection() const; wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST @@ -142,7 +145,14 @@ public: return GetStdInputHandler(handlerDef); } + // we delegate our client data handling to wxListBox which we use for the + // items, so override this and other methods dealing with the client data + virtual wxClientDataType GetClientDataType() const; + virtual void SetClientDataType(wxClientDataType clientDataItemsType); + protected: + virtual wxString DoGetValue() const; + virtual int DoInsertItems(const wxArrayStringsAdapter& items, unsigned int pos, void **clientData, wxClientDataType type); @@ -150,6 +160,7 @@ protected: virtual void DoSetItemClientData(unsigned int n, void* clientData); virtual void* DoGetItemClientData(unsigned int n) const; + // common part of all ctors void Init(); @@ -157,6 +168,9 @@ protected: wxListBox *GetLBox() const { return m_lbox; } private: + // implement wxTextEntry pure virtual method + virtual wxWindow *GetEditableWindow() { return this; } + // the popup listbox wxListBox *m_lbox;