]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/os2/listbox.h
add IsShown() accessor which is sometimes more convenient than IsHidden()
[wxWidgets.git] / include / wx / os2 / listbox.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/os2/listbox.h
3// Purpose: wxListBox class
4// Author: David Webster
5// Modified by:
6// Created: 10/09/99
7// RCS-ID: $Id$
8// Copyright: (c) David Webster
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_LISTBOX_H_
13#define _WX_LISTBOX_H_
14
15// ----------------------------------------------------------------------------
16// simple types
17// ----------------------------------------------------------------------------
18
19#if wxUSE_OWNER_DRAWN
20 class WXDLLIMPEXP_FWD_CORE wxOwnerDrawn;
21
22 // define the array of list box items
23 #include "wx/dynarray.h"
24
25 WX_DEFINE_EXPORTED_ARRAY_PTR(wxOwnerDrawn *, wxListBoxItemsArray);
26#endif // wxUSE_OWNER_DRAWN
27
28// forward decl for GetSelections()
29class wxArrayInt;
30
31// ----------------------------------------------------------------------------
32// List box control
33// ----------------------------------------------------------------------------
34
35class WXDLLIMPEXP_CORE wxListBox : public wxListBoxBase
36{
37public:
38 // ctors and such
39 wxListBox();
40 wxListBox( wxWindow* pParent
41 ,wxWindowID vId
42 ,const wxPoint& rPos = wxDefaultPosition
43 ,const wxSize& rSize = wxDefaultSize
44 ,int n = 0
45 ,const wxString asChoices[] = NULL
46 ,long lStyle = 0
47 ,const wxValidator& rValidator = wxDefaultValidator
48 ,const wxString& rsName = wxListBoxNameStr)
49 {
50 Create( pParent
51 ,vId
52 ,rPos
53 ,rSize
54 ,n
55 ,asChoices
56 ,lStyle
57 ,rValidator
58 ,rsName
59 );
60 }
61 wxListBox( wxWindow* pParent
62 ,wxWindowID vId
63 ,const wxPoint& rPos
64 ,const wxSize& rSize
65 ,const wxArrayString& asChoices
66 ,long lStyle = 0
67 ,const wxValidator& rValidator = wxDefaultValidator
68 ,const wxString& rsName = wxListBoxNameStr)
69 {
70 Create( pParent
71 ,vId
72 ,rPos
73 ,rSize
74 ,asChoices
75 ,lStyle
76 ,rValidator
77 ,rsName
78 );
79 }
80
81 bool Create( wxWindow* pParent
82 ,wxWindowID vId
83 ,const wxPoint& rPos = wxDefaultPosition
84 ,const wxSize& rSize = wxDefaultSize
85 ,int n = 0
86 ,const wxString asChoices[] = NULL
87 ,long lStyle = 0
88 ,const wxValidator& rValidator = wxDefaultValidator
89 ,const wxString& rsName = wxListBoxNameStr
90 );
91 bool Create( wxWindow* pParent
92 ,wxWindowID vId
93 ,const wxPoint& rPos
94 ,const wxSize& rSize
95 ,const wxArrayString& asChoices
96 ,long lStyle = 0
97 ,const wxValidator& rValidator = wxDefaultValidator
98 ,const wxString& rsName = wxListBoxNameStr
99 );
100
101 virtual ~wxListBox();
102
103 //
104 // Implement base class pure virtuals
105 //
106 virtual void DoClear(void);
107 virtual void DoDeleteOneItem(unsigned int n);
108
109 virtual unsigned int GetCount() const;
110 virtual wxString GetString(unsigned int n) const;
111 virtual void SetString(unsigned int n, const wxString& rsString);
112
113 virtual bool IsSelected(int n) const;
114 virtual void DoSetSelection(int n, bool bSelect);
115 virtual int GetSelection(void) const;
116 virtual int GetSelections(wxArrayInt& raSelections) const;
117
118 virtual void DoSetFirstItem(int n);
119
120 virtual void DoSetItemClientData(unsigned int n, void* pClientData);
121 virtual void* DoGetItemClientData(unsigned int n) const;
122
123 //
124 // wxCheckListBox support
125 //
126#if wxUSE_OWNER_DRAWN
127 long OS2OnMeasure(WXMEASUREITEMSTRUCT *item);
128 bool OS2OnDraw(WXDRAWITEMSTRUCT *item);
129
130 virtual wxOwnerDrawn* CreateItem(size_t n);
131 wxOwnerDrawn* GetItem(size_t n) const { return m_aItems[n]; }
132 int GetItemIndex(wxOwnerDrawn *item) const { return m_aItems.Index(item); }
133#endif // wxUSE_OWNER_DRAWN
134
135 bool OS2Command( WXUINT uParam
136 ,WXWORD wId
137 );
138 virtual void SetupColours(void);
139
140protected:
141
142 bool HasMultipleSelection(void) const;
143 virtual wxSize DoGetBestSize(void) const;
144
145 unsigned int m_nNumItems;
146 int m_nSelected;
147
148#if wxUSE_OWNER_DRAWN
149 //
150 // Control items
151 //
152 wxListBoxItemsArray m_aItems;
153#endif
154
155 //
156 // Implement base wxItemContainer virtuals
157 //
158 virtual int DoInsertItems(const wxArrayStringsAdapter& items,
159 unsigned int pos,
160 void **clientData,
161 wxClientDataType type);
162
163 DECLARE_DYNAMIC_CLASS(wxListBox)
164}; // end of wxListBox
165
166#endif // _WX_LISTBOX_H_