]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/gtk/tglbtn.h
added helper Is{Col,Row}Shown()
[wxWidgets.git] / include / wx / gtk / tglbtn.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/gtk/tglbtn.h
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
10// License: wxWindows licence
11/////////////////////////////////////////////////////////////////////////////
12
13#ifndef _WX_GTK_TOGGLEBUTTON_H_
14#define _WX_GTK_TOGGLEBUTTON_H_
15
16#include "wx/bitmap.h"
17
18//-----------------------------------------------------------------------------
19// classes
20//-----------------------------------------------------------------------------
21
22class WXDLLIMPEXP_FWD_CORE wxToggleButton;
23class WXDLLIMPEXP_FWD_CORE wxToggleBitmapButton;
24
25//-----------------------------------------------------------------------------
26// global data
27//-----------------------------------------------------------------------------
28
29extern WXDLLIMPEXP_DATA_CORE(const char) wxCheckBoxNameStr[];
30
31//-----------------------------------------------------------------------------
32// wxBitmapToggleButton
33//-----------------------------------------------------------------------------
34
35class WXDLLIMPEXP_CORE wxBitmapToggleButton: public wxToggleButtonBase
36{
37public:
38 // construction/destruction
39 wxBitmapToggleButton() {}
40 wxBitmapToggleButton(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
66 virtual void SetLabel(const wxString& label) { wxControl::SetLabel(label); }
67 virtual void SetLabel(const wxBitmap& label);
68 bool Enable(bool enable = TRUE);
69
70 static wxVisualAttributes
71 GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
72
73 // implementation
74 wxBitmap m_bitmap;
75
76 void OnSetBitmap();
77
78protected:
79 void GTKDisableEvents();
80 void GTKEnableEvents();
81
82 virtual wxSize DoGetBestSize() const;
83 virtual void DoApplyWidgetStyle(GtkRcStyle *style);
84 virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const;
85
86private:
87 DECLARE_DYNAMIC_CLASS(wxBitmapToggleButton)
88};
89
90//-----------------------------------------------------------------------------
91// wxToggleButton
92//-----------------------------------------------------------------------------
93
94class WXDLLIMPEXP_CORE wxToggleButton: public wxToggleButtonBase
95{
96public:
97 // construction/destruction
98 wxToggleButton() {}
99 wxToggleButton(wxWindow *parent,
100 wxWindowID id,
101 const wxString& label,
102 const wxPoint& pos = wxDefaultPosition,
103 const wxSize& size = wxDefaultSize,
104 long style = 0,
105 const wxValidator& validator = wxDefaultValidator,
106 const wxString& name = wxCheckBoxNameStr)
107 {
108 Create(parent, id, label, pos, size, style, validator, name);
109 }
110
111 // Create the control
112 bool Create(wxWindow *parent,
113 wxWindowID id,
114 const wxString& label,
115 const wxPoint& pos = wxDefaultPosition,
116 const wxSize& size = wxDefaultSize, long style = 0,
117 const wxValidator& validator = wxDefaultValidator,
118 const wxString& name = wxCheckBoxNameStr);
119
120 // Get/set the value
121 void SetValue(bool state);
122 bool GetValue() const;
123
124 // Set the label
125 void SetLabel(const wxString& label);
126 bool Enable(bool enable = TRUE);
127
128 static wxVisualAttributes
129 GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
130
131protected:
132 void GTKDisableEvents();
133 void GTKEnableEvents();
134
135 virtual wxSize DoGetBestSize() const;
136 virtual void DoApplyWidgetStyle(GtkRcStyle *style);
137 virtual GdkWindow *GTKGetWindow(wxArrayGdkWindows& windows) const;
138
139private:
140 DECLARE_DYNAMIC_CLASS(wxToggleButton)
141};
142
143#endif // _WX_GTK_TOGGLEBUTTON_H_
144