]> git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/checklst.h
A little black magic... When the C++ object (for a window or
[wxWidgets.git] / include / wx / os2 / checklst.h
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: 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 // RCS-ID: $Id$
9 // Copyright: (c) David Webster
10 // Licence: wxWindows licence
11 ///////////////////////////////////////////////////////////////////////////////
12
13 #ifndef _WX_CHECKLST_H_
14 #define _WX_CHECKLST_H_
15
16 #include <stddef.h>
17
18 #include "wx/setup.h"
19
20 class wxOwnerDrawn; // so the compiler knows, it is a class.
21
22 class wxCheckListBoxItem; // fwd decl, define in checklst.cpp
23
24 class WXDLLEXPORT wxCheckListBox : public wxListBox
25 {
26 DECLARE_DYNAMIC_CLASS(wxCheckListBox)
27 public:
28 // ctors
29 wxCheckListBox();
30 wxCheckListBox(wxWindow *parent, wxWindowID id,
31 const wxPoint& pos = wxDefaultPosition,
32 const wxSize& size = wxDefaultSize,
33 int nStrings = 0,
34 const wxString choices[] = NULL,
35 long style = 0,
36 #if wxUSE_VALIDATORS
37 const wxValidator& validator = wxDefaultValidator,
38 #endif
39 const wxString& name = wxListBoxNameStr);
40
41 // override base class virtuals
42 virtual void Delete(int n);
43 virtual void InsertItems(int nItems, const wxString items[], int pos);
44
45 virtual bool SetFont( const wxFont &font );
46
47 // items may be checked
48 bool IsChecked(size_t uiIndex) const;
49 void Check(size_t uiIndex, bool bCheck = TRUE);
50
51 // accessors
52 size_t GetItemHeight() const { return m_nItemHeight; }
53
54 protected:
55 // we create our items ourselves and they have non-standard size,
56 // so we need to override these functions
57 virtual wxOwnerDrawn *CreateItem(size_t n);
58 // virtual bool OS2OnMeasure(WXMEASUREITEMSTRUCT *item);
59
60 // pressing space or clicking the check box toggles the item
61 void OnChar(wxKeyEvent& event);
62 void OnLeftClick(wxMouseEvent& event);
63
64 private:
65 size_t m_nItemHeight; // height of checklistbox items (the same for all)
66
67 //Virtual function hiding suppression, do not use
68 virtual wxControl *CreateItem(const wxItemResource* childResource,
69 const wxItemResource* parentResource,
70 const wxResourceTable *table = (const wxResourceTable *) NULL)
71 { return(wxWindowBase::CreateItem(childResource, parentResource, table));};
72
73 DECLARE_EVENT_TABLE()
74 };
75
76 #endif
77 // _WX_CHECKLST_H_