]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/msw/tglbtn.h
Interface fixes for Phoenix
[wxWidgets.git] / include / wx / msw / tglbtn.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/msw/tglbtn.h
3// Purpose: Declaration of the wxToggleButton class, which implements a
4// toggle button under wxMSW.
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// Licence: wxWindows licence
11/////////////////////////////////////////////////////////////////////////////
12
13#ifndef _WX_TOGGLEBUTTON_H_
14#define _WX_TOGGLEBUTTON_H_
15
16#include "wx/bitmap.h"
17
18// Checkbox item (single checkbox)
19class WXDLLIMPEXP_CORE wxToggleButton : public wxToggleButtonBase
20{
21public:
22 wxToggleButton() { Init(); }
23 wxToggleButton(wxWindow *parent,
24 wxWindowID id,
25 const wxString& label,
26 const wxPoint& pos = wxDefaultPosition,
27 const wxSize& size = wxDefaultSize,
28 long style = 0,
29 const wxValidator& validator = wxDefaultValidator,
30 const wxString& name = wxCheckBoxNameStr)
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 = wxCheckBoxNameStr);
43
44 virtual void SetValue(bool value);
45 virtual bool GetValue() const ;
46
47 virtual bool MSWCommand(WXUINT param, WXWORD id);
48 virtual void Command(wxCommandEvent& event);
49
50 virtual State GetNormalState() const;
51
52 // returns true if the platform should explicitly apply a theme border
53 virtual bool CanApplyThemeBorder() const { return false; }
54
55protected:
56 virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
57
58 virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const;
59
60 void Init();
61
62 // current state of the button (when owner-drawn)
63 bool m_state;
64
65private:
66 DECLARE_DYNAMIC_CLASS_NO_COPY(wxToggleButton)
67};
68
69//-----------------------------------------------------------------------------
70// wxBitmapToggleButton
71//-----------------------------------------------------------------------------
72
73
74class WXDLLIMPEXP_CORE wxBitmapToggleButton: public wxToggleButton
75{
76public:
77 // construction/destruction
78 wxBitmapToggleButton() {}
79 wxBitmapToggleButton(wxWindow *parent,
80 wxWindowID id,
81 const wxBitmap& label,
82 const wxPoint& pos = wxDefaultPosition,
83 const wxSize& size = wxDefaultSize,
84 long style = 0,
85 const wxValidator& validator = wxDefaultValidator,
86 const wxString& name = wxCheckBoxNameStr)
87 {
88 Create(parent, id, label, pos, size, style, validator, name);
89 }
90
91 // Create the control
92 bool Create(wxWindow *parent,
93 wxWindowID id,
94 const wxBitmap& label,
95 const wxPoint& pos = wxDefaultPosition,
96 const wxSize& size = wxDefaultSize, long style = 0,
97 const wxValidator& validator = wxDefaultValidator,
98 const wxString& name = wxCheckBoxNameStr);
99
100 // deprecated synonym for SetBitmapLabel()
101 wxDEPRECATED_INLINE( void SetLabel(const wxBitmap& bitmap),
102 SetBitmapLabel(bitmap); )
103 // prevent virtual function hiding
104 virtual void SetLabel(const wxString& label) { wxToggleButton::SetLabel(label); }
105
106private:
107 DECLARE_DYNAMIC_CLASS(wxBitmapToggleButton)
108};
109
110#endif // _WX_TOGGLEBUTTON_H_
111