1 ///////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxRadioBox declaration
4 // Author: Vadim Zeitlin
8 // Copyright: (c) wxWidgets team
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_RADIOBOX_H_BASE_
13 #define _WX_RADIOBOX_H_BASE_
15 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
16 #pragma interface "radioboxbase.h"
21 #include "wx/control.h"
23 WXDLLEXPORT_DATA(extern const wxChar
*) wxRadioBoxNameStr
;
25 // ----------------------------------------------------------------------------
26 // wxRadioBoxBase is not a normal base class, but rather a mix-in because the
27 // real wxRadioBox derives from different classes on different platforms: for
28 // example, it is a wxStaticBox in wxUniv and wxMSW but not in other ports
29 // ----------------------------------------------------------------------------
31 class WXDLLEXPORT wxRadioBoxBase
35 virtual void SetSelection(int n
) = 0;
36 virtual int GetSelection() const = 0;
38 virtual wxString
GetStringSelection() const
41 int sel
= GetSelection();
42 if ( sel
!= wxNOT_FOUND
)
48 virtual bool SetStringSelection(const wxString
& s
)
50 int sel
= FindString(s
);
51 if ( sel
!= wxNOT_FOUND
)
62 virtual int GetCount() const = 0;
63 virtual int FindString(const wxString
& s
) const
65 int count
= GetCount();
66 for ( int n
= 0; n
< count
; n
++ )
68 if ( GetString(n
) == s
)
75 virtual wxString
GetString(int n
) const = 0;
76 virtual void SetString(int n
, const wxString
& label
) = 0;
78 // change the individual radio button state
79 virtual void Enable(int n
, bool enable
= true) = 0;
80 virtual void Show(int n
, bool show
= true) = 0;
83 virtual int GetColumnCount() const = 0;
84 virtual int GetRowCount() const = 0;
86 // return the item above/below/to the left/right of the given one
87 int GetNextItem(int item
, wxDirection dir
, long style
) const;
90 // deprecated functions
91 // --------------------
93 #if WXWIN_COMPATIBILITY_2_4
94 wxDEPRECATED( int GetNumberOfRowsOrCols() const );
95 wxDEPRECATED( void SetNumberOfRowsOrCols(int n
) );
96 #endif // WXWIN_COMPATIBILITY_2_4
98 // for compatibility only, don't use these methods in new code!
99 #if WXWIN_COMPATIBILITY_2_2
100 int Number() const { return GetCount(); }
101 wxString
GetLabel(int n
) const { return GetString(n
); }
102 void SetLabel(int n
, const wxString
& label
) { SetString(n
, label
); }
103 #endif // WXWIN_COMPATIBILITY_2_2
106 #if defined(__WXUNIVERSAL__)
107 #include "wx/univ/radiobox.h"
108 #elif defined(__WXMSW__)
109 #include "wx/msw/radiobox.h"
110 #elif defined(__WXMOTIF__)
111 #include "wx/motif/radiobox.h"
112 #elif defined(__WXGTK__)
113 #include "wx/gtk/radiobox.h"
114 #elif defined(__WXMAC__)
115 #include "wx/mac/radiobox.h"
116 #elif defined(__WXCOCOA__)
117 #include "wx/cocoa/radiobox.h"
118 #elif defined(__WXPM__)
119 #include "wx/os2/radiobox.h"
122 #endif // wxUSE_RADIOBOX
125 // _WX_RADIOBOX_H_BASE_