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 29extern WXDLLEXPORT_DATA(const wxChar) wxChoiceNameStr[]; 30 31// ---------------------------------------------------------------------------- 32// wxChoice allows to select one of a non-modifiable list of strings 33// ---------------------------------------------------------------------------- 34 35class WXDLLEXPORT wxChoiceBase : public wxControlWithItems 36{ 37public: 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() 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) 52 virtual void SetColumns(int WXUNUSED(n) = 1 ) { } 53 virtual int GetColumns() const { return 1 ; } 54 55 // emulate selecting the item event.GetInt() 56 void Command(wxCommandEvent& event); 57 58private: 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