]> git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/radiobox.h
Consistent wxWindow::Enable with wxRadioBox::Enable for control and its items. wxRadi...
[wxWidgets.git] / include / wx / os2 / radiobox.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: radiobox.h
3 // Purpose: wxRadioBox class
4 // Author: David Webster
5 // Modified by:
6 // Created: 10/12/99
7 // RCS-ID: $Id$
8 // Copyright: (c) David Webster
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 wxRadioBox: public wxControl, public wxRadioBoxBase
19 {
20 public:
21 wxRadioBox();
22
23 inline wxRadioBox( wxWindow* pParent
24 ,wxWindowID vId
25 ,const wxString& rsTitle
26 ,const wxPoint& rPos = wxDefaultPosition
27 ,const wxSize& rSize = wxDefaultSize
28 ,int nNum = 0
29 ,const wxString asChoices[] = NULL
30 ,int nMajorDim = 0
31 ,long lStyle = wxRA_HORIZONTAL
32 ,const wxValidator& rVal = wxDefaultValidator
33 ,const wxString& rsName = wxRadioBoxNameStr
34 )
35 {
36 Create( pParent
37 ,vId
38 ,rsTitle
39 ,rPos
40 ,rSize
41 ,nNum
42 ,asChoices
43 ,nMajorDim
44 ,lStyle
45 ,rVal
46 ,rsName
47 );
48 }
49
50 inline wxRadioBox( wxWindow* pParent
51 ,wxWindowID vId
52 ,const wxString& rsTitle
53 ,const wxPoint& rPos
54 ,const wxSize& rSize
55 ,const wxArrayString& asChoices
56 ,int nMajorDim = 0
57 ,long lStyle = wxRA_HORIZONTAL
58 ,const wxValidator& rVal = wxDefaultValidator
59 ,const wxString& rsName = wxRadioBoxNameStr
60 )
61 {
62 Create( pParent
63 ,vId
64 ,rsTitle
65 ,rPos
66 ,rSize
67 ,asChoices
68 ,nMajorDim
69 ,lStyle
70 ,rVal
71 ,rsName
72 );
73 }
74
75 ~wxRadioBox();
76
77 bool Create( wxWindow* pParent
78 ,wxWindowID vId
79 ,const wxString& rsTitle
80 ,const wxPoint& rPos = wxDefaultPosition
81 ,const wxSize& rSize = wxDefaultSize
82 ,int nNum = 0
83 ,const wxString asChoices[] = NULL
84 ,int nMajorDim = 0
85 ,long lStyle = wxRA_HORIZONTAL
86 ,const wxValidator& rVal = wxDefaultValidator
87 ,const wxString& rsName = wxRadioBoxNameStr
88 );
89
90 bool Create( wxWindow* pParent
91 ,wxWindowID vId
92 ,const wxString& rsTitle
93 ,const wxPoint& rPos
94 ,const wxSize& rSize
95 ,const wxArrayString& asChoices
96 ,int nMajorDim = 0
97 ,long lStyle = wxRA_HORIZONTAL
98 ,const wxValidator& rVal = wxDefaultValidator
99 ,const wxString& rsName = wxRadioBoxNameStr
100 );
101
102 void Command(wxCommandEvent& rEvent);
103 bool ContainsHWND(WXHWND hWnd) const;
104 virtual bool Enable(bool bEnable = true);
105 virtual bool Enable(int nItem, bool bEnable = true);
106 int FindString(const wxString& sStr) const;
107
108 virtual WXHBRUSH OnCtlColor( WXHDC hDC
109 ,WXHWND hWnd
110 ,WXUINT uCtlColor
111 ,WXUINT uMessage
112 ,WXWPARAM wParam
113 ,WXLPARAM lParam
114 );
115 virtual bool OS2Command( WXUINT uParam
116 ,WXWORD wId
117 );
118 void SendNotificationEvent(void);
119 virtual void Show( int nItem
120 ,bool bShow = true
121 ) ;
122 bool Show(bool bShow);
123 MRESULT WindowProc( WXUINT uMsg
124 ,WXWPARAM wParam
125 ,WXLPARAM lParam
126 );
127
128
129
130
131 virtual int GetColumnCount(void) const;
132 virtual int GetCount(void) const;
133 inline int GetNumberOfRowsOrCols(void) const { return m_nNoRowsOrCols; }
134 int GetNumHor(void) const;
135 int GetNumVer(void) const;
136 void GetPosition( int* pnX
137 ,int* pnY
138 ) const;
139 inline WXHWND* GetRadioButtons(void) const { return m_ahRadioButtons; }
140 virtual int GetRowCount(void) const;
141 int GetSelection(void) const;
142 void GetSize( int* pnX
143 ,int* pnY
144 ) const;
145 inline int GetSizeFlags(void) const { return m_nSizeFlags; }
146 void AdjustButtons( int nX
147 ,int nY
148 ,int nWidth
149 ,int nHeight
150 ,int nSizeFlags
151 );
152 wxString GetString(int nIndex) const;
153 virtual wxString GetStringSelection(void) const;
154
155 inline void SetButtonFont(const wxFont& rFont) { SetFont(rFont); }
156 void SetFocus(void);
157 virtual bool SetFont(const wxFont& rFont);
158 inline void SetLabelFont(const wxFont& WXUNUSED(font)) {};
159 inline void SetNumberOfRowsOrCols(int nNum) { m_nNoRowsOrCols = nNum; }
160 void SetSelection(int nIndex);
161 virtual void SetString( int nNum
162 ,const wxString& rsLabel
163 );
164 virtual bool SetStringSelection(const wxString& rsStr);
165
166 void SetLabel( int nItem
167 ,const wxString& rsLabel
168 );
169 void SetLabel( int item
170 ,wxBitmap* pBitmap
171 );
172 wxString GetLabel(int nItem) const;
173
174
175 protected:
176 virtual wxSize DoGetBestSize(void) const;
177 virtual void DoSetSize( int nX
178 ,int nY
179 ,int nWidth
180 ,int nHeight
181 ,int nSizeFlags = wxSIZE_AUTO
182 );
183 wxSize GetMaxButtonSize(void) const;
184 wxSize GetTotalButtonSize(const wxSize& rSizeBtn) const;
185 void SubclassRadioButton(WXHWND hWndBtn);
186
187
188 WXHWND* m_ahRadioButtons;
189 int m_nMajorDim ;
190 int* m_pnRadioWidth; // for bitmaps
191 int* m_pnRadioHeight;
192 int m_nNoItems;
193 int m_nNoRowsOrCols;
194 int m_nSelectedButton;
195 int m_nSizeFlags;
196
197 private:
198 inline wxString GetLabel() const
199 { return wxWindowBase::GetLabel(); }
200 inline void SetLabel(const wxString& rsLabel)
201 { wxWindowBase::SetLabel(rsLabel); }
202
203 DECLARE_DYNAMIC_CLASS(wxRadioBox)
204 }; // end of wxRadioBox
205
206 #endif
207 // _WX_RADIOBOX_H_