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], &centre_sz, &centre_t)) Badarg("centre");
4313   int centreX;
4314   if(!enif_get_int(env, centre_t[0], &centreX)) Badarg("centre");
4315   int centreY;
4316   if(!enif_get_int(env, centre_t[1], &centreY)) 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