1 /*
2 * %CopyrightBegin%
3 *
4 * Copyright Ericsson AB 2008-2021. All Rights Reserved.
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 * %CopyrightEnd%
19 */
20
21 /***** This file is generated do not edit ****/
22
23 #include <wx/wx.h>
24 #include "../wxe_impl.h"
25 #include "../wxe_events.h"
26 #include "../wxe_return.h"
27 #include "../wxe_gl.h"
28 #include "wxe_macros.h"
29 #include "wxe_derived_dest.h"
30
31 // wxCalendarCtrl::wxCalendarCtrl
wxCalendarCtrl_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)32 void wxCalendarCtrl_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
33 {
34 wxCalendarCtrl * Result = new EwxCalendarCtrl();
35 app->newPtr((void *) Result, 0, memenv);
36 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
37 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCalendarCtrl"));
38
39 }
40
41 // wxCalendarCtrl::wxCalendarCtrl
wxCalendarCtrl_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)42 void wxCalendarCtrl_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
43 {
44 wxDateTime date= wxDefaultDateTime;
45 wxPoint pos= wxDefaultPosition;
46 wxSize size= wxDefaultSize;
47 long style=wxCAL_SHOW_HOLIDAYS;
48 ErlNifEnv *env = Ecmd.env;
49 ERL_NIF_TERM * argv = Ecmd.args;
50 wxWindow *parent;
51 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
52 int id;
53 if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
54 ERL_NIF_TERM lstHead, lstTail;
55 lstTail = argv[2];
56 if(!enif_is_list(env, lstTail)) Badarg("Options");
57 const ERL_NIF_TERM *tpl;
58 int tpl_sz;
59 while(!enif_is_empty_list(env, lstTail)) {
60 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
61 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
62 if(enif_is_identical(tpl[0], enif_make_atom(env, "date"))) {
63 const ERL_NIF_TERM *date_t;
64 int date_sz;
65 if(!enif_get_tuple(env, tpl[1], &date_sz, &date_t)) Badarg("date");
66 int dateD;
67 if(!enif_get_int(env, date_t[0], &dateD)) Badarg("date");
68 int dateMo;
69 if(!enif_get_int(env, date_t[1], &dateMo)) Badarg("date");
70 int dateY;
71 if(!enif_get_int(env, date_t[2], &dateY)) Badarg("date");
72 int dateH;
73 if(!enif_get_int(env, date_t[3], &dateH)) Badarg("date");
74 int dateMi;
75 if(!enif_get_int(env, date_t[4], &dateMi)) Badarg("date");
76 int dateS;
77 if(!enif_get_int(env, date_t[5], &dateS)) Badarg("date");
78 date = wxDateTime((wxDateTime::wxDateTime_t) dateD,(wxDateTime::Month) (dateMo-1),dateY,(wxDateTime::wxDateTime_t) dateH,(wxDateTime::wxDateTime_t) dateMi,(wxDateTime::wxDateTime_t) dateS);
79 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
80 const ERL_NIF_TERM *pos_t;
81 int pos_sz;
82 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
83 int posX;
84 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
85 int posY;
86 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
87 pos = wxPoint(posX,posY);
88 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
89 const ERL_NIF_TERM *size_t;
90 int size_sz;
91 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
92 int sizeW;
93 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
94 int sizeH;
95 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
96 size = wxSize(sizeW,sizeH);
97 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
98 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
99 } else Badarg("Options");
100 };
101 wxCalendarCtrl * Result = new EwxCalendarCtrl(parent,id,date,pos,size,style);
102 app->newPtr((void *) Result, 0, memenv);
103 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
104 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCalendarCtrl"));
105
106 }
107
108 // wxCalendarCtrl::Create
wxCalendarCtrl_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)109 void wxCalendarCtrl_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
110 {
111 wxDateTime date= wxDefaultDateTime;
112 wxPoint pos= wxDefaultPosition;
113 wxSize size= wxDefaultSize;
114 long style=wxCAL_SHOW_HOLIDAYS;
115 ErlNifEnv *env = Ecmd.env;
116 ERL_NIF_TERM * argv = Ecmd.args;
117 wxCalendarCtrl *This;
118 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
119 wxWindow *parent;
120 parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
121 int id;
122 if(!enif_get_int(env, argv[2], &id)) Badarg("id"); // wxWindowID
123 ERL_NIF_TERM lstHead, lstTail;
124 lstTail = argv[3];
125 if(!enif_is_list(env, lstTail)) Badarg("Options");
126 const ERL_NIF_TERM *tpl;
127 int tpl_sz;
128 while(!enif_is_empty_list(env, lstTail)) {
129 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
130 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
131 if(enif_is_identical(tpl[0], enif_make_atom(env, "date"))) {
132 const ERL_NIF_TERM *date_t;
133 int date_sz;
134 if(!enif_get_tuple(env, tpl[1], &date_sz, &date_t)) Badarg("date");
135 int dateD;
136 if(!enif_get_int(env, date_t[0], &dateD)) Badarg("date");
137 int dateMo;
138 if(!enif_get_int(env, date_t[1], &dateMo)) Badarg("date");
139 int dateY;
140 if(!enif_get_int(env, date_t[2], &dateY)) Badarg("date");
141 int dateH;
142 if(!enif_get_int(env, date_t[3], &dateH)) Badarg("date");
143 int dateMi;
144 if(!enif_get_int(env, date_t[4], &dateMi)) Badarg("date");
145 int dateS;
146 if(!enif_get_int(env, date_t[5], &dateS)) Badarg("date");
147 date = wxDateTime((wxDateTime::wxDateTime_t) dateD,(wxDateTime::Month) (dateMo-1),dateY,(wxDateTime::wxDateTime_t) dateH,(wxDateTime::wxDateTime_t) dateMi,(wxDateTime::wxDateTime_t) dateS);
148 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
149 const ERL_NIF_TERM *pos_t;
150 int pos_sz;
151 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
152 int posX;
153 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
154 int posY;
155 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
156 pos = wxPoint(posX,posY);
157 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
158 const ERL_NIF_TERM *size_t;
159 int size_sz;
160 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
161 int sizeW;
162 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
163 int sizeH;
164 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
165 size = wxSize(sizeW,sizeH);
166 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
167 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
168 } else Badarg("Options");
169 };
170 if(!This) throw wxe_badarg("This");
171 bool Result = This->Create(parent,id,date,pos,size,style);
172 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
173 rt.send( rt.make_bool(Result));
174
175 }
176
177 // wxCalendarCtrl::SetDate
wxCalendarCtrl_SetDate(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)178 void wxCalendarCtrl_SetDate(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
179 {
180 ErlNifEnv *env = Ecmd.env;
181 ERL_NIF_TERM * argv = Ecmd.args;
182 wxCalendarCtrl *This;
183 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
184 const ERL_NIF_TERM *date_t;
185 int date_sz;
186 if(!enif_get_tuple(env, argv[1], &date_sz, &date_t)) Badarg("date");
187 int dateD;
188 if(!enif_get_int(env, date_t[0], &dateD)) Badarg("date");
189 int dateMo;
190 if(!enif_get_int(env, date_t[1], &dateMo)) Badarg("date");
191 int dateY;
192 if(!enif_get_int(env, date_t[2], &dateY)) Badarg("date");
193 int dateH;
194 if(!enif_get_int(env, date_t[3], &dateH)) Badarg("date");
195 int dateMi;
196 if(!enif_get_int(env, date_t[4], &dateMi)) Badarg("date");
197 int dateS;
198 if(!enif_get_int(env, date_t[5], &dateS)) Badarg("date");
199 wxDateTime date = wxDateTime((wxDateTime::wxDateTime_t) dateD,(wxDateTime::Month) (dateMo-1),dateY,(wxDateTime::wxDateTime_t) dateH,(wxDateTime::wxDateTime_t) dateMi,(wxDateTime::wxDateTime_t) dateS);
200 if(!This) throw wxe_badarg("This");
201 bool Result = This->SetDate(date);
202 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
203 rt.send( rt.make_bool(Result));
204
205 }
206
207 // wxCalendarCtrl::GetDate
wxCalendarCtrl_GetDate(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)208 void wxCalendarCtrl_GetDate(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
209 {
210 ErlNifEnv *env = Ecmd.env;
211 ERL_NIF_TERM * argv = Ecmd.args;
212 wxCalendarCtrl *This;
213 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
214 if(!This) throw wxe_badarg("This");
215 wxDateTime Result = This->GetDate();
216 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
217 rt.send( rt.make(Result));
218
219 }
220
221 #if !wxCHECK_VERSION(2,9,0)
222 // wxCalendarCtrl::EnableYearChange
wxCalendarCtrl_EnableYearChange(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)223 void wxCalendarCtrl_EnableYearChange(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
224 {
225 bool enable=true;
226 ErlNifEnv *env = Ecmd.env;
227 ERL_NIF_TERM * argv = Ecmd.args;
228 wxCalendarCtrl *This;
229 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
230 ERL_NIF_TERM lstHead, lstTail;
231 lstTail = argv[1];
232 if(!enif_is_list(env, lstTail)) Badarg("Options");
233 const ERL_NIF_TERM *tpl;
234 int tpl_sz;
235 while(!enif_is_empty_list(env, lstTail)) {
236 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
237 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
238 if(enif_is_identical(tpl[0], enif_make_atom(env, "enable"))) {
239 enable = enif_is_identical(tpl[1], WXE_ATOM_true);
240 } else Badarg("Options");
241 };
242 if(!This) throw wxe_badarg("This");
243 This->EnableYearChange(enable);
244
245 }
246
247 #endif
248 // wxCalendarCtrl::EnableMonthChange
wxCalendarCtrl_EnableMonthChange(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)249 void wxCalendarCtrl_EnableMonthChange(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
250 {
251 bool enable=true;
252 ErlNifEnv *env = Ecmd.env;
253 ERL_NIF_TERM * argv = Ecmd.args;
254 wxCalendarCtrl *This;
255 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
256 ERL_NIF_TERM lstHead, lstTail;
257 lstTail = argv[1];
258 if(!enif_is_list(env, lstTail)) Badarg("Options");
259 const ERL_NIF_TERM *tpl;
260 int tpl_sz;
261 while(!enif_is_empty_list(env, lstTail)) {
262 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
263 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
264 if(enif_is_identical(tpl[0], enif_make_atom(env, "enable"))) {
265 enable = enif_is_identical(tpl[1], WXE_ATOM_true);
266 } else Badarg("Options");
267 };
268 if(!This) throw wxe_badarg("This");
269 bool Result = This->EnableMonthChange(enable);
270 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
271 rt.send( rt.make_bool(Result));
272
273 }
274
275 // wxCalendarCtrl::EnableHolidayDisplay
wxCalendarCtrl_EnableHolidayDisplay(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)276 void wxCalendarCtrl_EnableHolidayDisplay(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
277 {
278 bool display=true;
279 ErlNifEnv *env = Ecmd.env;
280 ERL_NIF_TERM * argv = Ecmd.args;
281 wxCalendarCtrl *This;
282 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
283 ERL_NIF_TERM lstHead, lstTail;
284 lstTail = argv[1];
285 if(!enif_is_list(env, lstTail)) Badarg("Options");
286 const ERL_NIF_TERM *tpl;
287 int tpl_sz;
288 while(!enif_is_empty_list(env, lstTail)) {
289 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
290 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
291 if(enif_is_identical(tpl[0], enif_make_atom(env, "display"))) {
292 display = enif_is_identical(tpl[1], WXE_ATOM_true);
293 } else Badarg("Options");
294 };
295 if(!This) throw wxe_badarg("This");
296 This->EnableHolidayDisplay(display);
297
298 }
299
300 // wxCalendarCtrl::SetHeaderColours
wxCalendarCtrl_SetHeaderColours(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)301 void wxCalendarCtrl_SetHeaderColours(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
302 {
303 ErlNifEnv *env = Ecmd.env;
304 ERL_NIF_TERM * argv = Ecmd.args;
305 wxCalendarCtrl *This;
306 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
307 const ERL_NIF_TERM *colFg_t;
308 int colFg_sz;
309 if(!enif_get_tuple(env, argv[1], &colFg_sz, &colFg_t)) Badarg("colFg");
310 int colFgR;
311 if(!enif_get_int(env, colFg_t[0], &colFgR)) Badarg("colFg");
312 int colFgG;
313 if(!enif_get_int(env, colFg_t[1], &colFgG)) Badarg("colFg");
314 int colFgB;
315 if(!enif_get_int(env, colFg_t[2], &colFgB)) Badarg("colFg");
316 int colFgA;
317 if(!enif_get_int(env, colFg_t[3], &colFgA)) Badarg("colFg");
318 wxColour colFg = wxColour(colFgR,colFgG,colFgB,colFgA);
319 const ERL_NIF_TERM *colBg_t;
320 int colBg_sz;
321 if(!enif_get_tuple(env, argv[2], &colBg_sz, &colBg_t)) Badarg("colBg");
322 int colBgR;
323 if(!enif_get_int(env, colBg_t[0], &colBgR)) Badarg("colBg");
324 int colBgG;
325 if(!enif_get_int(env, colBg_t[1], &colBgG)) Badarg("colBg");
326 int colBgB;
327 if(!enif_get_int(env, colBg_t[2], &colBgB)) Badarg("colBg");
328 int colBgA;
329 if(!enif_get_int(env, colBg_t[3], &colBgA)) Badarg("colBg");
330 wxColour colBg = wxColour(colBgR,colBgG,colBgB,colBgA);
331 if(!This) throw wxe_badarg("This");
332 This->SetHeaderColours(colFg,colBg);
333
334 }
335
336 // wxCalendarCtrl::GetHeaderColourFg
wxCalendarCtrl_GetHeaderColourFg(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)337 void wxCalendarCtrl_GetHeaderColourFg(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
338 {
339 ErlNifEnv *env = Ecmd.env;
340 ERL_NIF_TERM * argv = Ecmd.args;
341 wxCalendarCtrl *This;
342 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
343 if(!This) throw wxe_badarg("This");
344 const wxColour * Result = &This->GetHeaderColourFg();
345 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
346 rt.send( rt.make((*Result)));
347
348 }
349
350 // wxCalendarCtrl::GetHeaderColourBg
wxCalendarCtrl_GetHeaderColourBg(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)351 void wxCalendarCtrl_GetHeaderColourBg(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
352 {
353 ErlNifEnv *env = Ecmd.env;
354 ERL_NIF_TERM * argv = Ecmd.args;
355 wxCalendarCtrl *This;
356 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
357 if(!This) throw wxe_badarg("This");
358 const wxColour * Result = &This->GetHeaderColourBg();
359 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
360 rt.send( rt.make((*Result)));
361
362 }
363
364 // wxCalendarCtrl::SetHighlightColours
wxCalendarCtrl_SetHighlightColours(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)365 void wxCalendarCtrl_SetHighlightColours(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
366 {
367 ErlNifEnv *env = Ecmd.env;
368 ERL_NIF_TERM * argv = Ecmd.args;
369 wxCalendarCtrl *This;
370 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
371 const ERL_NIF_TERM *colFg_t;
372 int colFg_sz;
373 if(!enif_get_tuple(env, argv[1], &colFg_sz, &colFg_t)) Badarg("colFg");
374 int colFgR;
375 if(!enif_get_int(env, colFg_t[0], &colFgR)) Badarg("colFg");
376 int colFgG;
377 if(!enif_get_int(env, colFg_t[1], &colFgG)) Badarg("colFg");
378 int colFgB;
379 if(!enif_get_int(env, colFg_t[2], &colFgB)) Badarg("colFg");
380 int colFgA;
381 if(!enif_get_int(env, colFg_t[3], &colFgA)) Badarg("colFg");
382 wxColour colFg = wxColour(colFgR,colFgG,colFgB,colFgA);
383 const ERL_NIF_TERM *colBg_t;
384 int colBg_sz;
385 if(!enif_get_tuple(env, argv[2], &colBg_sz, &colBg_t)) Badarg("colBg");
386 int colBgR;
387 if(!enif_get_int(env, colBg_t[0], &colBgR)) Badarg("colBg");
388 int colBgG;
389 if(!enif_get_int(env, colBg_t[1], &colBgG)) Badarg("colBg");
390 int colBgB;
391 if(!enif_get_int(env, colBg_t[2], &colBgB)) Badarg("colBg");
392 int colBgA;
393 if(!enif_get_int(env, colBg_t[3], &colBgA)) Badarg("colBg");
394 wxColour colBg = wxColour(colBgR,colBgG,colBgB,colBgA);
395 if(!This) throw wxe_badarg("This");
396 This->SetHighlightColours(colFg,colBg);
397
398 }
399
400 // wxCalendarCtrl::GetHighlightColourFg
wxCalendarCtrl_GetHighlightColourFg(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)401 void wxCalendarCtrl_GetHighlightColourFg(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
402 {
403 ErlNifEnv *env = Ecmd.env;
404 ERL_NIF_TERM * argv = Ecmd.args;
405 wxCalendarCtrl *This;
406 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
407 if(!This) throw wxe_badarg("This");
408 const wxColour * Result = &This->GetHighlightColourFg();
409 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
410 rt.send( rt.make((*Result)));
411
412 }
413
414 // wxCalendarCtrl::GetHighlightColourBg
wxCalendarCtrl_GetHighlightColourBg(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)415 void wxCalendarCtrl_GetHighlightColourBg(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
416 {
417 ErlNifEnv *env = Ecmd.env;
418 ERL_NIF_TERM * argv = Ecmd.args;
419 wxCalendarCtrl *This;
420 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
421 if(!This) throw wxe_badarg("This");
422 const wxColour * Result = &This->GetHighlightColourBg();
423 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
424 rt.send( rt.make((*Result)));
425
426 }
427
428 // wxCalendarCtrl::SetHolidayColours
wxCalendarCtrl_SetHolidayColours(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)429 void wxCalendarCtrl_SetHolidayColours(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
430 {
431 ErlNifEnv *env = Ecmd.env;
432 ERL_NIF_TERM * argv = Ecmd.args;
433 wxCalendarCtrl *This;
434 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
435 const ERL_NIF_TERM *colFg_t;
436 int colFg_sz;
437 if(!enif_get_tuple(env, argv[1], &colFg_sz, &colFg_t)) Badarg("colFg");
438 int colFgR;
439 if(!enif_get_int(env, colFg_t[0], &colFgR)) Badarg("colFg");
440 int colFgG;
441 if(!enif_get_int(env, colFg_t[1], &colFgG)) Badarg("colFg");
442 int colFgB;
443 if(!enif_get_int(env, colFg_t[2], &colFgB)) Badarg("colFg");
444 int colFgA;
445 if(!enif_get_int(env, colFg_t[3], &colFgA)) Badarg("colFg");
446 wxColour colFg = wxColour(colFgR,colFgG,colFgB,colFgA);
447 const ERL_NIF_TERM *colBg_t;
448 int colBg_sz;
449 if(!enif_get_tuple(env, argv[2], &colBg_sz, &colBg_t)) Badarg("colBg");
450 int colBgR;
451 if(!enif_get_int(env, colBg_t[0], &colBgR)) Badarg("colBg");
452 int colBgG;
453 if(!enif_get_int(env, colBg_t[1], &colBgG)) Badarg("colBg");
454 int colBgB;
455 if(!enif_get_int(env, colBg_t[2], &colBgB)) Badarg("colBg");
456 int colBgA;
457 if(!enif_get_int(env, colBg_t[3], &colBgA)) Badarg("colBg");
458 wxColour colBg = wxColour(colBgR,colBgG,colBgB,colBgA);
459 if(!This) throw wxe_badarg("This");
460 This->SetHolidayColours(colFg,colBg);
461
462 }
463
464 // wxCalendarCtrl::GetHolidayColourFg
wxCalendarCtrl_GetHolidayColourFg(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)465 void wxCalendarCtrl_GetHolidayColourFg(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
466 {
467 ErlNifEnv *env = Ecmd.env;
468 ERL_NIF_TERM * argv = Ecmd.args;
469 wxCalendarCtrl *This;
470 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
471 if(!This) throw wxe_badarg("This");
472 const wxColour * Result = &This->GetHolidayColourFg();
473 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
474 rt.send( rt.make((*Result)));
475
476 }
477
478 // wxCalendarCtrl::GetHolidayColourBg
wxCalendarCtrl_GetHolidayColourBg(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)479 void wxCalendarCtrl_GetHolidayColourBg(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
480 {
481 ErlNifEnv *env = Ecmd.env;
482 ERL_NIF_TERM * argv = Ecmd.args;
483 wxCalendarCtrl *This;
484 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
485 if(!This) throw wxe_badarg("This");
486 const wxColour * Result = &This->GetHolidayColourBg();
487 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
488 rt.send( rt.make((*Result)));
489
490 }
491
492 // wxCalendarCtrl::GetAttr
wxCalendarCtrl_GetAttr(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)493 void wxCalendarCtrl_GetAttr(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
494 {
495 ErlNifEnv *env = Ecmd.env;
496 ERL_NIF_TERM * argv = Ecmd.args;
497 wxCalendarCtrl *This;
498 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
499 size_t day;
500 if(!wxe_get_size_t(env, argv[1], &day)) Badarg("day");
501 if(!This) throw wxe_badarg("This");
502 wxCalendarDateAttr * Result = (wxCalendarDateAttr*)This->GetAttr(day);
503 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
504 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCalendarDateAttr"));
505
506 }
507
508 // wxCalendarCtrl::SetAttr
wxCalendarCtrl_SetAttr(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)509 void wxCalendarCtrl_SetAttr(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
510 {
511 ErlNifEnv *env = Ecmd.env;
512 ERL_NIF_TERM * argv = Ecmd.args;
513 wxCalendarCtrl *This;
514 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
515 size_t day;
516 if(!wxe_get_size_t(env, argv[1], &day)) Badarg("day");
517 wxCalendarDateAttr *attr;
518 attr = (wxCalendarDateAttr *) memenv->getPtr(env, argv[2], "attr");
519 if(!This) throw wxe_badarg("This");
520 This->SetAttr(day,attr);
521
522 }
523
524 // wxCalendarCtrl::SetHoliday
wxCalendarCtrl_SetHoliday(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)525 void wxCalendarCtrl_SetHoliday(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
526 {
527 ErlNifEnv *env = Ecmd.env;
528 ERL_NIF_TERM * argv = Ecmd.args;
529 wxCalendarCtrl *This;
530 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
531 size_t day;
532 if(!wxe_get_size_t(env, argv[1], &day)) Badarg("day");
533 if(!This) throw wxe_badarg("This");
534 This->SetHoliday(day);
535
536 }
537
538 // wxCalendarCtrl::ResetAttr
wxCalendarCtrl_ResetAttr(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)539 void wxCalendarCtrl_ResetAttr(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
540 {
541 ErlNifEnv *env = Ecmd.env;
542 ERL_NIF_TERM * argv = Ecmd.args;
543 wxCalendarCtrl *This;
544 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
545 size_t day;
546 if(!wxe_get_size_t(env, argv[1], &day)) Badarg("day");
547 if(!This) throw wxe_badarg("This");
548 This->ResetAttr(day);
549
550 }
551
552 // wxCalendarCtrl::HitTest
wxCalendarCtrl_HitTest(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)553 void wxCalendarCtrl_HitTest(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
554 {
555 wxDateTime date;
556 wxDateTime::WeekDay wd;
557 ErlNifEnv *env = Ecmd.env;
558 ERL_NIF_TERM * argv = Ecmd.args;
559 wxCalendarCtrl *This;
560 This = (wxCalendarCtrl *) memenv->getPtr(env, argv[0], "This");
561 const ERL_NIF_TERM *pos_t;
562 int pos_sz;
563 if(!enif_get_tuple(env, argv[1], &pos_sz, &pos_t)) Badarg("pos");
564 int posX;
565 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
566 int posY;
567 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
568 wxPoint pos = wxPoint(posX,posY);
569 if(!This) throw wxe_badarg("This");
570 int Result = This->HitTest(pos,&date,&wd);
571 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
572 ERL_NIF_TERM msg = enif_make_tuple3(rt.env,
573 rt.make_int(Result),
574 rt.make(date),
575 rt.make_int(wd));
576 rt.send(msg);
577
578 }
579
580 // wxCalendarDateAttr::wxCalendarDateAttr
wxCalendarDateAttr_new_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)581 void wxCalendarDateAttr_new_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
582 {
583 wxColour colText= wxNullColour;
584 wxColour colBack= wxNullColour;
585 wxColour colBorder= wxNullColour;
586 const wxFont * font= &wxNullFont;
587 wxCalendarDateBorder border=wxCAL_BORDER_NONE;
588 ErlNifEnv *env = Ecmd.env;
589 ERL_NIF_TERM * argv = Ecmd.args;
590 ERL_NIF_TERM lstHead, lstTail;
591 lstTail = argv[0];
592 if(!enif_is_list(env, lstTail)) Badarg("Options");
593 const ERL_NIF_TERM *tpl;
594 int tpl_sz;
595 while(!enif_is_empty_list(env, lstTail)) {
596 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
597 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
598 if(enif_is_identical(tpl[0], enif_make_atom(env, "colText"))) {
599 const ERL_NIF_TERM *colText_t;
600 int colText_sz;
601 if(!enif_get_tuple(env, tpl[1], &colText_sz, &colText_t)) Badarg("colText");
602 int colTextR;
603 if(!enif_get_int(env, colText_t[0], &colTextR)) Badarg("colText");
604 int colTextG;
605 if(!enif_get_int(env, colText_t[1], &colTextG)) Badarg("colText");
606 int colTextB;
607 if(!enif_get_int(env, colText_t[2], &colTextB)) Badarg("colText");
608 int colTextA;
609 if(!enif_get_int(env, colText_t[3], &colTextA)) Badarg("colText");
610 colText = wxColour(colTextR,colTextG,colTextB,colTextA);
611 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "colBack"))) {
612 const ERL_NIF_TERM *colBack_t;
613 int colBack_sz;
614 if(!enif_get_tuple(env, tpl[1], &colBack_sz, &colBack_t)) Badarg("colBack");
615 int colBackR;
616 if(!enif_get_int(env, colBack_t[0], &colBackR)) Badarg("colBack");
617 int colBackG;
618 if(!enif_get_int(env, colBack_t[1], &colBackG)) Badarg("colBack");
619 int colBackB;
620 if(!enif_get_int(env, colBack_t[2], &colBackB)) Badarg("colBack");
621 int colBackA;
622 if(!enif_get_int(env, colBack_t[3], &colBackA)) Badarg("colBack");
623 colBack = wxColour(colBackR,colBackG,colBackB,colBackA);
624 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "colBorder"))) {
625 const ERL_NIF_TERM *colBorder_t;
626 int colBorder_sz;
627 if(!enif_get_tuple(env, tpl[1], &colBorder_sz, &colBorder_t)) Badarg("colBorder");
628 int colBorderR;
629 if(!enif_get_int(env, colBorder_t[0], &colBorderR)) Badarg("colBorder");
630 int colBorderG;
631 if(!enif_get_int(env, colBorder_t[1], &colBorderG)) Badarg("colBorder");
632 int colBorderB;
633 if(!enif_get_int(env, colBorder_t[2], &colBorderB)) Badarg("colBorder");
634 int colBorderA;
635 if(!enif_get_int(env, colBorder_t[3], &colBorderA)) Badarg("colBorder");
636 colBorder = wxColour(colBorderR,colBorderG,colBorderB,colBorderA);
637 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "font"))) {
638 font = (wxFont *) memenv->getPtr(env, tpl[1], "font");
639 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "border"))) {
640 if(!enif_get_int(env, tpl[1], (int *) &border)) Badarg("border"); // enum
641 } else Badarg("Options");
642 };
643 wxCalendarDateAttr * Result = new wxCalendarDateAttr(colText,colBack,colBorder,*font,border);
644 app->newPtr((void *) Result, 89, memenv);
645 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
646 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCalendarDateAttr"));
647
648 }
649
650 // wxCalendarDateAttr::wxCalendarDateAttr
wxCalendarDateAttr_new_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)651 void wxCalendarDateAttr_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
652 {
653 wxColour colBorder= wxNullColour;
654 ErlNifEnv *env = Ecmd.env;
655 ERL_NIF_TERM * argv = Ecmd.args;
656 wxCalendarDateBorder border;
657 if(!enif_get_int(env, argv[0], (int *) &border)) Badarg("border"); // enum
658 ERL_NIF_TERM lstHead, lstTail;
659 lstTail = argv[1];
660 if(!enif_is_list(env, lstTail)) Badarg("Options");
661 const ERL_NIF_TERM *tpl;
662 int tpl_sz;
663 while(!enif_is_empty_list(env, lstTail)) {
664 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
665 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
666 if(enif_is_identical(tpl[0], enif_make_atom(env, "colBorder"))) {
667 const ERL_NIF_TERM *colBorder_t;
668 int colBorder_sz;
669 if(!enif_get_tuple(env, tpl[1], &colBorder_sz, &colBorder_t)) Badarg("colBorder");
670 int colBorderR;
671 if(!enif_get_int(env, colBorder_t[0], &colBorderR)) Badarg("colBorder");
672 int colBorderG;
673 if(!enif_get_int(env, colBorder_t[1], &colBorderG)) Badarg("colBorder");
674 int colBorderB;
675 if(!enif_get_int(env, colBorder_t[2], &colBorderB)) Badarg("colBorder");
676 int colBorderA;
677 if(!enif_get_int(env, colBorder_t[3], &colBorderA)) Badarg("colBorder");
678 colBorder = wxColour(colBorderR,colBorderG,colBorderB,colBorderA);
679 } else Badarg("Options");
680 };
681 wxCalendarDateAttr * Result = new wxCalendarDateAttr(border,colBorder);
682 app->newPtr((void *) Result, 89, memenv);
683 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
684 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCalendarDateAttr"));
685
686 }
687
688 // wxCalendarDateAttr::SetTextColour
wxCalendarDateAttr_SetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)689 void wxCalendarDateAttr_SetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
690 {
691 ErlNifEnv *env = Ecmd.env;
692 ERL_NIF_TERM * argv = Ecmd.args;
693 wxCalendarDateAttr *This;
694 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
695 const ERL_NIF_TERM *colText_t;
696 int colText_sz;
697 if(!enif_get_tuple(env, argv[1], &colText_sz, &colText_t)) Badarg("colText");
698 int colTextR;
699 if(!enif_get_int(env, colText_t[0], &colTextR)) Badarg("colText");
700 int colTextG;
701 if(!enif_get_int(env, colText_t[1], &colTextG)) Badarg("colText");
702 int colTextB;
703 if(!enif_get_int(env, colText_t[2], &colTextB)) Badarg("colText");
704 int colTextA;
705 if(!enif_get_int(env, colText_t[3], &colTextA)) Badarg("colText");
706 wxColour colText = wxColour(colTextR,colTextG,colTextB,colTextA);
707 if(!This) throw wxe_badarg("This");
708 This->SetTextColour(colText);
709
710 }
711
712 // wxCalendarDateAttr::SetBackgroundColour
wxCalendarDateAttr_SetBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)713 void wxCalendarDateAttr_SetBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
714 {
715 ErlNifEnv *env = Ecmd.env;
716 ERL_NIF_TERM * argv = Ecmd.args;
717 wxCalendarDateAttr *This;
718 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
719 const ERL_NIF_TERM *colBack_t;
720 int colBack_sz;
721 if(!enif_get_tuple(env, argv[1], &colBack_sz, &colBack_t)) Badarg("colBack");
722 int colBackR;
723 if(!enif_get_int(env, colBack_t[0], &colBackR)) Badarg("colBack");
724 int colBackG;
725 if(!enif_get_int(env, colBack_t[1], &colBackG)) Badarg("colBack");
726 int colBackB;
727 if(!enif_get_int(env, colBack_t[2], &colBackB)) Badarg("colBack");
728 int colBackA;
729 if(!enif_get_int(env, colBack_t[3], &colBackA)) Badarg("colBack");
730 wxColour colBack = wxColour(colBackR,colBackG,colBackB,colBackA);
731 if(!This) throw wxe_badarg("This");
732 This->SetBackgroundColour(colBack);
733
734 }
735
736 // wxCalendarDateAttr::SetBorderColour
wxCalendarDateAttr_SetBorderColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)737 void wxCalendarDateAttr_SetBorderColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
738 {
739 ErlNifEnv *env = Ecmd.env;
740 ERL_NIF_TERM * argv = Ecmd.args;
741 wxCalendarDateAttr *This;
742 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
743 const ERL_NIF_TERM *col_t;
744 int col_sz;
745 if(!enif_get_tuple(env, argv[1], &col_sz, &col_t)) Badarg("col");
746 int colR;
747 if(!enif_get_int(env, col_t[0], &colR)) Badarg("col");
748 int colG;
749 if(!enif_get_int(env, col_t[1], &colG)) Badarg("col");
750 int colB;
751 if(!enif_get_int(env, col_t[2], &colB)) Badarg("col");
752 int colA;
753 if(!enif_get_int(env, col_t[3], &colA)) Badarg("col");
754 wxColour col = wxColour(colR,colG,colB,colA);
755 if(!This) throw wxe_badarg("This");
756 This->SetBorderColour(col);
757
758 }
759
760 // wxCalendarDateAttr::SetFont
wxCalendarDateAttr_SetFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)761 void wxCalendarDateAttr_SetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
762 {
763 ErlNifEnv *env = Ecmd.env;
764 ERL_NIF_TERM * argv = Ecmd.args;
765 wxCalendarDateAttr *This;
766 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
767 wxFont *font;
768 font = (wxFont *) memenv->getPtr(env, argv[1], "font");
769 if(!This) throw wxe_badarg("This");
770 This->SetFont(*font);
771
772 }
773
774 // wxCalendarDateAttr::SetBorder
wxCalendarDateAttr_SetBorder(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)775 void wxCalendarDateAttr_SetBorder(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
776 {
777 ErlNifEnv *env = Ecmd.env;
778 ERL_NIF_TERM * argv = Ecmd.args;
779 wxCalendarDateAttr *This;
780 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
781 wxCalendarDateBorder border;
782 if(!enif_get_int(env, argv[1], (int *) &border)) Badarg("border"); // enum
783 if(!This) throw wxe_badarg("This");
784 This->SetBorder(border);
785
786 }
787
788 // wxCalendarDateAttr::SetHoliday
wxCalendarDateAttr_SetHoliday(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)789 void wxCalendarDateAttr_SetHoliday(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
790 {
791 ErlNifEnv *env = Ecmd.env;
792 ERL_NIF_TERM * argv = Ecmd.args;
793 wxCalendarDateAttr *This;
794 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
795 bool holiday;
796 holiday = enif_is_identical(argv[1], WXE_ATOM_true);
797 if(!This) throw wxe_badarg("This");
798 This->SetHoliday(holiday);
799
800 }
801
802 // wxCalendarDateAttr::HasTextColour
wxCalendarDateAttr_HasTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)803 void wxCalendarDateAttr_HasTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
804 {
805 ErlNifEnv *env = Ecmd.env;
806 ERL_NIF_TERM * argv = Ecmd.args;
807 wxCalendarDateAttr *This;
808 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
809 if(!This) throw wxe_badarg("This");
810 bool Result = This->HasTextColour();
811 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
812 rt.send( rt.make_bool(Result));
813
814 }
815
816 // wxCalendarDateAttr::HasBackgroundColour
wxCalendarDateAttr_HasBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)817 void wxCalendarDateAttr_HasBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
818 {
819 ErlNifEnv *env = Ecmd.env;
820 ERL_NIF_TERM * argv = Ecmd.args;
821 wxCalendarDateAttr *This;
822 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
823 if(!This) throw wxe_badarg("This");
824 bool Result = This->HasBackgroundColour();
825 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
826 rt.send( rt.make_bool(Result));
827
828 }
829
830 // wxCalendarDateAttr::HasBorderColour
wxCalendarDateAttr_HasBorderColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)831 void wxCalendarDateAttr_HasBorderColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
832 {
833 ErlNifEnv *env = Ecmd.env;
834 ERL_NIF_TERM * argv = Ecmd.args;
835 wxCalendarDateAttr *This;
836 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
837 if(!This) throw wxe_badarg("This");
838 bool Result = This->HasBorderColour();
839 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
840 rt.send( rt.make_bool(Result));
841
842 }
843
844 // wxCalendarDateAttr::HasFont
wxCalendarDateAttr_HasFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)845 void wxCalendarDateAttr_HasFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
846 {
847 ErlNifEnv *env = Ecmd.env;
848 ERL_NIF_TERM * argv = Ecmd.args;
849 wxCalendarDateAttr *This;
850 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
851 if(!This) throw wxe_badarg("This");
852 bool Result = This->HasFont();
853 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
854 rt.send( rt.make_bool(Result));
855
856 }
857
858 // wxCalendarDateAttr::HasBorder
wxCalendarDateAttr_HasBorder(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)859 void wxCalendarDateAttr_HasBorder(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
860 {
861 ErlNifEnv *env = Ecmd.env;
862 ERL_NIF_TERM * argv = Ecmd.args;
863 wxCalendarDateAttr *This;
864 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
865 if(!This) throw wxe_badarg("This");
866 bool Result = This->HasBorder();
867 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
868 rt.send( rt.make_bool(Result));
869
870 }
871
872 // wxCalendarDateAttr::IsHoliday
wxCalendarDateAttr_IsHoliday(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)873 void wxCalendarDateAttr_IsHoliday(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
874 {
875 ErlNifEnv *env = Ecmd.env;
876 ERL_NIF_TERM * argv = Ecmd.args;
877 wxCalendarDateAttr *This;
878 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
879 if(!This) throw wxe_badarg("This");
880 bool Result = This->IsHoliday();
881 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
882 rt.send( rt.make_bool(Result));
883
884 }
885
886 // wxCalendarDateAttr::GetTextColour
wxCalendarDateAttr_GetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)887 void wxCalendarDateAttr_GetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
888 {
889 ErlNifEnv *env = Ecmd.env;
890 ERL_NIF_TERM * argv = Ecmd.args;
891 wxCalendarDateAttr *This;
892 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
893 if(!This) throw wxe_badarg("This");
894 const wxColour * Result = &This->GetTextColour();
895 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
896 rt.send( rt.make((*Result)));
897
898 }
899
900 // wxCalendarDateAttr::GetBackgroundColour
wxCalendarDateAttr_GetBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)901 void wxCalendarDateAttr_GetBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
902 {
903 ErlNifEnv *env = Ecmd.env;
904 ERL_NIF_TERM * argv = Ecmd.args;
905 wxCalendarDateAttr *This;
906 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
907 if(!This) throw wxe_badarg("This");
908 const wxColour * Result = &This->GetBackgroundColour();
909 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
910 rt.send( rt.make((*Result)));
911
912 }
913
914 // wxCalendarDateAttr::GetBorderColour
wxCalendarDateAttr_GetBorderColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)915 void wxCalendarDateAttr_GetBorderColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
916 {
917 ErlNifEnv *env = Ecmd.env;
918 ERL_NIF_TERM * argv = Ecmd.args;
919 wxCalendarDateAttr *This;
920 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
921 if(!This) throw wxe_badarg("This");
922 const wxColour * Result = &This->GetBorderColour();
923 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
924 rt.send( rt.make((*Result)));
925
926 }
927
928 // wxCalendarDateAttr::GetFont
wxCalendarDateAttr_GetFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)929 void wxCalendarDateAttr_GetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
930 {
931 ErlNifEnv *env = Ecmd.env;
932 ERL_NIF_TERM * argv = Ecmd.args;
933 wxCalendarDateAttr *This;
934 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
935 if(!This) throw wxe_badarg("This");
936 const wxFont * Result = &This->GetFont();
937 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
938 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxFont"));
939
940 }
941
942 // wxCalendarDateAttr::GetBorder
wxCalendarDateAttr_GetBorder(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)943 void wxCalendarDateAttr_GetBorder(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
944 {
945 ErlNifEnv *env = Ecmd.env;
946 ERL_NIF_TERM * argv = Ecmd.args;
947 wxCalendarDateAttr *This;
948 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
949 if(!This) throw wxe_badarg("This");
950 int Result = This->GetBorder();
951 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
952 rt.send( rt.make_int(Result));
953
954 }
955
956 // wxCalendarDateAttr::destroy
wxCalendarDateAttr_destroy(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)957 void wxCalendarDateAttr_destroy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
958 {
959 ErlNifEnv *env = Ecmd.env;
960 ERL_NIF_TERM * argv = Ecmd.args;
961 wxCalendarDateAttr *This;
962 This = (wxCalendarDateAttr *) memenv->getPtr(env, argv[0], "This");
963 if(This) { ((WxeApp *) wxTheApp)->clearPtr((void *) This);
964 delete This;}
965 }
966
967 // wxCalendarEvent::GetWeekDay
wxCalendarEvent_GetWeekDay(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)968 void wxCalendarEvent_GetWeekDay(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
969 {
970 ErlNifEnv *env = Ecmd.env;
971 ERL_NIF_TERM * argv = Ecmd.args;
972 wxCalendarEvent *This;
973 This = (wxCalendarEvent *) memenv->getPtr(env, argv[0], "This");
974 if(!This) throw wxe_badarg("This");
975 int Result = This->GetWeekDay();
976 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
977 rt.send( rt.make_int(Result));
978
979 }
980
981 // wxCalendarEvent::GetDate
wxCalendarEvent_GetDate(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)982 void wxCalendarEvent_GetDate(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
983 {
984 ErlNifEnv *env = Ecmd.env;
985 ERL_NIF_TERM * argv = Ecmd.args;
986 wxCalendarEvent *This;
987 This = (wxCalendarEvent *) memenv->getPtr(env, argv[0], "This");
988 if(!This) throw wxe_badarg("This");
989 const wxDateTime * Result = &This->GetDate();
990 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
991 rt.send( rt.make((*Result)));
992
993 }
994
995 // wxCaret::wxCaret
wxCaret_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)996 void wxCaret_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
997 {
998 ErlNifEnv *env = Ecmd.env;
999 ERL_NIF_TERM * argv = Ecmd.args;
1000 wxWindow *window;
1001 window = (wxWindow *) memenv->getPtr(env, argv[0], "window");
1002 int width;
1003 if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
1004 int height;
1005 if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
1006 wxCaret * Result = new wxCaret(window,width,height);
1007 app->newPtr((void *) Result, 71, memenv);
1008 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1009 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCaret"));
1010
1011 }
1012
1013 // wxCaret::wxCaret
wxCaret_new_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1014 void wxCaret_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1015 {
1016 ErlNifEnv *env = Ecmd.env;
1017 ERL_NIF_TERM * argv = Ecmd.args;
1018 wxWindow *window;
1019 window = (wxWindow *) memenv->getPtr(env, argv[0], "window");
1020 const ERL_NIF_TERM *size_t;
1021 int size_sz;
1022 if(!enif_get_tuple(env, argv[1], &size_sz, &size_t)) Badarg("size");
1023 int sizeW;
1024 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
1025 int sizeH;
1026 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
1027 wxSize size = wxSize(sizeW,sizeH);
1028 wxCaret * Result = new wxCaret(window,size);
1029 app->newPtr((void *) Result, 71, memenv);
1030 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1031 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCaret"));
1032
1033 }
1034
1035 // wxCaret::Create
wxCaret_Create_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1036 void wxCaret_Create_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1037 {
1038 ErlNifEnv *env = Ecmd.env;
1039 ERL_NIF_TERM * argv = Ecmd.args;
1040 wxCaret *This;
1041 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1042 wxWindow *window;
1043 window = (wxWindow *) memenv->getPtr(env, argv[1], "window");
1044 int width;
1045 if(!enif_get_int(env, argv[2], &width)) Badarg("width"); // int
1046 int height;
1047 if(!enif_get_int(env, argv[3], &height)) Badarg("height"); // int
1048 if(!This) throw wxe_badarg("This");
1049 bool Result = This->Create(window,width,height);
1050 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1051 rt.send( rt.make_bool(Result));
1052
1053 }
1054
1055 // wxCaret::Create
wxCaret_Create_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1056 void wxCaret_Create_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1057 {
1058 ErlNifEnv *env = Ecmd.env;
1059 ERL_NIF_TERM * argv = Ecmd.args;
1060 wxCaret *This;
1061 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1062 wxWindow *window;
1063 window = (wxWindow *) memenv->getPtr(env, argv[1], "window");
1064 const ERL_NIF_TERM *size_t;
1065 int size_sz;
1066 if(!enif_get_tuple(env, argv[2], &size_sz, &size_t)) Badarg("size");
1067 int sizeW;
1068 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
1069 int sizeH;
1070 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
1071 wxSize size = wxSize(sizeW,sizeH);
1072 if(!This) throw wxe_badarg("This");
1073 bool Result = This->Create(window,size);
1074 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1075 rt.send( rt.make_bool(Result));
1076
1077 }
1078
1079 // wxCaret::GetBlinkTime
wxCaret_GetBlinkTime(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1080 void wxCaret_GetBlinkTime(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1081 {
1082 int Result = wxCaret::GetBlinkTime();
1083 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1084 rt.send( rt.make_int(Result));
1085
1086 }
1087
1088 // wxCaret::GetPosition
wxCaret_GetPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1089 void wxCaret_GetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1090 {
1091 ErlNifEnv *env = Ecmd.env;
1092 ERL_NIF_TERM * argv = Ecmd.args;
1093 wxCaret *This;
1094 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1095 if(!This) throw wxe_badarg("This");
1096 wxPoint Result = This->GetPosition();
1097 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1098 rt.send( rt.make(Result));
1099
1100 }
1101
1102 // wxCaret::GetSize
wxCaret_GetSize(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1103 void wxCaret_GetSize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1104 {
1105 ErlNifEnv *env = Ecmd.env;
1106 ERL_NIF_TERM * argv = Ecmd.args;
1107 wxCaret *This;
1108 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1109 if(!This) throw wxe_badarg("This");
1110 wxSize Result = This->GetSize();
1111 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1112 rt.send( rt.make(Result));
1113
1114 }
1115
1116 // wxCaret::GetWindow
wxCaret_GetWindow(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1117 void wxCaret_GetWindow(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1118 {
1119 ErlNifEnv *env = Ecmd.env;
1120 ERL_NIF_TERM * argv = Ecmd.args;
1121 wxCaret *This;
1122 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1123 if(!This) throw wxe_badarg("This");
1124 wxWindow * Result = (wxWindow*)This->GetWindow();
1125 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1126 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxWindow"));
1127
1128 }
1129
1130 // wxCaret::Hide
wxCaret_Hide(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1131 void wxCaret_Hide(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1132 {
1133 ErlNifEnv *env = Ecmd.env;
1134 ERL_NIF_TERM * argv = Ecmd.args;
1135 wxCaret *This;
1136 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1137 if(!This) throw wxe_badarg("This");
1138 This->Hide();
1139
1140 }
1141
1142 // wxCaret::IsOk
wxCaret_IsOk(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1143 void wxCaret_IsOk(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1144 {
1145 ErlNifEnv *env = Ecmd.env;
1146 ERL_NIF_TERM * argv = Ecmd.args;
1147 wxCaret *This;
1148 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1149 if(!This) throw wxe_badarg("This");
1150 bool Result = This->IsOk();
1151 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1152 rt.send( rt.make_bool(Result));
1153
1154 }
1155
1156 // wxCaret::IsVisible
wxCaret_IsVisible(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1157 void wxCaret_IsVisible(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1158 {
1159 ErlNifEnv *env = Ecmd.env;
1160 ERL_NIF_TERM * argv = Ecmd.args;
1161 wxCaret *This;
1162 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1163 if(!This) throw wxe_badarg("This");
1164 bool Result = This->IsVisible();
1165 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1166 rt.send( rt.make_bool(Result));
1167
1168 }
1169
1170 // wxCaret::Move
wxCaret_Move_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1171 void wxCaret_Move_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1172 {
1173 ErlNifEnv *env = Ecmd.env;
1174 ERL_NIF_TERM * argv = Ecmd.args;
1175 wxCaret *This;
1176 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1177 int x;
1178 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
1179 int y;
1180 if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
1181 if(!This) throw wxe_badarg("This");
1182 This->Move(x,y);
1183
1184 }
1185
1186 // wxCaret::Move
wxCaret_Move_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1187 void wxCaret_Move_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1188 {
1189 ErlNifEnv *env = Ecmd.env;
1190 ERL_NIF_TERM * argv = Ecmd.args;
1191 wxCaret *This;
1192 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1193 const ERL_NIF_TERM *pt_t;
1194 int pt_sz;
1195 if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
1196 int ptX;
1197 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
1198 int ptY;
1199 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
1200 wxPoint pt = wxPoint(ptX,ptY);
1201 if(!This) throw wxe_badarg("This");
1202 This->Move(pt);
1203
1204 }
1205
1206 // wxCaret::SetBlinkTime
wxCaret_SetBlinkTime(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1207 void wxCaret_SetBlinkTime(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1208 {
1209 ErlNifEnv *env = Ecmd.env;
1210 ERL_NIF_TERM * argv = Ecmd.args;
1211 int milliseconds;
1212 if(!enif_get_int(env, argv[0], &milliseconds)) Badarg("milliseconds"); // int
1213 wxCaret::SetBlinkTime(milliseconds);
1214
1215 }
1216
1217 // wxCaret::SetSize
wxCaret_SetSize_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1218 void wxCaret_SetSize_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1219 {
1220 ErlNifEnv *env = Ecmd.env;
1221 ERL_NIF_TERM * argv = Ecmd.args;
1222 wxCaret *This;
1223 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1224 int width;
1225 if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
1226 int height;
1227 if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
1228 if(!This) throw wxe_badarg("This");
1229 This->SetSize(width,height);
1230
1231 }
1232
1233 // wxCaret::SetSize
wxCaret_SetSize_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1234 void wxCaret_SetSize_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1235 {
1236 ErlNifEnv *env = Ecmd.env;
1237 ERL_NIF_TERM * argv = Ecmd.args;
1238 wxCaret *This;
1239 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1240 const ERL_NIF_TERM *size_t;
1241 int size_sz;
1242 if(!enif_get_tuple(env, argv[1], &size_sz, &size_t)) Badarg("size");
1243 int sizeW;
1244 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
1245 int sizeH;
1246 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
1247 wxSize size = wxSize(sizeW,sizeH);
1248 if(!This) throw wxe_badarg("This");
1249 This->SetSize(size);
1250
1251 }
1252
1253 // wxCaret::Show
wxCaret_Show(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1254 void wxCaret_Show(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1255 {
1256 bool show=true;
1257 ErlNifEnv *env = Ecmd.env;
1258 ERL_NIF_TERM * argv = Ecmd.args;
1259 wxCaret *This;
1260 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1261 ERL_NIF_TERM lstHead, lstTail;
1262 lstTail = argv[1];
1263 if(!enif_is_list(env, lstTail)) Badarg("Options");
1264 const ERL_NIF_TERM *tpl;
1265 int tpl_sz;
1266 while(!enif_is_empty_list(env, lstTail)) {
1267 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1268 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1269 if(enif_is_identical(tpl[0], enif_make_atom(env, "show"))) {
1270 show = enif_is_identical(tpl[1], WXE_ATOM_true);
1271 } else Badarg("Options");
1272 };
1273 if(!This) throw wxe_badarg("This");
1274 This->Show(show);
1275
1276 }
1277
1278 // wxCaret::destroy
wxCaret_destroy(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1279 void wxCaret_destroy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1280 {
1281 ErlNifEnv *env = Ecmd.env;
1282 ERL_NIF_TERM * argv = Ecmd.args;
1283 wxCaret *This;
1284 This = (wxCaret *) memenv->getPtr(env, argv[0], "This");
1285 if(This) { ((WxeApp *) wxTheApp)->clearPtr((void *) This);
1286 delete This;}
1287 }
1288
1289 // wxCheckBox::wxCheckBox
wxCheckBox_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1290 void wxCheckBox_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1291 {
1292 wxCheckBox * Result = new EwxCheckBox();
1293 app->newPtr((void *) Result, 0, memenv);
1294 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1295 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCheckBox"));
1296
1297 }
1298
1299 // wxCheckBox::wxCheckBox
wxCheckBox_new_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1300 void wxCheckBox_new_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1301 {
1302 wxPoint pos= wxDefaultPosition;
1303 wxSize size= wxDefaultSize;
1304 long style=0;
1305 const wxValidator * validator= &wxDefaultValidator;
1306 ErlNifEnv *env = Ecmd.env;
1307 ERL_NIF_TERM * argv = Ecmd.args;
1308 wxWindow *parent;
1309 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
1310 int id;
1311 if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
1312 ErlNifBinary label_bin;
1313 wxString label;
1314 if(!enif_inspect_binary(env, argv[2], &label_bin)) Badarg("label");
1315 label = wxString(label_bin.data, wxConvUTF8, label_bin.size);
1316 ERL_NIF_TERM lstHead, lstTail;
1317 lstTail = argv[3];
1318 if(!enif_is_list(env, lstTail)) Badarg("Options");
1319 const ERL_NIF_TERM *tpl;
1320 int tpl_sz;
1321 while(!enif_is_empty_list(env, lstTail)) {
1322 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1323 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1324 if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
1325 const ERL_NIF_TERM *pos_t;
1326 int pos_sz;
1327 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
1328 int posX;
1329 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
1330 int posY;
1331 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
1332 pos = wxPoint(posX,posY);
1333 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
1334 const ERL_NIF_TERM *size_t;
1335 int size_sz;
1336 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
1337 int sizeW;
1338 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
1339 int sizeH;
1340 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
1341 size = wxSize(sizeW,sizeH);
1342 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
1343 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
1344 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
1345 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
1346 } else Badarg("Options");
1347 };
1348 wxCheckBox * Result = new EwxCheckBox(parent,id,label,pos,size,style,*validator);
1349 app->newPtr((void *) Result, 0, memenv);
1350 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1351 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCheckBox"));
1352
1353 }
1354
1355 // wxCheckBox::Create
wxCheckBox_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1356 void wxCheckBox_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1357 {
1358 wxPoint pos= wxDefaultPosition;
1359 wxSize size= wxDefaultSize;
1360 long style=0;
1361 const wxValidator * validator= &wxDefaultValidator;
1362 ErlNifEnv *env = Ecmd.env;
1363 ERL_NIF_TERM * argv = Ecmd.args;
1364 wxCheckBox *This;
1365 This = (wxCheckBox *) memenv->getPtr(env, argv[0], "This");
1366 wxWindow *parent;
1367 parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
1368 int id;
1369 if(!enif_get_int(env, argv[2], &id)) Badarg("id"); // wxWindowID
1370 ErlNifBinary label_bin;
1371 wxString label;
1372 if(!enif_inspect_binary(env, argv[3], &label_bin)) Badarg("label");
1373 label = wxString(label_bin.data, wxConvUTF8, label_bin.size);
1374 ERL_NIF_TERM lstHead, lstTail;
1375 lstTail = argv[4];
1376 if(!enif_is_list(env, lstTail)) Badarg("Options");
1377 const ERL_NIF_TERM *tpl;
1378 int tpl_sz;
1379 while(!enif_is_empty_list(env, lstTail)) {
1380 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1381 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1382 if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
1383 const ERL_NIF_TERM *pos_t;
1384 int pos_sz;
1385 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
1386 int posX;
1387 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
1388 int posY;
1389 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
1390 pos = wxPoint(posX,posY);
1391 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
1392 const ERL_NIF_TERM *size_t;
1393 int size_sz;
1394 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
1395 int sizeW;
1396 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
1397 int sizeH;
1398 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
1399 size = wxSize(sizeW,sizeH);
1400 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
1401 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
1402 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
1403 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
1404 } else Badarg("Options");
1405 };
1406 if(!This) throw wxe_badarg("This");
1407 bool Result = This->Create(parent,id,label,pos,size,style,*validator);
1408 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1409 rt.send( rt.make_bool(Result));
1410
1411 }
1412
1413 // wxCheckBox::GetValue
wxCheckBox_GetValue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1414 void wxCheckBox_GetValue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1415 {
1416 ErlNifEnv *env = Ecmd.env;
1417 ERL_NIF_TERM * argv = Ecmd.args;
1418 wxCheckBox *This;
1419 This = (wxCheckBox *) memenv->getPtr(env, argv[0], "This");
1420 if(!This) throw wxe_badarg("This");
1421 bool Result = This->GetValue();
1422 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1423 rt.send( rt.make_bool(Result));
1424
1425 }
1426
1427 // wxCheckBox::Get3StateValue
wxCheckBox_Get3StateValue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1428 void wxCheckBox_Get3StateValue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1429 {
1430 ErlNifEnv *env = Ecmd.env;
1431 ERL_NIF_TERM * argv = Ecmd.args;
1432 wxCheckBox *This;
1433 This = (wxCheckBox *) memenv->getPtr(env, argv[0], "This");
1434 if(!This) throw wxe_badarg("This");
1435 int Result = This->Get3StateValue();
1436 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1437 rt.send( rt.make_int(Result));
1438
1439 }
1440
1441 // wxCheckBox::Is3rdStateAllowedForUser
wxCheckBox_Is3rdStateAllowedForUser(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1442 void wxCheckBox_Is3rdStateAllowedForUser(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1443 {
1444 ErlNifEnv *env = Ecmd.env;
1445 ERL_NIF_TERM * argv = Ecmd.args;
1446 wxCheckBox *This;
1447 This = (wxCheckBox *) memenv->getPtr(env, argv[0], "This");
1448 if(!This) throw wxe_badarg("This");
1449 bool Result = This->Is3rdStateAllowedForUser();
1450 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1451 rt.send( rt.make_bool(Result));
1452
1453 }
1454
1455 // wxCheckBox::Is3State
wxCheckBox_Is3State(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1456 void wxCheckBox_Is3State(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1457 {
1458 ErlNifEnv *env = Ecmd.env;
1459 ERL_NIF_TERM * argv = Ecmd.args;
1460 wxCheckBox *This;
1461 This = (wxCheckBox *) memenv->getPtr(env, argv[0], "This");
1462 if(!This) throw wxe_badarg("This");
1463 bool Result = This->Is3State();
1464 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1465 rt.send( rt.make_bool(Result));
1466
1467 }
1468
1469 // wxCheckBox::IsChecked
wxCheckBox_IsChecked(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1470 void wxCheckBox_IsChecked(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1471 {
1472 ErlNifEnv *env = Ecmd.env;
1473 ERL_NIF_TERM * argv = Ecmd.args;
1474 wxCheckBox *This;
1475 This = (wxCheckBox *) memenv->getPtr(env, argv[0], "This");
1476 if(!This) throw wxe_badarg("This");
1477 bool Result = This->IsChecked();
1478 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1479 rt.send( rt.make_bool(Result));
1480
1481 }
1482
1483 // wxCheckBox::SetValue
wxCheckBox_SetValue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1484 void wxCheckBox_SetValue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1485 {
1486 ErlNifEnv *env = Ecmd.env;
1487 ERL_NIF_TERM * argv = Ecmd.args;
1488 wxCheckBox *This;
1489 This = (wxCheckBox *) memenv->getPtr(env, argv[0], "This");
1490 bool state;
1491 state = enif_is_identical(argv[1], WXE_ATOM_true);
1492 if(!This) throw wxe_badarg("This");
1493 This->SetValue(state);
1494
1495 }
1496
1497 // wxCheckBox::Set3StateValue
wxCheckBox_Set3StateValue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1498 void wxCheckBox_Set3StateValue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1499 {
1500 ErlNifEnv *env = Ecmd.env;
1501 ERL_NIF_TERM * argv = Ecmd.args;
1502 wxCheckBox *This;
1503 This = (wxCheckBox *) memenv->getPtr(env, argv[0], "This");
1504 wxCheckBoxState state;
1505 if(!enif_get_int(env, argv[1], (int *) &state)) Badarg("state"); // enum
1506 if(!This) throw wxe_badarg("This");
1507 This->Set3StateValue(state);
1508
1509 }
1510
1511 // wxCheckListBox::wxCheckListBox
wxCheckListBox_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1512 void wxCheckListBox_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1513 {
1514 wxCheckListBox * Result = new EwxCheckListBox();
1515 app->newPtr((void *) Result, 0, memenv);
1516 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1517 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCheckListBox"));
1518
1519 }
1520
1521 // wxCheckListBox::wxCheckListBox
wxCheckListBox_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1522 void wxCheckListBox_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1523 {
1524 wxPoint pos= wxDefaultPosition;
1525 wxSize size= wxDefaultSize;
1526 wxArrayString choices;
1527 long style=0;
1528 const wxValidator * validator= &wxDefaultValidator;
1529 ErlNifEnv *env = Ecmd.env;
1530 ERL_NIF_TERM * argv = Ecmd.args;
1531 wxWindow *parent;
1532 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
1533 int id;
1534 if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
1535 ERL_NIF_TERM lstHead, lstTail;
1536 lstTail = argv[2];
1537 if(!enif_is_list(env, lstTail)) Badarg("Options");
1538 const ERL_NIF_TERM *tpl;
1539 int tpl_sz;
1540 while(!enif_is_empty_list(env, lstTail)) {
1541 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1542 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1543 if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
1544 const ERL_NIF_TERM *pos_t;
1545 int pos_sz;
1546 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
1547 int posX;
1548 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
1549 int posY;
1550 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
1551 pos = wxPoint(posX,posY);
1552 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
1553 const ERL_NIF_TERM *size_t;
1554 int size_sz;
1555 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
1556 int sizeW;
1557 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
1558 int sizeH;
1559 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
1560 size = wxSize(sizeW,sizeH);
1561 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "choices"))) {
1562 ERL_NIF_TERM choicesHead, choicesTail;
1563 ErlNifBinary choices_bin;
1564 choicesTail = tpl[1];
1565 while(!enif_is_empty_list(env, choicesTail)) {
1566 if(!enif_get_list_cell(env, choicesTail, &choicesHead, &choicesTail)) Badarg("choices");
1567 if(!enif_inspect_binary(env, choicesHead, &choices_bin)) Badarg("choices");
1568 choices.Add(wxString(choices_bin.data, wxConvUTF8, choices_bin.size));
1569 };
1570 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
1571 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
1572 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
1573 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
1574 } else Badarg("Options");
1575 };
1576 wxCheckListBox * Result = new EwxCheckListBox(parent,id,pos,size,choices,style,*validator);
1577 app->newPtr((void *) Result, 0, memenv);
1578 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1579 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCheckListBox"));
1580
1581 }
1582
1583 // wxCheckListBox::Check
wxCheckListBox_Check(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1584 void wxCheckListBox_Check(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1585 {
1586 bool check=true;
1587 ErlNifEnv *env = Ecmd.env;
1588 ERL_NIF_TERM * argv = Ecmd.args;
1589 wxCheckListBox *This;
1590 This = (wxCheckListBox *) memenv->getPtr(env, argv[0], "This");
1591 unsigned int item;
1592 if(!enif_get_uint(env, argv[1], &item)) Badarg("item");
1593 ERL_NIF_TERM lstHead, lstTail;
1594 lstTail = argv[2];
1595 if(!enif_is_list(env, lstTail)) Badarg("Options");
1596 const ERL_NIF_TERM *tpl;
1597 int tpl_sz;
1598 while(!enif_is_empty_list(env, lstTail)) {
1599 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1600 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1601 if(enif_is_identical(tpl[0], enif_make_atom(env, "check"))) {
1602 check = enif_is_identical(tpl[1], WXE_ATOM_true);
1603 } else Badarg("Options");
1604 };
1605 if(!This) throw wxe_badarg("This");
1606 This->Check(item,check);
1607
1608 }
1609
1610 // wxCheckListBox::IsChecked
wxCheckListBox_IsChecked(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1611 void wxCheckListBox_IsChecked(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1612 {
1613 ErlNifEnv *env = Ecmd.env;
1614 ERL_NIF_TERM * argv = Ecmd.args;
1615 wxCheckListBox *This;
1616 This = (wxCheckListBox *) memenv->getPtr(env, argv[0], "This");
1617 unsigned int item;
1618 if(!enif_get_uint(env, argv[1], &item)) Badarg("item");
1619 if(!This) throw wxe_badarg("This");
1620 bool Result = This->IsChecked(item);
1621 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1622 rt.send( rt.make_bool(Result));
1623
1624 }
1625
1626 // wxChildFocusEvent::GetWindow
wxChildFocusEvent_GetWindow(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1627 void wxChildFocusEvent_GetWindow(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1628 {
1629 ErlNifEnv *env = Ecmd.env;
1630 ERL_NIF_TERM * argv = Ecmd.args;
1631 wxChildFocusEvent *This;
1632 This = (wxChildFocusEvent *) memenv->getPtr(env, argv[0], "This");
1633 if(!This) throw wxe_badarg("This");
1634 wxWindow * Result = (wxWindow*)This->GetWindow();
1635 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1636 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxWindow"));
1637
1638 }
1639
1640 // wxChoice::wxChoice
wxChoice_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1641 void wxChoice_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1642 {
1643 wxChoice * Result = new EwxChoice();
1644 app->newPtr((void *) Result, 0, memenv);
1645 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1646 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxChoice"));
1647
1648 }
1649
1650 // wxChoice::wxChoice
wxChoice_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1651 void wxChoice_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1652 {
1653 wxPoint pos= wxDefaultPosition;
1654 wxSize size= wxDefaultSize;
1655 wxArrayString choices;
1656 long style=0;
1657 const wxValidator * validator= &wxDefaultValidator;
1658 ErlNifEnv *env = Ecmd.env;
1659 ERL_NIF_TERM * argv = Ecmd.args;
1660 wxWindow *parent;
1661 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
1662 int id;
1663 if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
1664 ERL_NIF_TERM lstHead, lstTail;
1665 lstTail = argv[2];
1666 if(!enif_is_list(env, lstTail)) Badarg("Options");
1667 const ERL_NIF_TERM *tpl;
1668 int tpl_sz;
1669 while(!enif_is_empty_list(env, lstTail)) {
1670 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1671 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1672 if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
1673 const ERL_NIF_TERM *pos_t;
1674 int pos_sz;
1675 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
1676 int posX;
1677 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
1678 int posY;
1679 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
1680 pos = wxPoint(posX,posY);
1681 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
1682 const ERL_NIF_TERM *size_t;
1683 int size_sz;
1684 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
1685 int sizeW;
1686 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
1687 int sizeH;
1688 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
1689 size = wxSize(sizeW,sizeH);
1690 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "choices"))) {
1691 ERL_NIF_TERM choicesHead, choicesTail;
1692 ErlNifBinary choices_bin;
1693 choicesTail = tpl[1];
1694 while(!enif_is_empty_list(env, choicesTail)) {
1695 if(!enif_get_list_cell(env, choicesTail, &choicesHead, &choicesTail)) Badarg("choices");
1696 if(!enif_inspect_binary(env, choicesHead, &choices_bin)) Badarg("choices");
1697 choices.Add(wxString(choices_bin.data, wxConvUTF8, choices_bin.size));
1698 };
1699 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
1700 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
1701 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
1702 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
1703 } else Badarg("Options");
1704 };
1705 wxChoice * Result = new EwxChoice(parent,id,pos,size,choices,style,*validator);
1706 app->newPtr((void *) Result, 0, memenv);
1707 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1708 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxChoice"));
1709
1710 }
1711
1712 // wxChoice::Create
wxChoice_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1713 void wxChoice_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1714 {
1715 long style=0;
1716 const wxValidator * validator= &wxDefaultValidator;
1717 ErlNifEnv *env = Ecmd.env;
1718 ERL_NIF_TERM * argv = Ecmd.args;
1719 wxChoice *This;
1720 This = (wxChoice *) memenv->getPtr(env, argv[0], "This");
1721 wxWindow *parent;
1722 parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
1723 int id;
1724 if(!enif_get_int(env, argv[2], &id)) Badarg("id"); // wxWindowID
1725 const ERL_NIF_TERM *pos_t;
1726 int pos_sz;
1727 if(!enif_get_tuple(env, argv[3], &pos_sz, &pos_t)) Badarg("pos");
1728 int posX;
1729 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
1730 int posY;
1731 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
1732 wxPoint pos = wxPoint(posX,posY);
1733 const ERL_NIF_TERM *size_t;
1734 int size_sz;
1735 if(!enif_get_tuple(env, argv[4], &size_sz, &size_t)) Badarg("size");
1736 int sizeW;
1737 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
1738 int sizeH;
1739 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
1740 wxSize size = wxSize(sizeW,sizeH);
1741 ERL_NIF_TERM choicesHead, choicesTail;
1742 ErlNifBinary choices_bin;
1743 wxArrayString choices;
1744 choicesTail = argv[5];
1745 while(!enif_is_empty_list(env, choicesTail)) {
1746 if(!enif_get_list_cell(env, choicesTail, &choicesHead, &choicesTail)) Badarg("choices");
1747 if(!enif_inspect_binary(env, choicesHead, &choices_bin)) Badarg("choices");
1748 choices.Add(wxString(choices_bin.data, wxConvUTF8, choices_bin.size));
1749 };
1750 ERL_NIF_TERM lstHead, lstTail;
1751 lstTail = argv[6];
1752 if(!enif_is_list(env, lstTail)) Badarg("Options");
1753 const ERL_NIF_TERM *tpl;
1754 int tpl_sz;
1755 while(!enif_is_empty_list(env, lstTail)) {
1756 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1757 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1758 if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
1759 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
1760 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
1761 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
1762 } else Badarg("Options");
1763 };
1764 if(!This) throw wxe_badarg("This");
1765 bool Result = This->Create(parent,id,pos,size,choices,style,*validator);
1766 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1767 rt.send( rt.make_bool(Result));
1768
1769 }
1770
1771 // wxChoice::Delete
wxChoice_Delete(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1772 void wxChoice_Delete(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1773 {
1774 ErlNifEnv *env = Ecmd.env;
1775 ERL_NIF_TERM * argv = Ecmd.args;
1776 wxChoice *This;
1777 This = (wxChoice *) memenv->getPtr(env, argv[0], "This");
1778 unsigned int n;
1779 if(!enif_get_uint(env, argv[1], &n)) Badarg("n");
1780 if(!This) throw wxe_badarg("This");
1781 This->Delete(n);
1782
1783 }
1784
1785 // wxChoice::GetColumns
wxChoice_GetColumns(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1786 void wxChoice_GetColumns(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1787 {
1788 ErlNifEnv *env = Ecmd.env;
1789 ERL_NIF_TERM * argv = Ecmd.args;
1790 wxChoice *This;
1791 This = (wxChoice *) memenv->getPtr(env, argv[0], "This");
1792 if(!This) throw wxe_badarg("This");
1793 int Result = This->GetColumns();
1794 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1795 rt.send( rt.make_int(Result));
1796
1797 }
1798
1799 // wxChoice::SetColumns
wxChoice_SetColumns(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1800 void wxChoice_SetColumns(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1801 {
1802 int n=1;
1803 ErlNifEnv *env = Ecmd.env;
1804 ERL_NIF_TERM * argv = Ecmd.args;
1805 wxChoice *This;
1806 This = (wxChoice *) memenv->getPtr(env, argv[0], "This");
1807 ERL_NIF_TERM lstHead, lstTail;
1808 lstTail = argv[1];
1809 if(!enif_is_list(env, lstTail)) Badarg("Options");
1810 const ERL_NIF_TERM *tpl;
1811 int tpl_sz;
1812 while(!enif_is_empty_list(env, lstTail)) {
1813 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1814 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1815 if(enif_is_identical(tpl[0], enif_make_atom(env, "n"))) {
1816 if(!enif_get_int(env, tpl[1], &n)) Badarg("n"); // int
1817 } else Badarg("Options");
1818 };
1819 if(!This) throw wxe_badarg("This");
1820 This->SetColumns(n);
1821
1822 }
1823
1824 // wxChoicebook::wxChoicebook
wxChoicebook_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1825 void wxChoicebook_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1826 {
1827 wxChoicebook * Result = new EwxChoicebook();
1828 app->newPtr((void *) Result, 0, memenv);
1829 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1830 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxChoicebook"));
1831
1832 }
1833
1834 // wxChoicebook::wxChoicebook
wxChoicebook_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1835 void wxChoicebook_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1836 {
1837 wxPoint pos= wxDefaultPosition;
1838 wxSize size= wxDefaultSize;
1839 long style=0;
1840 ErlNifEnv *env = Ecmd.env;
1841 ERL_NIF_TERM * argv = Ecmd.args;
1842 wxWindow *parent;
1843 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
1844 int id;
1845 if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
1846 ERL_NIF_TERM lstHead, lstTail;
1847 lstTail = argv[2];
1848 if(!enif_is_list(env, lstTail)) Badarg("Options");
1849 const ERL_NIF_TERM *tpl;
1850 int tpl_sz;
1851 while(!enif_is_empty_list(env, lstTail)) {
1852 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1853 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1854 if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
1855 const ERL_NIF_TERM *pos_t;
1856 int pos_sz;
1857 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
1858 int posX;
1859 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
1860 int posY;
1861 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
1862 pos = wxPoint(posX,posY);
1863 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
1864 const ERL_NIF_TERM *size_t;
1865 int size_sz;
1866 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
1867 int sizeW;
1868 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
1869 int sizeH;
1870 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
1871 size = wxSize(sizeW,sizeH);
1872 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
1873 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
1874 } else Badarg("Options");
1875 };
1876 wxChoicebook * Result = new EwxChoicebook(parent,id,pos,size,style);
1877 app->newPtr((void *) Result, 0, memenv);
1878 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1879 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxChoicebook"));
1880
1881 }
1882
1883 // wxChoicebook::AddPage
wxChoicebook_AddPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1884 void wxChoicebook_AddPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1885 {
1886 bool bSelect=false;
1887 int imageId=wxBookCtrlBase::NO_IMAGE;
1888 ErlNifEnv *env = Ecmd.env;
1889 ERL_NIF_TERM * argv = Ecmd.args;
1890 wxChoicebook *This;
1891 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
1892 wxWindow *page;
1893 page = (wxWindow *) memenv->getPtr(env, argv[1], "page");
1894 ErlNifBinary text_bin;
1895 wxString text;
1896 if(!enif_inspect_binary(env, argv[2], &text_bin)) Badarg("text");
1897 text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
1898 ERL_NIF_TERM lstHead, lstTail;
1899 lstTail = argv[3];
1900 if(!enif_is_list(env, lstTail)) Badarg("Options");
1901 const ERL_NIF_TERM *tpl;
1902 int tpl_sz;
1903 while(!enif_is_empty_list(env, lstTail)) {
1904 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1905 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1906 if(enif_is_identical(tpl[0], enif_make_atom(env, "bSelect"))) {
1907 bSelect = enif_is_identical(tpl[1], WXE_ATOM_true);
1908 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "imageId"))) {
1909 if(!enif_get_int(env, tpl[1], &imageId)) Badarg("imageId"); // int
1910 } else Badarg("Options");
1911 };
1912 if(!This) throw wxe_badarg("This");
1913 bool Result = This->AddPage(page,text,bSelect,imageId);
1914 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1915 rt.send( rt.make_bool(Result));
1916
1917 }
1918
1919 // wxChoicebook::AdvanceSelection
wxChoicebook_AdvanceSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1920 void wxChoicebook_AdvanceSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1921 {
1922 bool forward=true;
1923 ErlNifEnv *env = Ecmd.env;
1924 ERL_NIF_TERM * argv = Ecmd.args;
1925 wxChoicebook *This;
1926 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
1927 ERL_NIF_TERM lstHead, lstTail;
1928 lstTail = argv[1];
1929 if(!enif_is_list(env, lstTail)) Badarg("Options");
1930 const ERL_NIF_TERM *tpl;
1931 int tpl_sz;
1932 while(!enif_is_empty_list(env, lstTail)) {
1933 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1934 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1935 if(enif_is_identical(tpl[0], enif_make_atom(env, "forward"))) {
1936 forward = enif_is_identical(tpl[1], WXE_ATOM_true);
1937 } else Badarg("Options");
1938 };
1939 if(!This) throw wxe_badarg("This");
1940 This->AdvanceSelection(forward);
1941
1942 }
1943
1944 // wxChoicebook::AssignImageList
wxChoicebook_AssignImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1945 void wxChoicebook_AssignImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1946 {
1947 ErlNifEnv *env = Ecmd.env;
1948 ERL_NIF_TERM * argv = Ecmd.args;
1949 wxChoicebook *This;
1950 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
1951 wxImageList *imageList;
1952 imageList = (wxImageList *) memenv->getPtr(env, argv[1], "imageList");
1953 if(!This) throw wxe_badarg("This");
1954 This->AssignImageList(imageList);
1955
1956 }
1957
1958 // wxChoicebook::Create
wxChoicebook_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1959 void wxChoicebook_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1960 {
1961 wxPoint pos= wxDefaultPosition;
1962 wxSize size= wxDefaultSize;
1963 long style=0;
1964 ErlNifEnv *env = Ecmd.env;
1965 ERL_NIF_TERM * argv = Ecmd.args;
1966 wxChoicebook *This;
1967 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
1968 wxWindow *parent;
1969 parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
1970 int id;
1971 if(!enif_get_int(env, argv[2], &id)) Badarg("id"); // wxWindowID
1972 ERL_NIF_TERM lstHead, lstTail;
1973 lstTail = argv[3];
1974 if(!enif_is_list(env, lstTail)) Badarg("Options");
1975 const ERL_NIF_TERM *tpl;
1976 int tpl_sz;
1977 while(!enif_is_empty_list(env, lstTail)) {
1978 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1979 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1980 if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
1981 const ERL_NIF_TERM *pos_t;
1982 int pos_sz;
1983 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
1984 int posX;
1985 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
1986 int posY;
1987 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
1988 pos = wxPoint(posX,posY);
1989 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
1990 const ERL_NIF_TERM *size_t;
1991 int size_sz;
1992 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
1993 int sizeW;
1994 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
1995 int sizeH;
1996 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
1997 size = wxSize(sizeW,sizeH);
1998 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
1999 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
2000 } else Badarg("Options");
2001 };
2002 if(!This) throw wxe_badarg("This");
2003 bool Result = This->Create(parent,id,pos,size,style);
2004 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2005 rt.send( rt.make_bool(Result));
2006
2007 }
2008
2009 // wxChoicebook::DeleteAllPages
wxChoicebook_DeleteAllPages(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2010 void wxChoicebook_DeleteAllPages(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2011 {
2012 ErlNifEnv *env = Ecmd.env;
2013 ERL_NIF_TERM * argv = Ecmd.args;
2014 wxChoicebook *This;
2015 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2016 if(!This) throw wxe_badarg("This");
2017 bool Result = This->DeleteAllPages();
2018 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2019 rt.send( rt.make_bool(Result));
2020
2021 }
2022
2023 // wxChoicebook::GetCurrentPage
wxChoicebook_GetCurrentPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2024 void wxChoicebook_GetCurrentPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2025 {
2026 ErlNifEnv *env = Ecmd.env;
2027 ERL_NIF_TERM * argv = Ecmd.args;
2028 wxChoicebook *This;
2029 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2030 if(!This) throw wxe_badarg("This");
2031 wxWindow * Result = (wxWindow*)This->GetCurrentPage();
2032 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2033 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxWindow"));
2034
2035 }
2036
2037 // wxChoicebook::GetImageList
wxChoicebook_GetImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2038 void wxChoicebook_GetImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2039 {
2040 ErlNifEnv *env = Ecmd.env;
2041 ERL_NIF_TERM * argv = Ecmd.args;
2042 wxChoicebook *This;
2043 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2044 if(!This) throw wxe_badarg("This");
2045 wxImageList * Result = (wxImageList*)This->GetImageList();
2046 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2047 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImageList"));
2048
2049 }
2050
2051 // wxChoicebook::GetPage
wxChoicebook_GetPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2052 void wxChoicebook_GetPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2053 {
2054 ErlNifEnv *env = Ecmd.env;
2055 ERL_NIF_TERM * argv = Ecmd.args;
2056 wxChoicebook *This;
2057 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2058 size_t page;
2059 if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
2060 if(!This) throw wxe_badarg("This");
2061 wxWindow * Result = (wxWindow*)This->GetPage(page);
2062 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2063 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxWindow"));
2064
2065 }
2066
2067 // wxChoicebook::GetPageCount
wxChoicebook_GetPageCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2068 void wxChoicebook_GetPageCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2069 {
2070 ErlNifEnv *env = Ecmd.env;
2071 ERL_NIF_TERM * argv = Ecmd.args;
2072 wxChoicebook *This;
2073 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2074 if(!This) throw wxe_badarg("This");
2075 size_t Result = This->GetPageCount();
2076 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2077 rt.send( rt.make_int(Result));
2078
2079 }
2080
2081 // wxChoicebook::GetPageImage
wxChoicebook_GetPageImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2082 void wxChoicebook_GetPageImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2083 {
2084 ErlNifEnv *env = Ecmd.env;
2085 ERL_NIF_TERM * argv = Ecmd.args;
2086 wxChoicebook *This;
2087 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2088 size_t nPage;
2089 if(!wxe_get_size_t(env, argv[1], &nPage)) Badarg("nPage");
2090 if(!This) throw wxe_badarg("This");
2091 int Result = This->GetPageImage(nPage);
2092 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2093 rt.send( rt.make_int(Result));
2094
2095 }
2096
2097 // wxChoicebook::GetPageText
wxChoicebook_GetPageText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2098 void wxChoicebook_GetPageText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2099 {
2100 ErlNifEnv *env = Ecmd.env;
2101 ERL_NIF_TERM * argv = Ecmd.args;
2102 wxChoicebook *This;
2103 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2104 size_t nPage;
2105 if(!wxe_get_size_t(env, argv[1], &nPage)) Badarg("nPage");
2106 if(!This) throw wxe_badarg("This");
2107 wxString Result = This->GetPageText(nPage);
2108 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2109 rt.send( rt.make(Result));
2110
2111 }
2112
2113 // wxChoicebook::GetSelection
wxChoicebook_GetSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2114 void wxChoicebook_GetSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2115 {
2116 ErlNifEnv *env = Ecmd.env;
2117 ERL_NIF_TERM * argv = Ecmd.args;
2118 wxChoicebook *This;
2119 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2120 if(!This) throw wxe_badarg("This");
2121 int Result = This->GetSelection();
2122 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2123 rt.send( rt.make_int(Result));
2124
2125 }
2126
2127 // wxChoicebook::HitTest
wxChoicebook_HitTest(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2128 void wxChoicebook_HitTest(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2129 {
2130 long flags;
2131 ErlNifEnv *env = Ecmd.env;
2132 ERL_NIF_TERM * argv = Ecmd.args;
2133 wxChoicebook *This;
2134 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2135 const ERL_NIF_TERM *pt_t;
2136 int pt_sz;
2137 if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
2138 int ptX;
2139 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
2140 int ptY;
2141 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
2142 wxPoint pt = wxPoint(ptX,ptY);
2143 if(!This) throw wxe_badarg("This");
2144 int Result = This->HitTest(pt,&flags);
2145 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2146 ERL_NIF_TERM msg = enif_make_tuple2(rt.env,
2147 rt.make_int(Result),
2148 rt.make_int(flags));
2149 rt.send(msg);
2150
2151 }
2152
2153 // wxChoicebook::InsertPage
wxChoicebook_InsertPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2154 void wxChoicebook_InsertPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2155 {
2156 bool bSelect=false;
2157 int imageId=wxBookCtrlBase::NO_IMAGE;
2158 ErlNifEnv *env = Ecmd.env;
2159 ERL_NIF_TERM * argv = Ecmd.args;
2160 wxChoicebook *This;
2161 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2162 size_t index;
2163 if(!wxe_get_size_t(env, argv[1], &index)) Badarg("index");
2164 wxWindow *page;
2165 page = (wxWindow *) memenv->getPtr(env, argv[2], "page");
2166 ErlNifBinary text_bin;
2167 wxString text;
2168 if(!enif_inspect_binary(env, argv[3], &text_bin)) Badarg("text");
2169 text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
2170 ERL_NIF_TERM lstHead, lstTail;
2171 lstTail = argv[4];
2172 if(!enif_is_list(env, lstTail)) Badarg("Options");
2173 const ERL_NIF_TERM *tpl;
2174 int tpl_sz;
2175 while(!enif_is_empty_list(env, lstTail)) {
2176 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2177 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2178 if(enif_is_identical(tpl[0], enif_make_atom(env, "bSelect"))) {
2179 bSelect = enif_is_identical(tpl[1], WXE_ATOM_true);
2180 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "imageId"))) {
2181 if(!enif_get_int(env, tpl[1], &imageId)) Badarg("imageId"); // int
2182 } else Badarg("Options");
2183 };
2184 if(!This) throw wxe_badarg("This");
2185 bool Result = This->InsertPage(index,page,text,bSelect,imageId);
2186 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2187 rt.send( rt.make_bool(Result));
2188
2189 }
2190
2191 // wxChoicebook::SetImageList
wxChoicebook_SetImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2192 void wxChoicebook_SetImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2193 {
2194 ErlNifEnv *env = Ecmd.env;
2195 ERL_NIF_TERM * argv = Ecmd.args;
2196 wxChoicebook *This;
2197 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2198 wxImageList *imageList;
2199 imageList = (wxImageList *) memenv->getPtr(env, argv[1], "imageList");
2200 if(!This) throw wxe_badarg("This");
2201 This->SetImageList(imageList);
2202
2203 }
2204
2205 // wxChoicebook::SetPageSize
wxChoicebook_SetPageSize(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2206 void wxChoicebook_SetPageSize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2207 {
2208 ErlNifEnv *env = Ecmd.env;
2209 ERL_NIF_TERM * argv = Ecmd.args;
2210 wxChoicebook *This;
2211 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2212 const ERL_NIF_TERM *size_t;
2213 int size_sz;
2214 if(!enif_get_tuple(env, argv[1], &size_sz, &size_t)) Badarg("size");
2215 int sizeW;
2216 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
2217 int sizeH;
2218 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
2219 wxSize size = wxSize(sizeW,sizeH);
2220 if(!This) throw wxe_badarg("This");
2221 This->SetPageSize(size);
2222
2223 }
2224
2225 // wxChoicebook::SetPageImage
wxChoicebook_SetPageImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2226 void wxChoicebook_SetPageImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2227 {
2228 ErlNifEnv *env = Ecmd.env;
2229 ERL_NIF_TERM * argv = Ecmd.args;
2230 wxChoicebook *This;
2231 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2232 size_t page;
2233 if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
2234 int image;
2235 if(!enif_get_int(env, argv[2], &image)) Badarg("image"); // int
2236 if(!This) throw wxe_badarg("This");
2237 bool Result = This->SetPageImage(page,image);
2238 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2239 rt.send( rt.make_bool(Result));
2240
2241 }
2242
2243 // wxChoicebook::SetPageText
wxChoicebook_SetPageText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2244 void wxChoicebook_SetPageText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2245 {
2246 ErlNifEnv *env = Ecmd.env;
2247 ERL_NIF_TERM * argv = Ecmd.args;
2248 wxChoicebook *This;
2249 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2250 size_t page;
2251 if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
2252 ErlNifBinary text_bin;
2253 wxString text;
2254 if(!enif_inspect_binary(env, argv[2], &text_bin)) Badarg("text");
2255 text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
2256 if(!This) throw wxe_badarg("This");
2257 bool Result = This->SetPageText(page,text);
2258 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2259 rt.send( rt.make_bool(Result));
2260
2261 }
2262
2263 // wxChoicebook::SetSelection
wxChoicebook_SetSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2264 void wxChoicebook_SetSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2265 {
2266 ErlNifEnv *env = Ecmd.env;
2267 ERL_NIF_TERM * argv = Ecmd.args;
2268 wxChoicebook *This;
2269 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2270 size_t page;
2271 if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
2272 if(!This) throw wxe_badarg("This");
2273 int Result = This->SetSelection(page);
2274 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2275 rt.send( rt.make_int(Result));
2276
2277 }
2278
2279 // wxChoicebook::ChangeSelection
wxChoicebook_ChangeSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2280 void wxChoicebook_ChangeSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2281 {
2282 ErlNifEnv *env = Ecmd.env;
2283 ERL_NIF_TERM * argv = Ecmd.args;
2284 wxChoicebook *This;
2285 This = (wxChoicebook *) memenv->getPtr(env, argv[0], "This");
2286 size_t page;
2287 if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
2288 if(!This) throw wxe_badarg("This");
2289 int Result = This->ChangeSelection(page);
2290 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2291 rt.send( rt.make_int(Result));
2292
2293 }
2294
2295 // wxClientDC::wxClientDC
wxClientDC_new(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2296 void wxClientDC_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2297 {
2298 ErlNifEnv *env = Ecmd.env;
2299 ERL_NIF_TERM * argv = Ecmd.args;
2300 wxWindow *window;
2301 window = (wxWindow *) memenv->getPtr(env, argv[0], "window");
2302 wxClientDC * Result = new EwxClientDC(window);
2303 app->newPtr((void *) Result, 8, memenv);
2304 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2305 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxClientDC"));
2306
2307 }
2308
2309 // wxClipboard::wxClipboard
wxClipboard_new(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2310 void wxClipboard_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2311 {
2312 wxClipboard * Result = new EwxClipboard();
2313 app->newPtr((void *) Result, 1, memenv);
2314 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2315 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxClipboard"));
2316
2317 }
2318
2319 // wxClipboard::AddData
wxClipboard_AddData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2320 void wxClipboard_AddData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2321 {
2322 ErlNifEnv *env = Ecmd.env;
2323 ERL_NIF_TERM * argv = Ecmd.args;
2324 wxClipboard *This;
2325 This = (wxClipboard *) memenv->getPtr(env, argv[0], "This");
2326 wxDataObject *data;
2327 data = (wxDataObject *) memenv->getPtr(env, argv[1], "data");
2328 if(!This) throw wxe_badarg("This");
2329 bool Result = This->AddData(data);
2330 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2331 rt.send( rt.make_bool(Result));
2332
2333 }
2334
2335 // wxClipboard::Clear
wxClipboard_Clear(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2336 void wxClipboard_Clear(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2337 {
2338 ErlNifEnv *env = Ecmd.env;
2339 ERL_NIF_TERM * argv = Ecmd.args;
2340 wxClipboard *This;
2341 This = (wxClipboard *) memenv->getPtr(env, argv[0], "This");
2342 if(!This) throw wxe_badarg("This");
2343 This->Clear();
2344
2345 }
2346
2347 // wxClipboard::Close
wxClipboard_Close(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2348 void wxClipboard_Close(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2349 {
2350 ErlNifEnv *env = Ecmd.env;
2351 ERL_NIF_TERM * argv = Ecmd.args;
2352 wxClipboard *This;
2353 This = (wxClipboard *) memenv->getPtr(env, argv[0], "This");
2354 if(!This) throw wxe_badarg("This");
2355 This->Close();
2356
2357 }
2358
2359 // wxClipboard::Flush
wxClipboard_Flush(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2360 void wxClipboard_Flush(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2361 {
2362 ErlNifEnv *env = Ecmd.env;
2363 ERL_NIF_TERM * argv = Ecmd.args;
2364 wxClipboard *This;
2365 This = (wxClipboard *) memenv->getPtr(env, argv[0], "This");
2366 if(!This) throw wxe_badarg("This");
2367 bool Result = This->Flush();
2368 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2369 rt.send( rt.make_bool(Result));
2370
2371 }
2372
2373 // wxClipboard::GetData
wxClipboard_GetData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2374 void wxClipboard_GetData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2375 {
2376 ErlNifEnv *env = Ecmd.env;
2377 ERL_NIF_TERM * argv = Ecmd.args;
2378 wxClipboard *This;
2379 This = (wxClipboard *) memenv->getPtr(env, argv[0], "This");
2380 wxDataObject *data;
2381 data = (wxDataObject *) memenv->getPtr(env, argv[1], "data");
2382 if(!This) throw wxe_badarg("This");
2383 bool Result = This->GetData(*data);
2384 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2385 rt.send( rt.make_bool(Result));
2386
2387 }
2388
2389 // wxClipboard::IsOpened
wxClipboard_IsOpened(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2390 void wxClipboard_IsOpened(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2391 {
2392 ErlNifEnv *env = Ecmd.env;
2393 ERL_NIF_TERM * argv = Ecmd.args;
2394 wxClipboard *This;
2395 This = (wxClipboard *) memenv->getPtr(env, argv[0], "This");
2396 if(!This) throw wxe_badarg("This");
2397 bool Result = This->IsOpened();
2398 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2399 rt.send( rt.make_bool(Result));
2400
2401 }
2402
2403 // wxClipboard::Open
wxClipboard_Open(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2404 void wxClipboard_Open(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2405 {
2406 ErlNifEnv *env = Ecmd.env;
2407 ERL_NIF_TERM * argv = Ecmd.args;
2408 wxClipboard *This;
2409 This = (wxClipboard *) memenv->getPtr(env, argv[0], "This");
2410 if(!This) throw wxe_badarg("This");
2411 bool Result = This->Open();
2412 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2413 rt.send( rt.make_bool(Result));
2414
2415 }
2416
2417 // wxClipboard::SetData
wxClipboard_SetData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2418 void wxClipboard_SetData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2419 {
2420 ErlNifEnv *env = Ecmd.env;
2421 ERL_NIF_TERM * argv = Ecmd.args;
2422 wxClipboard *This;
2423 This = (wxClipboard *) memenv->getPtr(env, argv[0], "This");
2424 wxDataObject *data;
2425 data = (wxDataObject *) memenv->getPtr(env, argv[1], "data");
2426 if(!This) throw wxe_badarg("This");
2427 bool Result = This->SetData(data);
2428 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2429 rt.send( rt.make_bool(Result));
2430
2431 }
2432
2433 // wxClipboard::UsePrimarySelection
wxClipboard_UsePrimarySelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2434 void wxClipboard_UsePrimarySelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2435 {
2436 bool primary=false;
2437 ErlNifEnv *env = Ecmd.env;
2438 ERL_NIF_TERM * argv = Ecmd.args;
2439 wxClipboard *This;
2440 This = (wxClipboard *) memenv->getPtr(env, argv[0], "This");
2441 ERL_NIF_TERM lstHead, lstTail;
2442 lstTail = argv[1];
2443 if(!enif_is_list(env, lstTail)) Badarg("Options");
2444 const ERL_NIF_TERM *tpl;
2445 int tpl_sz;
2446 while(!enif_is_empty_list(env, lstTail)) {
2447 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2448 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2449 if(enif_is_identical(tpl[0], enif_make_atom(env, "primary"))) {
2450 primary = enif_is_identical(tpl[1], WXE_ATOM_true);
2451 } else Badarg("Options");
2452 };
2453 if(!This) throw wxe_badarg("This");
2454 This->UsePrimarySelection(primary);
2455
2456 }
2457
2458 // wxClipboard::IsSupported
wxClipboard_IsSupported(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2459 void wxClipboard_IsSupported(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2460 {
2461 ErlNifEnv *env = Ecmd.env;
2462 ERL_NIF_TERM * argv = Ecmd.args;
2463 wxClipboard *This;
2464 This = (wxClipboard *) memenv->getPtr(env, argv[0], "This");
2465 wxDataFormatId format;
2466 if(!enif_get_int(env, argv[1], (int *) &format)) Badarg("format"); // enum
2467 if(!This) throw wxe_badarg("This");
2468 bool Result = This->IsSupported(format);
2469 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2470 rt.send( rt.make_bool(Result));
2471
2472 }
2473
2474 // wxClipboard::Get
wxClipboard_Get(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2475 void wxClipboard_Get(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2476 {
2477 wxClipboard * Result = (wxClipboard*)wxClipboard::Get();
2478 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2479 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxClipboard"));
2480
2481 }
2482
2483 // wxCloseEvent::CanVeto
wxCloseEvent_CanVeto(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2484 void wxCloseEvent_CanVeto(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2485 {
2486 ErlNifEnv *env = Ecmd.env;
2487 ERL_NIF_TERM * argv = Ecmd.args;
2488 wxCloseEvent *This;
2489 This = (wxCloseEvent *) memenv->getPtr(env, argv[0], "This");
2490 if(!This) throw wxe_badarg("This");
2491 bool Result = This->CanVeto();
2492 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2493 rt.send( rt.make_bool(Result));
2494
2495 }
2496
2497 // wxCloseEvent::GetLoggingOff
wxCloseEvent_GetLoggingOff(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2498 void wxCloseEvent_GetLoggingOff(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2499 {
2500 ErlNifEnv *env = Ecmd.env;
2501 ERL_NIF_TERM * argv = Ecmd.args;
2502 wxCloseEvent *This;
2503 This = (wxCloseEvent *) memenv->getPtr(env, argv[0], "This");
2504 if(!This) throw wxe_badarg("This");
2505 bool Result = This->GetLoggingOff();
2506 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2507 rt.send( rt.make_bool(Result));
2508
2509 }
2510
2511 // wxCloseEvent::SetCanVeto
wxCloseEvent_SetCanVeto(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2512 void wxCloseEvent_SetCanVeto(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2513 {
2514 ErlNifEnv *env = Ecmd.env;
2515 ERL_NIF_TERM * argv = Ecmd.args;
2516 wxCloseEvent *This;
2517 This = (wxCloseEvent *) memenv->getPtr(env, argv[0], "This");
2518 bool canVeto;
2519 canVeto = enif_is_identical(argv[1], WXE_ATOM_true);
2520 if(!This) throw wxe_badarg("This");
2521 This->SetCanVeto(canVeto);
2522
2523 }
2524
2525 // wxCloseEvent::SetLoggingOff
wxCloseEvent_SetLoggingOff(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2526 void wxCloseEvent_SetLoggingOff(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2527 {
2528 ErlNifEnv *env = Ecmd.env;
2529 ERL_NIF_TERM * argv = Ecmd.args;
2530 wxCloseEvent *This;
2531 This = (wxCloseEvent *) memenv->getPtr(env, argv[0], "This");
2532 bool loggingOff;
2533 loggingOff = enif_is_identical(argv[1], WXE_ATOM_true);
2534 if(!This) throw wxe_badarg("This");
2535 This->SetLoggingOff(loggingOff);
2536
2537 }
2538
2539 // wxCloseEvent::Veto
wxCloseEvent_Veto(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2540 void wxCloseEvent_Veto(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2541 {
2542 bool veto=true;
2543 ErlNifEnv *env = Ecmd.env;
2544 ERL_NIF_TERM * argv = Ecmd.args;
2545 wxCloseEvent *This;
2546 This = (wxCloseEvent *) memenv->getPtr(env, argv[0], "This");
2547 ERL_NIF_TERM lstHead, lstTail;
2548 lstTail = argv[1];
2549 if(!enif_is_list(env, lstTail)) Badarg("Options");
2550 const ERL_NIF_TERM *tpl;
2551 int tpl_sz;
2552 while(!enif_is_empty_list(env, lstTail)) {
2553 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2554 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2555 if(enif_is_identical(tpl[0], enif_make_atom(env, "veto"))) {
2556 veto = enif_is_identical(tpl[1], WXE_ATOM_true);
2557 } else Badarg("Options");
2558 };
2559 if(!This) throw wxe_badarg("This");
2560 This->Veto(veto);
2561
2562 }
2563
2564 // wxColourData::wxColourData
wxColourData_new(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2565 void wxColourData_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2566 {
2567 wxColourData * Result = new EwxColourData();
2568 app->newPtr((void *) Result, 1, memenv);
2569 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2570 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxColourData"));
2571
2572 }
2573
2574 // wxColourData::GetChooseFull
wxColourData_GetChooseFull(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2575 void wxColourData_GetChooseFull(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2576 {
2577 ErlNifEnv *env = Ecmd.env;
2578 ERL_NIF_TERM * argv = Ecmd.args;
2579 wxColourData *This;
2580 This = (wxColourData *) memenv->getPtr(env, argv[0], "This");
2581 if(!This) throw wxe_badarg("This");
2582 bool Result = This->GetChooseFull();
2583 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2584 rt.send( rt.make_bool(Result));
2585
2586 }
2587
2588 // wxColourData::GetColour
wxColourData_GetColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2589 void wxColourData_GetColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2590 {
2591 ErlNifEnv *env = Ecmd.env;
2592 ERL_NIF_TERM * argv = Ecmd.args;
2593 wxColourData *This;
2594 This = (wxColourData *) memenv->getPtr(env, argv[0], "This");
2595 if(!This) throw wxe_badarg("This");
2596 wxColour * Result = &This->GetColour();
2597 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2598 rt.send( rt.make((*Result)));
2599
2600 }
2601
2602 // wxColourData::GetCustomColour
wxColourData_GetCustomColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2603 void wxColourData_GetCustomColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2604 {
2605 ErlNifEnv *env = Ecmd.env;
2606 ERL_NIF_TERM * argv = Ecmd.args;
2607 wxColourData *This;
2608 This = (wxColourData *) memenv->getPtr(env, argv[0], "This");
2609 int i;
2610 if(!enif_get_int(env, argv[1], &i)) Badarg("i"); // int
2611 if(!This) throw wxe_badarg("This");
2612 wxColour Result = This->GetCustomColour(i);
2613 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2614 rt.send( rt.make(Result));
2615
2616 }
2617
2618 // wxColourData::SetChooseFull
wxColourData_SetChooseFull(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2619 void wxColourData_SetChooseFull(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2620 {
2621 ErlNifEnv *env = Ecmd.env;
2622 ERL_NIF_TERM * argv = Ecmd.args;
2623 wxColourData *This;
2624 This = (wxColourData *) memenv->getPtr(env, argv[0], "This");
2625 bool flag;
2626 flag = enif_is_identical(argv[1], WXE_ATOM_true);
2627 if(!This) throw wxe_badarg("This");
2628 This->SetChooseFull(flag);
2629
2630 }
2631
2632 // wxColourData::SetColour
wxColourData_SetColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2633 void wxColourData_SetColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2634 {
2635 ErlNifEnv *env = Ecmd.env;
2636 ERL_NIF_TERM * argv = Ecmd.args;
2637 wxColourData *This;
2638 This = (wxColourData *) memenv->getPtr(env, argv[0], "This");
2639 const ERL_NIF_TERM *colour_t;
2640 int colour_sz;
2641 if(!enif_get_tuple(env, argv[1], &colour_sz, &colour_t)) Badarg("colour");
2642 int colourR;
2643 if(!enif_get_int(env, colour_t[0], &colourR)) Badarg("colour");
2644 int colourG;
2645 if(!enif_get_int(env, colour_t[1], &colourG)) Badarg("colour");
2646 int colourB;
2647 if(!enif_get_int(env, colour_t[2], &colourB)) Badarg("colour");
2648 int colourA;
2649 if(!enif_get_int(env, colour_t[3], &colourA)) Badarg("colour");
2650 wxColour colour = wxColour(colourR,colourG,colourB,colourA);
2651 if(!This) throw wxe_badarg("This");
2652 This->SetColour(colour);
2653
2654 }
2655
2656 // wxColourData::SetCustomColour
wxColourData_SetCustomColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2657 void wxColourData_SetCustomColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2658 {
2659 ErlNifEnv *env = Ecmd.env;
2660 ERL_NIF_TERM * argv = Ecmd.args;
2661 wxColourData *This;
2662 This = (wxColourData *) memenv->getPtr(env, argv[0], "This");
2663 int i;
2664 if(!enif_get_int(env, argv[1], &i)) Badarg("i"); // int
2665 const ERL_NIF_TERM *colour_t;
2666 int colour_sz;
2667 if(!enif_get_tuple(env, argv[2], &colour_sz, &colour_t)) Badarg("colour");
2668 int colourR;
2669 if(!enif_get_int(env, colour_t[0], &colourR)) Badarg("colour");
2670 int colourG;
2671 if(!enif_get_int(env, colour_t[1], &colourG)) Badarg("colour");
2672 int colourB;
2673 if(!enif_get_int(env, colour_t[2], &colourB)) Badarg("colour");
2674 int colourA;
2675 if(!enif_get_int(env, colour_t[3], &colourA)) Badarg("colour");
2676 wxColour colour = wxColour(colourR,colourG,colourB,colourA);
2677 if(!This) throw wxe_badarg("This");
2678 This->SetCustomColour(i,colour);
2679
2680 }
2681
2682 // wxColourDialog::wxColourDialog
wxColourDialog_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2683 void wxColourDialog_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2684 {
2685 wxColourDialog * Result = new EwxColourDialog();
2686 app->newPtr((void *) Result, 2, memenv);
2687 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2688 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxColourDialog"));
2689
2690 }
2691
2692 // wxColourDialog::wxColourDialog
wxColourDialog_new_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2693 void wxColourDialog_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2694 {
2695 wxColourData * data=NULL;
2696 ErlNifEnv *env = Ecmd.env;
2697 ERL_NIF_TERM * argv = Ecmd.args;
2698 wxWindow *parent;
2699 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
2700 ERL_NIF_TERM lstHead, lstTail;
2701 lstTail = argv[1];
2702 if(!enif_is_list(env, lstTail)) Badarg("Options");
2703 const ERL_NIF_TERM *tpl;
2704 int tpl_sz;
2705 while(!enif_is_empty_list(env, lstTail)) {
2706 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2707 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2708 if(enif_is_identical(tpl[0], enif_make_atom(env, "data"))) {
2709 data = (wxColourData *) memenv->getPtr(env, tpl[1], "data");
2710 } else Badarg("Options");
2711 };
2712 wxColourDialog * Result = new EwxColourDialog(parent,data);
2713 app->newPtr((void *) Result, 2, memenv);
2714 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2715 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxColourDialog"));
2716
2717 }
2718
2719 // wxColourDialog::Create
wxColourDialog_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2720 void wxColourDialog_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2721 {
2722 wxColourData * data=NULL;
2723 ErlNifEnv *env = Ecmd.env;
2724 ERL_NIF_TERM * argv = Ecmd.args;
2725 wxColourDialog *This;
2726 This = (wxColourDialog *) memenv->getPtr(env, argv[0], "This");
2727 wxWindow *parent;
2728 parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
2729 ERL_NIF_TERM lstHead, lstTail;
2730 lstTail = argv[2];
2731 if(!enif_is_list(env, lstTail)) Badarg("Options");
2732 const ERL_NIF_TERM *tpl;
2733 int tpl_sz;
2734 while(!enif_is_empty_list(env, lstTail)) {
2735 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2736 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2737 if(enif_is_identical(tpl[0], enif_make_atom(env, "data"))) {
2738 data = (wxColourData *) memenv->getPtr(env, tpl[1], "data");
2739 } else Badarg("Options");
2740 };
2741 if(!This) throw wxe_badarg("This");
2742 bool Result = This->Create(parent,data);
2743 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2744 rt.send( rt.make_bool(Result));
2745
2746 }
2747
2748 // wxColourDialog::GetColourData
wxColourDialog_GetColourData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2749 void wxColourDialog_GetColourData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2750 {
2751 ErlNifEnv *env = Ecmd.env;
2752 ERL_NIF_TERM * argv = Ecmd.args;
2753 wxColourDialog *This;
2754 This = (wxColourDialog *) memenv->getPtr(env, argv[0], "This");
2755 if(!This) throw wxe_badarg("This");
2756 wxColourData * Result = &This->GetColourData();
2757 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2758 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxColourData"));
2759
2760 }
2761
2762 // wxColourPickerCtrl::wxColourPickerCtrl
wxColourPickerCtrl_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2763 void wxColourPickerCtrl_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2764 {
2765 wxColourPickerCtrl * Result = new EwxColourPickerCtrl();
2766 app->newPtr((void *) Result, 0, memenv);
2767 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2768 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxColourPickerCtrl"));
2769
2770 }
2771
2772 // wxColourPickerCtrl::wxColourPickerCtrl
wxColourPickerCtrl_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2773 void wxColourPickerCtrl_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2774 {
2775 wxColour col= *wxBLACK;
2776 wxPoint pos= wxDefaultPosition;
2777 wxSize size= wxDefaultSize;
2778 long style=wxCLRP_DEFAULT_STYLE;
2779 const wxValidator * validator= &wxDefaultValidator;
2780 ErlNifEnv *env = Ecmd.env;
2781 ERL_NIF_TERM * argv = Ecmd.args;
2782 wxWindow *parent;
2783 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
2784 int id;
2785 if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
2786 ERL_NIF_TERM lstHead, lstTail;
2787 lstTail = argv[2];
2788 if(!enif_is_list(env, lstTail)) Badarg("Options");
2789 const ERL_NIF_TERM *tpl;
2790 int tpl_sz;
2791 while(!enif_is_empty_list(env, lstTail)) {
2792 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2793 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2794 if(enif_is_identical(tpl[0], enif_make_atom(env, "col"))) {
2795 const ERL_NIF_TERM *col_t;
2796 int col_sz;
2797 if(!enif_get_tuple(env, tpl[1], &col_sz, &col_t)) Badarg("col");
2798 int colR;
2799 if(!enif_get_int(env, col_t[0], &colR)) Badarg("col");
2800 int colG;
2801 if(!enif_get_int(env, col_t[1], &colG)) Badarg("col");
2802 int colB;
2803 if(!enif_get_int(env, col_t[2], &colB)) Badarg("col");
2804 int colA;
2805 if(!enif_get_int(env, col_t[3], &colA)) Badarg("col");
2806 col = wxColour(colR,colG,colB,colA);
2807 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
2808 const ERL_NIF_TERM *pos_t;
2809 int pos_sz;
2810 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
2811 int posX;
2812 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
2813 int posY;
2814 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
2815 pos = wxPoint(posX,posY);
2816 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
2817 const ERL_NIF_TERM *size_t;
2818 int size_sz;
2819 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
2820 int sizeW;
2821 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
2822 int sizeH;
2823 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
2824 size = wxSize(sizeW,sizeH);
2825 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
2826 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
2827 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
2828 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
2829 } else Badarg("Options");
2830 };
2831 wxColourPickerCtrl * Result = new EwxColourPickerCtrl(parent,id,col,pos,size,style,*validator);
2832 app->newPtr((void *) Result, 0, memenv);
2833 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2834 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxColourPickerCtrl"));
2835
2836 }
2837
2838 // wxColourPickerCtrl::Create
wxColourPickerCtrl_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2839 void wxColourPickerCtrl_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2840 {
2841 wxColour col= *wxBLACK;
2842 wxPoint pos= wxDefaultPosition;
2843 wxSize size= wxDefaultSize;
2844 long style=wxCLRP_DEFAULT_STYLE;
2845 const wxValidator * validator= &wxDefaultValidator;
2846 ErlNifEnv *env = Ecmd.env;
2847 ERL_NIF_TERM * argv = Ecmd.args;
2848 wxColourPickerCtrl *This;
2849 This = (wxColourPickerCtrl *) memenv->getPtr(env, argv[0], "This");
2850 wxWindow *parent;
2851 parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
2852 int id;
2853 if(!enif_get_int(env, argv[2], &id)) Badarg("id"); // wxWindowID
2854 ERL_NIF_TERM lstHead, lstTail;
2855 lstTail = argv[3];
2856 if(!enif_is_list(env, lstTail)) Badarg("Options");
2857 const ERL_NIF_TERM *tpl;
2858 int tpl_sz;
2859 while(!enif_is_empty_list(env, lstTail)) {
2860 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2861 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2862 if(enif_is_identical(tpl[0], enif_make_atom(env, "col"))) {
2863 const ERL_NIF_TERM *col_t;
2864 int col_sz;
2865 if(!enif_get_tuple(env, tpl[1], &col_sz, &col_t)) Badarg("col");
2866 int colR;
2867 if(!enif_get_int(env, col_t[0], &colR)) Badarg("col");
2868 int colG;
2869 if(!enif_get_int(env, col_t[1], &colG)) Badarg("col");
2870 int colB;
2871 if(!enif_get_int(env, col_t[2], &colB)) Badarg("col");
2872 int colA;
2873 if(!enif_get_int(env, col_t[3], &colA)) Badarg("col");
2874 col = wxColour(colR,colG,colB,colA);
2875 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
2876 const ERL_NIF_TERM *pos_t;
2877 int pos_sz;
2878 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
2879 int posX;
2880 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
2881 int posY;
2882 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
2883 pos = wxPoint(posX,posY);
2884 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
2885 const ERL_NIF_TERM *size_t;
2886 int size_sz;
2887 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
2888 int sizeW;
2889 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
2890 int sizeH;
2891 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
2892 size = wxSize(sizeW,sizeH);
2893 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
2894 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
2895 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
2896 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
2897 } else Badarg("Options");
2898 };
2899 if(!This) throw wxe_badarg("This");
2900 bool Result = This->Create(parent,id,col,pos,size,style,*validator);
2901 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2902 rt.send( rt.make_bool(Result));
2903
2904 }
2905
2906 // wxColourPickerCtrl::GetColour
wxColourPickerCtrl_GetColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2907 void wxColourPickerCtrl_GetColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2908 {
2909 ErlNifEnv *env = Ecmd.env;
2910 ERL_NIF_TERM * argv = Ecmd.args;
2911 wxColourPickerCtrl *This;
2912 This = (wxColourPickerCtrl *) memenv->getPtr(env, argv[0], "This");
2913 if(!This) throw wxe_badarg("This");
2914 wxColour Result = This->GetColour();
2915 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2916 rt.send( rt.make(Result));
2917
2918 }
2919
2920 // wxColourPickerCtrl::SetColour
wxColourPickerCtrl_SetColour_1_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2921 void wxColourPickerCtrl_SetColour_1_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2922 {
2923 ErlNifEnv *env = Ecmd.env;
2924 ERL_NIF_TERM * argv = Ecmd.args;
2925 wxColourPickerCtrl *This;
2926 This = (wxColourPickerCtrl *) memenv->getPtr(env, argv[0], "This");
2927 const ERL_NIF_TERM *col_t;
2928 int col_sz;
2929 if(!enif_get_tuple(env, argv[1], &col_sz, &col_t)) Badarg("col");
2930 int colR;
2931 if(!enif_get_int(env, col_t[0], &colR)) Badarg("col");
2932 int colG;
2933 if(!enif_get_int(env, col_t[1], &colG)) Badarg("col");
2934 int colB;
2935 if(!enif_get_int(env, col_t[2], &colB)) Badarg("col");
2936 int colA;
2937 if(!enif_get_int(env, col_t[3], &colA)) Badarg("col");
2938 wxColour col = wxColour(colR,colG,colB,colA);
2939 if(!This) throw wxe_badarg("This");
2940 This->SetColour(col);
2941
2942 }
2943
2944 // wxColourPickerCtrl::SetColour
wxColourPickerCtrl_SetColour_1_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2945 void wxColourPickerCtrl_SetColour_1_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2946 {
2947 ErlNifEnv *env = Ecmd.env;
2948 ERL_NIF_TERM * argv = Ecmd.args;
2949 wxColourPickerCtrl *This;
2950 This = (wxColourPickerCtrl *) memenv->getPtr(env, argv[0], "This");
2951 ErlNifBinary colname_bin;
2952 wxString colname;
2953 if(!enif_inspect_binary(env, argv[1], &colname_bin)) Badarg("colname");
2954 colname = wxString(colname_bin.data, wxConvUTF8, colname_bin.size);
2955 if(!This) throw wxe_badarg("This");
2956 This->SetColour(colname);
2957
2958 }
2959
2960 // wxColourPickerEvent::GetColour
wxColourPickerEvent_GetColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2961 void wxColourPickerEvent_GetColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2962 {
2963 ErlNifEnv *env = Ecmd.env;
2964 ERL_NIF_TERM * argv = Ecmd.args;
2965 wxColourPickerEvent *This;
2966 This = (wxColourPickerEvent *) memenv->getPtr(env, argv[0], "This");
2967 if(!This) throw wxe_badarg("This");
2968 wxColour Result = This->GetColour();
2969 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2970 rt.send( rt.make(Result));
2971
2972 }
2973
2974 // wxComboBox::wxComboBox
wxComboBox_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2975 void wxComboBox_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2976 {
2977 wxComboBox * Result = new EwxComboBox();
2978 app->newPtr((void *) Result, 0, memenv);
2979 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2980 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxComboBox"));
2981
2982 }
2983
2984 // wxComboBox::wxComboBox
wxComboBox_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2985 void wxComboBox_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2986 {
2987 wxString value= wxEmptyString;
2988 wxPoint pos= wxDefaultPosition;
2989 wxSize size= wxDefaultSize;
2990 wxArrayString choices;
2991 long style=0;
2992 const wxValidator * validator= &wxDefaultValidator;
2993 ErlNifEnv *env = Ecmd.env;
2994 ERL_NIF_TERM * argv = Ecmd.args;
2995 wxWindow *parent;
2996 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
2997 int id;
2998 if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
2999 ERL_NIF_TERM lstHead, lstTail;
3000 lstTail = argv[2];
3001 if(!enif_is_list(env, lstTail)) Badarg("Options");
3002 const ERL_NIF_TERM *tpl;
3003 int tpl_sz;
3004 while(!enif_is_empty_list(env, lstTail)) {
3005 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3006 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3007 if(enif_is_identical(tpl[0], enif_make_atom(env, "value"))) {
3008 ErlNifBinary value_bin;
3009 if(!enif_inspect_binary(env, tpl[1], &value_bin)) Badarg("value");
3010 value = wxString(value_bin.data, wxConvUTF8, value_bin.size);
3011 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
3012 const ERL_NIF_TERM *pos_t;
3013 int pos_sz;
3014 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
3015 int posX;
3016 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
3017 int posY;
3018 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
3019 pos = wxPoint(posX,posY);
3020 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
3021 const ERL_NIF_TERM *size_t;
3022 int size_sz;
3023 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
3024 int sizeW;
3025 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
3026 int sizeH;
3027 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
3028 size = wxSize(sizeW,sizeH);
3029 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "choices"))) {
3030 ERL_NIF_TERM choicesHead, choicesTail;
3031 ErlNifBinary choices_bin;
3032 choicesTail = tpl[1];
3033 while(!enif_is_empty_list(env, choicesTail)) {
3034 if(!enif_get_list_cell(env, choicesTail, &choicesHead, &choicesTail)) Badarg("choices");
3035 if(!enif_inspect_binary(env, choicesHead, &choices_bin)) Badarg("choices");
3036 choices.Add(wxString(choices_bin.data, wxConvUTF8, choices_bin.size));
3037 };
3038 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
3039 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
3040 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
3041 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
3042 } else Badarg("Options");
3043 };
3044 wxComboBox * Result = new EwxComboBox(parent,id,value,pos,size,choices,style,*validator);
3045 app->newPtr((void *) Result, 0, memenv);
3046 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3047 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxComboBox"));
3048
3049 }
3050
3051 // wxComboBox::Create
wxComboBox_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3052 void wxComboBox_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3053 {
3054 long style=0;
3055 const wxValidator * validator= &wxDefaultValidator;
3056 ErlNifEnv *env = Ecmd.env;
3057 ERL_NIF_TERM * argv = Ecmd.args;
3058 wxComboBox *This;
3059 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3060 wxWindow *parent;
3061 parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
3062 int id;
3063 if(!enif_get_int(env, argv[2], &id)) Badarg("id"); // wxWindowID
3064 ErlNifBinary value_bin;
3065 wxString value;
3066 if(!enif_inspect_binary(env, argv[3], &value_bin)) Badarg("value");
3067 value = wxString(value_bin.data, wxConvUTF8, value_bin.size);
3068 const ERL_NIF_TERM *pos_t;
3069 int pos_sz;
3070 if(!enif_get_tuple(env, argv[4], &pos_sz, &pos_t)) Badarg("pos");
3071 int posX;
3072 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
3073 int posY;
3074 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
3075 wxPoint pos = wxPoint(posX,posY);
3076 const ERL_NIF_TERM *size_t;
3077 int size_sz;
3078 if(!enif_get_tuple(env, argv[5], &size_sz, &size_t)) Badarg("size");
3079 int sizeW;
3080 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
3081 int sizeH;
3082 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
3083 wxSize size = wxSize(sizeW,sizeH);
3084 ERL_NIF_TERM choicesHead, choicesTail;
3085 ErlNifBinary choices_bin;
3086 wxArrayString choices;
3087 choicesTail = argv[6];
3088 while(!enif_is_empty_list(env, choicesTail)) {
3089 if(!enif_get_list_cell(env, choicesTail, &choicesHead, &choicesTail)) Badarg("choices");
3090 if(!enif_inspect_binary(env, choicesHead, &choices_bin)) Badarg("choices");
3091 choices.Add(wxString(choices_bin.data, wxConvUTF8, choices_bin.size));
3092 };
3093 ERL_NIF_TERM lstHead, lstTail;
3094 lstTail = argv[7];
3095 if(!enif_is_list(env, lstTail)) Badarg("Options");
3096 const ERL_NIF_TERM *tpl;
3097 int tpl_sz;
3098 while(!enif_is_empty_list(env, lstTail)) {
3099 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3100 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3101 if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
3102 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
3103 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
3104 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
3105 } else Badarg("Options");
3106 };
3107 if(!This) throw wxe_badarg("This");
3108 bool Result = This->Create(parent,id,value,pos,size,choices,style,*validator);
3109 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3110 rt.send( rt.make_bool(Result));
3111
3112 }
3113
3114 // wxComboBox::CanCopy
wxComboBox_CanCopy(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3115 void wxComboBox_CanCopy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3116 {
3117 ErlNifEnv *env = Ecmd.env;
3118 ERL_NIF_TERM * argv = Ecmd.args;
3119 wxComboBox *This;
3120 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3121 if(!This) throw wxe_badarg("This");
3122 bool Result = This->CanCopy();
3123 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3124 rt.send( rt.make_bool(Result));
3125
3126 }
3127
3128 // wxComboBox::CanCut
wxComboBox_CanCut(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3129 void wxComboBox_CanCut(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3130 {
3131 ErlNifEnv *env = Ecmd.env;
3132 ERL_NIF_TERM * argv = Ecmd.args;
3133 wxComboBox *This;
3134 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3135 if(!This) throw wxe_badarg("This");
3136 bool Result = This->CanCut();
3137 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3138 rt.send( rt.make_bool(Result));
3139
3140 }
3141
3142 // wxComboBox::CanPaste
wxComboBox_CanPaste(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3143 void wxComboBox_CanPaste(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3144 {
3145 ErlNifEnv *env = Ecmd.env;
3146 ERL_NIF_TERM * argv = Ecmd.args;
3147 wxComboBox *This;
3148 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3149 if(!This) throw wxe_badarg("This");
3150 bool Result = This->CanPaste();
3151 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3152 rt.send( rt.make_bool(Result));
3153
3154 }
3155
3156 // wxComboBox::CanRedo
wxComboBox_CanRedo(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3157 void wxComboBox_CanRedo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3158 {
3159 ErlNifEnv *env = Ecmd.env;
3160 ERL_NIF_TERM * argv = Ecmd.args;
3161 wxComboBox *This;
3162 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3163 if(!This) throw wxe_badarg("This");
3164 bool Result = This->CanRedo();
3165 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3166 rt.send( rt.make_bool(Result));
3167
3168 }
3169
3170 // wxComboBox::CanUndo
wxComboBox_CanUndo(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3171 void wxComboBox_CanUndo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3172 {
3173 ErlNifEnv *env = Ecmd.env;
3174 ERL_NIF_TERM * argv = Ecmd.args;
3175 wxComboBox *This;
3176 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3177 if(!This) throw wxe_badarg("This");
3178 bool Result = This->CanUndo();
3179 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3180 rt.send( rt.make_bool(Result));
3181
3182 }
3183
3184 // wxComboBox::Copy
wxComboBox_Copy(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3185 void wxComboBox_Copy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3186 {
3187 ErlNifEnv *env = Ecmd.env;
3188 ERL_NIF_TERM * argv = Ecmd.args;
3189 wxComboBox *This;
3190 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3191 if(!This) throw wxe_badarg("This");
3192 This->Copy();
3193
3194 }
3195
3196 // wxComboBox::Cut
wxComboBox_Cut(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3197 void wxComboBox_Cut(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3198 {
3199 ErlNifEnv *env = Ecmd.env;
3200 ERL_NIF_TERM * argv = Ecmd.args;
3201 wxComboBox *This;
3202 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3203 if(!This) throw wxe_badarg("This");
3204 This->Cut();
3205
3206 }
3207
3208 // wxComboBox::GetInsertionPoint
wxComboBox_GetInsertionPoint(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3209 void wxComboBox_GetInsertionPoint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3210 {
3211 ErlNifEnv *env = Ecmd.env;
3212 ERL_NIF_TERM * argv = Ecmd.args;
3213 wxComboBox *This;
3214 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3215 if(!This) throw wxe_badarg("This");
3216 long Result = This->GetInsertionPoint();
3217 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3218 rt.send( rt.make_int(Result));
3219
3220 }
3221
3222 // wxComboBox::GetLastPosition
wxComboBox_GetLastPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3223 void wxComboBox_GetLastPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3224 {
3225 ErlNifEnv *env = Ecmd.env;
3226 ERL_NIF_TERM * argv = Ecmd.args;
3227 wxComboBox *This;
3228 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3229 if(!This) throw wxe_badarg("This");
3230 wxTextPos Result = This->GetLastPosition();
3231 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3232 rt.send( rt.make_int(Result));
3233
3234 }
3235
3236 // wxComboBox::GetValue
wxComboBox_GetValue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3237 void wxComboBox_GetValue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3238 {
3239 ErlNifEnv *env = Ecmd.env;
3240 ERL_NIF_TERM * argv = Ecmd.args;
3241 wxComboBox *This;
3242 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3243 if(!This) throw wxe_badarg("This");
3244 wxString Result = This->GetValue();
3245 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3246 rt.send( rt.make(Result));
3247
3248 }
3249
3250 // wxComboBox::Paste
wxComboBox_Paste(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3251 void wxComboBox_Paste(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3252 {
3253 ErlNifEnv *env = Ecmd.env;
3254 ERL_NIF_TERM * argv = Ecmd.args;
3255 wxComboBox *This;
3256 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3257 if(!This) throw wxe_badarg("This");
3258 This->Paste();
3259
3260 }
3261
3262 // wxComboBox::Redo
wxComboBox_Redo(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3263 void wxComboBox_Redo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3264 {
3265 ErlNifEnv *env = Ecmd.env;
3266 ERL_NIF_TERM * argv = Ecmd.args;
3267 wxComboBox *This;
3268 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3269 if(!This) throw wxe_badarg("This");
3270 This->Redo();
3271
3272 }
3273
3274 // wxComboBox::Replace
wxComboBox_Replace(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3275 void wxComboBox_Replace(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3276 {
3277 ErlNifEnv *env = Ecmd.env;
3278 ERL_NIF_TERM * argv = Ecmd.args;
3279 wxComboBox *This;
3280 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3281 long from;
3282 if(!enif_get_long(env, argv[1], &from)) Badarg("from");
3283 long to;
3284 if(!enif_get_long(env, argv[2], &to)) Badarg("to");
3285 ErlNifBinary value_bin;
3286 wxString value;
3287 if(!enif_inspect_binary(env, argv[3], &value_bin)) Badarg("value");
3288 value = wxString(value_bin.data, wxConvUTF8, value_bin.size);
3289 if(!This) throw wxe_badarg("This");
3290 This->Replace(from,to,value);
3291
3292 }
3293
3294 // wxComboBox::Remove
wxComboBox_Remove(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3295 void wxComboBox_Remove(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3296 {
3297 ErlNifEnv *env = Ecmd.env;
3298 ERL_NIF_TERM * argv = Ecmd.args;
3299 wxComboBox *This;
3300 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3301 long from;
3302 if(!enif_get_long(env, argv[1], &from)) Badarg("from");
3303 long to;
3304 if(!enif_get_long(env, argv[2], &to)) Badarg("to");
3305 if(!This) throw wxe_badarg("This");
3306 This->Remove(from,to);
3307
3308 }
3309
3310 // wxComboBox::SetInsertionPoint
wxComboBox_SetInsertionPoint(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3311 void wxComboBox_SetInsertionPoint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3312 {
3313 ErlNifEnv *env = Ecmd.env;
3314 ERL_NIF_TERM * argv = Ecmd.args;
3315 wxComboBox *This;
3316 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3317 long pos;
3318 if(!enif_get_long(env, argv[1], &pos)) Badarg("pos");
3319 if(!This) throw wxe_badarg("This");
3320 This->SetInsertionPoint(pos);
3321
3322 }
3323
3324 // wxComboBox::SetInsertionPointEnd
wxComboBox_SetInsertionPointEnd(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3325 void wxComboBox_SetInsertionPointEnd(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3326 {
3327 ErlNifEnv *env = Ecmd.env;
3328 ERL_NIF_TERM * argv = Ecmd.args;
3329 wxComboBox *This;
3330 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3331 if(!This) throw wxe_badarg("This");
3332 This->SetInsertionPointEnd();
3333
3334 }
3335
3336 // wxComboBox::SetSelection
wxComboBox_SetSelection_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3337 void wxComboBox_SetSelection_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3338 {
3339 ErlNifEnv *env = Ecmd.env;
3340 ERL_NIF_TERM * argv = Ecmd.args;
3341 wxComboBox *This;
3342 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3343 long from;
3344 if(!enif_get_long(env, argv[1], &from)) Badarg("from");
3345 long to;
3346 if(!enif_get_long(env, argv[2], &to)) Badarg("to");
3347 if(!This) throw wxe_badarg("This");
3348 This->SetSelection(from,to);
3349
3350 }
3351
3352 // wxComboBox::SetSelection
wxComboBox_SetSelection_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3353 void wxComboBox_SetSelection_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3354 {
3355 ErlNifEnv *env = Ecmd.env;
3356 ERL_NIF_TERM * argv = Ecmd.args;
3357 wxComboBox *This;
3358 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3359 int n;
3360 if(!enif_get_int(env, argv[1], &n)) Badarg("n"); // int
3361 if(!This) throw wxe_badarg("This");
3362 This->SetSelection(n);
3363
3364 }
3365
3366 // wxComboBox::SetValue
wxComboBox_SetValue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3367 void wxComboBox_SetValue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3368 {
3369 ErlNifEnv *env = Ecmd.env;
3370 ERL_NIF_TERM * argv = Ecmd.args;
3371 wxComboBox *This;
3372 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3373 ErlNifBinary text_bin;
3374 wxString text;
3375 if(!enif_inspect_binary(env, argv[1], &text_bin)) Badarg("text");
3376 text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
3377 if(!This) throw wxe_badarg("This");
3378 This->SetValue(text);
3379
3380 }
3381
3382 // wxComboBox::Undo
wxComboBox_Undo(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3383 void wxComboBox_Undo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3384 {
3385 ErlNifEnv *env = Ecmd.env;
3386 ERL_NIF_TERM * argv = Ecmd.args;
3387 wxComboBox *This;
3388 This = (wxComboBox *) memenv->getPtr(env, argv[0], "This");
3389 if(!This) throw wxe_badarg("This");
3390 This->Undo();
3391
3392 }
3393
3394 // wxCommandEvent::GetClientObject
wxCommandEvent_getClientData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3395 void wxCommandEvent_getClientData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3396 {
3397 ErlNifEnv *env = Ecmd.env;
3398 ERL_NIF_TERM * argv = Ecmd.args;
3399 wxCommandEvent *This;
3400 This = (wxCommandEvent *) memenv->getPtr(env, argv[0], "This");
3401 if(!This) throw wxe_badarg("This");
3402 wxeErlTerm * Result = (wxeErlTerm*)This->GetClientObject();
3403 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3404 rt.send( rt.make_ext2term(Result));
3405
3406 }
3407
3408 // wxCommandEvent::GetExtraLong
wxCommandEvent_GetExtraLong(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3409 void wxCommandEvent_GetExtraLong(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3410 {
3411 ErlNifEnv *env = Ecmd.env;
3412 ERL_NIF_TERM * argv = Ecmd.args;
3413 wxCommandEvent *This;
3414 This = (wxCommandEvent *) memenv->getPtr(env, argv[0], "This");
3415 if(!This) throw wxe_badarg("This");
3416 long Result = This->GetExtraLong();
3417 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3418 rt.send( rt.make_int(Result));
3419
3420 }
3421
3422 // wxCommandEvent::GetInt
wxCommandEvent_GetInt(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3423 void wxCommandEvent_GetInt(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3424 {
3425 ErlNifEnv *env = Ecmd.env;
3426 ERL_NIF_TERM * argv = Ecmd.args;
3427 wxCommandEvent *This;
3428 This = (wxCommandEvent *) memenv->getPtr(env, argv[0], "This");
3429 if(!This) throw wxe_badarg("This");
3430 int Result = This->GetInt();
3431 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3432 rt.send( rt.make_int(Result));
3433
3434 }
3435
3436 // wxCommandEvent::GetSelection
wxCommandEvent_GetSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3437 void wxCommandEvent_GetSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3438 {
3439 ErlNifEnv *env = Ecmd.env;
3440 ERL_NIF_TERM * argv = Ecmd.args;
3441 wxCommandEvent *This;
3442 This = (wxCommandEvent *) memenv->getPtr(env, argv[0], "This");
3443 if(!This) throw wxe_badarg("This");
3444 int Result = This->GetSelection();
3445 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3446 rt.send( rt.make_int(Result));
3447
3448 }
3449
3450 // wxCommandEvent::GetString
wxCommandEvent_GetString(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3451 void wxCommandEvent_GetString(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3452 {
3453 ErlNifEnv *env = Ecmd.env;
3454 ERL_NIF_TERM * argv = Ecmd.args;
3455 wxCommandEvent *This;
3456 This = (wxCommandEvent *) memenv->getPtr(env, argv[0], "This");
3457 if(!This) throw wxe_badarg("This");
3458 wxString Result = This->GetString();
3459 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3460 rt.send( rt.make(Result));
3461
3462 }
3463
3464 // wxCommandEvent::IsChecked
wxCommandEvent_IsChecked(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3465 void wxCommandEvent_IsChecked(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3466 {
3467 ErlNifEnv *env = Ecmd.env;
3468 ERL_NIF_TERM * argv = Ecmd.args;
3469 wxCommandEvent *This;
3470 This = (wxCommandEvent *) memenv->getPtr(env, argv[0], "This");
3471 if(!This) throw wxe_badarg("This");
3472 bool Result = This->IsChecked();
3473 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3474 rt.send( rt.make_bool(Result));
3475
3476 }
3477
3478 // wxCommandEvent::IsSelection
wxCommandEvent_IsSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3479 void wxCommandEvent_IsSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3480 {
3481 ErlNifEnv *env = Ecmd.env;
3482 ERL_NIF_TERM * argv = Ecmd.args;
3483 wxCommandEvent *This;
3484 This = (wxCommandEvent *) memenv->getPtr(env, argv[0], "This");
3485 if(!This) throw wxe_badarg("This");
3486 bool Result = This->IsSelection();
3487 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3488 rt.send( rt.make_bool(Result));
3489
3490 }
3491
3492 // wxCommandEvent::SetInt
wxCommandEvent_SetInt(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3493 void wxCommandEvent_SetInt(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3494 {
3495 ErlNifEnv *env = Ecmd.env;
3496 ERL_NIF_TERM * argv = Ecmd.args;
3497 wxCommandEvent *This;
3498 This = (wxCommandEvent *) memenv->getPtr(env, argv[0], "This");
3499 int intCommand;
3500 if(!enif_get_int(env, argv[1], &intCommand)) Badarg("intCommand"); // int
3501 if(!This) throw wxe_badarg("This");
3502 This->SetInt(intCommand);
3503
3504 }
3505
3506 // wxCommandEvent::SetString
wxCommandEvent_SetString(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3507 void wxCommandEvent_SetString(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3508 {
3509 ErlNifEnv *env = Ecmd.env;
3510 ERL_NIF_TERM * argv = Ecmd.args;
3511 wxCommandEvent *This;
3512 This = (wxCommandEvent *) memenv->getPtr(env, argv[0], "This");
3513 ErlNifBinary string_bin;
3514 wxString string;
3515 if(!enif_inspect_binary(env, argv[1], &string_bin)) Badarg("string");
3516 string = wxString(string_bin.data, wxConvUTF8, string_bin.size);
3517 if(!This) throw wxe_badarg("This");
3518 This->SetString(string);
3519
3520 }
3521
3522 // wxContextMenuEvent::GetPosition
wxContextMenuEvent_GetPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3523 void wxContextMenuEvent_GetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3524 {
3525 ErlNifEnv *env = Ecmd.env;
3526 ERL_NIF_TERM * argv = Ecmd.args;
3527 wxContextMenuEvent *This;
3528 This = (wxContextMenuEvent *) memenv->getPtr(env, argv[0], "This");
3529 if(!This) throw wxe_badarg("This");
3530 const wxPoint * Result = &This->GetPosition();
3531 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3532 rt.send( rt.make((*Result)));
3533
3534 }
3535
3536 // wxContextMenuEvent::SetPosition
wxContextMenuEvent_SetPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3537 void wxContextMenuEvent_SetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3538 {
3539 ErlNifEnv *env = Ecmd.env;
3540 ERL_NIF_TERM * argv = Ecmd.args;
3541 wxContextMenuEvent *This;
3542 This = (wxContextMenuEvent *) memenv->getPtr(env, argv[0], "This");
3543 const ERL_NIF_TERM *point_t;
3544 int point_sz;
3545 if(!enif_get_tuple(env, argv[1], &point_sz, &point_t)) Badarg("point");
3546 int pointX;
3547 if(!enif_get_int(env, point_t[0], &pointX)) Badarg("point");
3548 int pointY;
3549 if(!enif_get_int(env, point_t[1], &pointY)) Badarg("point");
3550 wxPoint point = wxPoint(pointX,pointY);
3551 if(!This) throw wxe_badarg("This");
3552 This->SetPosition(point);
3553
3554 }
3555
3556 // wxControl::GetLabel
wxControl_GetLabel(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3557 void wxControl_GetLabel(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3558 {
3559 ErlNifEnv *env = Ecmd.env;
3560 ERL_NIF_TERM * argv = Ecmd.args;
3561 wxControl *This;
3562 This = (wxControl *) memenv->getPtr(env, argv[0], "This");
3563 if(!This) throw wxe_badarg("This");
3564 wxString Result = This->GetLabel();
3565 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3566 rt.send( rt.make(Result));
3567
3568 }
3569
3570 // wxControl::SetLabel
wxControl_SetLabel(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3571 void wxControl_SetLabel(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3572 {
3573 ErlNifEnv *env = Ecmd.env;
3574 ERL_NIF_TERM * argv = Ecmd.args;
3575 wxControl *This;
3576 This = (wxControl *) memenv->getPtr(env, argv[0], "This");
3577 ErlNifBinary label_bin;
3578 wxString label;
3579 if(!enif_inspect_binary(env, argv[1], &label_bin)) Badarg("label");
3580 label = wxString(label_bin.data, wxConvUTF8, label_bin.size);
3581 if(!This) throw wxe_badarg("This");
3582 This->SetLabel(label);
3583
3584 }
3585
3586 // wxControlWithItems::Append
wxControlWithItems_Append_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3587 void wxControlWithItems_Append_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3588 {
3589 ErlNifEnv *env = Ecmd.env;
3590 ERL_NIF_TERM * argv = Ecmd.args;
3591 wxControlWithItems *This;
3592 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3593 ErlNifBinary item_bin;
3594 wxString item;
3595 if(!enif_inspect_binary(env, argv[1], &item_bin)) Badarg("item");
3596 item = wxString(item_bin.data, wxConvUTF8, item_bin.size);
3597 if(!This) throw wxe_badarg("This");
3598 int Result = This->Append(item);
3599 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3600 rt.send( rt.make_int(Result));
3601
3602 }
3603
3604 // wxControlWithItems::Append
wxControlWithItems_Append_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3605 void wxControlWithItems_Append_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3606 {
3607 ErlNifEnv *env = Ecmd.env;
3608 ERL_NIF_TERM * argv = Ecmd.args;
3609 wxControlWithItems *This;
3610 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3611 ErlNifBinary item_bin;
3612 wxString item;
3613 if(!enif_inspect_binary(env, argv[1], &item_bin)) Badarg("item");
3614 item = wxString(item_bin.data, wxConvUTF8, item_bin.size);
3615 wxeErlTerm * clientData;
3616 clientData = new wxeErlTerm(argv[2]);
3617 if(!This) throw wxe_badarg("This");
3618 int Result = This->Append(item,clientData);
3619 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3620 rt.send( rt.make_int(Result));
3621
3622 }
3623
3624 // wxControlWithItems::Append
wxControlWithItems_appendStrings_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3625 void wxControlWithItems_appendStrings_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3626 {
3627 ErlNifEnv *env = Ecmd.env;
3628 ERL_NIF_TERM * argv = Ecmd.args;
3629 wxControlWithItems *This;
3630 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3631 ERL_NIF_TERM itemsHead, itemsTail;
3632 ErlNifBinary items_bin;
3633 wxArrayString items;
3634 itemsTail = argv[1];
3635 while(!enif_is_empty_list(env, itemsTail)) {
3636 if(!enif_get_list_cell(env, itemsTail, &itemsHead, &itemsTail)) Badarg("items");
3637 if(!enif_inspect_binary(env, itemsHead, &items_bin)) Badarg("items");
3638 items.Add(wxString(items_bin.data, wxConvUTF8, items_bin.size));
3639 };
3640 if(!This) throw wxe_badarg("This");
3641 int Result = This->Append(items);
3642 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3643 rt.send( rt.make_int(Result));
3644
3645 }
3646
3647 // wxControlWithItems::Append
wxControlWithItems_appendStrings_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3648 void wxControlWithItems_appendStrings_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3649 {
3650 ErlNifEnv *env = Ecmd.env;
3651 ERL_NIF_TERM * argv = Ecmd.args;
3652 wxControlWithItems *This;
3653 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3654 ERL_NIF_TERM itemsHead, itemsTail;
3655 ErlNifBinary items_bin;
3656 wxArrayString items;
3657 itemsTail = argv[1];
3658 while(!enif_is_empty_list(env, itemsTail)) {
3659 if(!enif_get_list_cell(env, itemsTail, &itemsHead, &itemsTail)) Badarg("items");
3660 if(!enif_inspect_binary(env, itemsHead, &items_bin)) Badarg("items");
3661 items.Add(wxString(items_bin.data, wxConvUTF8, items_bin.size));
3662 };
3663 unsigned int clientsDataLen;
3664 if(!enif_get_list_length(env, argv[2], &clientsDataLen)) Badarg("clientsData");
3665 std::vector <wxeErlTerm *> clientsData;
3666 ERL_NIF_TERM clientsDataHead, clientsDataTail;
3667 clientsDataTail = argv[2];
3668 while(!enif_is_empty_list(env, clientsDataTail)) {
3669 if(!enif_get_list_cell(env, clientsDataTail, &clientsDataHead, &clientsDataTail)) Badarg("clientsData");
3670 clientsData.push_back(new wxeErlTerm(argv[2]));
3671 };
3672 if(!This) throw wxe_badarg("This");
3673 int Result = This->Append(items,(wxClientData **) clientsData.data());
3674 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3675 rt.send( rt.make_int(Result));
3676
3677 }
3678
3679 // wxControlWithItems::Clear
wxControlWithItems_Clear(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3680 void wxControlWithItems_Clear(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3681 {
3682 ErlNifEnv *env = Ecmd.env;
3683 ERL_NIF_TERM * argv = Ecmd.args;
3684 wxControlWithItems *This;
3685 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3686 if(!This) throw wxe_badarg("This");
3687 This->Clear();
3688
3689 }
3690
3691 // wxControlWithItems::Delete
wxControlWithItems_Delete(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3692 void wxControlWithItems_Delete(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3693 {
3694 ErlNifEnv *env = Ecmd.env;
3695 ERL_NIF_TERM * argv = Ecmd.args;
3696 wxControlWithItems *This;
3697 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3698 unsigned int n;
3699 if(!enif_get_uint(env, argv[1], &n)) Badarg("n");
3700 if(!This) throw wxe_badarg("This");
3701 This->Delete(n);
3702
3703 }
3704
3705 // wxControlWithItems::FindString
wxControlWithItems_FindString(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3706 void wxControlWithItems_FindString(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3707 {
3708 bool bCase=false;
3709 ErlNifEnv *env = Ecmd.env;
3710 ERL_NIF_TERM * argv = Ecmd.args;
3711 wxControlWithItems *This;
3712 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3713 ErlNifBinary string_bin;
3714 wxString string;
3715 if(!enif_inspect_binary(env, argv[1], &string_bin)) Badarg("string");
3716 string = wxString(string_bin.data, wxConvUTF8, string_bin.size);
3717 ERL_NIF_TERM lstHead, lstTail;
3718 lstTail = argv[2];
3719 if(!enif_is_list(env, lstTail)) Badarg("Options");
3720 const ERL_NIF_TERM *tpl;
3721 int tpl_sz;
3722 while(!enif_is_empty_list(env, lstTail)) {
3723 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3724 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3725 if(enif_is_identical(tpl[0], enif_make_atom(env, "bCase"))) {
3726 bCase = enif_is_identical(tpl[1], WXE_ATOM_true);
3727 } else Badarg("Options");
3728 };
3729 if(!This) throw wxe_badarg("This");
3730 int Result = This->FindString(string,bCase);
3731 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3732 rt.send( rt.make_int(Result));
3733
3734 }
3735
3736 // wxControlWithItems::GetClientObject
wxControlWithItems_getClientData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3737 void wxControlWithItems_getClientData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3738 {
3739 ErlNifEnv *env = Ecmd.env;
3740 ERL_NIF_TERM * argv = Ecmd.args;
3741 wxControlWithItems *This;
3742 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3743 unsigned int n;
3744 if(!enif_get_uint(env, argv[1], &n)) Badarg("n");
3745 if(!This) throw wxe_badarg("This");
3746 wxeErlTerm * Result = (wxeErlTerm*)This->GetClientObject(n);
3747 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3748 rt.send( rt.make_ext2term(Result));
3749
3750 }
3751
3752 // wxControlWithItems::SetClientObject
wxControlWithItems_setClientData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3753 void wxControlWithItems_setClientData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3754 {
3755 ErlNifEnv *env = Ecmd.env;
3756 ERL_NIF_TERM * argv = Ecmd.args;
3757 wxControlWithItems *This;
3758 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3759 unsigned int n;
3760 if(!enif_get_uint(env, argv[1], &n)) Badarg("n");
3761 wxeErlTerm * data;
3762 data = new wxeErlTerm(argv[2]);
3763 if(!This) throw wxe_badarg("This");
3764 This->SetClientObject(n,data);
3765
3766 }
3767
3768 // wxControlWithItems::GetCount
wxControlWithItems_GetCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3769 void wxControlWithItems_GetCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3770 {
3771 ErlNifEnv *env = Ecmd.env;
3772 ERL_NIF_TERM * argv = Ecmd.args;
3773 wxControlWithItems *This;
3774 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3775 if(!This) throw wxe_badarg("This");
3776 int Result = This->GetCount();
3777 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3778 rt.send( rt.make_uint(Result));
3779
3780 }
3781
3782 // wxControlWithItems::GetSelection
wxControlWithItems_GetSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3783 void wxControlWithItems_GetSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3784 {
3785 ErlNifEnv *env = Ecmd.env;
3786 ERL_NIF_TERM * argv = Ecmd.args;
3787 wxControlWithItems *This;
3788 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3789 if(!This) throw wxe_badarg("This");
3790 int Result = This->GetSelection();
3791 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3792 rt.send( rt.make_int(Result));
3793
3794 }
3795
3796 // wxControlWithItems::GetString
wxControlWithItems_GetString(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3797 void wxControlWithItems_GetString(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3798 {
3799 ErlNifEnv *env = Ecmd.env;
3800 ERL_NIF_TERM * argv = Ecmd.args;
3801 wxControlWithItems *This;
3802 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3803 unsigned int n;
3804 if(!enif_get_uint(env, argv[1], &n)) Badarg("n");
3805 if(!This) throw wxe_badarg("This");
3806 wxString Result = This->GetString(n);
3807 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3808 rt.send( rt.make(Result));
3809
3810 }
3811
3812 // wxControlWithItems::GetStringSelection
wxControlWithItems_GetStringSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3813 void wxControlWithItems_GetStringSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3814 {
3815 ErlNifEnv *env = Ecmd.env;
3816 ERL_NIF_TERM * argv = Ecmd.args;
3817 wxControlWithItems *This;
3818 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3819 if(!This) throw wxe_badarg("This");
3820 wxString Result = This->GetStringSelection();
3821 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3822 rt.send( rt.make(Result));
3823
3824 }
3825
3826 // wxControlWithItems::Insert
wxControlWithItems_Insert_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3827 void wxControlWithItems_Insert_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3828 {
3829 ErlNifEnv *env = Ecmd.env;
3830 ERL_NIF_TERM * argv = Ecmd.args;
3831 wxControlWithItems *This;
3832 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3833 ErlNifBinary item_bin;
3834 wxString item;
3835 if(!enif_inspect_binary(env, argv[1], &item_bin)) Badarg("item");
3836 item = wxString(item_bin.data, wxConvUTF8, item_bin.size);
3837 unsigned int pos;
3838 if(!enif_get_uint(env, argv[2], &pos)) Badarg("pos");
3839 if(!This) throw wxe_badarg("This");
3840 int Result = This->Insert(item,pos);
3841 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3842 rt.send( rt.make_int(Result));
3843
3844 }
3845
3846 // wxControlWithItems::Insert
wxControlWithItems_Insert_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3847 void wxControlWithItems_Insert_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3848 {
3849 ErlNifEnv *env = Ecmd.env;
3850 ERL_NIF_TERM * argv = Ecmd.args;
3851 wxControlWithItems *This;
3852 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3853 ErlNifBinary item_bin;
3854 wxString item;
3855 if(!enif_inspect_binary(env, argv[1], &item_bin)) Badarg("item");
3856 item = wxString(item_bin.data, wxConvUTF8, item_bin.size);
3857 unsigned int pos;
3858 if(!enif_get_uint(env, argv[2], &pos)) Badarg("pos");
3859 wxeErlTerm * clientData;
3860 clientData = new wxeErlTerm(argv[3]);
3861 if(!This) throw wxe_badarg("This");
3862 int Result = This->Insert(item,pos,clientData);
3863 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3864 rt.send( rt.make_int(Result));
3865
3866 }
3867
3868 // wxControlWithItems::Insert
wxControlWithItems_insertStrings_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3869 void wxControlWithItems_insertStrings_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3870 {
3871 ErlNifEnv *env = Ecmd.env;
3872 ERL_NIF_TERM * argv = Ecmd.args;
3873 wxControlWithItems *This;
3874 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3875 ERL_NIF_TERM itemsHead, itemsTail;
3876 ErlNifBinary items_bin;
3877 wxArrayString items;
3878 itemsTail = argv[1];
3879 while(!enif_is_empty_list(env, itemsTail)) {
3880 if(!enif_get_list_cell(env, itemsTail, &itemsHead, &itemsTail)) Badarg("items");
3881 if(!enif_inspect_binary(env, itemsHead, &items_bin)) Badarg("items");
3882 items.Add(wxString(items_bin.data, wxConvUTF8, items_bin.size));
3883 };
3884 unsigned int pos;
3885 if(!enif_get_uint(env, argv[2], &pos)) Badarg("pos");
3886 if(!This) throw wxe_badarg("This");
3887 int Result = This->Insert(items,pos);
3888 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3889 rt.send( rt.make_int(Result));
3890
3891 }
3892
3893 // wxControlWithItems::Insert
wxControlWithItems_insertStrings_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3894 void wxControlWithItems_insertStrings_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3895 {
3896 ErlNifEnv *env = Ecmd.env;
3897 ERL_NIF_TERM * argv = Ecmd.args;
3898 wxControlWithItems *This;
3899 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3900 ERL_NIF_TERM itemsHead, itemsTail;
3901 ErlNifBinary items_bin;
3902 wxArrayString items;
3903 itemsTail = argv[1];
3904 while(!enif_is_empty_list(env, itemsTail)) {
3905 if(!enif_get_list_cell(env, itemsTail, &itemsHead, &itemsTail)) Badarg("items");
3906 if(!enif_inspect_binary(env, itemsHead, &items_bin)) Badarg("items");
3907 items.Add(wxString(items_bin.data, wxConvUTF8, items_bin.size));
3908 };
3909 unsigned int pos;
3910 if(!enif_get_uint(env, argv[2], &pos)) Badarg("pos");
3911 unsigned int clientsDataLen;
3912 if(!enif_get_list_length(env, argv[3], &clientsDataLen)) Badarg("clientsData");
3913 std::vector <wxeErlTerm *> clientsData;
3914 ERL_NIF_TERM clientsDataHead, clientsDataTail;
3915 clientsDataTail = argv[3];
3916 while(!enif_is_empty_list(env, clientsDataTail)) {
3917 if(!enif_get_list_cell(env, clientsDataTail, &clientsDataHead, &clientsDataTail)) Badarg("clientsData");
3918 clientsData.push_back(new wxeErlTerm(argv[3]));
3919 };
3920 if(!This) throw wxe_badarg("This");
3921 int Result = This->Insert(items,pos,(wxClientData **) clientsData.data());
3922 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3923 rt.send( rt.make_int(Result));
3924
3925 }
3926
3927 // wxControlWithItems::IsEmpty
wxControlWithItems_IsEmpty(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3928 void wxControlWithItems_IsEmpty(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3929 {
3930 ErlNifEnv *env = Ecmd.env;
3931 ERL_NIF_TERM * argv = Ecmd.args;
3932 wxControlWithItems *This;
3933 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3934 if(!This) throw wxe_badarg("This");
3935 bool Result = This->IsEmpty();
3936 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3937 rt.send( rt.make_bool(Result));
3938
3939 }
3940
3941 // wxControlWithItems::Select
wxControlWithItems_Select(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3942 void wxControlWithItems_Select(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3943 {
3944 ErlNifEnv *env = Ecmd.env;
3945 ERL_NIF_TERM * argv = Ecmd.args;
3946 wxControlWithItems *This;
3947 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3948 int n;
3949 if(!enif_get_int(env, argv[1], &n)) Badarg("n"); // int
3950 if(!This) throw wxe_badarg("This");
3951 This->Select(n);
3952
3953 }
3954
3955 // wxControlWithItems::SetSelection
wxControlWithItems_SetSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3956 void wxControlWithItems_SetSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3957 {
3958 ErlNifEnv *env = Ecmd.env;
3959 ERL_NIF_TERM * argv = Ecmd.args;
3960 wxControlWithItems *This;
3961 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3962 int n;
3963 if(!enif_get_int(env, argv[1], &n)) Badarg("n"); // int
3964 if(!This) throw wxe_badarg("This");
3965 This->SetSelection(n);
3966
3967 }
3968
3969 // wxControlWithItems::SetString
wxControlWithItems_SetString(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3970 void wxControlWithItems_SetString(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3971 {
3972 ErlNifEnv *env = Ecmd.env;
3973 ERL_NIF_TERM * argv = Ecmd.args;
3974 wxControlWithItems *This;
3975 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3976 unsigned int n;
3977 if(!enif_get_uint(env, argv[1], &n)) Badarg("n");
3978 ErlNifBinary string_bin;
3979 wxString string;
3980 if(!enif_inspect_binary(env, argv[2], &string_bin)) Badarg("string");
3981 string = wxString(string_bin.data, wxConvUTF8, string_bin.size);
3982 if(!This) throw wxe_badarg("This");
3983 This->SetString(n,string);
3984
3985 }
3986
3987 // wxControlWithItems::SetStringSelection
wxControlWithItems_SetStringSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3988 void wxControlWithItems_SetStringSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3989 {
3990 ErlNifEnv *env = Ecmd.env;
3991 ERL_NIF_TERM * argv = Ecmd.args;
3992 wxControlWithItems *This;
3993 This = (wxControlWithItems *) memenv->getPtr(env, argv[0], "This");
3994 ErlNifBinary string_bin;
3995 wxString string;
3996 if(!enif_inspect_binary(env, argv[1], &string_bin)) Badarg("string");
3997 string = wxString(string_bin.data, wxConvUTF8, string_bin.size);
3998 if(!This) throw wxe_badarg("This");
3999 bool Result = This->SetStringSelection(string);
4000 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4001 rt.send( rt.make_bool(Result));
4002
4003 }
4004
4005 // wxCursor::wxCursor
wxCursor_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4006 void wxCursor_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4007 {
4008 wxCursor * Result = new EwxCursor();
4009 app->newPtr((void *) Result, 1, memenv);
4010 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4011 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCursor"));
4012
4013 }
4014
4015 // wxCursor::wxCursor
wxCursor_new_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4016 void wxCursor_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4017 {
4018 wxBitmapType type=wxCURSOR_DEFAULT_TYPE;
4019 int hotSpotX=0;
4020 int hotSpotY=0;
4021 ErlNifEnv *env = Ecmd.env;
4022 ERL_NIF_TERM * argv = Ecmd.args;
4023 ErlNifBinary cursorName_bin;
4024 wxString cursorName;
4025 if(!enif_inspect_binary(env, argv[0], &cursorName_bin)) Badarg("cursorName");
4026 cursorName = wxString(cursorName_bin.data, wxConvUTF8, cursorName_bin.size);
4027 ERL_NIF_TERM lstHead, lstTail;
4028 lstTail = argv[1];
4029 if(!enif_is_list(env, lstTail)) Badarg("Options");
4030 const ERL_NIF_TERM *tpl;
4031 int tpl_sz;
4032 while(!enif_is_empty_list(env, lstTail)) {
4033 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4034 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4035 if(enif_is_identical(tpl[0], enif_make_atom(env, "type"))) {
4036 if(!enif_get_int(env, tpl[1], (int *) &type)) Badarg("type"); // enum
4037 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "hotSpotX"))) {
4038 if(!enif_get_int(env, tpl[1], &hotSpotX)) Badarg("hotSpotX"); // int
4039 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "hotSpotY"))) {
4040 if(!enif_get_int(env, tpl[1], &hotSpotY)) Badarg("hotSpotY"); // int
4041 } else Badarg("Options");
4042 };
4043 wxCursor * Result = new EwxCursor(cursorName,type,hotSpotX,hotSpotY);
4044 app->newPtr((void *) Result, 1, memenv);
4045 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4046 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCursor"));
4047
4048 }
4049
4050 // wxCursor::wxCursor
wxCursor_new_1_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4051 void wxCursor_new_1_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4052 {
4053 ErlNifEnv *env = Ecmd.env;
4054 ERL_NIF_TERM * argv = Ecmd.args;
4055 wxStockCursor cursorId;
4056 if(!enif_get_int(env, argv[0], (int *) &cursorId)) Badarg("cursorId"); // enum
4057 wxCursor * Result = new EwxCursor(cursorId);
4058 app->newPtr((void *) Result, 1, memenv);
4059 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4060 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCursor"));
4061
4062 }
4063
4064 // wxCursor::wxCursor
wxCursor_new_1_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4065 void wxCursor_new_1_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4066 {
4067 ErlNifEnv *env = Ecmd.env;
4068 ERL_NIF_TERM * argv = Ecmd.args;
4069 ERL_NIF_TERM image_type;
4070 void * image = memenv->getPtr(env, argv[0], "image", &image_type);
4071 wxCursor * Result;
4072 if(enif_is_identical(image_type, WXE_ATOM_wxImage))
4073 Result = new EwxCursor(* static_cast<wxImage*> (image));
4074 else if(enif_is_identical(image_type, WXE_ATOM_wxCursor))
4075 Result = new EwxCursor(* static_cast<wxCursor*> (image));
4076 else throw wxe_badarg("image");
4077 app->newPtr((void *) Result, 1, memenv);
4078 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4079 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxCursor"));
4080
4081 }
4082
4083 // wxCursor::IsOk
wxCursor_IsOk(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4084 void wxCursor_IsOk(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4085 {
4086 ErlNifEnv *env = Ecmd.env;
4087 ERL_NIF_TERM * argv = Ecmd.args;
4088 wxCursor *This;
4089 This = (wxCursor *) memenv->getPtr(env, argv[0], "This");
4090 if(!This) throw wxe_badarg("This");
4091 bool Result = This->IsOk();
4092 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4093 rt.send( rt.make_bool(Result));
4094
4095 }
4096
4097 // wxDC::Blit
wxDC_Blit(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4098 void wxDC_Blit(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4099 {
4100 wxRasterOperationMode rop=wxCOPY;
4101 bool useMask=false;
4102 wxPoint srcPtMask= wxDefaultPosition;
4103 ErlNifEnv *env = Ecmd.env;
4104 ERL_NIF_TERM * argv = Ecmd.args;
4105 wxDC *This;
4106 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4107 const ERL_NIF_TERM *dest_t;
4108 int dest_sz;
4109 if(!enif_get_tuple(env, argv[1], &dest_sz, &dest_t)) Badarg("dest");
4110 int destX;
4111 if(!enif_get_int(env, dest_t[0], &destX)) Badarg("dest");
4112 int destY;
4113 if(!enif_get_int(env, dest_t[1], &destY)) Badarg("dest");
4114 wxPoint dest = wxPoint(destX,destY);
4115 const ERL_NIF_TERM *size_t;
4116 int size_sz;
4117 if(!enif_get_tuple(env, argv[2], &size_sz, &size_t)) Badarg("size");
4118 int sizeW;
4119 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
4120 int sizeH;
4121 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
4122 wxSize size = wxSize(sizeW,sizeH);
4123 wxDC *source;
4124 source = (wxDC *) memenv->getPtr(env, argv[3], "source");
4125 const ERL_NIF_TERM *src_t;
4126 int src_sz;
4127 if(!enif_get_tuple(env, argv[4], &src_sz, &src_t)) Badarg("src");
4128 int srcX;
4129 if(!enif_get_int(env, src_t[0], &srcX)) Badarg("src");
4130 int srcY;
4131 if(!enif_get_int(env, src_t[1], &srcY)) Badarg("src");
4132 wxPoint src = wxPoint(srcX,srcY);
4133 ERL_NIF_TERM lstHead, lstTail;
4134 lstTail = argv[5];
4135 if(!enif_is_list(env, lstTail)) Badarg("Options");
4136 const ERL_NIF_TERM *tpl;
4137 int tpl_sz;
4138 while(!enif_is_empty_list(env, lstTail)) {
4139 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4140 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4141 if(enif_is_identical(tpl[0], enif_make_atom(env, "rop"))) {
4142 if(!enif_get_int(env, tpl[1], (int *) &rop)) Badarg("rop"); // enum
4143 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "useMask"))) {
4144 useMask = enif_is_identical(tpl[1], WXE_ATOM_true);
4145 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "srcPtMask"))) {
4146 const ERL_NIF_TERM *srcPtMask_t;
4147 int srcPtMask_sz;
4148 if(!enif_get_tuple(env, tpl[1], &srcPtMask_sz, &srcPtMask_t)) Badarg("srcPtMask");
4149 int srcPtMaskX;
4150 if(!enif_get_int(env, srcPtMask_t[0], &srcPtMaskX)) Badarg("srcPtMask");
4151 int srcPtMaskY;
4152 if(!enif_get_int(env, srcPtMask_t[1], &srcPtMaskY)) Badarg("srcPtMask");
4153 srcPtMask = wxPoint(srcPtMaskX,srcPtMaskY);
4154 } else Badarg("Options");
4155 };
4156 if(!This) throw wxe_badarg("This");
4157 bool Result = This->Blit(dest,size,source,src,rop,useMask,srcPtMask);
4158 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4159 rt.send( rt.make_bool(Result));
4160
4161 }
4162
4163 // wxDC::CalcBoundingBox
wxDC_CalcBoundingBox(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4164 void wxDC_CalcBoundingBox(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4165 {
4166 ErlNifEnv *env = Ecmd.env;
4167 ERL_NIF_TERM * argv = Ecmd.args;
4168 wxDC *This;
4169 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4170 int x;
4171 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // wxCoord
4172 int y;
4173 if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // wxCoord
4174 if(!This) throw wxe_badarg("This");
4175 This->CalcBoundingBox(x,y);
4176
4177 }
4178
4179 // wxDC::Clear
wxDC_Clear(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4180 void wxDC_Clear(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4181 {
4182 ErlNifEnv *env = Ecmd.env;
4183 ERL_NIF_TERM * argv = Ecmd.args;
4184 wxDC *This;
4185 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4186 if(!This) throw wxe_badarg("This");
4187 This->Clear();
4188
4189 }
4190
4191 // wxDC::CrossHair
wxDC_CrossHair(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4192 void wxDC_CrossHair(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4193 {
4194 ErlNifEnv *env = Ecmd.env;
4195 ERL_NIF_TERM * argv = Ecmd.args;
4196 wxDC *This;
4197 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4198 const ERL_NIF_TERM *pt_t;
4199 int pt_sz;
4200 if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
4201 int ptX;
4202 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
4203 int ptY;
4204 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
4205 wxPoint pt = wxPoint(ptX,ptY);
4206 if(!This) throw wxe_badarg("This");
4207 This->CrossHair(pt);
4208
4209 }
4210
4211 // wxDC::DestroyClippingRegion
wxDC_DestroyClippingRegion(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4212 void wxDC_DestroyClippingRegion(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4213 {
4214 ErlNifEnv *env = Ecmd.env;
4215 ERL_NIF_TERM * argv = Ecmd.args;
4216 wxDC *This;
4217 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4218 if(!This) throw wxe_badarg("This");
4219 This->DestroyClippingRegion();
4220
4221 }
4222
4223 // wxDC::DeviceToLogicalX
wxDC_DeviceToLogicalX(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4224 void wxDC_DeviceToLogicalX(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4225 {
4226 ErlNifEnv *env = Ecmd.env;
4227 ERL_NIF_TERM * argv = Ecmd.args;
4228 wxDC *This;
4229 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4230 int x;
4231 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // wxCoord
4232 if(!This) throw wxe_badarg("This");
4233 wxCoord Result = This->DeviceToLogicalX(x);
4234 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4235 rt.send( rt.make_int(Result));
4236
4237 }
4238
4239 // wxDC::DeviceToLogicalXRel
wxDC_DeviceToLogicalXRel(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4240 void wxDC_DeviceToLogicalXRel(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4241 {
4242 ErlNifEnv *env = Ecmd.env;
4243 ERL_NIF_TERM * argv = Ecmd.args;
4244 wxDC *This;
4245 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4246 int x;
4247 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // wxCoord
4248 if(!This) throw wxe_badarg("This");
4249 wxCoord Result = This->DeviceToLogicalXRel(x);
4250 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4251 rt.send( rt.make_int(Result));
4252
4253 }
4254
4255 // wxDC::DeviceToLogicalY
wxDC_DeviceToLogicalY(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4256 void wxDC_DeviceToLogicalY(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4257 {
4258 ErlNifEnv *env = Ecmd.env;
4259 ERL_NIF_TERM * argv = Ecmd.args;
4260 wxDC *This;
4261 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4262 int y;
4263 if(!enif_get_int(env, argv[1], &y)) Badarg("y"); // wxCoord
4264 if(!This) throw wxe_badarg("This");
4265 wxCoord Result = This->DeviceToLogicalY(y);
4266 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4267 rt.send( rt.make_int(Result));
4268
4269 }
4270
4271 // wxDC::DeviceToLogicalYRel
wxDC_DeviceToLogicalYRel(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4272 void wxDC_DeviceToLogicalYRel(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4273 {
4274 ErlNifEnv *env = Ecmd.env;
4275 ERL_NIF_TERM * argv = Ecmd.args;
4276 wxDC *This;
4277 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4278 int y;
4279 if(!enif_get_int(env, argv[1], &y)) Badarg("y"); // wxCoord
4280 if(!This) throw wxe_badarg("This");
4281 wxCoord Result = This->DeviceToLogicalYRel(y);
4282 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4283 rt.send( rt.make_int(Result));
4284
4285 }
4286
4287 // wxDC::DrawArc
wxDC_DrawArc(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4288 void wxDC_DrawArc(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4289 {
4290 ErlNifEnv *env = Ecmd.env;
4291 ERL_NIF_TERM * argv = Ecmd.args;
4292 wxDC *This;
4293 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4294 const ERL_NIF_TERM *ptStart_t;
4295 int ptStart_sz;
4296 if(!enif_get_tuple(env, argv[1], &ptStart_sz, &ptStart_t)) Badarg("ptStart");
4297 int ptStartX;
4298 if(!enif_get_int(env, ptStart_t[0], &ptStartX)) Badarg("ptStart");
4299 int ptStartY;
4300 if(!enif_get_int(env, ptStart_t[1], &ptStartY)) Badarg("ptStart");
4301 wxPoint ptStart = wxPoint(ptStartX,ptStartY);
4302 const ERL_NIF_TERM *ptEnd_t;
4303 int ptEnd_sz;
4304 if(!enif_get_tuple(env, argv[2], &ptEnd_sz, &ptEnd_t)) Badarg("ptEnd");
4305 int ptEndX;
4306 if(!enif_get_int(env, ptEnd_t[0], &ptEndX)) Badarg("ptEnd");
4307 int ptEndY;
4308 if(!enif_get_int(env, ptEnd_t[1], &ptEndY)) Badarg("ptEnd");
4309 wxPoint ptEnd = wxPoint(ptEndX,ptEndY);
4310 const ERL_NIF_TERM *centre_t;
4311 int centre_sz;
4312 if(!enif_get_tuple(env, argv[3], ¢re_sz, ¢re_t)) Badarg("centre");
4313 int centreX;
4314 if(!enif_get_int(env, centre_t[0], ¢reX)) Badarg("centre");
4315 int centreY;
4316 if(!enif_get_int(env, centre_t[1], ¢reY)) Badarg("centre");
4317 wxPoint centre = wxPoint(centreX,centreY);
4318 if(!This) throw wxe_badarg("This");
4319 This->DrawArc(ptStart,ptEnd,centre);
4320
4321 }
4322
4323 // wxDC::DrawBitmap
wxDC_DrawBitmap(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4324 void wxDC_DrawBitmap(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4325 {
4326 bool useMask=false;
4327 ErlNifEnv *env = Ecmd.env;
4328 ERL_NIF_TERM * argv = Ecmd.args;
4329 wxDC *This;
4330 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4331 wxBitmap *bmp;
4332 bmp = (wxBitmap *) memenv->getPtr(env, argv[1], "bmp");
4333 const ERL_NIF_TERM *pt_t;
4334 int pt_sz;
4335 if(!enif_get_tuple(env, argv[2], &pt_sz, &pt_t)) Badarg("pt");
4336 int ptX;
4337 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
4338 int ptY;
4339 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
4340 wxPoint pt = wxPoint(ptX,ptY);
4341 ERL_NIF_TERM lstHead, lstTail;
4342 lstTail = argv[3];
4343 if(!enif_is_list(env, lstTail)) Badarg("Options");
4344 const ERL_NIF_TERM *tpl;
4345 int tpl_sz;
4346 while(!enif_is_empty_list(env, lstTail)) {
4347 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4348 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4349 if(enif_is_identical(tpl[0], enif_make_atom(env, "useMask"))) {
4350 useMask = enif_is_identical(tpl[1], WXE_ATOM_true);
4351 } else Badarg("Options");
4352 };
4353 if(!This) throw wxe_badarg("This");
4354 This->DrawBitmap(*bmp,pt,useMask);
4355
4356 }
4357
4358 // wxDC::DrawCheckMark
wxDC_DrawCheckMark(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4359 void wxDC_DrawCheckMark(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4360 {
4361 ErlNifEnv *env = Ecmd.env;
4362 ERL_NIF_TERM * argv = Ecmd.args;
4363 wxDC *This;
4364 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4365 const ERL_NIF_TERM *rect_t;
4366 int rect_sz;
4367 if(!enif_get_tuple(env, argv[1], &rect_sz, &rect_t)) Badarg("rect");
4368 int rectX;
4369 if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
4370 int rectY;
4371 if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
4372 int rectW;
4373 if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
4374 int rectH;
4375 if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
4376 wxRect rect = wxRect(rectX,rectY,rectW,rectH);
4377 if(!This) throw wxe_badarg("This");
4378 This->DrawCheckMark(rect);
4379
4380 }
4381
4382 // wxDC::DrawCircle
wxDC_DrawCircle(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4383 void wxDC_DrawCircle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4384 {
4385 ErlNifEnv *env = Ecmd.env;
4386 ERL_NIF_TERM * argv = Ecmd.args;
4387 wxDC *This;
4388 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4389 const ERL_NIF_TERM *pt_t;
4390 int pt_sz;
4391 if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
4392 int ptX;
4393 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
4394 int ptY;
4395 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
4396 wxPoint pt = wxPoint(ptX,ptY);
4397 int radius;
4398 if(!enif_get_int(env, argv[2], &radius)) Badarg("radius"); // wxCoord
4399 if(!This) throw wxe_badarg("This");
4400 This->DrawCircle(pt,radius);
4401
4402 }
4403
4404 // wxDC::DrawEllipse
wxDC_DrawEllipse_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4405 void wxDC_DrawEllipse_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4406 {
4407 ErlNifEnv *env = Ecmd.env;
4408 ERL_NIF_TERM * argv = Ecmd.args;
4409 wxDC *This;
4410 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4411 const ERL_NIF_TERM *pt_t;
4412 int pt_sz;
4413 if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
4414 int ptX;
4415 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
4416 int ptY;
4417 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
4418 wxPoint pt = wxPoint(ptX,ptY);
4419 const ERL_NIF_TERM *size_t;
4420 int size_sz;
4421 if(!enif_get_tuple(env, argv[2], &size_sz, &size_t)) Badarg("size");
4422 int sizeW;
4423 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
4424 int sizeH;
4425 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
4426 wxSize size = wxSize(sizeW,sizeH);
4427 if(!This) throw wxe_badarg("This");
4428 This->DrawEllipse(pt,size);
4429
4430 }
4431
4432 // wxDC::DrawEllipse
wxDC_DrawEllipse_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4433 void wxDC_DrawEllipse_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4434 {
4435 ErlNifEnv *env = Ecmd.env;
4436 ERL_NIF_TERM * argv = Ecmd.args;
4437 wxDC *This;
4438 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4439 const ERL_NIF_TERM *rect_t;
4440 int rect_sz;
4441 if(!enif_get_tuple(env, argv[1], &rect_sz, &rect_t)) Badarg("rect");
4442 int rectX;
4443 if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
4444 int rectY;
4445 if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
4446 int rectW;
4447 if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
4448 int rectH;
4449 if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
4450 wxRect rect = wxRect(rectX,rectY,rectW,rectH);
4451 if(!This) throw wxe_badarg("This");
4452 This->DrawEllipse(rect);
4453
4454 }
4455
4456 // wxDC::DrawEllipticArc
wxDC_DrawEllipticArc(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4457 void wxDC_DrawEllipticArc(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4458 {
4459 ErlNifEnv *env = Ecmd.env;
4460 ERL_NIF_TERM * argv = Ecmd.args;
4461 wxDC *This;
4462 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4463 const ERL_NIF_TERM *pt_t;
4464 int pt_sz;
4465 if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
4466 int ptX;
4467 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
4468 int ptY;
4469 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
4470 wxPoint pt = wxPoint(ptX,ptY);
4471 const ERL_NIF_TERM *sz_t;
4472 int sz_sz;
4473 if(!enif_get_tuple(env, argv[2], &sz_sz, &sz_t)) Badarg("sz");
4474 int szW;
4475 if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
4476 int szH;
4477 if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
4478 wxSize sz = wxSize(szW,szH);
4479 double sa;
4480 if(!wxe_get_double(env, argv[3], &sa)) Badarg("sa");
4481 double ea;
4482 if(!wxe_get_double(env, argv[4], &ea)) Badarg("ea");
4483 if(!This) throw wxe_badarg("This");
4484 This->DrawEllipticArc(pt,sz,sa,ea);
4485
4486 }
4487
4488 // wxDC::DrawIcon
wxDC_DrawIcon(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4489 void wxDC_DrawIcon(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4490 {
4491 ErlNifEnv *env = Ecmd.env;
4492 ERL_NIF_TERM * argv = Ecmd.args;
4493 wxDC *This;
4494 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4495 wxIcon *icon;
4496 icon = (wxIcon *) memenv->getPtr(env, argv[1], "icon");
4497 const ERL_NIF_TERM *pt_t;
4498 int pt_sz;
4499 if(!enif_get_tuple(env, argv[2], &pt_sz, &pt_t)) Badarg("pt");
4500 int ptX;
4501 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
4502 int ptY;
4503 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
4504 wxPoint pt = wxPoint(ptX,ptY);
4505 if(!This) throw wxe_badarg("This");
4506 This->DrawIcon(*icon,pt);
4507
4508 }
4509
4510 // wxDC::DrawLabel
wxDC_DrawLabel(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4511 void wxDC_DrawLabel(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4512 {
4513 int alignment=wxALIGN_LEFT|wxALIGN_TOP;
4514 int indexAccel=-1;
4515 ErlNifEnv *env = Ecmd.env;
4516 ERL_NIF_TERM * argv = Ecmd.args;
4517 wxDC *This;
4518 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4519 ErlNifBinary text_bin;
4520 wxString text;
4521 if(!enif_inspect_binary(env, argv[1], &text_bin)) Badarg("text");
4522 text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
4523 const ERL_NIF_TERM *rect_t;
4524 int rect_sz;
4525 if(!enif_get_tuple(env, argv[2], &rect_sz, &rect_t)) Badarg("rect");
4526 int rectX;
4527 if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
4528 int rectY;
4529 if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
4530 int rectW;
4531 if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
4532 int rectH;
4533 if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
4534 wxRect rect = wxRect(rectX,rectY,rectW,rectH);
4535 ERL_NIF_TERM lstHead, lstTail;
4536 lstTail = argv[3];
4537 if(!enif_is_list(env, lstTail)) Badarg("Options");
4538 const ERL_NIF_TERM *tpl;
4539 int tpl_sz;
4540 while(!enif_is_empty_list(env, lstTail)) {
4541 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4542 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4543 if(enif_is_identical(tpl[0], enif_make_atom(env, "alignment"))) {
4544 if(!enif_get_int(env, tpl[1], &alignment)) Badarg("alignment"); // int
4545 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "indexAccel"))) {
4546 if(!enif_get_int(env, tpl[1], &indexAccel)) Badarg("indexAccel"); // int
4547 } else Badarg("Options");
4548 };
4549 if(!This) throw wxe_badarg("This");
4550 This->DrawLabel(text,rect,alignment,indexAccel);
4551
4552 }
4553
4554 // wxDC::DrawLine
wxDC_DrawLine(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4555 void wxDC_DrawLine(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4556 {
4557 ErlNifEnv *env = Ecmd.env;
4558 ERL_NIF_TERM * argv = Ecmd.args;
4559 wxDC *This;
4560 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4561 const ERL_NIF_TERM *pt1_t;
4562 int pt1_sz;
4563 if(!enif_get_tuple(env, argv[1], &pt1_sz, &pt1_t)) Badarg("pt1");
4564 int pt1X;
4565 if(!enif_get_int(env, pt1_t[0], &pt1X)) Badarg("pt1");
4566 int pt1Y;
4567 if(!enif_get_int(env, pt1_t[1], &pt1Y)) Badarg("pt1");
4568 wxPoint pt1 = wxPoint(pt1X,pt1Y);
4569 const ERL_NIF_TERM *pt2_t;
4570 int pt2_sz;
4571 if(!enif_get_tuple(env, argv[2], &pt2_sz, &pt2_t)) Badarg("pt2");
4572 int pt2X;
4573 if(!enif_get_int(env, pt2_t[0], &pt2X)) Badarg("pt2");
4574 int pt2Y;
4575 if(!enif_get_int(env, pt2_t[1], &pt2Y)) Badarg("pt2");
4576 wxPoint pt2 = wxPoint(pt2X,pt2Y);
4577 if(!This) throw wxe_badarg("This");
4578 This->DrawLine(pt1,pt2);
4579
4580 }
4581
4582 // wxDC::DrawLines
wxDC_DrawLines(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4583 void wxDC_DrawLines(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4584 {
4585 wxCoord xoffset=0;
4586 wxCoord yoffset=0;
4587 ErlNifEnv *env = Ecmd.env;
4588 ERL_NIF_TERM * argv = Ecmd.args;
4589 wxDC *This;
4590 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4591 unsigned pointsLen;
4592 ERL_NIF_TERM pointsHead, pointsTail;
4593 const ERL_NIF_TERM *points_tpl;
4594 int points_tsz;
4595 if(!enif_get_list_length(env, argv[1], &pointsLen)) Badarg("points");
4596 std::vector <wxPoint> points;
4597 int x, y;
4598 pointsTail = argv[1];
4599 while(!enif_is_empty_list(env, pointsTail)) {
4600 if(!enif_get_list_cell(env, pointsTail, &pointsHead, &pointsTail)) Badarg("points");
4601 if(!enif_get_tuple(env, pointsHead, &points_tsz, &points_tpl) || points_tsz != 2) Badarg("points");
4602 if(!enif_get_int(env, points_tpl[0], &x)) Badarg("points");
4603 if(!enif_get_int(env, points_tpl[1], &y)) Badarg("points");
4604 points.push_back(wxPoint(x,y));
4605 };
4606 ERL_NIF_TERM lstHead, lstTail;
4607 lstTail = argv[2];
4608 if(!enif_is_list(env, lstTail)) Badarg("Options");
4609 const ERL_NIF_TERM *tpl;
4610 int tpl_sz;
4611 while(!enif_is_empty_list(env, lstTail)) {
4612 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4613 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4614 if(enif_is_identical(tpl[0], enif_make_atom(env, "xoffset"))) {
4615 if(!enif_get_int(env, tpl[1], &xoffset)) Badarg("xoffset"); // wxCoord
4616 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "yoffset"))) {
4617 if(!enif_get_int(env, tpl[1], &yoffset)) Badarg("yoffset"); // wxCoord
4618 } else Badarg("Options");
4619 };
4620 if(!This) throw wxe_badarg("This");
4621 This->DrawLines(pointsLen,points.data(),xoffset,yoffset);
4622
4623 }
4624
4625 // wxDC::DrawPolygon
wxDC_DrawPolygon(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4626 void wxDC_DrawPolygon(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4627 {
4628 wxCoord xoffset=0;
4629 wxCoord yoffset=0;
4630 wxPolygonFillMode fillStyle=wxODDEVEN_RULE;
4631 ErlNifEnv *env = Ecmd.env;
4632 ERL_NIF_TERM * argv = Ecmd.args;
4633 wxDC *This;
4634 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4635 unsigned pointsLen;
4636 ERL_NIF_TERM pointsHead, pointsTail;
4637 const ERL_NIF_TERM *points_tpl;
4638 int points_tsz;
4639 if(!enif_get_list_length(env, argv[1], &pointsLen)) Badarg("points");
4640 std::vector <wxPoint> points;
4641 int x, y;
4642 pointsTail = argv[1];
4643 while(!enif_is_empty_list(env, pointsTail)) {
4644 if(!enif_get_list_cell(env, pointsTail, &pointsHead, &pointsTail)) Badarg("points");
4645 if(!enif_get_tuple(env, pointsHead, &points_tsz, &points_tpl) || points_tsz != 2) Badarg("points");
4646 if(!enif_get_int(env, points_tpl[0], &x)) Badarg("points");
4647 if(!enif_get_int(env, points_tpl[1], &y)) Badarg("points");
4648 points.push_back(wxPoint(x,y));
4649 };
4650 ERL_NIF_TERM lstHead, lstTail;
4651 lstTail = argv[2];
4652 if(!enif_is_list(env, lstTail)) Badarg("Options");
4653 const ERL_NIF_TERM *tpl;
4654 int tpl_sz;
4655 while(!enif_is_empty_list(env, lstTail)) {
4656 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4657 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4658 if(enif_is_identical(tpl[0], enif_make_atom(env, "xoffset"))) {
4659 if(!enif_get_int(env, tpl[1], &xoffset)) Badarg("xoffset"); // wxCoord
4660 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "yoffset"))) {
4661 if(!enif_get_int(env, tpl[1], &yoffset)) Badarg("yoffset"); // wxCoord
4662 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "fillStyle"))) {
4663 if(!enif_get_int(env, tpl[1], (int *) &fillStyle)) Badarg("fillStyle"); // enum
4664 } else Badarg("Options");
4665 };
4666 if(!This) throw wxe_badarg("This");
4667 This->DrawPolygon(pointsLen,points.data(),xoffset,yoffset,fillStyle);
4668
4669 }
4670
4671 // wxDC::DrawPoint
wxDC_DrawPoint(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4672 void wxDC_DrawPoint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4673 {
4674 ErlNifEnv *env = Ecmd.env;
4675 ERL_NIF_TERM * argv = Ecmd.args;
4676 wxDC *This;
4677 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4678 const ERL_NIF_TERM *pt_t;
4679 int pt_sz;
4680 if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
4681 int ptX;
4682 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
4683 int ptY;
4684 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
4685 wxPoint pt = wxPoint(ptX,ptY);
4686 if(!This) throw wxe_badarg("This");
4687 This->DrawPoint(pt);
4688
4689 }
4690
4691 // wxDC::DrawRectangle
wxDC_DrawRectangle_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4692 void wxDC_DrawRectangle_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4693 {
4694 ErlNifEnv *env = Ecmd.env;
4695 ERL_NIF_TERM * argv = Ecmd.args;
4696 wxDC *This;
4697 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4698 const ERL_NIF_TERM *pt_t;
4699 int pt_sz;
4700 if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
4701 int ptX;
4702 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
4703 int ptY;
4704 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
4705 wxPoint pt = wxPoint(ptX,ptY);
4706 const ERL_NIF_TERM *sz_t;
4707 int sz_sz;
4708 if(!enif_get_tuple(env, argv[2], &sz_sz, &sz_t)) Badarg("sz");
4709 int szW;
4710 if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
4711 int szH;
4712 if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
4713 wxSize sz = wxSize(szW,szH);
4714 if(!This) throw wxe_badarg("This");
4715 This->DrawRectangle(pt,sz);
4716
4717 }
4718
4719 // wxDC::DrawRectangle
wxDC_DrawRectangle_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4720 void wxDC_DrawRectangle_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4721 {
4722 ErlNifEnv *env = Ecmd.env;
4723 ERL_NIF_TERM * argv = Ecmd.args;
4724 wxDC *This;
4725 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4726 const ERL_NIF_TERM *rect_t;
4727 int rect_sz;
4728 if(!enif_get_tuple(env, argv[1], &rect_sz, &rect_t)) Badarg("rect");
4729 int rectX;
4730 if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
4731 int rectY;
4732 if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
4733 int rectW;
4734 if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
4735 int rectH;
4736 if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
4737 wxRect rect = wxRect(rectX,rectY,rectW,rectH);
4738 if(!This) throw wxe_badarg("This");
4739 This->DrawRectangle(rect);
4740
4741 }
4742
4743 // wxDC::DrawRotatedText
wxDC_DrawRotatedText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4744 void wxDC_DrawRotatedText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4745 {
4746 ErlNifEnv *env = Ecmd.env;
4747 ERL_NIF_TERM * argv = Ecmd.args;
4748 wxDC *This;
4749 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4750 ErlNifBinary text_bin;
4751 wxString text;
4752 if(!enif_inspect_binary(env, argv[1], &text_bin)) Badarg("text");
4753 text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
4754 const ERL_NIF_TERM *point_t;
4755 int point_sz;
4756 if(!enif_get_tuple(env, argv[2], &point_sz, &point_t)) Badarg("point");
4757 int pointX;
4758 if(!enif_get_int(env, point_t[0], &pointX)) Badarg("point");
4759 int pointY;
4760 if(!enif_get_int(env, point_t[1], &pointY)) Badarg("point");
4761 wxPoint point = wxPoint(pointX,pointY);
4762 double angle;
4763 if(!wxe_get_double(env, argv[3], &angle)) Badarg("angle");
4764 if(!This) throw wxe_badarg("This");
4765 This->DrawRotatedText(text,point,angle);
4766
4767 }
4768
4769 // wxDC::DrawRoundedRectangle
wxDC_DrawRoundedRectangle_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4770 void wxDC_DrawRoundedRectangle_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4771 {
4772 ErlNifEnv *env = Ecmd.env;
4773 ERL_NIF_TERM * argv = Ecmd.args;
4774 wxDC *This;
4775 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4776 const ERL_NIF_TERM *pt_t;
4777 int pt_sz;
4778 if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
4779 int ptX;
4780 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
4781 int ptY;
4782 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
4783 wxPoint pt = wxPoint(ptX,ptY);
4784 const ERL_NIF_TERM *sz_t;
4785 int sz_sz;
4786 if(!enif_get_tuple(env, argv[2], &sz_sz, &sz_t)) Badarg("sz");
4787 int szW;
4788 if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
4789 int szH;
4790 if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
4791 wxSize sz = wxSize(szW,szH);
4792 double radius;
4793 if(!wxe_get_double(env, argv[3], &radius)) Badarg("radius");
4794 if(!This) throw wxe_badarg("This");
4795 This->DrawRoundedRectangle(pt,sz,radius);
4796
4797 }
4798
4799 // wxDC::DrawRoundedRectangle
wxDC_DrawRoundedRectangle_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4800 void wxDC_DrawRoundedRectangle_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4801 {
4802 ErlNifEnv *env = Ecmd.env;
4803 ERL_NIF_TERM * argv = Ecmd.args;
4804 wxDC *This;
4805 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4806 const ERL_NIF_TERM *rect_t;
4807 int rect_sz;
4808 if(!enif_get_tuple(env, argv[1], &rect_sz, &rect_t)) Badarg("rect");
4809 int rectX;
4810 if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
4811 int rectY;
4812 if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
4813 int rectW;
4814 if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
4815 int rectH;
4816 if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
4817 wxRect rect = wxRect(rectX,rectY,rectW,rectH);
4818 double radius;
4819 if(!wxe_get_double(env, argv[2], &radius)) Badarg("radius");
4820 if(!This) throw wxe_badarg("This");
4821 This->DrawRoundedRectangle(rect,radius);
4822
4823 }
4824
4825 // wxDC::DrawText
wxDC_DrawText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4826 void wxDC_DrawText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4827 {
4828 ErlNifEnv *env = Ecmd.env;
4829 ERL_NIF_TERM * argv = Ecmd.args;
4830 wxDC *This;
4831 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4832 ErlNifBinary text_bin;
4833 wxString text;
4834 if(!enif_inspect_binary(env, argv[1], &text_bin)) Badarg("text");
4835 text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
4836 const ERL_NIF_TERM *pt_t;
4837 int pt_sz;
4838 if(!enif_get_tuple(env, argv[2], &pt_sz, &pt_t)) Badarg("pt");
4839 int ptX;
4840 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
4841 int ptY;
4842 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
4843 wxPoint pt = wxPoint(ptX,ptY);
4844 if(!This) throw wxe_badarg("This");
4845 This->DrawText(text,pt);
4846
4847 }
4848
4849 // wxDC::EndDoc
wxDC_EndDoc(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4850 void wxDC_EndDoc(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4851 {
4852 ErlNifEnv *env = Ecmd.env;
4853 ERL_NIF_TERM * argv = Ecmd.args;
4854 wxDC *This;
4855 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4856 if(!This) throw wxe_badarg("This");
4857 This->EndDoc();
4858
4859 }
4860
4861 // wxDC::EndPage
wxDC_EndPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4862 void wxDC_EndPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4863 {
4864 ErlNifEnv *env = Ecmd.env;
4865 ERL_NIF_TERM * argv = Ecmd.args;
4866 wxDC *This;
4867 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4868 if(!This) throw wxe_badarg("This");
4869 This->EndPage();
4870
4871 }
4872
4873 // wxDC::FloodFill
wxDC_FloodFill(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4874 void wxDC_FloodFill(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4875 {
4876 wxFloodFillStyle style=wxFLOOD_SURFACE;
4877 ErlNifEnv *env = Ecmd.env;
4878 ERL_NIF_TERM * argv = Ecmd.args;
4879 wxDC *This;
4880 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4881 const ERL_NIF_TERM *pt_t;
4882 int pt_sz;
4883 if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
4884 int ptX;
4885 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
4886 int ptY;
4887 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
4888 wxPoint pt = wxPoint(ptX,ptY);
4889 const ERL_NIF_TERM *col_t;
4890 int col_sz;
4891 if(!enif_get_tuple(env, argv[2], &col_sz, &col_t)) Badarg("col");
4892 int colR;
4893 if(!enif_get_int(env, col_t[0], &colR)) Badarg("col");
4894 int colG;
4895 if(!enif_get_int(env, col_t[1], &colG)) Badarg("col");
4896 int colB;
4897 if(!enif_get_int(env, col_t[2], &colB)) Badarg("col");
4898 int colA;
4899 if(!enif_get_int(env, col_t[3], &colA)) Badarg("col");
4900 wxColour col = wxColour(colR,colG,colB,colA);
4901 ERL_NIF_TERM lstHead, lstTail;
4902 lstTail = argv[3];
4903 if(!enif_is_list(env, lstTail)) Badarg("Options");
4904 const ERL_NIF_TERM *tpl;
4905 int tpl_sz;
4906 while(!enif_is_empty_list(env, lstTail)) {
4907 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4908 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4909 if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
4910 if(!enif_get_int(env, tpl[1], (int *) &style)) Badarg("style"); // enum
4911 } else Badarg("Options");
4912 };
4913 if(!This) throw wxe_badarg("This");
4914 bool Result = This->FloodFill(pt,col,style);
4915 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4916 rt.send( rt.make_bool(Result));
4917
4918 }
4919
4920 // wxDC::GetBackground
wxDC_GetBackground(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4921 void wxDC_GetBackground(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4922 {
4923 ErlNifEnv *env = Ecmd.env;
4924 ERL_NIF_TERM * argv = Ecmd.args;
4925 wxDC *This;
4926 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4927 if(!This) throw wxe_badarg("This");
4928 const wxBrush * Result = &This->GetBackground();
4929 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4930 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxBrush"));
4931
4932 }
4933
4934 // wxDC::GetBackgroundMode
wxDC_GetBackgroundMode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4935 void wxDC_GetBackgroundMode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4936 {
4937 ErlNifEnv *env = Ecmd.env;
4938 ERL_NIF_TERM * argv = Ecmd.args;
4939 wxDC *This;
4940 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4941 if(!This) throw wxe_badarg("This");
4942 int Result = This->GetBackgroundMode();
4943 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4944 rt.send( rt.make_int(Result));
4945
4946 }
4947
4948 // wxDC::GetBrush
wxDC_GetBrush(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4949 void wxDC_GetBrush(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4950 {
4951 ErlNifEnv *env = Ecmd.env;
4952 ERL_NIF_TERM * argv = Ecmd.args;
4953 wxDC *This;
4954 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4955 if(!This) throw wxe_badarg("This");
4956 const wxBrush * Result = &This->GetBrush();
4957 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4958 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxBrush"));
4959
4960 }
4961
4962 // wxDC::GetCharHeight
wxDC_GetCharHeight(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4963 void wxDC_GetCharHeight(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4964 {
4965 ErlNifEnv *env = Ecmd.env;
4966 ERL_NIF_TERM * argv = Ecmd.args;
4967 wxDC *This;
4968 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4969 if(!This) throw wxe_badarg("This");
4970 wxCoord Result = This->GetCharHeight();
4971 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4972 rt.send( rt.make_int(Result));
4973
4974 }
4975
4976 // wxDC::GetCharWidth
wxDC_GetCharWidth(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4977 void wxDC_GetCharWidth(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4978 {
4979 ErlNifEnv *env = Ecmd.env;
4980 ERL_NIF_TERM * argv = Ecmd.args;
4981 wxDC *This;
4982 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
4983 if(!This) throw wxe_badarg("This");
4984 wxCoord Result = This->GetCharWidth();
4985 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4986 rt.send( rt.make_int(Result));
4987
4988 }
4989
4990 // wxDC::GetClippingBox
wxDC_GetClippingBox(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4991 void wxDC_GetClippingBox(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4992 {
4993 wxCoord x;
4994 wxCoord y;
4995 wxCoord width;
4996 wxCoord height;
4997 ErlNifEnv *env = Ecmd.env;
4998 ERL_NIF_TERM * argv = Ecmd.args;
4999 wxDC *This;
5000 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5001 if(!This) throw wxe_badarg("This");
5002 This->GetClippingBox(&x,&y,&width,&height);
5003 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5004 ERL_NIF_TERM msg = enif_make_tuple4(rt.env,
5005 rt.make_int(x),
5006 rt.make_int(y),
5007 rt.make_int(width),
5008 rt.make_int(height));
5009 rt.send(msg);
5010
5011 }
5012
5013 // wxDC::GetFont
wxDC_GetFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5014 void wxDC_GetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5015 {
5016 ErlNifEnv *env = Ecmd.env;
5017 ERL_NIF_TERM * argv = Ecmd.args;
5018 wxDC *This;
5019 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5020 if(!This) throw wxe_badarg("This");
5021 const wxFont * Result = &This->GetFont();
5022 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5023 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxFont"));
5024
5025 }
5026
5027 // wxDC::GetLayoutDirection
wxDC_GetLayoutDirection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5028 void wxDC_GetLayoutDirection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5029 {
5030 ErlNifEnv *env = Ecmd.env;
5031 ERL_NIF_TERM * argv = Ecmd.args;
5032 wxDC *This;
5033 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5034 if(!This) throw wxe_badarg("This");
5035 int Result = This->GetLayoutDirection();
5036 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5037 rt.send( rt.make_int(Result));
5038
5039 }
5040
5041 // wxDC::GetLogicalFunction
wxDC_GetLogicalFunction(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5042 void wxDC_GetLogicalFunction(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5043 {
5044 ErlNifEnv *env = Ecmd.env;
5045 ERL_NIF_TERM * argv = Ecmd.args;
5046 wxDC *This;
5047 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5048 if(!This) throw wxe_badarg("This");
5049 int Result = This->GetLogicalFunction();
5050 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5051 rt.send( rt.make_int(Result));
5052
5053 }
5054
5055 // wxDC::GetMapMode
wxDC_GetMapMode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5056 void wxDC_GetMapMode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5057 {
5058 ErlNifEnv *env = Ecmd.env;
5059 ERL_NIF_TERM * argv = Ecmd.args;
5060 wxDC *This;
5061 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5062 if(!This) throw wxe_badarg("This");
5063 int Result = This->GetMapMode();
5064 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5065 rt.send( rt.make_int(Result));
5066
5067 }
5068
5069 // wxDC::GetMultiLineTextExtent
wxDC_GetMultiLineTextExtent_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5070 void wxDC_GetMultiLineTextExtent_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5071 {
5072 wxCoord w;
5073 wxCoord h;
5074 wxCoord heightLine;
5075 const wxFont * font=NULL;
5076 ErlNifEnv *env = Ecmd.env;
5077 ERL_NIF_TERM * argv = Ecmd.args;
5078 wxDC *This;
5079 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5080 ErlNifBinary string_bin;
5081 wxString string;
5082 if(!enif_inspect_binary(env, argv[1], &string_bin)) Badarg("string");
5083 string = wxString(string_bin.data, wxConvUTF8, string_bin.size);
5084 ERL_NIF_TERM lstHead, lstTail;
5085 lstTail = argv[2];
5086 if(!enif_is_list(env, lstTail)) Badarg("Options");
5087 const ERL_NIF_TERM *tpl;
5088 int tpl_sz;
5089 while(!enif_is_empty_list(env, lstTail)) {
5090 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
5091 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
5092 if(enif_is_identical(tpl[0], enif_make_atom(env, "font"))) {
5093 font = (wxFont *) memenv->getPtr(env, tpl[1], "font");
5094 } else Badarg("Options");
5095 };
5096 if(!This) throw wxe_badarg("This");
5097 This->GetMultiLineTextExtent(string,&w,&h,&heightLine,font);
5098 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5099 ERL_NIF_TERM msg = enif_make_tuple3(rt.env,
5100 rt.make_int(w),
5101 rt.make_int(h),
5102 rt.make_int(heightLine));
5103 rt.send(msg);
5104
5105 }
5106
5107 // wxDC::GetMultiLineTextExtent
wxDC_GetMultiLineTextExtent_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5108 void wxDC_GetMultiLineTextExtent_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5109 {
5110 ErlNifEnv *env = Ecmd.env;
5111 ERL_NIF_TERM * argv = Ecmd.args;
5112 wxDC *This;
5113 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5114 ErlNifBinary string_bin;
5115 wxString string;
5116 if(!enif_inspect_binary(env, argv[1], &string_bin)) Badarg("string");
5117 string = wxString(string_bin.data, wxConvUTF8, string_bin.size);
5118 if(!This) throw wxe_badarg("This");
5119 wxSize Result = This->GetMultiLineTextExtent(string);
5120 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5121 rt.send( rt.make(Result));
5122
5123 }
5124
5125 // wxDC::GetPartialTextExtents
wxDC_GetPartialTextExtents(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5126 void wxDC_GetPartialTextExtents(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5127 {
5128 wxArrayInt widths;
5129 ErlNifEnv *env = Ecmd.env;
5130 ERL_NIF_TERM * argv = Ecmd.args;
5131 wxDC *This;
5132 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5133 ErlNifBinary text_bin;
5134 wxString text;
5135 if(!enif_inspect_binary(env, argv[1], &text_bin)) Badarg("text");
5136 text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
5137 if(!This) throw wxe_badarg("This");
5138 bool Result = This->GetPartialTextExtents(text,widths);
5139 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5140 ERL_NIF_TERM msg = enif_make_tuple2(rt.env,
5141 rt.make_bool(Result),
5142 rt.make(widths));
5143 rt.send(msg);
5144
5145 }
5146
5147 // wxDC::GetPen
wxDC_GetPen(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5148 void wxDC_GetPen(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5149 {
5150 ErlNifEnv *env = Ecmd.env;
5151 ERL_NIF_TERM * argv = Ecmd.args;
5152 wxDC *This;
5153 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5154 if(!This) throw wxe_badarg("This");
5155 const wxPen * Result = &This->GetPen();
5156 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5157 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxPen"));
5158
5159 }
5160
5161 // wxDC::GetPixel
wxDC_GetPixel(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5162 void wxDC_GetPixel(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5163 {
5164 wxColour colour;
5165 ErlNifEnv *env = Ecmd.env;
5166 ERL_NIF_TERM * argv = Ecmd.args;
5167 wxDC *This;
5168 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5169 const ERL_NIF_TERM *pos_t;
5170 int pos_sz;
5171 if(!enif_get_tuple(env, argv[1], &pos_sz, &pos_t)) Badarg("pos");
5172 int posX;
5173 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
5174 int posY;
5175 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
5176 wxPoint pos = wxPoint(posX,posY);
5177 if(!This) throw wxe_badarg("This");
5178 bool Result = This->GetPixel(pos,&colour);
5179 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5180 ERL_NIF_TERM msg = enif_make_tuple2(rt.env,
5181 rt.make_bool(Result),
5182 rt.make(colour));
5183 rt.send(msg);
5184
5185 }
5186
5187 // wxDC::GetPPI
wxDC_GetPPI(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5188 void wxDC_GetPPI(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5189 {
5190 ErlNifEnv *env = Ecmd.env;
5191 ERL_NIF_TERM * argv = Ecmd.args;
5192 wxDC *This;
5193 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5194 if(!This) throw wxe_badarg("This");
5195 wxSize Result = This->GetPPI();
5196 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5197 rt.send( rt.make(Result));
5198
5199 }
5200
5201 // wxDC::GetSize
wxDC_GetSize(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5202 void wxDC_GetSize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5203 {
5204 ErlNifEnv *env = Ecmd.env;
5205 ERL_NIF_TERM * argv = Ecmd.args;
5206 wxDC *This;
5207 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5208 if(!This) throw wxe_badarg("This");
5209 wxSize Result = This->GetSize();
5210 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5211 rt.send( rt.make(Result));
5212
5213 }
5214
5215 // wxDC::GetSizeMM
wxDC_GetSizeMM(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5216 void wxDC_GetSizeMM(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5217 {
5218 ErlNifEnv *env = Ecmd.env;
5219 ERL_NIF_TERM * argv = Ecmd.args;
5220 wxDC *This;
5221 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5222 if(!This) throw wxe_badarg("This");
5223 wxSize Result = This->GetSizeMM();
5224 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5225 rt.send( rt.make(Result));
5226
5227 }
5228
5229 // wxDC::GetTextBackground
wxDC_GetTextBackground(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5230 void wxDC_GetTextBackground(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5231 {
5232 ErlNifEnv *env = Ecmd.env;
5233 ERL_NIF_TERM * argv = Ecmd.args;
5234 wxDC *This;
5235 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5236 if(!This) throw wxe_badarg("This");
5237 const wxColour * Result = &This->GetTextBackground();
5238 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5239 rt.send( rt.make((*Result)));
5240
5241 }
5242
5243 // wxDC::GetTextExtent
wxDC_GetTextExtent_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5244 void wxDC_GetTextExtent_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5245 {
5246 wxCoord w;
5247 wxCoord h;
5248 wxCoord descent;
5249 wxCoord externalLeading;
5250 const wxFont * theFont=NULL;
5251 ErlNifEnv *env = Ecmd.env;
5252 ERL_NIF_TERM * argv = Ecmd.args;
5253 wxDC *This;
5254 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5255 ErlNifBinary string_bin;
5256 wxString string;
5257 if(!enif_inspect_binary(env, argv[1], &string_bin)) Badarg("string");
5258 string = wxString(string_bin.data, wxConvUTF8, string_bin.size);
5259 ERL_NIF_TERM lstHead, lstTail;
5260 lstTail = argv[2];
5261 if(!enif_is_list(env, lstTail)) Badarg("Options");
5262 const ERL_NIF_TERM *tpl;
5263 int tpl_sz;
5264 while(!enif_is_empty_list(env, lstTail)) {
5265 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
5266 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
5267 if(enif_is_identical(tpl[0], enif_make_atom(env, "theFont"))) {
5268 theFont = (wxFont *) memenv->getPtr(env, tpl[1], "theFont");
5269 } else Badarg("Options");
5270 };
5271 if(!This) throw wxe_badarg("This");
5272 This->GetTextExtent(string,&w,&h,&descent,&externalLeading,theFont);
5273 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5274 ERL_NIF_TERM msg = enif_make_tuple4(rt.env,
5275 rt.make_int(w),
5276 rt.make_int(h),
5277 rt.make_int(descent),
5278 rt.make_int(externalLeading));
5279 rt.send(msg);
5280
5281 }
5282
5283 // wxDC::GetTextExtent
wxDC_GetTextExtent_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5284 void wxDC_GetTextExtent_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5285 {
5286 ErlNifEnv *env = Ecmd.env;
5287 ERL_NIF_TERM * argv = Ecmd.args;
5288 wxDC *This;
5289 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5290 ErlNifBinary string_bin;
5291 wxString string;
5292 if(!enif_inspect_binary(env, argv[1], &string_bin)) Badarg("string");
5293 string = wxString(string_bin.data, wxConvUTF8, string_bin.size);
5294 if(!This) throw wxe_badarg("This");
5295 wxSize Result = This->GetTextExtent(string);
5296 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5297 rt.send( rt.make(Result));
5298
5299 }
5300
5301 // wxDC::GetTextForeground
wxDC_GetTextForeground(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5302 void wxDC_GetTextForeground(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5303 {
5304 ErlNifEnv *env = Ecmd.env;
5305 ERL_NIF_TERM * argv = Ecmd.args;
5306 wxDC *This;
5307 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5308 if(!This) throw wxe_badarg("This");
5309 const wxColour * Result = &This->GetTextForeground();
5310 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5311 rt.send( rt.make((*Result)));
5312
5313 }
5314
5315 // wxDC::GetUserScale
wxDC_GetUserScale(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5316 void wxDC_GetUserScale(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5317 {
5318 double x;
5319 double y;
5320 ErlNifEnv *env = Ecmd.env;
5321 ERL_NIF_TERM * argv = Ecmd.args;
5322 wxDC *This;
5323 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5324 if(!This) throw wxe_badarg("This");
5325 This->GetUserScale(&x,&y);
5326 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5327 ERL_NIF_TERM msg = enif_make_tuple2(rt.env,
5328 rt.make_double(x),
5329 rt.make_double(y));
5330 rt.send(msg);
5331
5332 }
5333
5334 // wxDC::GradientFillConcentric
wxDC_GradientFillConcentric_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5335 void wxDC_GradientFillConcentric_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5336 {
5337 ErlNifEnv *env = Ecmd.env;
5338 ERL_NIF_TERM * argv = Ecmd.args;
5339 wxDC *This;
5340 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5341 const ERL_NIF_TERM *rect_t;
5342 int rect_sz;
5343 if(!enif_get_tuple(env, argv[1], &rect_sz, &rect_t)) Badarg("rect");
5344 int rectX;
5345 if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
5346 int rectY;
5347 if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
5348 int rectW;
5349 if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
5350 int rectH;
5351 if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
5352 wxRect rect = wxRect(rectX,rectY,rectW,rectH);
5353 const ERL_NIF_TERM *initialColour_t;
5354 int initialColour_sz;
5355 if(!enif_get_tuple(env, argv[2], &initialColour_sz, &initialColour_t)) Badarg("initialColour");
5356 int initialColourR;
5357 if(!enif_get_int(env, initialColour_t[0], &initialColourR)) Badarg("initialColour");
5358 int initialColourG;
5359 if(!enif_get_int(env, initialColour_t[1], &initialColourG)) Badarg("initialColour");
5360 int initialColourB;
5361 if(!enif_get_int(env, initialColour_t[2], &initialColourB)) Badarg("initialColour");
5362 int initialColourA;
5363 if(!enif_get_int(env, initialColour_t[3], &initialColourA)) Badarg("initialColour");
5364 wxColour initialColour = wxColour(initialColourR,initialColourG,initialColourB,initialColourA);
5365 const ERL_NIF_TERM *destColour_t;
5366 int destColour_sz;
5367 if(!enif_get_tuple(env, argv[3], &destColour_sz, &destColour_t)) Badarg("destColour");
5368 int destColourR;
5369 if(!enif_get_int(env, destColour_t[0], &destColourR)) Badarg("destColour");
5370 int destColourG;
5371 if(!enif_get_int(env, destColour_t[1], &destColourG)) Badarg("destColour");
5372 int destColourB;
5373 if(!enif_get_int(env, destColour_t[2], &destColourB)) Badarg("destColour");
5374 int destColourA;
5375 if(!enif_get_int(env, destColour_t[3], &destColourA)) Badarg("destColour");
5376 wxColour destColour = wxColour(destColourR,destColourG,destColourB,destColourA);
5377 if(!This) throw wxe_badarg("This");
5378 This->GradientFillConcentric(rect,initialColour,destColour);
5379
5380 }
5381
5382 // wxDC::GradientFillConcentric
wxDC_GradientFillConcentric_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5383 void wxDC_GradientFillConcentric_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5384 {
5385 ErlNifEnv *env = Ecmd.env;
5386 ERL_NIF_TERM * argv = Ecmd.args;
5387 wxDC *This;
5388 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5389 const ERL_NIF_TERM *rect_t;
5390 int rect_sz;
5391 if(!enif_get_tuple(env, argv[1], &rect_sz, &rect_t)) Badarg("rect");
5392 int rectX;
5393 if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
5394 int rectY;
5395 if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
5396 int rectW;
5397 if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
5398 int rectH;
5399 if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
5400 wxRect rect = wxRect(rectX,rectY,rectW,rectH);
5401 const ERL_NIF_TERM *initialColour_t;
5402 int initialColour_sz;
5403 if(!enif_get_tuple(env, argv[2], &initialColour_sz, &initialColour_t)) Badarg("initialColour");
5404 int initialColourR;
5405 if(!enif_get_int(env, initialColour_t[0], &initialColourR)) Badarg("initialColour");
5406 int initialColourG;
5407 if(!enif_get_int(env, initialColour_t[1], &initialColourG)) Badarg("initialColour");
5408 int initialColourB;
5409 if(!enif_get_int(env, initialColour_t[2], &initialColourB)) Badarg("initialColour");
5410 int initialColourA;
5411 if(!enif_get_int(env, initialColour_t[3], &initialColourA)) Badarg("initialColour");
5412 wxColour initialColour = wxColour(initialColourR,initialColourG,initialColourB,initialColourA);
5413 const ERL_NIF_TERM *destColour_t;
5414 int destColour_sz;
5415 if(!enif_get_tuple(env, argv[3], &destColour_sz, &destColour_t)) Badarg("destColour");
5416 int destColourR;
5417 if(!enif_get_int(env, destColour_t[0], &destColourR)) Badarg("destColour");
5418 int destColourG;
5419 if(!enif_get_int(env, destColour_t[1], &destColourG)) Badarg("destColour");
5420 int destColourB;
5421 if(!enif_get_int(env, destColour_t[2], &destColourB)) Badarg("destColour");
5422 int destColourA;
5423 if(!enif_get_int(env, destColour_t[3], &destColourA)) Badarg("destColour");
5424 wxColour destColour = wxColour(destColourR,destColourG,destColourB,destColourA);
5425 const ERL_NIF_TERM *circleCenter_t;
5426 int circleCenter_sz;
5427 if(!enif_get_tuple(env, argv[4], &circleCenter_sz, &circleCenter_t)) Badarg("circleCenter");
5428 int circleCenterX;
5429 if(!enif_get_int(env, circleCenter_t[0], &circleCenterX)) Badarg("circleCenter");
5430 int circleCenterY;
5431 if(!enif_get_int(env, circleCenter_t[1], &circleCenterY)) Badarg("circleCenter");
5432 wxPoint circleCenter = wxPoint(circleCenterX,circleCenterY);
5433 if(!This) throw wxe_badarg("This");
5434 This->GradientFillConcentric(rect,initialColour,destColour,circleCenter);
5435
5436 }
5437
5438 // wxDC::GradientFillLinear
wxDC_GradientFillLinear(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5439 void wxDC_GradientFillLinear(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5440 {
5441 wxDirection nDirection=wxRIGHT;
5442 ErlNifEnv *env = Ecmd.env;
5443 ERL_NIF_TERM * argv = Ecmd.args;
5444 wxDC *This;
5445 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5446 const ERL_NIF_TERM *rect_t;
5447 int rect_sz;
5448 if(!enif_get_tuple(env, argv[1], &rect_sz, &rect_t)) Badarg("rect");
5449 int rectX;
5450 if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
5451 int rectY;
5452 if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
5453 int rectW;
5454 if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
5455 int rectH;
5456 if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
5457 wxRect rect = wxRect(rectX,rectY,rectW,rectH);
5458 const ERL_NIF_TERM *initialColour_t;
5459 int initialColour_sz;
5460 if(!enif_get_tuple(env, argv[2], &initialColour_sz, &initialColour_t)) Badarg("initialColour");
5461 int initialColourR;
5462 if(!enif_get_int(env, initialColour_t[0], &initialColourR)) Badarg("initialColour");
5463 int initialColourG;
5464 if(!enif_get_int(env, initialColour_t[1], &initialColourG)) Badarg("initialColour");
5465 int initialColourB;
5466 if(!enif_get_int(env, initialColour_t[2], &initialColourB)) Badarg("initialColour");
5467 int initialColourA;
5468 if(!enif_get_int(env, initialColour_t[3], &initialColourA)) Badarg("initialColour");
5469 wxColour initialColour = wxColour(initialColourR,initialColourG,initialColourB,initialColourA);
5470 const ERL_NIF_TERM *destColour_t;
5471 int destColour_sz;
5472 if(!enif_get_tuple(env, argv[3], &destColour_sz, &destColour_t)) Badarg("destColour");
5473 int destColourR;
5474 if(!enif_get_int(env, destColour_t[0], &destColourR)) Badarg("destColour");
5475 int destColourG;
5476 if(!enif_get_int(env, destColour_t[1], &destColourG)) Badarg("destColour");
5477 int destColourB;
5478 if(!enif_get_int(env, destColour_t[2], &destColourB)) Badarg("destColour");
5479 int destColourA;
5480 if(!enif_get_int(env, destColour_t[3], &destColourA)) Badarg("destColour");
5481 wxColour destColour = wxColour(destColourR,destColourG,destColourB,destColourA);
5482 ERL_NIF_TERM lstHead, lstTail;
5483 lstTail = argv[4];
5484 if(!enif_is_list(env, lstTail)) Badarg("Options");
5485 const ERL_NIF_TERM *tpl;
5486 int tpl_sz;
5487 while(!enif_is_empty_list(env, lstTail)) {
5488 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
5489 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
5490 if(enif_is_identical(tpl[0], enif_make_atom(env, "nDirection"))) {
5491 if(!enif_get_int(env, tpl[1], (int *) &nDirection)) Badarg("nDirection"); // enum
5492 } else Badarg("Options");
5493 };
5494 if(!This) throw wxe_badarg("This");
5495 This->GradientFillLinear(rect,initialColour,destColour,nDirection);
5496
5497 }
5498
5499 // wxDC::LogicalToDeviceX
wxDC_LogicalToDeviceX(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5500 void wxDC_LogicalToDeviceX(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5501 {
5502 ErlNifEnv *env = Ecmd.env;
5503 ERL_NIF_TERM * argv = Ecmd.args;
5504 wxDC *This;
5505 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5506 int x;
5507 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // wxCoord
5508 if(!This) throw wxe_badarg("This");
5509 wxCoord Result = This->LogicalToDeviceX(x);
5510 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5511 rt.send( rt.make_int(Result));
5512
5513 }
5514
5515 // wxDC::LogicalToDeviceXRel
wxDC_LogicalToDeviceXRel(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5516 void wxDC_LogicalToDeviceXRel(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5517 {
5518 ErlNifEnv *env = Ecmd.env;
5519 ERL_NIF_TERM * argv = Ecmd.args;
5520 wxDC *This;
5521 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5522 int x;
5523 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // wxCoord
5524 if(!This) throw wxe_badarg("This");
5525 wxCoord Result = This->LogicalToDeviceXRel(x);
5526 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5527 rt.send( rt.make_int(Result));
5528
5529 }
5530
5531 // wxDC::LogicalToDeviceY
wxDC_LogicalToDeviceY(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5532 void wxDC_LogicalToDeviceY(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5533 {
5534 ErlNifEnv *env = Ecmd.env;
5535 ERL_NIF_TERM * argv = Ecmd.args;
5536 wxDC *This;
5537 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5538 int y;
5539 if(!enif_get_int(env, argv[1], &y)) Badarg("y"); // wxCoord
5540 if(!This) throw wxe_badarg("This");
5541 wxCoord Result = This->LogicalToDeviceY(y);
5542 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5543 rt.send( rt.make_int(Result));
5544
5545 }
5546
5547 // wxDC::LogicalToDeviceYRel
wxDC_LogicalToDeviceYRel(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5548 void wxDC_LogicalToDeviceYRel(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5549 {
5550 ErlNifEnv *env = Ecmd.env;
5551 ERL_NIF_TERM * argv = Ecmd.args;
5552 wxDC *This;
5553 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5554 int y;
5555 if(!enif_get_int(env, argv[1], &y)) Badarg("y"); // wxCoord
5556 if(!This) throw wxe_badarg("This");
5557 wxCoord Result = This->LogicalToDeviceYRel(y);
5558 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5559 rt.send( rt.make_int(Result));
5560
5561 }
5562
5563 // wxDC::MaxX
wxDC_MaxX(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5564 void wxDC_MaxX(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5565 {
5566 ErlNifEnv *env = Ecmd.env;
5567 ERL_NIF_TERM * argv = Ecmd.args;
5568 wxDC *This;
5569 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5570 if(!This) throw wxe_badarg("This");
5571 wxCoord Result = This->MaxX();
5572 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5573 rt.send( rt.make_int(Result));
5574
5575 }
5576
5577 // wxDC::MaxY
wxDC_MaxY(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5578 void wxDC_MaxY(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5579 {
5580 ErlNifEnv *env = Ecmd.env;
5581 ERL_NIF_TERM * argv = Ecmd.args;
5582 wxDC *This;
5583 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5584 if(!This) throw wxe_badarg("This");
5585 wxCoord Result = This->MaxY();
5586 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5587 rt.send( rt.make_int(Result));
5588
5589 }
5590
5591 // wxDC::MinX
wxDC_MinX(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5592 void wxDC_MinX(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5593 {
5594 ErlNifEnv *env = Ecmd.env;
5595 ERL_NIF_TERM * argv = Ecmd.args;
5596 wxDC *This;
5597 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5598 if(!This) throw wxe_badarg("This");
5599 wxCoord Result = This->MinX();
5600 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5601 rt.send( rt.make_int(Result));
5602
5603 }
5604
5605 // wxDC::MinY
wxDC_MinY(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5606 void wxDC_MinY(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5607 {
5608 ErlNifEnv *env = Ecmd.env;
5609 ERL_NIF_TERM * argv = Ecmd.args;
5610 wxDC *This;
5611 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5612 if(!This) throw wxe_badarg("This");
5613 wxCoord Result = This->MinY();
5614 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5615 rt.send( rt.make_int(Result));
5616
5617 }
5618
5619 // wxDC::IsOk
wxDC_IsOk(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5620 void wxDC_IsOk(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5621 {
5622 ErlNifEnv *env = Ecmd.env;
5623 ERL_NIF_TERM * argv = Ecmd.args;
5624 wxDC *This;
5625 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5626 if(!This) throw wxe_badarg("This");
5627 bool Result = This->IsOk();
5628 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5629 rt.send( rt.make_bool(Result));
5630
5631 }
5632
5633 // wxDC::ResetBoundingBox
wxDC_ResetBoundingBox(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5634 void wxDC_ResetBoundingBox(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5635 {
5636 ErlNifEnv *env = Ecmd.env;
5637 ERL_NIF_TERM * argv = Ecmd.args;
5638 wxDC *This;
5639 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5640 if(!This) throw wxe_badarg("This");
5641 This->ResetBoundingBox();
5642
5643 }
5644
5645 // wxDC::SetAxisOrientation
wxDC_SetAxisOrientation(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5646 void wxDC_SetAxisOrientation(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5647 {
5648 ErlNifEnv *env = Ecmd.env;
5649 ERL_NIF_TERM * argv = Ecmd.args;
5650 wxDC *This;
5651 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5652 bool xLeftRight;
5653 xLeftRight = enif_is_identical(argv[1], WXE_ATOM_true);
5654 bool yBottomUp;
5655 yBottomUp = enif_is_identical(argv[2], WXE_ATOM_true);
5656 if(!This) throw wxe_badarg("This");
5657 This->SetAxisOrientation(xLeftRight,yBottomUp);
5658
5659 }
5660
5661 // wxDC::SetBackground
wxDC_SetBackground(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5662 void wxDC_SetBackground(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5663 {
5664 ErlNifEnv *env = Ecmd.env;
5665 ERL_NIF_TERM * argv = Ecmd.args;
5666 wxDC *This;
5667 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5668 wxBrush *brush;
5669 brush = (wxBrush *) memenv->getPtr(env, argv[1], "brush");
5670 if(!This) throw wxe_badarg("This");
5671 This->SetBackground(*brush);
5672
5673 }
5674
5675 // wxDC::SetBackgroundMode
wxDC_SetBackgroundMode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5676 void wxDC_SetBackgroundMode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5677 {
5678 ErlNifEnv *env = Ecmd.env;
5679 ERL_NIF_TERM * argv = Ecmd.args;
5680 wxDC *This;
5681 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5682 int mode;
5683 if(!enif_get_int(env, argv[1], &mode)) Badarg("mode"); // int
5684 if(!This) throw wxe_badarg("This");
5685 This->SetBackgroundMode(mode);
5686
5687 }
5688
5689 // wxDC::SetBrush
wxDC_SetBrush(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5690 void wxDC_SetBrush(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5691 {
5692 ErlNifEnv *env = Ecmd.env;
5693 ERL_NIF_TERM * argv = Ecmd.args;
5694 wxDC *This;
5695 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5696 wxBrush *brush;
5697 brush = (wxBrush *) memenv->getPtr(env, argv[1], "brush");
5698 if(!This) throw wxe_badarg("This");
5699 This->SetBrush(*brush);
5700
5701 }
5702
5703 // wxDC::SetClippingRegion
wxDC_SetClippingRegion_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5704 void wxDC_SetClippingRegion_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5705 {
5706 ErlNifEnv *env = Ecmd.env;
5707 ERL_NIF_TERM * argv = Ecmd.args;
5708 wxDC *This;
5709 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5710 const ERL_NIF_TERM *pt_t;
5711 int pt_sz;
5712 if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
5713 int ptX;
5714 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
5715 int ptY;
5716 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
5717 wxPoint pt = wxPoint(ptX,ptY);
5718 const ERL_NIF_TERM *sz_t;
5719 int sz_sz;
5720 if(!enif_get_tuple(env, argv[2], &sz_sz, &sz_t)) Badarg("sz");
5721 int szW;
5722 if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
5723 int szH;
5724 if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
5725 wxSize sz = wxSize(szW,szH);
5726 if(!This) throw wxe_badarg("This");
5727 This->SetClippingRegion(pt,sz);
5728
5729 }
5730
5731 // wxDC::SetClippingRegion
wxDC_SetClippingRegion_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5732 void wxDC_SetClippingRegion_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5733 {
5734 ErlNifEnv *env = Ecmd.env;
5735 ERL_NIF_TERM * argv = Ecmd.args;
5736 wxDC *This;
5737 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5738 const ERL_NIF_TERM *rect_t;
5739 int rect_sz;
5740 if(!enif_get_tuple(env, argv[1], &rect_sz, &rect_t)) Badarg("rect");
5741 int rectX;
5742 if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
5743 int rectY;
5744 if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
5745 int rectW;
5746 if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
5747 int rectH;
5748 if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
5749 wxRect rect = wxRect(rectX,rectY,rectW,rectH);
5750 if(!This) throw wxe_badarg("This");
5751 This->SetClippingRegion(rect);
5752
5753 }
5754
5755 // wxDC::SetDeviceOrigin
wxDC_SetDeviceOrigin(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5756 void wxDC_SetDeviceOrigin(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5757 {
5758 ErlNifEnv *env = Ecmd.env;
5759 ERL_NIF_TERM * argv = Ecmd.args;
5760 wxDC *This;
5761 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5762 int x;
5763 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // wxCoord
5764 int y;
5765 if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // wxCoord
5766 if(!This) throw wxe_badarg("This");
5767 This->SetDeviceOrigin(x,y);
5768
5769 }
5770
5771 // wxDC::SetFont
wxDC_SetFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5772 void wxDC_SetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5773 {
5774 ErlNifEnv *env = Ecmd.env;
5775 ERL_NIF_TERM * argv = Ecmd.args;
5776 wxDC *This;
5777 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5778 wxFont *font;
5779 font = (wxFont *) memenv->getPtr(env, argv[1], "font");
5780 if(!This) throw wxe_badarg("This");
5781 This->SetFont(*font);
5782
5783 }
5784
5785 // wxDC::SetLayoutDirection
wxDC_SetLayoutDirection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5786 void wxDC_SetLayoutDirection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5787 {
5788 ErlNifEnv *env = Ecmd.env;
5789 ERL_NIF_TERM * argv = Ecmd.args;
5790 wxDC *This;
5791 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5792 wxLayoutDirection dir;
5793 if(!enif_get_int(env, argv[1], (int *) &dir)) Badarg("dir"); // enum
5794 if(!This) throw wxe_badarg("This");
5795 This->SetLayoutDirection(dir);
5796
5797 }
5798
5799 // wxDC::SetLogicalFunction
wxDC_SetLogicalFunction(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5800 void wxDC_SetLogicalFunction(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5801 {
5802 ErlNifEnv *env = Ecmd.env;
5803 ERL_NIF_TERM * argv = Ecmd.args;
5804 wxDC *This;
5805 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5806 wxRasterOperationMode function;
5807 if(!enif_get_int(env, argv[1], (int *) &function)) Badarg("function"); // enum
5808 if(!This) throw wxe_badarg("This");
5809 This->SetLogicalFunction(function);
5810
5811 }
5812
5813 // wxDC::SetMapMode
wxDC_SetMapMode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5814 void wxDC_SetMapMode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5815 {
5816 ErlNifEnv *env = Ecmd.env;
5817 ERL_NIF_TERM * argv = Ecmd.args;
5818 wxDC *This;
5819 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5820 wxMappingMode mode;
5821 if(!enif_get_int(env, argv[1], (int *) &mode)) Badarg("mode"); // enum
5822 if(!This) throw wxe_badarg("This");
5823 This->SetMapMode(mode);
5824
5825 }
5826
5827 // wxDC::SetPalette
wxDC_SetPalette(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5828 void wxDC_SetPalette(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5829 {
5830 ErlNifEnv *env = Ecmd.env;
5831 ERL_NIF_TERM * argv = Ecmd.args;
5832 wxDC *This;
5833 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5834 wxPalette *palette;
5835 palette = (wxPalette *) memenv->getPtr(env, argv[1], "palette");
5836 if(!This) throw wxe_badarg("This");
5837 This->SetPalette(*palette);
5838
5839 }
5840
5841 // wxDC::SetPen
wxDC_SetPen(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5842 void wxDC_SetPen(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5843 {
5844 ErlNifEnv *env = Ecmd.env;
5845 ERL_NIF_TERM * argv = Ecmd.args;
5846 wxDC *This;
5847 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5848 wxPen *pen;
5849 pen = (wxPen *) memenv->getPtr(env, argv[1], "pen");
5850 if(!This) throw wxe_badarg("This");
5851 This->SetPen(*pen);
5852
5853 }
5854
5855 // wxDC::SetTextBackground
wxDC_SetTextBackground(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5856 void wxDC_SetTextBackground(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5857 {
5858 ErlNifEnv *env = Ecmd.env;
5859 ERL_NIF_TERM * argv = Ecmd.args;
5860 wxDC *This;
5861 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5862 const ERL_NIF_TERM *colour_t;
5863 int colour_sz;
5864 if(!enif_get_tuple(env, argv[1], &colour_sz, &colour_t)) Badarg("colour");
5865 int colourR;
5866 if(!enif_get_int(env, colour_t[0], &colourR)) Badarg("colour");
5867 int colourG;
5868 if(!enif_get_int(env, colour_t[1], &colourG)) Badarg("colour");
5869 int colourB;
5870 if(!enif_get_int(env, colour_t[2], &colourB)) Badarg("colour");
5871 int colourA;
5872 if(!enif_get_int(env, colour_t[3], &colourA)) Badarg("colour");
5873 wxColour colour = wxColour(colourR,colourG,colourB,colourA);
5874 if(!This) throw wxe_badarg("This");
5875 This->SetTextBackground(colour);
5876
5877 }
5878
5879 // wxDC::SetTextForeground
wxDC_SetTextForeground(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5880 void wxDC_SetTextForeground(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5881 {
5882 ErlNifEnv *env = Ecmd.env;
5883 ERL_NIF_TERM * argv = Ecmd.args;
5884 wxDC *This;
5885 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5886 const ERL_NIF_TERM *colour_t;
5887 int colour_sz;
5888 if(!enif_get_tuple(env, argv[1], &colour_sz, &colour_t)) Badarg("colour");
5889 int colourR;
5890 if(!enif_get_int(env, colour_t[0], &colourR)) Badarg("colour");
5891 int colourG;
5892 if(!enif_get_int(env, colour_t[1], &colourG)) Badarg("colour");
5893 int colourB;
5894 if(!enif_get_int(env, colour_t[2], &colourB)) Badarg("colour");
5895 int colourA;
5896 if(!enif_get_int(env, colour_t[3], &colourA)) Badarg("colour");
5897 wxColour colour = wxColour(colourR,colourG,colourB,colourA);
5898 if(!This) throw wxe_badarg("This");
5899 This->SetTextForeground(colour);
5900
5901 }
5902
5903 // wxDC::SetUserScale
wxDC_SetUserScale(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5904 void wxDC_SetUserScale(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5905 {
5906 ErlNifEnv *env = Ecmd.env;
5907 ERL_NIF_TERM * argv = Ecmd.args;
5908 wxDC *This;
5909 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5910 double xScale;
5911 if(!wxe_get_double(env, argv[1], &xScale)) Badarg("xScale");
5912 double yScale;
5913 if(!wxe_get_double(env, argv[2], &yScale)) Badarg("yScale");
5914 if(!This) throw wxe_badarg("This");
5915 This->SetUserScale(xScale,yScale);
5916
5917 }
5918
5919 // wxDC::StartDoc
wxDC_StartDoc(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5920 void wxDC_StartDoc(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5921 {
5922 ErlNifEnv *env = Ecmd.env;
5923 ERL_NIF_TERM * argv = Ecmd.args;
5924 wxDC *This;
5925 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5926 ErlNifBinary message_bin;
5927 wxString message;
5928 if(!enif_inspect_binary(env, argv[1], &message_bin)) Badarg("message");
5929 message = wxString(message_bin.data, wxConvUTF8, message_bin.size);
5930 if(!This) throw wxe_badarg("This");
5931 bool Result = This->StartDoc(message);
5932 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5933 rt.send( rt.make_bool(Result));
5934
5935 }
5936
5937 // wxDC::StartPage
wxDC_StartPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5938 void wxDC_StartPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5939 {
5940 ErlNifEnv *env = Ecmd.env;
5941 ERL_NIF_TERM * argv = Ecmd.args;
5942 wxDC *This;
5943 This = (wxDC *) memenv->getPtr(env, argv[0], "This");
5944 if(!This) throw wxe_badarg("This");
5945 This->StartPage();
5946
5947 }
5948
5949 // wxDCOverlay::wxDCOverlay
wxDCOverlay_new_6(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5950 void wxDCOverlay_new_6(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5951 {
5952 ErlNifEnv *env = Ecmd.env;
5953 ERL_NIF_TERM * argv = Ecmd.args;
5954 wxOverlay *overlay;
5955 overlay = (wxOverlay *) memenv->getPtr(env, argv[0], "overlay");
5956 wxDC *dc;
5957 dc = (wxDC *) memenv->getPtr(env, argv[1], "dc");
5958 int x;
5959 if(!enif_get_int(env, argv[2], &x)) Badarg("x"); // int
5960 int y;
5961 if(!enif_get_int(env, argv[3], &y)) Badarg("y"); // int
5962 int width;
5963 if(!enif_get_int(env, argv[4], &width)) Badarg("width"); // int
5964 int height;
5965 if(!enif_get_int(env, argv[5], &height)) Badarg("height"); // int
5966 wxDCOverlay * Result = new EwxDCOverlay(*overlay,dc,x,y,width,height);
5967 app->newPtr((void *) Result, 240, memenv);
5968 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5969 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxDCOverlay"));
5970
5971 }
5972
5973 // wxDCOverlay::wxDCOverlay
wxDCOverlay_new_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5974 void wxDCOverlay_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5975 {
5976 ErlNifEnv *env = Ecmd.env;
5977 ERL_NIF_TERM * argv = Ecmd.args;
5978 wxOverlay *overlay;
5979 overlay = (wxOverlay *) memenv->getPtr(env, argv[0], "overlay");
5980 wxDC *dc;
5981 dc = (wxDC *) memenv->getPtr(env, argv[1], "dc");
5982 wxDCOverlay * Result = new EwxDCOverlay(*overlay,dc);
5983 app->newPtr((void *) Result, 240, memenv);
5984 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5985 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxDCOverlay"));
5986
5987 }
5988
5989 // wxDCOverlay::~wxDCOverlay
wxDCOverlay_destruct(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5990 void wxDCOverlay_destruct(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5991 {
5992 ErlNifEnv *env = Ecmd.env;
5993 ERL_NIF_TERM * argv = Ecmd.args;
5994 wxDCOverlay *This;
5995 This = (wxDCOverlay *) memenv->getPtr(env, argv[0], "This");
5996 if(This) { ((WxeApp *) wxTheApp)->clearPtr((void *) This);
5997 delete This;}
5998 }
5999
6000 // wxDCOverlay::Clear
wxDCOverlay_Clear(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6001 void wxDCOverlay_Clear(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6002 {
6003 ErlNifEnv *env = Ecmd.env;
6004 ERL_NIF_TERM * argv = Ecmd.args;
6005 wxDCOverlay *This;
6006 This = (wxDCOverlay *) memenv->getPtr(env, argv[0], "This");
6007 if(!This) throw wxe_badarg("This");
6008 This->Clear();
6009
6010 }
6011
6012 // wxDateEvent::GetDate
wxDateEvent_GetDate(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6013 void wxDateEvent_GetDate(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6014 {
6015 ErlNifEnv *env = Ecmd.env;
6016 ERL_NIF_TERM * argv = Ecmd.args;
6017 wxDateEvent *This;
6018 This = (wxDateEvent *) memenv->getPtr(env, argv[0], "This");
6019 if(!This) throw wxe_badarg("This");
6020 const wxDateTime * Result = &This->GetDate();
6021 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6022 rt.send( rt.make((*Result)));
6023
6024 }
6025
6026 // wxDatePickerCtrl::wxDatePickerCtrl
wxDatePickerCtrl_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6027 void wxDatePickerCtrl_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6028 {
6029 wxDatePickerCtrl * Result = new EwxDatePickerCtrl();
6030 app->newPtr((void *) Result, 0, memenv);
6031 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6032 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxDatePickerCtrl"));
6033
6034 }
6035
6036 // wxDatePickerCtrl::wxDatePickerCtrl
wxDatePickerCtrl_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6037 void wxDatePickerCtrl_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6038 {
6039 wxDateTime date= wxDefaultDateTime;
6040 wxPoint pos= wxDefaultPosition;
6041 wxSize size= wxDefaultSize;
6042 long style=wxDP_DEFAULT|wxDP_SHOWCENTURY;
6043 const wxValidator * validator= &wxDefaultValidator;
6044 ErlNifEnv *env = Ecmd.env;
6045 ERL_NIF_TERM * argv = Ecmd.args;
6046 wxWindow *parent;
6047 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
6048 int id;
6049 if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
6050 ERL_NIF_TERM lstHead, lstTail;
6051 lstTail = argv[2];
6052 if(!enif_is_list(env, lstTail)) Badarg("Options");
6053 const ERL_NIF_TERM *tpl;
6054 int tpl_sz;
6055 while(!enif_is_empty_list(env, lstTail)) {
6056 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6057 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6058 if(enif_is_identical(tpl[0], enif_make_atom(env, "date"))) {
6059 const ERL_NIF_TERM *date_t;
6060 int date_sz;
6061 if(!enif_get_tuple(env, tpl[1], &date_sz, &date_t)) Badarg("date");
6062 int dateD;
6063 if(!enif_get_int(env, date_t[0], &dateD)) Badarg("date");
6064 int dateMo;
6065 if(!enif_get_int(env, date_t[1], &dateMo)) Badarg("date");
6066 int dateY;
6067 if(!enif_get_int(env, date_t[2], &dateY)) Badarg("date");
6068 int dateH;
6069 if(!enif_get_int(env, date_t[3], &dateH)) Badarg("date");
6070 int dateMi;
6071 if(!enif_get_int(env, date_t[4], &dateMi)) Badarg("date");
6072 int dateS;
6073 if(!enif_get_int(env, date_t[5], &dateS)) Badarg("date");
6074 date = wxDateTime((wxDateTime::wxDateTime_t) dateD,(wxDateTime::Month) (dateMo-1),dateY,(wxDateTime::wxDateTime_t) dateH,(wxDateTime::wxDateTime_t) dateMi,(wxDateTime::wxDateTime_t) dateS);
6075 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
6076 const ERL_NIF_TERM *pos_t;
6077 int pos_sz;
6078 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
6079 int posX;
6080 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
6081 int posY;
6082 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
6083 pos = wxPoint(posX,posY);
6084 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
6085 const ERL_NIF_TERM *size_t;
6086 int size_sz;
6087 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
6088 int sizeW;
6089 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
6090 int sizeH;
6091 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
6092 size = wxSize(sizeW,sizeH);
6093 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
6094 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
6095 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
6096 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
6097 } else Badarg("Options");
6098 };
6099 wxDatePickerCtrl * Result = new EwxDatePickerCtrl(parent,id,date,pos,size,style,*validator);
6100 app->newPtr((void *) Result, 0, memenv);
6101 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6102 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxDatePickerCtrl"));
6103
6104 }
6105
6106 // wxDatePickerCtrl::GetRange
wxDatePickerCtrl_GetRange(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6107 void wxDatePickerCtrl_GetRange(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6108 {
6109 ErlNifEnv *env = Ecmd.env;
6110 ERL_NIF_TERM * argv = Ecmd.args;
6111 wxDatePickerCtrl *This;
6112 This = (wxDatePickerCtrl *) memenv->getPtr(env, argv[0], "This");
6113 const ERL_NIF_TERM *dt1_t;
6114 int dt1_sz;
6115 if(!enif_get_tuple(env, argv[1], &dt1_sz, &dt1_t)) Badarg("dt1");
6116 int dt1D;
6117 if(!enif_get_int(env, dt1_t[0], &dt1D)) Badarg("dt1");
6118 int dt1Mo;
6119 if(!enif_get_int(env, dt1_t[1], &dt1Mo)) Badarg("dt1");
6120 int dt1Y;
6121 if(!enif_get_int(env, dt1_t[2], &dt1Y)) Badarg("dt1");
6122 int dt1H;
6123 if(!enif_get_int(env, dt1_t[3], &dt1H)) Badarg("dt1");
6124 int dt1Mi;
6125 if(!enif_get_int(env, dt1_t[4], &dt1Mi)) Badarg("dt1");
6126 int dt1S;
6127 if(!enif_get_int(env, dt1_t[5], &dt1S)) Badarg("dt1");
6128 wxDateTime dt1 = wxDateTime((wxDateTime::wxDateTime_t) dt1D,(wxDateTime::Month) (dt1Mo-1),dt1Y,(wxDateTime::wxDateTime_t) dt1H,(wxDateTime::wxDateTime_t) dt1Mi,(wxDateTime::wxDateTime_t) dt1S);
6129 const ERL_NIF_TERM *dt2_t;
6130 int dt2_sz;
6131 if(!enif_get_tuple(env, argv[2], &dt2_sz, &dt2_t)) Badarg("dt2");
6132 int dt2D;
6133 if(!enif_get_int(env, dt2_t[0], &dt2D)) Badarg("dt2");
6134 int dt2Mo;
6135 if(!enif_get_int(env, dt2_t[1], &dt2Mo)) Badarg("dt2");
6136 int dt2Y;
6137 if(!enif_get_int(env, dt2_t[2], &dt2Y)) Badarg("dt2");
6138 int dt2H;
6139 if(!enif_get_int(env, dt2_t[3], &dt2H)) Badarg("dt2");
6140 int dt2Mi;
6141 if(!enif_get_int(env, dt2_t[4], &dt2Mi)) Badarg("dt2");
6142 int dt2S;
6143 if(!enif_get_int(env, dt2_t[5], &dt2S)) Badarg("dt2");
6144 wxDateTime dt2 = wxDateTime((wxDateTime::wxDateTime_t) dt2D,(wxDateTime::Month) (dt2Mo-1),dt2Y,(wxDateTime::wxDateTime_t) dt2H,(wxDateTime::wxDateTime_t) dt2Mi,(wxDateTime::wxDateTime_t) dt2S);
6145 if(!This) throw wxe_badarg("This");
6146 bool Result = This->GetRange(&dt1,&dt2);
6147 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6148 rt.send( rt.make_bool(Result));
6149
6150 }
6151
6152 // wxDatePickerCtrl::GetValue
wxDatePickerCtrl_GetValue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6153 void wxDatePickerCtrl_GetValue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6154 {
6155 ErlNifEnv *env = Ecmd.env;
6156 ERL_NIF_TERM * argv = Ecmd.args;
6157 wxDatePickerCtrl *This;
6158 This = (wxDatePickerCtrl *) memenv->getPtr(env, argv[0], "This");
6159 if(!This) throw wxe_badarg("This");
6160 wxDateTime Result = This->GetValue();
6161 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6162 rt.send( rt.make(Result));
6163
6164 }
6165
6166 // wxDatePickerCtrl::SetRange
wxDatePickerCtrl_SetRange(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6167 void wxDatePickerCtrl_SetRange(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6168 {
6169 ErlNifEnv *env = Ecmd.env;
6170 ERL_NIF_TERM * argv = Ecmd.args;
6171 wxDatePickerCtrl *This;
6172 This = (wxDatePickerCtrl *) memenv->getPtr(env, argv[0], "This");
6173 const ERL_NIF_TERM *dt1_t;
6174 int dt1_sz;
6175 if(!enif_get_tuple(env, argv[1], &dt1_sz, &dt1_t)) Badarg("dt1");
6176 int dt1D;
6177 if(!enif_get_int(env, dt1_t[0], &dt1D)) Badarg("dt1");
6178 int dt1Mo;
6179 if(!enif_get_int(env, dt1_t[1], &dt1Mo)) Badarg("dt1");
6180 int dt1Y;
6181 if(!enif_get_int(env, dt1_t[2], &dt1Y)) Badarg("dt1");
6182 int dt1H;
6183 if(!enif_get_int(env, dt1_t[3], &dt1H)) Badarg("dt1");
6184 int dt1Mi;
6185 if(!enif_get_int(env, dt1_t[4], &dt1Mi)) Badarg("dt1");
6186 int dt1S;
6187 if(!enif_get_int(env, dt1_t[5], &dt1S)) Badarg("dt1");
6188 wxDateTime dt1 = wxDateTime((wxDateTime::wxDateTime_t) dt1D,(wxDateTime::Month) (dt1Mo-1),dt1Y,(wxDateTime::wxDateTime_t) dt1H,(wxDateTime::wxDateTime_t) dt1Mi,(wxDateTime::wxDateTime_t) dt1S);
6189 const ERL_NIF_TERM *dt2_t;
6190 int dt2_sz;
6191 if(!enif_get_tuple(env, argv[2], &dt2_sz, &dt2_t)) Badarg("dt2");
6192 int dt2D;
6193 if(!enif_get_int(env, dt2_t[0], &dt2D)) Badarg("dt2");
6194 int dt2Mo;
6195 if(!enif_get_int(env, dt2_t[1], &dt2Mo)) Badarg("dt2");
6196 int dt2Y;
6197 if(!enif_get_int(env, dt2_t[2], &dt2Y)) Badarg("dt2");
6198 int dt2H;
6199 if(!enif_get_int(env, dt2_t[3], &dt2H)) Badarg("dt2");
6200 int dt2Mi;
6201 if(!enif_get_int(env, dt2_t[4], &dt2Mi)) Badarg("dt2");
6202 int dt2S;
6203 if(!enif_get_int(env, dt2_t[5], &dt2S)) Badarg("dt2");
6204 wxDateTime dt2 = wxDateTime((wxDateTime::wxDateTime_t) dt2D,(wxDateTime::Month) (dt2Mo-1),dt2Y,(wxDateTime::wxDateTime_t) dt2H,(wxDateTime::wxDateTime_t) dt2Mi,(wxDateTime::wxDateTime_t) dt2S);
6205 if(!This) throw wxe_badarg("This");
6206 This->SetRange(dt1,dt2);
6207
6208 }
6209
6210 // wxDatePickerCtrl::SetValue
wxDatePickerCtrl_SetValue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6211 void wxDatePickerCtrl_SetValue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6212 {
6213 ErlNifEnv *env = Ecmd.env;
6214 ERL_NIF_TERM * argv = Ecmd.args;
6215 wxDatePickerCtrl *This;
6216 This = (wxDatePickerCtrl *) memenv->getPtr(env, argv[0], "This");
6217 const ERL_NIF_TERM *dt_t;
6218 int dt_sz;
6219 if(!enif_get_tuple(env, argv[1], &dt_sz, &dt_t)) Badarg("dt");
6220 int dtD;
6221 if(!enif_get_int(env, dt_t[0], &dtD)) Badarg("dt");
6222 int dtMo;
6223 if(!enif_get_int(env, dt_t[1], &dtMo)) Badarg("dt");
6224 int dtY;
6225 if(!enif_get_int(env, dt_t[2], &dtY)) Badarg("dt");
6226 int dtH;
6227 if(!enif_get_int(env, dt_t[3], &dtH)) Badarg("dt");
6228 int dtMi;
6229 if(!enif_get_int(env, dt_t[4], &dtMi)) Badarg("dt");
6230 int dtS;
6231 if(!enif_get_int(env, dt_t[5], &dtS)) Badarg("dt");
6232 wxDateTime dt = wxDateTime((wxDateTime::wxDateTime_t) dtD,(wxDateTime::Month) (dtMo-1),dtY,(wxDateTime::wxDateTime_t) dtH,(wxDateTime::wxDateTime_t) dtMi,(wxDateTime::wxDateTime_t) dtS);
6233 if(!This) throw wxe_badarg("This");
6234 This->SetValue(dt);
6235
6236 }
6237
6238 // wxDialog::wxDialog
wxDialog_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6239 void wxDialog_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6240 {
6241 wxDialog * Result = new EwxDialog();
6242 app->newPtr((void *) Result, 2, memenv);
6243 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6244 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxDialog"));
6245
6246 }
6247
6248 // wxDialog::wxDialog
wxDialog_new_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6249 void wxDialog_new_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6250 {
6251 wxPoint pos= wxDefaultPosition;
6252 wxSize size= wxDefaultSize;
6253 long style=wxDEFAULT_DIALOG_STYLE;
6254 ErlNifEnv *env = Ecmd.env;
6255 ERL_NIF_TERM * argv = Ecmd.args;
6256 wxWindow *parent;
6257 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
6258 int id;
6259 if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
6260 ErlNifBinary title_bin;
6261 wxString title;
6262 if(!enif_inspect_binary(env, argv[2], &title_bin)) Badarg("title");
6263 title = wxString(title_bin.data, wxConvUTF8, title_bin.size);
6264 ERL_NIF_TERM lstHead, lstTail;
6265 lstTail = argv[3];
6266 if(!enif_is_list(env, lstTail)) Badarg("Options");
6267 const ERL_NIF_TERM *tpl;
6268 int tpl_sz;
6269 while(!enif_is_empty_list(env, lstTail)) {
6270 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6271 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6272 if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
6273 const ERL_NIF_TERM *pos_t;
6274 int pos_sz;
6275 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
6276 int posX;
6277 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
6278 int posY;
6279 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
6280 pos = wxPoint(posX,posY);
6281 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
6282 const ERL_NIF_TERM *size_t;
6283 int size_sz;
6284 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
6285 int sizeW;
6286 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
6287 int sizeH;
6288 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
6289 size = wxSize(sizeW,sizeH);
6290 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
6291 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
6292 } else Badarg("Options");
6293 };
6294 wxDialog * Result = new EwxDialog(parent,id,title,pos,size,style);
6295 app->newPtr((void *) Result, 2, memenv);
6296 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6297 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxDialog"));
6298
6299 }
6300
6301 // wxDialog::Create
wxDialog_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6302 void wxDialog_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6303 {
6304 wxPoint pos= wxDefaultPosition;
6305 wxSize size= wxDefaultSize;
6306 long style=wxDEFAULT_DIALOG_STYLE;
6307 ErlNifEnv *env = Ecmd.env;
6308 ERL_NIF_TERM * argv = Ecmd.args;
6309 wxDialog *This;
6310 This = (wxDialog *) memenv->getPtr(env, argv[0], "This");
6311 wxWindow *parent;
6312 parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
6313 int id;
6314 if(!enif_get_int(env, argv[2], &id)) Badarg("id"); // wxWindowID
6315 ErlNifBinary title_bin;
6316 wxString title;
6317 if(!enif_inspect_binary(env, argv[3], &title_bin)) Badarg("title");
6318 title = wxString(title_bin.data, wxConvUTF8, title_bin.size);
6319 ERL_NIF_TERM lstHead, lstTail;
6320 lstTail = argv[4];
6321 if(!enif_is_list(env, lstTail)) Badarg("Options");
6322 const ERL_NIF_TERM *tpl;
6323 int tpl_sz;
6324 while(!enif_is_empty_list(env, lstTail)) {
6325 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6326 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6327 if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
6328 const ERL_NIF_TERM *pos_t;
6329 int pos_sz;
6330 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
6331 int posX;
6332 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
6333 int posY;
6334 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
6335 pos = wxPoint(posX,posY);
6336 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
6337 const ERL_NIF_TERM *size_t;
6338 int size_sz;
6339 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
6340 int sizeW;
6341 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
6342 int sizeH;
6343 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
6344 size = wxSize(sizeW,sizeH);
6345 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
6346 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
6347 } else Badarg("Options");
6348 };
6349 if(!This) throw wxe_badarg("This");
6350 bool Result = This->Create(parent,id,title,pos,size,style);
6351 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6352 rt.send( rt.make_bool(Result));
6353
6354 }
6355
6356 // wxDialog::CreateButtonSizer
wxDialog_CreateButtonSizer(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6357 void wxDialog_CreateButtonSizer(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6358 {
6359 ErlNifEnv *env = Ecmd.env;
6360 ERL_NIF_TERM * argv = Ecmd.args;
6361 wxDialog *This;
6362 This = (wxDialog *) memenv->getPtr(env, argv[0], "This");
6363 long flags;
6364 if(!enif_get_long(env, argv[1], &flags)) Badarg("flags");
6365 if(!This) throw wxe_badarg("This");
6366 wxSizer * Result = (wxSizer*)This->CreateButtonSizer(flags);
6367 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6368 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxSizer"));
6369
6370 }
6371
6372 // wxDialog::CreateStdDialogButtonSizer
wxDialog_CreateStdDialogButtonSizer(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6373 void wxDialog_CreateStdDialogButtonSizer(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6374 {
6375 ErlNifEnv *env = Ecmd.env;
6376 ERL_NIF_TERM * argv = Ecmd.args;
6377 wxDialog *This;
6378 This = (wxDialog *) memenv->getPtr(env, argv[0], "This");
6379 long flags;
6380 if(!enif_get_long(env, argv[1], &flags)) Badarg("flags");
6381 if(!This) throw wxe_badarg("This");
6382 wxStdDialogButtonSizer * Result = (wxStdDialogButtonSizer*)This->CreateStdDialogButtonSizer(flags);
6383 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6384 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxStdDialogButtonSizer"));
6385
6386 }
6387
6388 // wxDialog::EndModal
wxDialog_EndModal(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6389 void wxDialog_EndModal(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6390 {
6391 ErlNifEnv *env = Ecmd.env;
6392 ERL_NIF_TERM * argv = Ecmd.args;
6393 wxDialog *This;
6394 This = (wxDialog *) memenv->getPtr(env, argv[0], "This");
6395 int retCode;
6396 if(!enif_get_int(env, argv[1], &retCode)) Badarg("retCode"); // int
6397 if(!This) throw wxe_badarg("This");
6398 This->EndModal(retCode);
6399
6400 }
6401
6402 // wxDialog::GetAffirmativeId
wxDialog_GetAffirmativeId(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6403 void wxDialog_GetAffirmativeId(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6404 {
6405 ErlNifEnv *env = Ecmd.env;
6406 ERL_NIF_TERM * argv = Ecmd.args;
6407 wxDialog *This;
6408 This = (wxDialog *) memenv->getPtr(env, argv[0], "This");
6409 if(!This) throw wxe_badarg("This");
6410 int Result = This->GetAffirmativeId();
6411 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6412 rt.send( rt.make_int(Result));
6413
6414 }
6415
6416 // wxDialog::GetReturnCode
wxDialog_GetReturnCode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6417 void wxDialog_GetReturnCode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6418 {
6419 ErlNifEnv *env = Ecmd.env;
6420 ERL_NIF_TERM * argv = Ecmd.args;
6421 wxDialog *This;
6422 This = (wxDialog *) memenv->getPtr(env, argv[0], "This");
6423 if(!This) throw wxe_badarg("This");
6424 int Result = This->GetReturnCode();
6425 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6426 rt.send( rt.make_int(Result));
6427
6428 }
6429
6430 // wxDialog::IsModal
wxDialog_IsModal(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6431 void wxDialog_IsModal(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6432 {
6433 ErlNifEnv *env = Ecmd.env;
6434 ERL_NIF_TERM * argv = Ecmd.args;
6435 wxDialog *This;
6436 This = (wxDialog *) memenv->getPtr(env, argv[0], "This");
6437 if(!This) throw wxe_badarg("This");
6438 bool Result = This->IsModal();
6439 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6440 rt.send( rt.make_bool(Result));
6441
6442 }
6443
6444 // wxDialog::SetAffirmativeId
wxDialog_SetAffirmativeId(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6445 void wxDialog_SetAffirmativeId(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6446 {
6447 ErlNifEnv *env = Ecmd.env;
6448 ERL_NIF_TERM * argv = Ecmd.args;
6449 wxDialog *This;
6450 This = (wxDialog *) memenv->getPtr(env, argv[0], "This");
6451 int id;
6452 if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // int
6453 if(!This) throw wxe_badarg("This");
6454 This->SetAffirmativeId(id);
6455
6456 }
6457
6458 // wxDialog::SetReturnCode
wxDialog_SetReturnCode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6459 void wxDialog_SetReturnCode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6460 {
6461 ErlNifEnv *env = Ecmd.env;
6462 ERL_NIF_TERM * argv = Ecmd.args;
6463 wxDialog *This;
6464 This = (wxDialog *) memenv->getPtr(env, argv[0], "This");
6465 int retCode;
6466 if(!enif_get_int(env, argv[1], &retCode)) Badarg("retCode"); // int
6467 if(!This) throw wxe_badarg("This");
6468 This->SetReturnCode(retCode);
6469
6470 }
6471
6472 // wxDialog::Show
wxDialog_Show(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6473 void wxDialog_Show(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6474 {
6475 bool show=true;
6476 ErlNifEnv *env = Ecmd.env;
6477 ERL_NIF_TERM * argv = Ecmd.args;
6478 wxDialog *This;
6479 This = (wxDialog *) memenv->getPtr(env, argv[0], "This");
6480 ERL_NIF_TERM lstHead, lstTail;
6481 lstTail = argv[1];
6482 if(!enif_is_list(env, lstTail)) Badarg("Options");
6483 const ERL_NIF_TERM *tpl;
6484 int tpl_sz;
6485 while(!enif_is_empty_list(env, lstTail)) {
6486 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6487 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6488 if(enif_is_identical(tpl[0], enif_make_atom(env, "show"))) {
6489 show = enif_is_identical(tpl[1], WXE_ATOM_true);
6490 } else Badarg("Options");
6491 };
6492 if(!This) throw wxe_badarg("This");
6493 bool Result = This->Show(show);
6494 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6495 rt.send( rt.make_bool(Result));
6496
6497 }
6498
6499 // wxDialog::ShowModal
wxDialog_ShowModal(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6500 void wxDialog_ShowModal(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6501 {
6502 ErlNifEnv *env = Ecmd.env;
6503 ERL_NIF_TERM * argv = Ecmd.args;
6504 wxDialog *This;
6505 This = (wxDialog *) memenv->getPtr(env, argv[0], "This");
6506 if(!This) throw wxe_badarg("This");
6507 int Result = This->ShowModal();
6508 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6509 rt.send( rt.make_int(Result));
6510
6511 }
6512
6513 // wxDirDialog::wxDirDialog
wxDirDialog_new(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6514 void wxDirDialog_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6515 {
6516 wxString title= wxDirSelectorPromptStr;
6517 wxString defaultPath= wxEmptyString;
6518 long style=wxDD_DEFAULT_STYLE;
6519 wxPoint pos= wxDefaultPosition;
6520 wxSize sz= wxDefaultSize;
6521 ErlNifEnv *env = Ecmd.env;
6522 ERL_NIF_TERM * argv = Ecmd.args;
6523 wxWindow *parent;
6524 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
6525 ERL_NIF_TERM lstHead, lstTail;
6526 lstTail = argv[1];
6527 if(!enif_is_list(env, lstTail)) Badarg("Options");
6528 const ERL_NIF_TERM *tpl;
6529 int tpl_sz;
6530 while(!enif_is_empty_list(env, lstTail)) {
6531 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6532 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6533 if(enif_is_identical(tpl[0], enif_make_atom(env, "title"))) {
6534 ErlNifBinary title_bin;
6535 if(!enif_inspect_binary(env, tpl[1], &title_bin)) Badarg("title");
6536 title = wxString(title_bin.data, wxConvUTF8, title_bin.size);
6537 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "defaultPath"))) {
6538 ErlNifBinary defaultPath_bin;
6539 if(!enif_inspect_binary(env, tpl[1], &defaultPath_bin)) Badarg("defaultPath");
6540 defaultPath = wxString(defaultPath_bin.data, wxConvUTF8, defaultPath_bin.size);
6541 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
6542 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
6543 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
6544 const ERL_NIF_TERM *pos_t;
6545 int pos_sz;
6546 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
6547 int posX;
6548 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
6549 int posY;
6550 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
6551 pos = wxPoint(posX,posY);
6552 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "sz"))) {
6553 const ERL_NIF_TERM *sz_t;
6554 int sz_sz;
6555 if(!enif_get_tuple(env, tpl[1], &sz_sz, &sz_t)) Badarg("sz");
6556 int szW;
6557 if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
6558 int szH;
6559 if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
6560 sz = wxSize(szW,szH);
6561 } else Badarg("Options");
6562 };
6563 wxDirDialog * Result = new EwxDirDialog(parent,title,defaultPath,style,pos,sz);
6564 app->newPtr((void *) Result, 2, memenv);
6565 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6566 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxDirDialog"));
6567
6568 }
6569
6570 // wxDirDialog::GetPath
wxDirDialog_GetPath(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6571 void wxDirDialog_GetPath(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6572 {
6573 ErlNifEnv *env = Ecmd.env;
6574 ERL_NIF_TERM * argv = Ecmd.args;
6575 wxDirDialog *This;
6576 This = (wxDirDialog *) memenv->getPtr(env, argv[0], "This");
6577 if(!This) throw wxe_badarg("This");
6578 wxString Result = This->GetPath();
6579 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6580 rt.send( rt.make(Result));
6581
6582 }
6583
6584 // wxDirDialog::GetMessage
wxDirDialog_GetMessage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6585 void wxDirDialog_GetMessage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6586 {
6587 ErlNifEnv *env = Ecmd.env;
6588 ERL_NIF_TERM * argv = Ecmd.args;
6589 wxDirDialog *This;
6590 This = (wxDirDialog *) memenv->getPtr(env, argv[0], "This");
6591 if(!This) throw wxe_badarg("This");
6592 wxString Result = This->GetMessage();
6593 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6594 rt.send( rt.make(Result));
6595
6596 }
6597
6598 // wxDirDialog::SetMessage
wxDirDialog_SetMessage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6599 void wxDirDialog_SetMessage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6600 {
6601 ErlNifEnv *env = Ecmd.env;
6602 ERL_NIF_TERM * argv = Ecmd.args;
6603 wxDirDialog *This;
6604 This = (wxDirDialog *) memenv->getPtr(env, argv[0], "This");
6605 ErlNifBinary message_bin;
6606 wxString message;
6607 if(!enif_inspect_binary(env, argv[1], &message_bin)) Badarg("message");
6608 message = wxString(message_bin.data, wxConvUTF8, message_bin.size);
6609 if(!This) throw wxe_badarg("This");
6610 This->SetMessage(message);
6611
6612 }
6613
6614 // wxDirDialog::SetPath
wxDirDialog_SetPath(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6615 void wxDirDialog_SetPath(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6616 {
6617 ErlNifEnv *env = Ecmd.env;
6618 ERL_NIF_TERM * argv = Ecmd.args;
6619 wxDirDialog *This;
6620 This = (wxDirDialog *) memenv->getPtr(env, argv[0], "This");
6621 ErlNifBinary path_bin;
6622 wxString path;
6623 if(!enif_inspect_binary(env, argv[1], &path_bin)) Badarg("path");
6624 path = wxString(path_bin.data, wxConvUTF8, path_bin.size);
6625 if(!This) throw wxe_badarg("This");
6626 This->SetPath(path);
6627
6628 }
6629
6630 // wxDirPickerCtrl::wxDirPickerCtrl
wxDirPickerCtrl_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6631 void wxDirPickerCtrl_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6632 {
6633 wxDirPickerCtrl * Result = new EwxDirPickerCtrl();
6634 app->newPtr((void *) Result, 0, memenv);
6635 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6636 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxDirPickerCtrl"));
6637
6638 }
6639
6640 // wxDirPickerCtrl::wxDirPickerCtrl
wxDirPickerCtrl_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6641 void wxDirPickerCtrl_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6642 {
6643 wxString path= wxEmptyString;
6644 wxString message= wxDirSelectorPromptStr;
6645 wxPoint pos= wxDefaultPosition;
6646 wxSize size= wxDefaultSize;
6647 long style=wxDIRP_DEFAULT_STYLE;
6648 const wxValidator * validator= &wxDefaultValidator;
6649 ErlNifEnv *env = Ecmd.env;
6650 ERL_NIF_TERM * argv = Ecmd.args;
6651 wxWindow *parent;
6652 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
6653 int id;
6654 if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
6655 ERL_NIF_TERM lstHead, lstTail;
6656 lstTail = argv[2];
6657 if(!enif_is_list(env, lstTail)) Badarg("Options");
6658 const ERL_NIF_TERM *tpl;
6659 int tpl_sz;
6660 while(!enif_is_empty_list(env, lstTail)) {
6661 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6662 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6663 if(enif_is_identical(tpl[0], enif_make_atom(env, "path"))) {
6664 ErlNifBinary path_bin;
6665 if(!enif_inspect_binary(env, tpl[1], &path_bin)) Badarg("path");
6666 path = wxString(path_bin.data, wxConvUTF8, path_bin.size);
6667 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "message"))) {
6668 ErlNifBinary message_bin;
6669 if(!enif_inspect_binary(env, tpl[1], &message_bin)) Badarg("message");
6670 message = wxString(message_bin.data, wxConvUTF8, message_bin.size);
6671 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
6672 const ERL_NIF_TERM *pos_t;
6673 int pos_sz;
6674 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
6675 int posX;
6676 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
6677 int posY;
6678 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
6679 pos = wxPoint(posX,posY);
6680 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
6681 const ERL_NIF_TERM *size_t;
6682 int size_sz;
6683 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
6684 int sizeW;
6685 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
6686 int sizeH;
6687 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
6688 size = wxSize(sizeW,sizeH);
6689 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
6690 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
6691 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
6692 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
6693 } else Badarg("Options");
6694 };
6695 wxDirPickerCtrl * Result = new EwxDirPickerCtrl(parent,id,path,message,pos,size,style,*validator);
6696 app->newPtr((void *) Result, 0, memenv);
6697 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6698 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxDirPickerCtrl"));
6699
6700 }
6701
6702 // wxDirPickerCtrl::Create
wxDirPickerCtrl_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6703 void wxDirPickerCtrl_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6704 {
6705 wxString path= wxEmptyString;
6706 wxString message= wxDirSelectorPromptStr;
6707 wxPoint pos= wxDefaultPosition;
6708 wxSize size= wxDefaultSize;
6709 long style=wxDIRP_DEFAULT_STYLE;
6710 const wxValidator * validator= &wxDefaultValidator;
6711 ErlNifEnv *env = Ecmd.env;
6712 ERL_NIF_TERM * argv = Ecmd.args;
6713 wxDirPickerCtrl *This;
6714 This = (wxDirPickerCtrl *) memenv->getPtr(env, argv[0], "This");
6715 wxWindow *parent;
6716 parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
6717 int id;
6718 if(!enif_get_int(env, argv[2], &id)) Badarg("id"); // wxWindowID
6719 ERL_NIF_TERM lstHead, lstTail;
6720 lstTail = argv[3];
6721 if(!enif_is_list(env, lstTail)) Badarg("Options");
6722 const ERL_NIF_TERM *tpl;
6723 int tpl_sz;
6724 while(!enif_is_empty_list(env, lstTail)) {
6725 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6726 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6727 if(enif_is_identical(tpl[0], enif_make_atom(env, "path"))) {
6728 ErlNifBinary path_bin;
6729 if(!enif_inspect_binary(env, tpl[1], &path_bin)) Badarg("path");
6730 path = wxString(path_bin.data, wxConvUTF8, path_bin.size);
6731 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "message"))) {
6732 ErlNifBinary message_bin;
6733 if(!enif_inspect_binary(env, tpl[1], &message_bin)) Badarg("message");
6734 message = wxString(message_bin.data, wxConvUTF8, message_bin.size);
6735 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
6736 const ERL_NIF_TERM *pos_t;
6737 int pos_sz;
6738 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
6739 int posX;
6740 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
6741 int posY;
6742 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
6743 pos = wxPoint(posX,posY);
6744 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
6745 const ERL_NIF_TERM *size_t;
6746 int size_sz;
6747 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
6748 int sizeW;
6749 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
6750 int sizeH;
6751 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
6752 size = wxSize(sizeW,sizeH);
6753 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
6754 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
6755 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
6756 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
6757 } else Badarg("Options");
6758 };
6759 if(!This) throw wxe_badarg("This");
6760 bool Result = This->Create(parent,id,path,message,pos,size,style,*validator);
6761 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6762 rt.send( rt.make_bool(Result));
6763
6764 }
6765
6766 // wxDirPickerCtrl::GetPath
wxDirPickerCtrl_GetPath(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6767 void wxDirPickerCtrl_GetPath(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6768 {
6769 ErlNifEnv *env = Ecmd.env;
6770 ERL_NIF_TERM * argv = Ecmd.args;
6771 wxDirPickerCtrl *This;
6772 This = (wxDirPickerCtrl *) memenv->getPtr(env, argv[0], "This");
6773 if(!This) throw wxe_badarg("This");
6774 wxString Result = This->GetPath();
6775 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6776 rt.send( rt.make(Result));
6777
6778 }
6779
6780 // wxDirPickerCtrl::SetPath
wxDirPickerCtrl_SetPath(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6781 void wxDirPickerCtrl_SetPath(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6782 {
6783 ErlNifEnv *env = Ecmd.env;
6784 ERL_NIF_TERM * argv = Ecmd.args;
6785 wxDirPickerCtrl *This;
6786 This = (wxDirPickerCtrl *) memenv->getPtr(env, argv[0], "This");
6787 ErlNifBinary dirname_bin;
6788 wxString dirname;
6789 if(!enif_inspect_binary(env, argv[1], &dirname_bin)) Badarg("dirname");
6790 dirname = wxString(dirname_bin.data, wxConvUTF8, dirname_bin.size);
6791 if(!This) throw wxe_badarg("This");
6792 This->SetPath(dirname);
6793
6794 }
6795
6796 #if wxUSE_DISPLAY
6797 // wxDisplay::wxDisplay
wxDisplay_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6798 void wxDisplay_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6799 {
6800 wxDisplay * Result = new wxDisplay();
6801 app->newPtr((void *) Result, 242, memenv);
6802 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6803 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxDisplay"));
6804
6805 }
6806
6807 // wxDisplay::wxDisplay
wxDisplay_new_1_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6808 void wxDisplay_new_1_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6809 {
6810 ErlNifEnv *env = Ecmd.env;
6811 ERL_NIF_TERM * argv = Ecmd.args;
6812 unsigned int index;
6813 if(!enif_get_uint(env, argv[0], &index)) Badarg("index");
6814 wxDisplay * Result = new wxDisplay(index);
6815 app->newPtr((void *) Result, 242, memenv);
6816 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6817 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxDisplay"));
6818
6819 }
6820
6821 #if wxCHECK_VERSION(3,1,3)
6822 // wxDisplay::wxDisplay
wxDisplay_new_1_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6823 void wxDisplay_new_1_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6824 {
6825 ErlNifEnv *env = Ecmd.env;
6826 ERL_NIF_TERM * argv = Ecmd.args;
6827 wxWindow *window;
6828 window = (wxWindow *) memenv->getPtr(env, argv[0], "window");
6829 wxDisplay * Result = new wxDisplay(window);
6830 app->newPtr((void *) Result, 242, memenv);
6831 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6832 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxDisplay"));
6833
6834 }
6835
6836 #endif
6837 // wxDisplay::~wxDisplay
wxDisplay_destruct(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6838 void wxDisplay_destruct(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6839 {
6840 ErlNifEnv *env = Ecmd.env;
6841 ERL_NIF_TERM * argv = Ecmd.args;
6842 wxDisplay *This;
6843 This = (wxDisplay *) memenv->getPtr(env, argv[0], "This");
6844 if(This) { ((WxeApp *) wxTheApp)->clearPtr((void *) This);
6845 delete This;}
6846 }
6847
6848 // wxDisplay::IsOk
wxDisplay_IsOk(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6849 void wxDisplay_IsOk(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6850 {
6851 ErlNifEnv *env = Ecmd.env;
6852 ERL_NIF_TERM * argv = Ecmd.args;
6853 wxDisplay *This;
6854 This = (wxDisplay *) memenv->getPtr(env, argv[0], "This");
6855 if(!This) throw wxe_badarg("This");
6856 bool Result = This->IsOk();
6857 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6858 rt.send( rt.make_bool(Result));
6859
6860 }
6861
6862 // wxDisplay::GetClientArea
wxDisplay_GetClientArea(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6863 void wxDisplay_GetClientArea(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6864 {
6865 ErlNifEnv *env = Ecmd.env;
6866 ERL_NIF_TERM * argv = Ecmd.args;
6867 wxDisplay *This;
6868 This = (wxDisplay *) memenv->getPtr(env, argv[0], "This");
6869 if(!This) throw wxe_badarg("This");
6870 wxRect Result = This->GetClientArea();
6871 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6872 rt.send( rt.make(Result));
6873
6874 }
6875
6876 // wxDisplay::GetGeometry
wxDisplay_GetGeometry(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6877 void wxDisplay_GetGeometry(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6878 {
6879 ErlNifEnv *env = Ecmd.env;
6880 ERL_NIF_TERM * argv = Ecmd.args;
6881 wxDisplay *This;
6882 This = (wxDisplay *) memenv->getPtr(env, argv[0], "This");
6883 if(!This) throw wxe_badarg("This");
6884 wxRect Result = This->GetGeometry();
6885 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6886 rt.send( rt.make(Result));
6887
6888 }
6889
6890 // wxDisplay::GetName
wxDisplay_GetName(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6891 void wxDisplay_GetName(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6892 {
6893 ErlNifEnv *env = Ecmd.env;
6894 ERL_NIF_TERM * argv = Ecmd.args;
6895 wxDisplay *This;
6896 This = (wxDisplay *) memenv->getPtr(env, argv[0], "This");
6897 if(!This) throw wxe_badarg("This");
6898 wxString Result = This->GetName();
6899 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6900 rt.send( rt.make(Result));
6901
6902 }
6903
6904 // wxDisplay::IsPrimary
wxDisplay_IsPrimary(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6905 void wxDisplay_IsPrimary(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6906 {
6907 ErlNifEnv *env = Ecmd.env;
6908 ERL_NIF_TERM * argv = Ecmd.args;
6909 wxDisplay *This;
6910 This = (wxDisplay *) memenv->getPtr(env, argv[0], "This");
6911 if(!This) throw wxe_badarg("This");
6912 bool Result = This->IsPrimary();
6913 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6914 rt.send( rt.make_bool(Result));
6915
6916 }
6917
6918 // wxDisplay::GetCount
wxDisplay_GetCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6919 void wxDisplay_GetCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6920 {
6921 int Result = wxDisplay::GetCount();
6922 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6923 rt.send( rt.make_uint(Result));
6924
6925 }
6926
6927 // wxDisplay::GetFromPoint
wxDisplay_GetFromPoint(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6928 void wxDisplay_GetFromPoint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6929 {
6930 ErlNifEnv *env = Ecmd.env;
6931 ERL_NIF_TERM * argv = Ecmd.args;
6932 const ERL_NIF_TERM *pt_t;
6933 int pt_sz;
6934 if(!enif_get_tuple(env, argv[0], &pt_sz, &pt_t)) Badarg("pt");
6935 int ptX;
6936 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
6937 int ptY;
6938 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
6939 wxPoint pt = wxPoint(ptX,ptY);
6940 int Result = wxDisplay::GetFromPoint(pt);
6941 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6942 rt.send( rt.make_int(Result));
6943
6944 }
6945
6946 // wxDisplay::GetFromWindow
wxDisplay_GetFromWindow(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6947 void wxDisplay_GetFromWindow(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6948 {
6949 ErlNifEnv *env = Ecmd.env;
6950 ERL_NIF_TERM * argv = Ecmd.args;
6951 wxWindow *win;
6952 win = (wxWindow *) memenv->getPtr(env, argv[0], "win");
6953 int Result = wxDisplay::GetFromWindow(win);
6954 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6955 rt.send( rt.make_int(Result));
6956
6957 }
6958
6959 #if wxCHECK_VERSION(3,1,2)
6960 // wxDisplay::GetPPI
wxDisplay_GetPPI(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6961 void wxDisplay_GetPPI(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6962 {
6963 ErlNifEnv *env = Ecmd.env;
6964 ERL_NIF_TERM * argv = Ecmd.args;
6965 wxDisplay *This;
6966 This = (wxDisplay *) memenv->getPtr(env, argv[0], "This");
6967 if(!This) throw wxe_badarg("This");
6968 wxSize Result = This->GetPPI();
6969 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6970 rt.send( rt.make(Result));
6971
6972 }
6973
6974 #endif
6975 #endif // wxUSE_DISPLAY
6976 // wxDropFilesEvent::GetPosition
wxDropFilesEvent_GetPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6977 void wxDropFilesEvent_GetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6978 {
6979 ErlNifEnv *env = Ecmd.env;
6980 ERL_NIF_TERM * argv = Ecmd.args;
6981 wxDropFilesEvent *This;
6982 This = (wxDropFilesEvent *) memenv->getPtr(env, argv[0], "This");
6983 if(!This) throw wxe_badarg("This");
6984 wxPoint Result = This->GetPosition();
6985 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6986 rt.send( rt.make(Result));
6987
6988 }
6989
6990 // wxDropFilesEvent::GetNumberOfFiles
wxDropFilesEvent_GetNumberOfFiles(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6991 void wxDropFilesEvent_GetNumberOfFiles(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6992 {
6993 ErlNifEnv *env = Ecmd.env;
6994 ERL_NIF_TERM * argv = Ecmd.args;
6995 wxDropFilesEvent *This;
6996 This = (wxDropFilesEvent *) memenv->getPtr(env, argv[0], "This");
6997 if(!This) throw wxe_badarg("This");
6998 int Result = This->GetNumberOfFiles();
6999 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7000 rt.send( rt.make_int(Result));
7001
7002 }
7003
7004 // wxDropFilesEvent::GetFiles
wxDropFilesEvent_GetFiles(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7005 void wxDropFilesEvent_GetFiles(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7006 {
7007 ErlNifEnv *env = Ecmd.env;
7008 ERL_NIF_TERM * argv = Ecmd.args;
7009 wxDropFilesEvent *This;
7010 This = (wxDropFilesEvent *) memenv->getPtr(env, argv[0], "This");
7011 if(!This) throw wxe_badarg("This");
7012 wxString * Result = (wxString*)This->GetFiles();
7013 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7014 rt.send( rt.make_list_strings(This->m_noFiles, Result)
7015 );
7016
7017 }
7018
7019