]> git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/checklst.h
Fix wxPropertyGrid::GetPropertyRect when the last item is collapsed.
[wxWidgets.git] / include / wx / os2 / checklst.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/os2/checklst.h
3 // Purpose: wxCheckListBox class - a listbox with checkable items
4 // Note: this is an optional class.
5 // Author: David Webster
6 // Modified by:
7 // Created: 10/13/99
8 // Copyright: (c) David Webster
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_CHECKLST_H_
13 #define _WX_CHECKLST_H_
14
15 #include <stddef.h>
16
17 #include "wx/defs.h"
18
19 class wxOwnerDrawn; // so the compiler knows, it is a class.
20
21 class WXDLLIMPEXP_CORE wxCheckListBox : public wxCheckListBoxBase
22 {
23 public:
24 //
25 // Ctors
26 //
27 wxCheckListBox();
28 wxCheckListBox( wxWindow* pParent
29 ,wxWindowID vId
30 ,const wxPoint& rPos = wxDefaultPosition
31 ,const wxSize& vSize = wxDefaultSize
32 ,int nStrings = 0
33 ,const wxString asChoices[] = NULL
34 ,long lStyle = 0
35 ,const wxValidator& rValidator = wxDefaultValidator
36 ,const wxString& rsName = wxListBoxNameStr
37 );
38 wxCheckListBox( wxWindow* pParent
39 ,wxWindowID vId
40 ,const wxPoint& rPos
41 ,const wxSize& vSize
42 ,const wxArrayString& asChoices
43 ,long lStyle = 0
44 ,const wxValidator& rValidator = wxDefaultValidator
45 ,const wxString& rsName = wxListBoxNameStr
46 );
47
48 //
49 // Override base class virtuals
50 //
51 virtual void Delete(unsigned int n);
52
53 virtual bool SetFont(const wxFont &rFont);
54
55 //
56 // Items may be checked
57 //
58 bool IsChecked(unsigned int uiIndex) const;
59 void Check(unsigned int uiIndex, bool bCheck = true);
60
61 //
62 // Accessors
63 //
64 size_t GetItemHeight(void) const { return m_nItemHeight; }
65
66 protected:
67 //
68 // We create our items ourselves and they have non-standard size,
69 // so we need to override these functions
70 //
71 virtual wxOwnerDrawn* CreateItem(size_t n);
72 virtual long OS2OnMeasure(WXMEASUREITEMSTRUCT* pItem);
73
74 //
75 // Pressing space or clicking the check box toggles the item
76 //
77 void OnChar(wxKeyEvent& rEvent);
78 void OnLeftClick(wxMouseEvent& rEvent);
79
80 private:
81 size_t m_nItemHeight; // height of checklistbox items (the same for all)
82
83 DECLARE_DYNAMIC_CLASS(wxCheckListBox)
84 DECLARE_EVENT_TABLE()
85 }; // end of CLASS wxCheckListBox
86
87 #endif
88 // _WX_CHECKLST_H_