X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c801d85f158c4cba50b588807daabdcbd0ed3853..333e57d578e9e0fb6555452b5a53698ffd85ee69:/include/wx/combobox.h diff --git a/include/wx/combobox.h b/include/wx/combobox.h index e21e3af6ec..cd19a9a503 100644 --- a/include/wx/combobox.h +++ b/include/wx/combobox.h @@ -1,13 +1,97 @@ -#ifndef __COMBOBOXH_BASE__ -#define __COMBOBOXH_BASE__ - -#if defined(__WINDOWS__) -#include "wx/msw/combobox.h" -#elif defined(__MOTIF__) -#include "wx/xt/combobox.h" -#elif defined(__GTK__) -#include "wx/gtk/combobox.h" +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/combobox.h +// Purpose: wxComboBox declaration +// Author: Vadim Zeitlin +// Modified by: +// Created: 24.12.00 +// RCS-ID: $Id$ +// Copyright: (c) 1996-2000 wxWidgets team +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_COMBOBOX_H_BASE_ +#define _WX_COMBOBOX_H_BASE_ + +#include "wx/defs.h" + +#if wxUSE_COMBOBOX + +extern WXDLLEXPORT_DATA(const wxChar) wxComboBoxNameStr[]; + +// ---------------------------------------------------------------------------- +// wxComboBoxBase: this interface defines the methods wxComboBox must implement +// ---------------------------------------------------------------------------- + +#include "wx/textctrl.h" +#include "wx/ctrlsub.h" + +class WXDLLEXPORT wxComboBoxBase : public wxItemContainer +{ +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; + + // 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(); } + + // redeclare inherited SetSelection() overload here as well to avoid + // virtual function hiding + virtual void SetSelection(int n) = 0; +}; + +// ---------------------------------------------------------------------------- +// include the platform-dependent header defining the real class +// ---------------------------------------------------------------------------- + +#if defined(__WXUNIVERSAL__) + #include "wx/univ/combobox.h" +#elif defined(__WXMSW__) + #include "wx/msw/combobox.h" +#elif defined(__WXMOTIF__) + #include "wx/motif/combobox.h" +#elif defined(__WXGTK20__) + #include "wx/gtk/combobox.h" +#elif defined(__WXGTK__) + #include "wx/gtk1/combobox.h" +#elif defined(__WXMAC__) + #include "wx/mac/combobox.h" +#elif defined(__WXCOCOA__) + #include "wx/cocoa/combobox.h" +#elif defined(__WXPM__) + #include "wx/os2/combobox.h" #endif +#endif // wxUSE_COMBOBOX + #endif - // __COMBOBOXH_BASE__ + // _WX_COMBOBOX_H_BASE_