]> git.saurik.com Git - wxWidgets.git/blob - src/palmos/choice.cpp
don't reset the selection after event was vetoed if there is no old selection
[wxWidgets.git] / src / palmos / choice.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: src/palmos/choice.cpp
3 // Purpose: wxChoice
4 // Author: William Osborne - minimal working wxPalmOS port
5 // Created: 10/13/04
6 // RCS-ID: $Id$
7 // Copyright: (c) William Osborne
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 // ============================================================================
12 // declarations
13 // ============================================================================
14
15 // ----------------------------------------------------------------------------
16 // headers
17 // ----------------------------------------------------------------------------
18
19 // For compilers that support precompilation, includes "wx.h".
20 #include "wx/wxprec.h"
21
22 #ifdef __BORLANDC__
23 #pragma hdrstop
24 #endif
25
26 #if wxUSE_CHOICE
27
28 #include "wx/choice.h"
29
30 #ifndef WX_PRECOMP
31 #include "wx/utils.h"
32 #include "wx/log.h"
33 #include "wx/brush.h"
34 #include "wx/settings.h"
35 #endif
36
37 #include "wx/palmos/private.h"
38
39 #if wxUSE_EXTENDED_RTTI
40 WX_DEFINE_FLAGS( wxChoiceStyle )
41
42 wxBEGIN_FLAGS( wxChoiceStyle )
43 // new style border flags, we put them first to
44 // use them for streaming out
45 wxFLAGS_MEMBER(wxBORDER_SIMPLE)
46 wxFLAGS_MEMBER(wxBORDER_SUNKEN)
47 wxFLAGS_MEMBER(wxBORDER_DOUBLE)
48 wxFLAGS_MEMBER(wxBORDER_RAISED)
49 wxFLAGS_MEMBER(wxBORDER_STATIC)
50 wxFLAGS_MEMBER(wxBORDER_NONE)
51
52 // old style border flags
53 wxFLAGS_MEMBER(wxSIMPLE_BORDER)
54 wxFLAGS_MEMBER(wxSUNKEN_BORDER)
55 wxFLAGS_MEMBER(wxDOUBLE_BORDER)
56 wxFLAGS_MEMBER(wxRAISED_BORDER)
57 wxFLAGS_MEMBER(wxSTATIC_BORDER)
58 wxFLAGS_MEMBER(wxBORDER)
59
60 // standard window styles
61 wxFLAGS_MEMBER(wxTAB_TRAVERSAL)
62 wxFLAGS_MEMBER(wxCLIP_CHILDREN)
63 wxFLAGS_MEMBER(wxTRANSPARENT_WINDOW)
64 wxFLAGS_MEMBER(wxWANTS_CHARS)
65 wxFLAGS_MEMBER(wxFULL_REPAINT_ON_RESIZE)
66 wxFLAGS_MEMBER(wxALWAYS_SHOW_SB )
67 wxFLAGS_MEMBER(wxVSCROLL)
68 wxFLAGS_MEMBER(wxHSCROLL)
69
70 wxEND_FLAGS( wxChoiceStyle )
71
72 IMPLEMENT_DYNAMIC_CLASS_XTI(wxChoice, wxControl,"wx/choice.h")
73
74 wxBEGIN_PROPERTIES_TABLE(wxChoice)
75 wxEVENT_PROPERTY( Select , wxEVT_COMMAND_CHOICE_SELECTED , wxCommandEvent )
76
77 wxPROPERTY( Font , wxFont , SetFont , GetFont , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
78 wxPROPERTY_COLLECTION( Choices , wxArrayString , wxString , AppendString , GetStrings , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
79 wxPROPERTY( Selection ,int, SetSelection, GetSelection, EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group"))
80 wxPROPERTY_FLAGS( WindowStyle , wxChoiceStyle , long , SetWindowStyleFlag , GetWindowStyleFlag , EMPTY_MACROVALUE , 0 /*flags*/ , wxT("Helpstring") , wxT("group")) // style
81 wxEND_PROPERTIES_TABLE()
82
83 wxBEGIN_HANDLERS_TABLE(wxChoice)
84 wxEND_HANDLERS_TABLE()
85
86 wxCONSTRUCTOR_4( wxChoice , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size )
87 #else
88 IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl)
89 #endif
90
91 // ============================================================================
92 // implementation
93 // ============================================================================
94
95 // ----------------------------------------------------------------------------
96 // creation
97 // ----------------------------------------------------------------------------
98
99 bool wxChoice::Create(wxWindow *parent,
100 wxWindowID id,
101 const wxPoint& pos,
102 const wxSize& size,
103 int n, const wxString choices[],
104 long style,
105 const wxValidator& validator,
106 const wxString& name)
107 {
108 return false;
109 }
110
111 bool wxChoice::CreateAndInit(wxWindow *parent,
112 wxWindowID id,
113 const wxPoint& pos,
114 const wxSize& size,
115 int n, const wxString choices[],
116 long style,
117 const wxValidator& validator,
118 const wxString& name)
119 {
120 return false;
121 }
122
123 bool wxChoice::Create(wxWindow *parent,
124 wxWindowID id,
125 const wxPoint& pos,
126 const wxSize& size,
127 const wxArrayString& choices,
128 long style,
129 const wxValidator& validator,
130 const wxString& name)
131 {
132 return false;
133 }
134
135 bool wxChoice::MSWShouldPreProcessMessage(WXMSG *pMsg)
136 {
137 return false;
138 }
139
140 WXDWORD wxChoice::MSWGetStyle(long style, WXDWORD *exstyle) const
141 {
142 return 0;
143 }
144
145 wxChoice::~wxChoice()
146 {
147 }
148
149 // ----------------------------------------------------------------------------
150 // adding/deleting items to/from the list
151 // ----------------------------------------------------------------------------
152
153 int wxChoice::DoAppend(const wxString& item)
154 {
155 return 0;
156 }
157
158 int wxChoice::DoInsert(const wxString& item, unsigned int pos)
159 {
160 return 0;
161 }
162
163 void wxChoice::Delete(unsigned int n)
164 {
165 }
166
167 void wxChoice::Clear()
168 {
169 }
170
171 void wxChoice::Free()
172 {
173 }
174
175 // ----------------------------------------------------------------------------
176 // selection
177 // ----------------------------------------------------------------------------
178
179 int wxChoice::GetSelection() const
180 {
181 return 0;
182 }
183
184 void wxChoice::SetSelection(int n)
185 {
186 }
187
188 // ----------------------------------------------------------------------------
189 // string list functions
190 // ----------------------------------------------------------------------------
191
192 unsigned int wxChoice::GetCount() const
193 {
194 return 0;
195 }
196
197 void wxChoice::SetString(unsigned int n, const wxString& s)
198 {
199 }
200
201 wxString wxChoice::GetString(unsigned int n) const
202 {
203 return wxEmptyString;
204 }
205
206 // ----------------------------------------------------------------------------
207 // client data
208 // ----------------------------------------------------------------------------
209
210 void wxChoice::DoSetItemClientData(unsigned int n, void* clientData)
211 {
212 }
213
214 void* wxChoice::DoGetItemClientData(unsigned int n) const
215 {
216 return (void *)NULL;
217 }
218
219 void wxChoice::DoSetItemClientObject(unsigned int n, wxClientData* clientData )
220 {
221 }
222
223 wxClientData* wxChoice::DoGetItemClientObject(unsigned int n) const
224 {
225 return (wxClientData *)DoGetItemClientData(n);
226 }
227
228 // ----------------------------------------------------------------------------
229 // wxMSW specific helpers
230 // ----------------------------------------------------------------------------
231
232 void wxChoice::UpdateVisibleHeight()
233 {
234 }
235
236 void wxChoice::DoMoveWindow(int x, int y, int width, int height)
237 {
238 }
239
240 void wxChoice::DoGetSize(int *w, int *h) const
241 {
242 }
243
244 void wxChoice::DoSetSize(int x, int y,
245 int width, int height,
246 int sizeFlags)
247 {
248 }
249
250 wxSize wxChoice::DoGetBestSize() const
251 {
252 return wxSize(0,0);
253 }
254
255 WXLRESULT wxChoice::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
256 {
257 return 0;
258 }
259
260 bool wxChoice::MSWCommand(WXUINT param, WXWORD WXUNUSED(id))
261 {
262 return false;
263 }
264
265 #endif // wxUSE_CHOICE