1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: wx/choice.h 3 // Purpose: wxChoice class interface 4 // Author: Vadim Zeitlin 5 // Modified by: 6 // Created: 26.07.99 7 // RCS-ID: $Id: choice.h 42727 2006-10-30 16:04:27Z VZ $ 8 // Copyright: (c) wxWidgets team 9 // Licence: wxWindows licence 10 ///////////////////////////////////////////////////////////////////////////// 11 12 #ifndef _WX_CHOICE_H_BASE_ 13 #define _WX_CHOICE_H_BASE_ 14 15 // ---------------------------------------------------------------------------- 16 // headers 17 // ---------------------------------------------------------------------------- 18 19 #include "wx/defs.h" 20 21 #if wxUSE_CHOICE 22 23 #include "wx/ctrlsub.h" // the base class 24 25 // ---------------------------------------------------------------------------- 26 // global data 27 // ---------------------------------------------------------------------------- 28 29 extern WXDLLEXPORT_DATA(const wxChar) wxChoiceNameStr[]; 30 31 // ---------------------------------------------------------------------------- 32 // wxChoice allows to select one of a non-modifiable list of strings 33 // ---------------------------------------------------------------------------- 34 35 class WXDLLEXPORT wxChoiceBase : public wxControlWithItems 36 { 37 public: wxChoiceBase()38 wxChoiceBase() { } 39 virtual ~wxChoiceBase(); 40 41 // all generic methods are in wxControlWithItems 42 43 // get the current selection: this can only be different from the normal 44 // selection if the popup items list is currently opened and the user 45 // selected some item in it but didn't close the list yet; otherwise (and 46 // currently always on platforms other than MSW) this is the same as 47 // GetSelection() GetCurrentSelection()48 virtual int GetCurrentSelection() const { return GetSelection(); } 49 50 // set/get the number of columns in the control (as they're not supported on 51 // most platforms, they do nothing by default) WXUNUSED(n)52 virtual void SetColumns(int WXUNUSED(n) = 1 ) { } GetColumns()53 virtual int GetColumns() const { return 1 ; } 54 55 // emulate selecting the item event.GetInt() 56 void Command(wxCommandEvent& event); 57 58 private: 59 DECLARE_NO_COPY_CLASS(wxChoiceBase) 60 }; 61 62 // ---------------------------------------------------------------------------- 63 // include the platform-dependent class definition 64 // ---------------------------------------------------------------------------- 65 66 #if defined(__WXUNIVERSAL__) 67 #include "wx/univ/choice.h" 68 #elif defined(__SMARTPHONE__) && defined(__WXWINCE__) 69 #include "wx/msw/wince/choicece.h" 70 #elif defined(__WXMSW__) 71 #include "wx/msw/choice.h" 72 #elif defined(__WXMOTIF__) 73 #include "wx/motif/choice.h" 74 #elif defined(__WXGTK20__) 75 #include "wx/gtk/choice.h" 76 #elif defined(__WXGTK__) 77 #include "wx/gtk1/choice.h" 78 #elif defined(__WXMAC__) 79 #include "wx/mac/choice.h" 80 #elif defined(__WXCOCOA__) 81 #include "wx/cocoa/choice.h" 82 #elif defined(__WXPM__) 83 #include "wx/os2/choice.h" 84 #endif 85 86 #endif // wxUSE_CHOICE 87 88 #endif // _WX_CHOICE_H_BASE_ 89