]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/os2/combobox.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / os2 / combobox.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/os2/combobox.h
3// Purpose: wxComboBox class
4// Author: David Webster
5// Modified by:
6// Created: 10/13/99
7// Copyright: (c) David Webster
8// Licence: wxWindows licence
9/////////////////////////////////////////////////////////////////////////////
10
11#ifndef _WX_COMBOBOX_H_
12#define _WX_COMBOBOX_H_
13
14#include "wx/choice.h"
15#include "wx/textentry.h"
16
17#if wxUSE_COMBOBOX
18
19// Combobox item
20class WXDLLIMPEXP_CORE wxComboBox : public wxChoice,
21 public wxTextEntry
22{
23
24 public:
25 inline wxComboBox() {}
26
27 inline wxComboBox( wxWindow* pParent
28 ,wxWindowID vId
29 ,const wxString& rsValue = wxEmptyString
30 ,const wxPoint& rPos = wxDefaultPosition
31 ,const wxSize& rSize = wxDefaultSize
32 ,int n = 0
33 ,const wxString asChoices[] = NULL
34 ,long lStyle = 0
35 ,const wxValidator& rValidator = wxDefaultValidator
36 ,const wxString& rsName = wxComboBoxNameStr
37 )
38 {
39 Create( pParent
40 ,vId
41 ,rsValue
42 ,rPos
43 ,rSize
44 ,n
45 ,asChoices
46 ,lStyle
47 ,rValidator
48 ,rsName
49 );
50 }
51
52 inline wxComboBox( wxWindow* pParent
53 ,wxWindowID vId
54 ,const wxString& rsValue
55 ,const wxPoint& rPos
56 ,const wxSize& rSize
57 ,const wxArrayString& asChoices
58 ,long lStyle = 0
59 ,const wxValidator& rValidator = wxDefaultValidator
60 ,const wxString& rsName = wxComboBoxNameStr
61 )
62 {
63 Create( pParent
64 ,vId
65 ,rsValue
66 ,rPos
67 ,rSize
68 ,asChoices
69 ,lStyle
70 ,rValidator
71 ,rsName
72 );
73 }
74
75 bool Create( wxWindow* pParent
76 ,wxWindowID vId
77 ,const wxString& rsValue = wxEmptyString
78 ,const wxPoint& rPos = wxDefaultPosition
79 ,const wxSize& rSize = wxDefaultSize
80 ,int n = 0
81 ,const wxString asChoices[] = NULL
82 ,long lStyle = 0
83 ,const wxValidator& rValidator = wxDefaultValidator
84 ,const wxString& rsName = wxComboBoxNameStr
85 );
86
87 bool Create( wxWindow* pParent
88 ,wxWindowID vId
89 ,const wxString& rsValue
90 ,const wxPoint& rPos
91 ,const wxSize& rSize
92 ,const wxArrayString& asChoices
93 ,long lStyle = 0
94 ,const wxValidator& rValidator = wxDefaultValidator
95 ,const wxString& rsName = wxComboBoxNameStr
96 );
97
98 // See wxComboBoxBase discussion of IsEmpty().
99 bool IsListEmpty() const { return wxItemContainer::IsEmpty(); }
100 bool IsTextEmpty() const { return wxTextEntry::IsEmpty(); }
101
102 // resolve ambiguities among virtual functions inherited from both base
103 // classes
104 virtual void Clear();
105 virtual wxString GetValue() const;
106 virtual void SetValue(const wxString& value);
107 virtual wxString GetStringSelection() const
108 { return wxChoice::GetStringSelection(); }
109
110 inline virtual void SetSelection(int n) { wxChoice::SetSelection(n); }
111 virtual void SetSelection(long from, long to)
112 { wxTextEntry::SetSelection(from, to); }
113 virtual int GetSelection() const { return wxChoice::GetSelection(); }
114 virtual void GetSelection(long *from, long *to) const
115 { wxTextEntry::GetSelection(from, to); }
116
117 virtual bool IsEditable() const;
118
119 virtual bool OS2Command( WXUINT uParam
120 ,WXWORD wId
121 );
122 bool ProcessEditMsg( WXUINT uMsg
123 ,WXWPARAM wParam
124 ,WXLPARAM lParam
125 );
126
127private:
128 // implement wxTextEntry pure virtual methods
129 virtual wxWindow *GetEditableWindow() { return this; }
130 virtual WXHWND GetEditHWND() const { return m_hWnd; }
131
132 DECLARE_DYNAMIC_CLASS(wxComboBox)
133}; // end of CLASS wxComboBox
134
135#endif // wxUSE_COMBOBOX
136#endif
137 // _WX_COMBOBOX_H_