X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2049ba38adafa0ec146880de29f26e32dd69a125..61fef19b852d426f5b00b60de083539b9ba0f76c:/include/wx/choice.h diff --git a/include/wx/choice.h b/include/wx/choice.h index 4bda50c2f4..a86635b080 100644 --- a/include/wx/choice.h +++ b/include/wx/choice.h @@ -1,13 +1,87 @@ -#ifndef __CHOICEH_BASE__ -#define __CHOICEH_BASE__ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/choice.h +// Purpose: wxChoice class interface +// Author: Vadim Zeitlin +// Modified by: +// Created: 26.07.99 +// RCS-ID: $Id$ +// Copyright: (c) wxWindows team +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// -#if defined(__WXMSW__) -#include "wx/msw/choice.h" +#ifndef _WX_CHOICE_H_BASE_ +#define _WX_CHOICE_H_BASE_ + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +#if defined(__GNUG__) && !defined(__APPLE__) + #pragma interface "choicebase.h" +#endif + +#if wxUSE_CHOICE + +#include "wx/ctrlsub.h" // the base class + +// ---------------------------------------------------------------------------- +// global data +// ---------------------------------------------------------------------------- + +WXDLLEXPORT_DATA(extern const wxChar*) wxChoiceNameStr; + +// ---------------------------------------------------------------------------- +// wxChoice allows to select one of a non-modifiable list of strings +// ---------------------------------------------------------------------------- + +class WXDLLEXPORT wxChoiceBase : public wxControlWithItems +{ +public: + wxChoiceBase() { } + virtual ~wxChoiceBase(); + + // all generic methods are in wxControlWithItems + + // single selection logic + virtual void SetSelection(int n) = 0; + virtual bool SetStringSelection(const wxString& s); + + // don't override this + virtual void Select(int n) { SetSelection(n); } + + // set/get the number of columns in the control (as they're not supported on + // most platforms, they do nothing by default) + virtual void SetColumns(int WXUNUSED(n) = 1 ) { } + virtual int GetColumns() const { return 1 ; } + + // emulate selecting the item event.GetInt() + void Command(wxCommandEvent& event); + +private: + DECLARE_NO_COPY_CLASS(wxChoiceBase) +}; + +// ---------------------------------------------------------------------------- +// include the platform-dependent class definition +// ---------------------------------------------------------------------------- + +#if defined(__WXUNIVERSAL__) + #include "wx/univ/choice.h" +#elif defined(__WXMSW__) + #include "wx/msw/choice.h" #elif defined(__WXMOTIF__) -#include "wx/xt/choice.h" + #include "wx/motif/choice.h" #elif defined(__WXGTK__) -#include "wx/gtk/choice.h" + #include "wx/gtk/choice.h" +#elif defined(__WXMAC__) + #include "wx/mac/choice.h" +#elif defined(__WXCOCOA__) + #include "wx/cocoa/choice.h" +#elif defined(__WXPM__) + #include "wx/os2/choice.h" #endif +#endif // wxUSE_CHOICE + #endif - // __CHOICEH_BASE__ + // _WX_CHOICE_H_BASE_