fixed GTK styles handling:
[wxWidgets.git] / include / wx / gtk1 / radiobut.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/gtk/radiobut.h
3 // Purpose:
4 // Author: Robert Roebling
5 // Id: $Id$
6 // Copyright: (c) 1998 Robert Roebling
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9
10
11 #ifndef __GTKRADIOBUTTONH__
12 #define __GTKRADIOBUTTONH__
13
14 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
15 #pragma interface
16 #endif
17
18 //-----------------------------------------------------------------------------
19 // wxRadioButton
20 //-----------------------------------------------------------------------------
21
22 class wxRadioButton: public wxControl
23 {
24 public:
25 wxRadioButton() { }
26 wxRadioButton( wxWindow *parent,
27 wxWindowID id,
28 const wxString& label,
29 const wxPoint& pos = wxDefaultPosition,
30 const wxSize& size = wxDefaultSize,
31 long style = 0,
32 const wxValidator& validator = wxDefaultValidator,
33 const wxString& name = wxRadioButtonNameStr )
34 {
35 Create( parent, id, label, pos, size, style, validator, name );
36 }
37
38 bool Create( wxWindow *parent,
39 wxWindowID id,
40 const wxString& label,
41 const wxPoint& pos = wxDefaultPosition,
42 const wxSize& size = wxDefaultSize,
43 long style = 0,
44 const wxValidator& validator = wxDefaultValidator,
45 const wxString& name = wxRadioButtonNameStr );
46
47 virtual void SetLabel(const wxString& label);
48 virtual void SetValue(bool val);
49 virtual bool GetValue() const;
50 virtual bool Enable( bool enable = TRUE );
51
52 static wxVisualAttributes
53 GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
54
55 // implementation
56
57 virtual bool IsRadioButton() const { return TRUE; }
58
59 GSList *m_radioButtonGroup;
60 void DoApplyWidgetStyle(GtkRcStyle *style);
61 bool IsOwnGtkWindow( GdkWindow *window );
62 void OnInternalIdle();
63
64 bool m_blockEvent;
65
66 protected:
67 virtual wxSize DoGetBestSize() const;
68
69 private:
70 DECLARE_DYNAMIC_CLASS(wxRadioButton)
71 };
72
73 #endif // __GTKRADIOBUTTONH__