1/////////////////////////////////////////////////////////////////////////////// 2// Name: wx/combobox.h 3// Purpose: wxComboBox declaration 4// Author: Vadim Zeitlin 5// Modified by: 6// Created: 24.12.00 7// RCS-ID: $Id: combobox.h 42727 2006-10-30 16:04:27Z VZ $ 8// Copyright: (c) 1996-2000 wxWidgets team 9// Licence: wxWindows licence 10/////////////////////////////////////////////////////////////////////////////// 11 12#ifndef _WX_COMBOBOX_H_BASE_ 13#define _WX_COMBOBOX_H_BASE_ 14 15#include "wx/defs.h" 16 17#if wxUSE_COMBOBOX 18 19extern WXDLLEXPORT_DATA(const wxChar) wxComboBoxNameStr[]; 20 21// ---------------------------------------------------------------------------- 22// wxComboBoxBase: this interface defines the methods wxComboBox must implement 23// ---------------------------------------------------------------------------- 24 25#include "wx/textctrl.h" 26#include "wx/ctrlsub.h" 27 28class WXDLLEXPORT wxComboBoxBase : public wxItemContainer 29{ 30public: 31 // wxTextCtrl-like methods wxComboBox must implement 32 virtual wxString GetValue() const = 0; 33 virtual void SetValue(const wxString& value) = 0; 34 35 virtual void Copy() = 0; 36 virtual void Cut() = 0; 37 virtual void Paste() = 0; 38 virtual void SetInsertionPoint(long pos) = 0; 39 virtual long GetInsertionPoint() const = 0; 40 virtual wxTextPos GetLastPosition() const = 0; 41 virtual void Replace(long from, long to, const wxString& value) = 0; 42 virtual void SetSelection(long from, long to) = 0; 43 virtual void SetEditable(bool editable) = 0; 44 45 virtual void SetInsertionPointEnd() 46 { SetInsertionPoint(GetLastPosition()); } 47 virtual void Remove(long from, long to) 48 { Replace(from, to, wxEmptyString); } 49 50 virtual bool IsEditable() const = 0; 51 52 virtual void Undo() = 0; 53 virtual void Redo() = 0; 54 virtual void SelectAll() = 0; 55 56 virtual bool CanCopy() const = 0; 57 virtual bool CanCut() const = 0; 58 virtual bool CanPaste() const = 0; 59 virtual bool CanUndo() const = 0; 60 virtual bool CanRedo() const = 0; 61 62 // may return value different from GetSelection() when the combobox 63 // dropdown is shown and the user selected, but not yet accepted, a value 64 // different from the old one in it 65 virtual int GetCurrentSelection() const { return GetSelection(); } 66 67 // redeclare inherited SetSelection() overload here as well to avoid 68 // virtual function hiding 69 virtual void SetSelection(int n) = 0; 70}; 71 72// ---------------------------------------------------------------------------- 73// include the platform-dependent header defining the real class 74// ---------------------------------------------------------------------------- 75 76#if defined(__WXUNIVERSAL__) 77 #include "wx/univ/combobox.h" 78#elif defined(__WXMSW__) 79 #include "wx/msw/combobox.h" 80#elif defined(__WXMOTIF__) 81 #include "wx/motif/combobox.h" 82#elif defined(__WXGTK20__) 83 #include "wx/gtk/combobox.h" 84#elif defined(__WXGTK__) 85 #include "wx/gtk1/combobox.h" 86#elif defined(__WXMAC__) 87 #include "wx/mac/combobox.h" 88#elif defined(__WXCOCOA__) 89 #include "wx/cocoa/combobox.h" 90#elif defined(__WXPM__) 91 #include "wx/os2/combobox.h" 92#endif 93 94#endif // wxUSE_COMBOBOX 95 96#endif 97 // _WX_COMBOBOX_H_BASE_ 98