]> git.saurik.com Git - wxWidgets.git/blame - include/wx/gtk1/tglbtn.h
extracted wxWrapSizer in separate files and somewhat improved it (heavily modified...
[wxWidgets.git] / include / wx / gtk1 / tglbtn.h
CommitLineData
1db8dc4a 1/////////////////////////////////////////////////////////////////////////////
8ef94bfc 2// Name: wx/gtk1/tglbtn.h
1db8dc4a
VZ
3// Purpose: Declaration of the wxToggleButton class, which implements a
4// toggle button under wxGTK.
5// Author: John Norris, minor changes by Axel Schlueter
6// Modified by:
7// Created: 08.02.01
8// RCS-ID: $Id$
9// Copyright: (c) 2000 Johnny C. Norris II
706fb893 10// License: wxWindows licence
1db8dc4a
VZ
11/////////////////////////////////////////////////////////////////////////////
12
13#ifndef _WX_GTK_TOGGLEBUTTON_H_
14#define _WX_GTK_TOGGLEBUTTON_H_
15
4f856067
RR
16#include "wx/bitmap.h"
17
1db8dc4a
VZ
18//-----------------------------------------------------------------------------
19// classes
20//-----------------------------------------------------------------------------
21
b5dbe15d
VS
22class WXDLLIMPEXP_FWD_CORE wxToggleButton;
23class WXDLLIMPEXP_FWD_CORE wxToggleBitmapButton;
1db8dc4a
VZ
24
25//-----------------------------------------------------------------------------
26// global data
27//-----------------------------------------------------------------------------
28
f36e602b 29extern WXDLLIMPEXP_CORE const char wxCheckBoxNameStr[];
1db8dc4a 30
4f856067
RR
31//-----------------------------------------------------------------------------
32// wxToggleBitmapButton
33//-----------------------------------------------------------------------------
34
803cab4d 35class WXDLLIMPEXP_CORE wxToggleBitmapButton: public wxToggleButtonBase
4f856067
RR
36{
37public:
38 // construction/destruction
39 wxToggleBitmapButton() {}
40 wxToggleBitmapButton(wxWindow *parent,
41 wxWindowID id,
42 const wxBitmap& label,
43 const wxPoint& pos = wxDefaultPosition,
44 const wxSize& size = wxDefaultSize,
45 long style = 0,
46 const wxValidator& validator = wxDefaultValidator,
47 const wxString& name = wxCheckBoxNameStr)
48 {
49 Create(parent, id, label, pos, size, style, validator, name);
50 }
51
52 // Create the control
53 bool Create(wxWindow *parent,
54 wxWindowID id,
55 const wxBitmap& label,
56 const wxPoint& pos = wxDefaultPosition,
57 const wxSize& size = wxDefaultSize, long style = 0,
58 const wxValidator& validator = wxDefaultValidator,
59 const wxString& name = wxCheckBoxNameStr);
60
61 // Get/set the value
62 void SetValue(bool state);
63 bool GetValue() const;
64
65 // Set the label
17a1ebd1
VZ
66 virtual void SetLabel(const wxString& label) { wxControl::SetLabel(label); }
67 virtual void SetLabel(const wxBitmap& label);
4f856067
RR
68 bool Enable(bool enable = TRUE);
69
9d522606
RD
70 static wxVisualAttributes
71 GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
72
4f856067
RR
73 // implementation
74 bool m_blockEvent;
75 wxBitmap m_bitmap;
76
77 void OnSetBitmap();
f40fdaa3 78 void DoApplyWidgetStyle(GtkRcStyle *style);
4f856067
RR
79 bool IsOwnGtkWindow(GdkWindow *window);
80
81 virtual void OnInternalIdle();
82 virtual wxSize DoGetBestSize() const;
83
84private:
85 DECLARE_DYNAMIC_CLASS(wxToggleBitmapButton)
86};
9d522606 87
1db8dc4a
VZ
88//-----------------------------------------------------------------------------
89// wxToggleButton
90//-----------------------------------------------------------------------------
91
20123d49 92class WXDLLIMPEXP_CORE wxToggleButton: public wxControl
1db8dc4a
VZ
93{
94public:
95 // construction/destruction
96 wxToggleButton() {}
97 wxToggleButton(wxWindow *parent,
98 wxWindowID id,
99 const wxString& label,
100 const wxPoint& pos = wxDefaultPosition,
101 const wxSize& size = wxDefaultSize,
102 long style = 0,
103 const wxValidator& validator = wxDefaultValidator,
104 const wxString& name = wxCheckBoxNameStr)
105 {
106 Create(parent, id, label, pos, size, style, validator, name);
107 }
108
109 // Create the control
110 bool Create(wxWindow *parent,
111 wxWindowID id,
112 const wxString& label,
113 const wxPoint& pos = wxDefaultPosition,
114 const wxSize& size = wxDefaultSize, long style = 0,
115 const wxValidator& validator = wxDefaultValidator,
116 const wxString& name = wxCheckBoxNameStr);
117
118 // Get/set the value
119 void SetValue(bool state);
120 bool GetValue() const;
121
122 // Set the label
123 void SetLabel(const wxString& label);
124 bool Enable(bool enable = TRUE);
125
9d522606
RD
126 static wxVisualAttributes
127 GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
8ef94bfc 128
9864c56d
RR
129 // implementation
130 bool m_blockEvent;
1db8dc4a 131
f40fdaa3 132 void DoApplyWidgetStyle(GtkRcStyle *style);
1db8dc4a
VZ
133 bool IsOwnGtkWindow(GdkWindow *window);
134
135 virtual void OnInternalIdle();
136 virtual wxSize DoGetBestSize() const;
137
138private:
139 DECLARE_DYNAMIC_CLASS(wxToggleButton)
140};
141
142#endif // _WX_GTK_TOGGLEBUTTON_H_
143