]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/radiobut.h
added tests demonstrating a bug in wxString::assign(itself)
[wxWidgets.git] / include / wx / msw / radiobut.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: radiobut.h
3 // Purpose: wxRadioButton class
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 01/02/97
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_RADIOBUT_H_
13 #define _WX_RADIOBUT_H_
14
15 class WXDLLEXPORT wxRadioButton: public wxControl
16 {
17 public:
18 // ctors and creation functions
19 wxRadioButton() { Init(); }
20
21 wxRadioButton(wxWindow *parent,
22 wxWindowID id,
23 const wxString& label,
24 const wxPoint& pos = wxDefaultPosition,
25 const wxSize& size = wxDefaultSize,
26 long style = 0,
27 const wxValidator& validator = wxDefaultValidator,
28 const wxString& name = wxRadioButtonNameStr)
29 {
30 Init();
31
32 Create(parent, id, label, pos, size, style, validator, name);
33 }
34
35 bool Create(wxWindow *parent,
36 wxWindowID id,
37 const wxString& label,
38 const wxPoint& pos = wxDefaultPosition,
39 const wxSize& size = wxDefaultSize,
40 long style = 0,
41 const wxValidator& validator = wxDefaultValidator,
42 const wxString& name = wxRadioButtonNameStr);
43
44 // implement the radio button interface
45 virtual void SetValue(bool value);
46 virtual bool GetValue() const;
47
48 // implementation only from now on
49 virtual bool MSWCommand(WXUINT param, WXWORD id);
50 virtual void Command(wxCommandEvent& event);
51 virtual bool HasTransparentBackground() { return true; }
52
53 virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
54
55 protected:
56 virtual wxSize DoGetBestSize() const;
57
58 private:
59 // common part of all ctors
60 void Init();
61
62 // we need to store the state internally as the result of GetValue()
63 // sometimes gets out of sync in WM_COMMAND handler
64 bool m_isChecked;
65
66 DECLARE_DYNAMIC_CLASS_NO_COPY(wxRadioButton)
67 };
68
69 #endif
70 // _WX_RADIOBUT_H_