]> git.saurik.com Git - wxWidgets.git/blob - include/wx/mac/classic/radiobox.h
use AllocExclusive
[wxWidgets.git] / include / wx / mac / classic / radiobox.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/mac/classic/radiobox.h
3 // Purpose: wxRadioBox class
4 // Author: Stefan Csomor
5 // Modified by:
6 // Created: 1998-01-01
7 // RCS-ID: $Id$
8 // Copyright: (c) Stefan Csomor
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_RADIOBOX_H_
13 #define _WX_RADIOBOX_H_
14
15 // List box item
16 class WXDLLEXPORT wxBitmap ;
17
18 class WXDLLEXPORT wxRadioButton ;
19
20 class WXDLLEXPORT wxRadioBox: public wxControl, public wxRadioBoxBase
21 {
22 DECLARE_DYNAMIC_CLASS(wxRadioBox)
23 public:
24 // Constructors & destructor
25 wxRadioBox();
26 inline wxRadioBox(wxWindow *parent, wxWindowID id, const wxString& title,
27 const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
28 int n = 0, const wxString choices[] = NULL,
29 int majorDim = 0, long style = wxRA_HORIZONTAL,
30 const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr)
31 {
32 Create(parent, id, title, pos, size, n, choices, majorDim, style, val, name);
33 }
34 inline wxRadioBox(wxWindow *parent, wxWindowID id, const wxString& title,
35 const wxPoint& pos, const wxSize& size,
36 const wxArrayString& choices,
37 int majorDim = 0, long style = wxRA_HORIZONTAL,
38 const wxValidator& val = wxDefaultValidator,
39 const wxString& name = wxRadioBoxNameStr)
40 {
41 Create(parent, id, title, pos, size, choices,
42 majorDim, style, val, name);
43 }
44 virtual ~wxRadioBox();
45 bool Create(wxWindow *parent, wxWindowID id, const wxString& title,
46 const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
47 int n = 0, const wxString choices[] = NULL,
48 int majorDim = 0, long style = wxRA_HORIZONTAL,
49 const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr);
50 bool Create(wxWindow *parent, wxWindowID id, const wxString& title,
51 const wxPoint& pos, const wxSize& size,
52 const wxArrayString& choices,
53 int majorDim = 0, long style = wxRA_HORIZONTAL,
54 const wxValidator& val = wxDefaultValidator,
55 const wxString& name = wxRadioBoxNameStr);
56
57 // Enabling
58 virtual bool Enable(bool enable = true);
59 virtual bool Enable(unsigned int item, bool enable = true);
60 virtual bool IsItemEnabled(unsigned int WXUNUSED(n)) const
61 {
62 /* TODO */
63 return true;
64 }
65
66 // Showing
67 virtual bool Show(bool show = true);
68 virtual bool Show(unsigned int item, bool show = true);
69 virtual bool IsItemShown(unsigned int WXUNUSED(n)) const
70 {
71 /* TODO */
72 return true;
73 }
74
75 // Specific functions (in wxWidgets2 reference)
76 virtual void SetSelection(int item);
77 virtual int GetSelection() const;
78
79 virtual unsigned int GetCount() const { return m_noItems; }
80
81 virtual wxString GetString(unsigned int item) const;
82 virtual void SetString(unsigned int item, const wxString& label);
83
84
85 virtual wxString GetLabel() const;
86 virtual void SetLabel(const wxString& label) ;
87
88 // Other external functions
89 void Command(wxCommandEvent& event);
90 void SetFocus();
91
92 // Other variable access functions
93 inline int GetNumberOfRowsOrCols() const { return m_noRowsOrCols; }
94 inline void SetNumberOfRowsOrCols(int n) { m_noRowsOrCols = n; }
95
96 void OnRadioButton( wxCommandEvent& event ) ;
97
98 protected:
99 wxRadioButton *m_radioButtonCycle;
100
101 unsigned int m_noItems;
102 int m_noRowsOrCols;
103
104 // Internal functions
105 virtual wxSize DoGetBestSize() const ;
106 virtual void DoSetSize(int x, int y,
107 int width, int height,
108 int sizeFlags = wxSIZE_AUTO);
109
110 DECLARE_EVENT_TABLE()
111 };
112
113 #endif
114 // _WX_RADIOBOX_H_