]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/checkbox.h
fixes to wxWindowDC flipping+clipping when painting on hidden windows or windows...
[wxWidgets.git] / include / wx / msw / checkbox.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/checkbox.h
3 // Purpose: wxCheckBox 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_CHECKBOX_H_
13 #define _WX_CHECKBOX_H_
14
15 // Checkbox item (single checkbox)
16 class WXDLLEXPORT wxCheckBox : public wxCheckBoxBase
17 {
18 public:
19 wxCheckBox() { }
20 wxCheckBox(wxWindow *parent,
21 wxWindowID id,
22 const wxString& label,
23 const wxPoint& pos = wxDefaultPosition,
24 const wxSize& size = wxDefaultSize,
25 long style = 0,
26 const wxValidator& validator = wxDefaultValidator,
27 const wxString& name = wxCheckBoxNameStr)
28 {
29 Create(parent, id, label, pos, size, style, validator, name);
30 }
31
32 bool Create(wxWindow *parent,
33 wxWindowID id,
34 const wxString& label,
35 const wxPoint& pos = wxDefaultPosition,
36 const wxSize& size = wxDefaultSize,
37 long style = 0,
38 const wxValidator& validator = wxDefaultValidator,
39 const wxString& name = wxCheckBoxNameStr);
40
41 virtual void SetValue(bool value);
42 virtual bool GetValue() const;
43
44 // override some base class virtuals
45 virtual bool MSWCommand(WXUINT param, WXWORD id);
46 virtual void Command(wxCommandEvent& event);
47 virtual bool SetForegroundColour(const wxColour& colour);
48 virtual bool MSWOnDraw(WXDRAWITEMSTRUCT *item);
49
50 protected:
51 virtual wxSize DoGetBestSize() const;
52
53 virtual void DoSet3StateValue(wxCheckBoxState value);
54 virtual wxCheckBoxState DoGet3StateValue() const;
55
56 // make the checkbox owner drawn or reset it to normal style
57 void MakeOwnerDrawn(bool ownerDrawn);
58
59 // return true if this checkbox is owner drawn
60 bool IsOwnerDrawn() const;
61
62 private:
63 // common part of all ctors
64 void Init();
65
66 // event handlers used by owner-drawn checkbox
67 void OnMouseEnterOrLeave(wxMouseEvent& event);
68 void OnMouseLeft(wxMouseEvent& event);
69 void OnFocus(wxFocusEvent& event);
70
71
72 // current state of the checkbox
73 wxCheckBoxState m_state;
74
75 // true if the checkbox is currently pressed
76 bool m_isPressed;
77
78 // true if mouse is currently over the control
79 bool m_isHot;
80
81
82 DECLARE_DYNAMIC_CLASS_NO_COPY(wxCheckBox)
83 };
84
85 #endif
86 // _WX_CHECKBOX_H_