X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/83beee574e109d433c24ae35b7137141f2a4d56d..1e40f6676a0e403bf9f98ab44d40edab0811499b:/include/wx/combobox.h diff --git a/include/wx/combobox.h b/include/wx/combobox.h index bb83358f10..bc33a141c7 100644 --- a/include/wx/combobox.h +++ b/include/wx/combobox.h @@ -14,15 +14,6 @@ #include "wx/defs.h" -/* - * wxComboBox style flags - */ -#define wxCB_SIMPLE 0x0004 -#define wxCB_SORT 0x0008 -#define wxCB_READONLY 0x0010 -#define wxCB_DROPDOWN 0x0020 -#define wxCB_FILENAME 0x0040 - #if wxUSE_COMBOBOX extern WXDLLEXPORT_DATA(const wxChar) wxComboBoxNameStr[]; @@ -31,47 +22,33 @@ extern WXDLLEXPORT_DATA(const wxChar) wxComboBoxNameStr[]; // wxComboBoxBase: this interface defines the methods wxComboBox must implement // ---------------------------------------------------------------------------- -#include "wx/textctrl.h" #include "wx/ctrlsub.h" +#include "wx/textentry.h" -class WXDLLEXPORT wxComboBoxBase : public wxItemContainer +class WXDLLEXPORT wxComboBoxBase : public wxItemContainer, + public wxTextEntry { public: - // wxTextCtrl-like methods wxComboBox must implement - virtual wxString GetValue() const = 0; - virtual void SetValue(const wxString& value) = 0; - - virtual void Copy() = 0; - virtual void Cut() = 0; - virtual void Paste() = 0; - virtual void SetInsertionPoint(long pos) = 0; - virtual long GetInsertionPoint() const = 0; - virtual wxTextPos GetLastPosition() const = 0; - virtual void Replace(long from, long to, const wxString& value) = 0; - virtual void SetSelection(long from, long to) = 0; - virtual void SetEditable(bool editable) = 0; - - virtual void SetInsertionPointEnd() - { SetInsertionPoint(GetLastPosition()); } - virtual void Remove(long from, long to) - { Replace(from, to, wxEmptyString); } - - virtual bool IsEditable() const = 0; - - virtual void Undo() = 0; - virtual void Redo() = 0; - virtual void SelectAll() = 0; - - virtual bool CanCopy() const = 0; - virtual bool CanCut() const = 0; - virtual bool CanPaste() const = 0; - virtual bool CanUndo() const = 0; - virtual bool CanRedo() const = 0; - - - // redeclare inherited SetSelection() overload here as well to avoid - // virtual function hiding - virtual void SetSelection(int n) = 0; + // override this to disambiguate between two base classes versions + virtual void Clear() + { + wxTextEntry::Clear(); + wxItemContainer::Clear(); + } + + // also bring in GetSelection() versions of both base classes in scope + // + // NB: GetSelection(from, to) could be already implemented in wxTextEntry + // but still make it pure virtual because for some platforms it's not + // implemented there and also because the derived class has to override + // it anyhow to avoid ambiguity with the other GetSelection() + virtual int GetSelection() const = 0; + virtual void GetSelection(long *from, long *to) const = 0; + + // may return value different from GetSelection() when the combobox + // dropdown is shown and the user selected, but not yet accepted, a value + // different from the old one in it + virtual int GetCurrentSelection() const { return GetSelection(); } }; // ---------------------------------------------------------------------------- @@ -98,5 +75,4 @@ public: #endif // wxUSE_COMBOBOX -#endif - // _WX_COMBOBOX_H_BASE_ +#endif // _WX_COMBOBOX_H_BASE_