]> git.saurik.com Git - wxWidgets.git/blob - include/wx/mac/carbon/radiobox.h
don't eat activation events (replaces patch 1465849)
[wxWidgets.git] / include / wx / mac / carbon / radiobox.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/mac/carbon/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 ~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 virtual wxString GetLabel() const;
85 virtual void SetLabel(const wxString& label) ;
86
87 // Other external functions
88 void Command(wxCommandEvent& event);
89 void SetFocus();
90
91 // Other variable access functions
92 inline int GetNumberOfRowsOrCols() const { return m_noRowsOrCols; }
93 inline void SetNumberOfRowsOrCols(int n) { m_noRowsOrCols = n; }
94
95 void OnRadioButton( wxCommandEvent& event ) ;
96
97 protected:
98 wxRadioButton *m_radioButtonCycle;
99
100 unsigned int m_noItems;
101 int m_noRowsOrCols;
102
103 // Internal functions
104 virtual wxSize DoGetBestSize() const ;
105 virtual void DoSetSize(int x, int y,
106 int width, int height,
107 int sizeFlags = wxSIZE_AUTO);
108
109 DECLARE_EVENT_TABLE()
110 };
111
112 #endif
113 // _WX_RADIOBOX_H_