]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/os2/checklst.h
Don't infinitely recurse when setting the child focus. Without
[wxWidgets.git] / include / wx / os2 / checklst.h
... / ...
CommitLineData
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
20class wxOwnerDrawn; // so the compiler knows, it is a class.
21
22class wxCheckListBoxItem; // fwd decl, define in checklst.cpp
23
24class WXDLLEXPORT wxCheckListBox : public wxListBox
25{
26public:
27 //
28 // Ctors
29 //
30 wxCheckListBox();
31 wxCheckListBox( wxWindow* pParent
32 ,wxWindowID vId
33 ,const wxPoint& rPos = wxDefaultPosition
34 ,const wxSize& vSize = wxDefaultSize
35 ,int nStrings = 0
36 ,const wxString asChoices[] = NULL
37 ,long lStyle = 0
38 ,const wxValidator& rValidator = wxDefaultValidator
39 ,const wxString& rsName = wxListBoxNameStr
40 );
41 wxCheckListBox( wxWindow* pParent
42 ,wxWindowID vId
43 ,const wxPoint& rPos
44 ,const wxSize& vSize
45 ,const wxArrayString& asChoices
46 ,long lStyle = 0
47 ,const wxValidator& rValidator = wxDefaultValidator
48 ,const wxString& rsName = wxListBoxNameStr
49 );
50
51 //
52 // Override base class virtuals
53 //
54 virtual void Delete(int n);
55 virtual void InsertItems( int nItems
56 ,const wxString asItems[]
57 ,int nPos
58 );
59
60 virtual bool SetFont(const wxFont &rFont);
61
62 //
63 // Items may be checked
64 //
65 bool IsChecked(size_t uiIndex) const;
66 void Check( size_t uiIndex
67 ,bool bCheck = TRUE
68 );
69
70 //
71 // Accessors
72 //
73 size_t GetItemHeight(void) const { return m_nItemHeight; }
74
75protected:
76 //
77 // We create our items ourselves and they have non-standard size,
78 // so we need to override these functions
79 //
80 virtual wxOwnerDrawn* CreateItem(size_t n);
81 virtual long OS2OnMeasure(WXMEASUREITEMSTRUCT* pItem);
82
83 //
84 // Pressing space or clicking the check box toggles the item
85 //
86 void OnChar(wxKeyEvent& rEvent);
87 void OnLeftClick(wxMouseEvent& rEvent);
88
89private:
90 size_t m_nItemHeight; // height of checklistbox items (the same for all)
91
92 DECLARE_DYNAMIC_CLASS(wxCheckListBox)
93 DECLARE_EVENT_TABLE()
94}; // end of CLASS wxCheckListBoxItem
95
96#endif
97 // _WX_CHECKLST_H_