]> git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/combobox.h
fixed bug with the caret positioning after SetValue() introduced by the last commit
[wxWidgets.git] / include / wx / os2 / combobox.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: combobox.h
3 // Purpose: wxComboBox class
4 // Author: David Webster
5 // Modified by:
6 // Created: 10/13/99
7 // RCS-ID: $Id$
8 // Copyright: (c) David Webster
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_COMBOBOX_H_
13 #define _WX_COMBOBOX_H_
14
15 #include "wx/choice.h"
16
17 #if wxUSE_COMBOBOX
18
19 WXDLLEXPORT_DATA(extern const char*) wxComboBoxNameStr;
20 WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
21
22 // Combobox item
23 class WXDLLEXPORT wxComboBox : public wxChoice
24 {
25
26 public:
27 inline wxComboBox() {}
28
29 inline wxComboBox( wxWindow* pParent
30 ,wxWindowID vId
31 ,const wxString& rsValue = wxEmptyString
32 ,const wxPoint& rPos = wxDefaultPosition
33 ,const wxSize& rSize = wxDefaultSize
34 ,int n = 0
35 ,const wxString asChoices[] = NULL
36 ,long lStyle = 0
37 #if wxUSE_VALIDATORS
38 ,const wxValidator& rValidator = wxDefaultValidator
39 #endif
40 ,const wxString& rsName = wxComboBoxNameStr
41 )
42 {
43 Create( pParent
44 ,vId
45 ,rsValue
46 ,rPos
47 ,rSize
48 ,n
49 ,asChoices
50 ,lStyle
51 #if wxUSE_VALIDATORS
52 ,rValidator
53 #endif
54 ,rsName
55 );
56 }
57
58 bool Create( wxWindow* pParent
59 ,wxWindowID vId
60 ,const wxString& rsValue = wxEmptyString
61 ,const wxPoint& rPos = wxDefaultPosition
62 ,const wxSize& rSize = wxDefaultSize
63 ,int n = 0
64 ,const wxString asChoices[] = NULL
65 ,long lStyle = 0
66 #if wxUSE_VALIDATORS
67 ,const wxValidator& rValidator = wxDefaultValidator
68 #endif
69 ,const wxString& rsName = wxComboBoxNameStr
70 );
71
72 //
73 // List functions: see wxChoice
74 //
75 inline wxString GetValue(void) const { return GetLabel(); }
76 virtual void SetValue(const wxString& rsValue);
77
78 //
79 // Clipboard operations
80 //
81 virtual void Copy();
82 virtual void Cut();
83 virtual void Paste();
84
85 virtual void SetInsertionPoint(long lPos);
86 virtual void SetInsertionPointEnd(void);
87 virtual long GetInsertionPoint(void) const;
88 virtual long GetLastPosition(void) const;
89 virtual void Replace( long lFrom
90 ,long lTo
91 ,const wxString& rsValue
92 );
93 virtual void Remove( long lFrom
94 ,long lTo
95 );
96 inline virtual void SetSelection(int n) { wxChoice::SetSelection(n); }
97 virtual void SetSelection( long lFrom
98 ,long lTo
99 );
100 virtual void SetEditable(bool bEditable);
101
102 virtual bool OS2Command( WXUINT uParam
103 ,WXWORD wId
104 );
105 bool ProcessEditMsg( WXUINT uMsg
106 ,WXWPARAM wParam
107 ,WXLPARAM lParam
108 );
109
110 protected:
111 virtual void DoSetSize( int nX
112 ,int nY
113 ,int nWidth
114 ,int nHeight
115 ,int nSizeFlags = wxSIZE_AUTO
116 );
117 private:
118 DECLARE_DYNAMIC_CLASS(wxComboBox)
119 }; // end of CLASS wxComboBox
120
121 #endif // wxUSE_COMBOBOX
122 #endif
123 // _WX_COMBOBOX_H_