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 // wxHelpEvent::GetOrigin
wxHelpEvent_GetOrigin(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)32 void wxHelpEvent_GetOrigin(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
33 {
34 ErlNifEnv *env = Ecmd.env;
35 ERL_NIF_TERM * argv = Ecmd.args;
36 wxHelpEvent *This;
37 This = (wxHelpEvent *) memenv->getPtr(env, argv[0], "This");
38 if(!This) throw wxe_badarg("This");
39 int Result = This->GetOrigin();
40 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
41 rt.send( rt.make_int(Result));
42
43 }
44
45 // wxHelpEvent::GetPosition
wxHelpEvent_GetPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)46 void wxHelpEvent_GetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
47 {
48 ErlNifEnv *env = Ecmd.env;
49 ERL_NIF_TERM * argv = Ecmd.args;
50 wxHelpEvent *This;
51 This = (wxHelpEvent *) memenv->getPtr(env, argv[0], "This");
52 if(!This) throw wxe_badarg("This");
53 const wxPoint * Result = &This->GetPosition();
54 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
55 rt.send( rt.make((*Result)));
56
57 }
58
59 // wxHelpEvent::SetOrigin
wxHelpEvent_SetOrigin(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)60 void wxHelpEvent_SetOrigin(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
61 {
62 ErlNifEnv *env = Ecmd.env;
63 ERL_NIF_TERM * argv = Ecmd.args;
64 wxHelpEvent *This;
65 This = (wxHelpEvent *) memenv->getPtr(env, argv[0], "This");
66 wxHelpEvent::Origin origin;
67 if(!enif_get_int(env, argv[1], (int *) &origin)) Badarg("origin"); // enum
68 if(!This) throw wxe_badarg("This");
69 This->SetOrigin(origin);
70
71 }
72
73 // wxHelpEvent::SetPosition
wxHelpEvent_SetPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)74 void wxHelpEvent_SetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
75 {
76 ErlNifEnv *env = Ecmd.env;
77 ERL_NIF_TERM * argv = Ecmd.args;
78 wxHelpEvent *This;
79 This = (wxHelpEvent *) memenv->getPtr(env, argv[0], "This");
80 const ERL_NIF_TERM *pt_t;
81 int pt_sz;
82 if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
83 int ptX;
84 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
85 int ptY;
86 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
87 wxPoint pt = wxPoint(ptX,ptY);
88 if(!This) throw wxe_badarg("This");
89 This->SetPosition(pt);
90
91 }
92
93 // wxHtmlEasyPrinting::wxHtmlEasyPrinting
wxHtmlEasyPrinting_new(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)94 void wxHtmlEasyPrinting_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
95 {
96 wxString name= "Printing";
97 wxWindow * parentWindow=NULL;
98 ErlNifEnv *env = Ecmd.env;
99 ERL_NIF_TERM * argv = Ecmd.args;
100 ERL_NIF_TERM lstHead, lstTail;
101 lstTail = argv[0];
102 if(!enif_is_list(env, lstTail)) Badarg("Options");
103 const ERL_NIF_TERM *tpl;
104 int tpl_sz;
105 while(!enif_is_empty_list(env, lstTail)) {
106 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
107 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
108 if(enif_is_identical(tpl[0], enif_make_atom(env, "name"))) {
109 ErlNifBinary name_bin;
110 if(!enif_inspect_binary(env, tpl[1], &name_bin)) Badarg("name");
111 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
112 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "parentWindow"))) {
113 parentWindow = (wxWindow *) memenv->getPtr(env, tpl[1], "parentWindow");
114 } else Badarg("Options");
115 };
116 wxHtmlEasyPrinting * Result = new EwxHtmlEasyPrinting(name,parentWindow);
117 app->newPtr((void *) Result, 1, memenv);
118 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
119 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxHtmlEasyPrinting"));
120
121 }
122
123 // wxHtmlEasyPrinting::GetPrintData
wxHtmlEasyPrinting_GetPrintData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)124 void wxHtmlEasyPrinting_GetPrintData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
125 {
126 ErlNifEnv *env = Ecmd.env;
127 ERL_NIF_TERM * argv = Ecmd.args;
128 wxHtmlEasyPrinting *This;
129 This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
130 if(!This) throw wxe_badarg("This");
131 wxPrintData * Result = (wxPrintData*)This->GetPrintData();
132 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
133 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxPrintData"));
134
135 }
136
137 // wxHtmlEasyPrinting::GetPageSetupData
wxHtmlEasyPrinting_GetPageSetupData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)138 void wxHtmlEasyPrinting_GetPageSetupData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
139 {
140 ErlNifEnv *env = Ecmd.env;
141 ERL_NIF_TERM * argv = Ecmd.args;
142 wxHtmlEasyPrinting *This;
143 This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
144 if(!This) throw wxe_badarg("This");
145 wxPageSetupDialogData * Result = (wxPageSetupDialogData*)This->GetPageSetupData();
146 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
147 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxPageSetupDialogData"));
148
149 }
150
151 // wxHtmlEasyPrinting::PreviewFile
wxHtmlEasyPrinting_PreviewFile(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)152 void wxHtmlEasyPrinting_PreviewFile(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
153 {
154 ErlNifEnv *env = Ecmd.env;
155 ERL_NIF_TERM * argv = Ecmd.args;
156 wxHtmlEasyPrinting *This;
157 This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
158 ErlNifBinary htmlfile_bin;
159 wxString htmlfile;
160 if(!enif_inspect_binary(env, argv[1], &htmlfile_bin)) Badarg("htmlfile");
161 htmlfile = wxString(htmlfile_bin.data, wxConvUTF8, htmlfile_bin.size);
162 if(!This) throw wxe_badarg("This");
163 bool Result = This->PreviewFile(htmlfile);
164 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
165 rt.send( rt.make_bool(Result));
166
167 }
168
169 // wxHtmlEasyPrinting::PreviewText
wxHtmlEasyPrinting_PreviewText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)170 void wxHtmlEasyPrinting_PreviewText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
171 {
172 wxString basepath= wxEmptyString;
173 ErlNifEnv *env = Ecmd.env;
174 ERL_NIF_TERM * argv = Ecmd.args;
175 wxHtmlEasyPrinting *This;
176 This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
177 ErlNifBinary htmltext_bin;
178 wxString htmltext;
179 if(!enif_inspect_binary(env, argv[1], &htmltext_bin)) Badarg("htmltext");
180 htmltext = wxString(htmltext_bin.data, wxConvUTF8, htmltext_bin.size);
181 ERL_NIF_TERM lstHead, lstTail;
182 lstTail = argv[2];
183 if(!enif_is_list(env, lstTail)) Badarg("Options");
184 const ERL_NIF_TERM *tpl;
185 int tpl_sz;
186 while(!enif_is_empty_list(env, lstTail)) {
187 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
188 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
189 if(enif_is_identical(tpl[0], enif_make_atom(env, "basepath"))) {
190 ErlNifBinary basepath_bin;
191 if(!enif_inspect_binary(env, tpl[1], &basepath_bin)) Badarg("basepath");
192 basepath = wxString(basepath_bin.data, wxConvUTF8, basepath_bin.size);
193 } else Badarg("Options");
194 };
195 if(!This) throw wxe_badarg("This");
196 bool Result = This->PreviewText(htmltext,basepath);
197 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
198 rt.send( rt.make_bool(Result));
199
200 }
201
202 // wxHtmlEasyPrinting::PrintFile
wxHtmlEasyPrinting_PrintFile(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)203 void wxHtmlEasyPrinting_PrintFile(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
204 {
205 ErlNifEnv *env = Ecmd.env;
206 ERL_NIF_TERM * argv = Ecmd.args;
207 wxHtmlEasyPrinting *This;
208 This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
209 ErlNifBinary htmlfile_bin;
210 wxString htmlfile;
211 if(!enif_inspect_binary(env, argv[1], &htmlfile_bin)) Badarg("htmlfile");
212 htmlfile = wxString(htmlfile_bin.data, wxConvUTF8, htmlfile_bin.size);
213 if(!This) throw wxe_badarg("This");
214 bool Result = This->PrintFile(htmlfile);
215 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
216 rt.send( rt.make_bool(Result));
217
218 }
219
220 // wxHtmlEasyPrinting::PrintText
wxHtmlEasyPrinting_PrintText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)221 void wxHtmlEasyPrinting_PrintText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
222 {
223 wxString basepath= wxEmptyString;
224 ErlNifEnv *env = Ecmd.env;
225 ERL_NIF_TERM * argv = Ecmd.args;
226 wxHtmlEasyPrinting *This;
227 This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
228 ErlNifBinary htmltext_bin;
229 wxString htmltext;
230 if(!enif_inspect_binary(env, argv[1], &htmltext_bin)) Badarg("htmltext");
231 htmltext = wxString(htmltext_bin.data, wxConvUTF8, htmltext_bin.size);
232 ERL_NIF_TERM lstHead, lstTail;
233 lstTail = argv[2];
234 if(!enif_is_list(env, lstTail)) Badarg("Options");
235 const ERL_NIF_TERM *tpl;
236 int tpl_sz;
237 while(!enif_is_empty_list(env, lstTail)) {
238 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
239 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
240 if(enif_is_identical(tpl[0], enif_make_atom(env, "basepath"))) {
241 ErlNifBinary basepath_bin;
242 if(!enif_inspect_binary(env, tpl[1], &basepath_bin)) Badarg("basepath");
243 basepath = wxString(basepath_bin.data, wxConvUTF8, basepath_bin.size);
244 } else Badarg("Options");
245 };
246 if(!This) throw wxe_badarg("This");
247 bool Result = This->PrintText(htmltext,basepath);
248 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
249 rt.send( rt.make_bool(Result));
250
251 }
252
253 // wxHtmlEasyPrinting::PageSetup
wxHtmlEasyPrinting_PageSetup(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)254 void wxHtmlEasyPrinting_PageSetup(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
255 {
256 ErlNifEnv *env = Ecmd.env;
257 ERL_NIF_TERM * argv = Ecmd.args;
258 wxHtmlEasyPrinting *This;
259 This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
260 if(!This) throw wxe_badarg("This");
261 This->PageSetup();
262
263 }
264
265 // wxHtmlEasyPrinting::SetFonts
wxHtmlEasyPrinting_SetFonts(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)266 void wxHtmlEasyPrinting_SetFonts(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
267 {
268 unsigned int sizesLen;
269 std::vector <int> sizes;
270 ErlNifEnv *env = Ecmd.env;
271 ERL_NIF_TERM * argv = Ecmd.args;
272 wxHtmlEasyPrinting *This;
273 This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
274 ErlNifBinary normal_face_bin;
275 wxString normal_face;
276 if(!enif_inspect_binary(env, argv[1], &normal_face_bin)) Badarg("normal_face");
277 normal_face = wxString(normal_face_bin.data, wxConvUTF8, normal_face_bin.size);
278 ErlNifBinary fixed_face_bin;
279 wxString fixed_face;
280 if(!enif_inspect_binary(env, argv[2], &fixed_face_bin)) Badarg("fixed_face");
281 fixed_face = wxString(fixed_face_bin.data, wxConvUTF8, fixed_face_bin.size);
282 ERL_NIF_TERM lstHead, lstTail;
283 lstTail = argv[3];
284 if(!enif_is_list(env, lstTail)) Badarg("Options");
285 const ERL_NIF_TERM *tpl;
286 int tpl_sz;
287 while(!enif_is_empty_list(env, lstTail)) {
288 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
289 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
290 if(enif_is_identical(tpl[0], enif_make_atom(env, "sizes"))) {
291 int sizes_tmp;
292 ERL_NIF_TERM sizesHead, sizesTail;
293 if(!enif_get_list_length(env, tpl[1], &sizesLen)) Badarg("sizes");
294 sizesTail = tpl[1];
295 while(!enif_is_empty_list(env, sizesTail)) {
296 if(!enif_get_list_cell(env, sizesTail, &sizesHead, &sizesTail)) Badarg("sizes");
297 if(!enif_get_int(env, sizesHead, &sizes_tmp)) Badarg("sizes");
298 sizes.push_back( (int) sizes_tmp);
299 };
300 } else Badarg("Options");
301 };
302 if(!This) throw wxe_badarg("This");
303 This->SetFonts(normal_face,fixed_face, sizes.empty() ? (int *) NULL : sizes.data());
304
305 }
306
307 // wxHtmlEasyPrinting::SetHeader
wxHtmlEasyPrinting_SetHeader(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)308 void wxHtmlEasyPrinting_SetHeader(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
309 {
310 int pg=wxPAGE_ALL;
311 ErlNifEnv *env = Ecmd.env;
312 ERL_NIF_TERM * argv = Ecmd.args;
313 wxHtmlEasyPrinting *This;
314 This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
315 ErlNifBinary header_bin;
316 wxString header;
317 if(!enif_inspect_binary(env, argv[1], &header_bin)) Badarg("header");
318 header = wxString(header_bin.data, wxConvUTF8, header_bin.size);
319 ERL_NIF_TERM lstHead, lstTail;
320 lstTail = argv[2];
321 if(!enif_is_list(env, lstTail)) Badarg("Options");
322 const ERL_NIF_TERM *tpl;
323 int tpl_sz;
324 while(!enif_is_empty_list(env, lstTail)) {
325 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
326 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
327 if(enif_is_identical(tpl[0], enif_make_atom(env, "pg"))) {
328 if(!enif_get_int(env, tpl[1], &pg)) Badarg("pg"); // int
329 } else Badarg("Options");
330 };
331 if(!This) throw wxe_badarg("This");
332 This->SetHeader(header,pg);
333
334 }
335
336 // wxHtmlEasyPrinting::SetFooter
wxHtmlEasyPrinting_SetFooter(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)337 void wxHtmlEasyPrinting_SetFooter(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
338 {
339 int pg=wxPAGE_ALL;
340 ErlNifEnv *env = Ecmd.env;
341 ERL_NIF_TERM * argv = Ecmd.args;
342 wxHtmlEasyPrinting *This;
343 This = (wxHtmlEasyPrinting *) memenv->getPtr(env, argv[0], "This");
344 ErlNifBinary footer_bin;
345 wxString footer;
346 if(!enif_inspect_binary(env, argv[1], &footer_bin)) Badarg("footer");
347 footer = wxString(footer_bin.data, wxConvUTF8, footer_bin.size);
348 ERL_NIF_TERM lstHead, lstTail;
349 lstTail = argv[2];
350 if(!enif_is_list(env, lstTail)) Badarg("Options");
351 const ERL_NIF_TERM *tpl;
352 int tpl_sz;
353 while(!enif_is_empty_list(env, lstTail)) {
354 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
355 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
356 if(enif_is_identical(tpl[0], enif_make_atom(env, "pg"))) {
357 if(!enif_get_int(env, tpl[1], &pg)) Badarg("pg"); // int
358 } else Badarg("Options");
359 };
360 if(!This) throw wxe_badarg("This");
361 This->SetFooter(footer,pg);
362
363 }
364
365 // wxHtmlLinkEvent::GetLinkInfo
wxHtmlLinkEvent_GetLinkInfo(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)366 void wxHtmlLinkEvent_GetLinkInfo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
367 {
368 ErlNifEnv *env = Ecmd.env;
369 ERL_NIF_TERM * argv = Ecmd.args;
370 wxHtmlLinkEvent *This;
371 This = (wxHtmlLinkEvent *) memenv->getPtr(env, argv[0], "This");
372 if(!This) throw wxe_badarg("This");
373 const wxHtmlLinkInfo * Result = &This->GetLinkInfo();
374 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
375 rt.send( rt.make(Result));
376
377 }
378
379 // wxHtmlWindow::wxHtmlWindow
wxHtmlWindow_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)380 void wxHtmlWindow_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
381 {
382 wxHtmlWindow * Result = new EwxHtmlWindow();
383 app->newPtr((void *) Result, 0, memenv);
384 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
385 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxHtmlWindow"));
386
387 }
388
389 // wxHtmlWindow::wxHtmlWindow
wxHtmlWindow_new_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)390 void wxHtmlWindow_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
391 {
392 wxWindowID id=wxID_ANY;
393 wxPoint pos= wxDefaultPosition;
394 wxSize size= wxDefaultSize;
395 long style=wxHW_DEFAULT_STYLE;
396 ErlNifEnv *env = Ecmd.env;
397 ERL_NIF_TERM * argv = Ecmd.args;
398 wxWindow *parent;
399 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
400 ERL_NIF_TERM lstHead, lstTail;
401 lstTail = argv[1];
402 if(!enif_is_list(env, lstTail)) Badarg("Options");
403 const ERL_NIF_TERM *tpl;
404 int tpl_sz;
405 while(!enif_is_empty_list(env, lstTail)) {
406 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
407 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
408 if(enif_is_identical(tpl[0], enif_make_atom(env, "id"))) {
409 if(!enif_get_int(env, tpl[1], &id)) Badarg("id"); // wxWindowID
410 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
411 const ERL_NIF_TERM *pos_t;
412 int pos_sz;
413 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
414 int posX;
415 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
416 int posY;
417 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
418 pos = wxPoint(posX,posY);
419 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
420 const ERL_NIF_TERM *size_t;
421 int size_sz;
422 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
423 int sizeW;
424 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
425 int sizeH;
426 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
427 size = wxSize(sizeW,sizeH);
428 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
429 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
430 } else Badarg("Options");
431 };
432 wxHtmlWindow * Result = new EwxHtmlWindow(parent,id,pos,size,style);
433 app->newPtr((void *) Result, 0, memenv);
434 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
435 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxHtmlWindow"));
436
437 }
438
439 // wxHtmlWindow::AppendToPage
wxHtmlWindow_AppendToPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)440 void wxHtmlWindow_AppendToPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
441 {
442 ErlNifEnv *env = Ecmd.env;
443 ERL_NIF_TERM * argv = Ecmd.args;
444 wxHtmlWindow *This;
445 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
446 ErlNifBinary source_bin;
447 wxString source;
448 if(!enif_inspect_binary(env, argv[1], &source_bin)) Badarg("source");
449 source = wxString(source_bin.data, wxConvUTF8, source_bin.size);
450 if(!This) throw wxe_badarg("This");
451 bool Result = This->AppendToPage(source);
452 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
453 rt.send( rt.make_bool(Result));
454
455 }
456
457 // wxHtmlWindow::GetOpenedAnchor
wxHtmlWindow_GetOpenedAnchor(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)458 void wxHtmlWindow_GetOpenedAnchor(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
459 {
460 ErlNifEnv *env = Ecmd.env;
461 ERL_NIF_TERM * argv = Ecmd.args;
462 wxHtmlWindow *This;
463 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
464 if(!This) throw wxe_badarg("This");
465 wxString Result = This->GetOpenedAnchor();
466 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
467 rt.send( rt.make(Result));
468
469 }
470
471 // wxHtmlWindow::GetOpenedPage
wxHtmlWindow_GetOpenedPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)472 void wxHtmlWindow_GetOpenedPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
473 {
474 ErlNifEnv *env = Ecmd.env;
475 ERL_NIF_TERM * argv = Ecmd.args;
476 wxHtmlWindow *This;
477 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
478 if(!This) throw wxe_badarg("This");
479 wxString Result = This->GetOpenedPage();
480 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
481 rt.send( rt.make(Result));
482
483 }
484
485 // wxHtmlWindow::GetOpenedPageTitle
wxHtmlWindow_GetOpenedPageTitle(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)486 void wxHtmlWindow_GetOpenedPageTitle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
487 {
488 ErlNifEnv *env = Ecmd.env;
489 ERL_NIF_TERM * argv = Ecmd.args;
490 wxHtmlWindow *This;
491 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
492 if(!This) throw wxe_badarg("This");
493 wxString Result = This->GetOpenedPageTitle();
494 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
495 rt.send( rt.make(Result));
496
497 }
498
499 // wxHtmlWindow::GetRelatedFrame
wxHtmlWindow_GetRelatedFrame(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)500 void wxHtmlWindow_GetRelatedFrame(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
501 {
502 ErlNifEnv *env = Ecmd.env;
503 ERL_NIF_TERM * argv = Ecmd.args;
504 wxHtmlWindow *This;
505 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
506 if(!This) throw wxe_badarg("This");
507 wxFrame * Result = (wxFrame*)This->GetRelatedFrame();
508 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
509 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxFrame"));
510
511 }
512
513 // wxHtmlWindow::HistoryBack
wxHtmlWindow_HistoryBack(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)514 void wxHtmlWindow_HistoryBack(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
515 {
516 ErlNifEnv *env = Ecmd.env;
517 ERL_NIF_TERM * argv = Ecmd.args;
518 wxHtmlWindow *This;
519 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
520 if(!This) throw wxe_badarg("This");
521 bool Result = This->HistoryBack();
522 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
523 rt.send( rt.make_bool(Result));
524
525 }
526
527 // wxHtmlWindow::HistoryCanBack
wxHtmlWindow_HistoryCanBack(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)528 void wxHtmlWindow_HistoryCanBack(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
529 {
530 ErlNifEnv *env = Ecmd.env;
531 ERL_NIF_TERM * argv = Ecmd.args;
532 wxHtmlWindow *This;
533 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
534 if(!This) throw wxe_badarg("This");
535 bool Result = This->HistoryCanBack();
536 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
537 rt.send( rt.make_bool(Result));
538
539 }
540
541 // wxHtmlWindow::HistoryCanForward
wxHtmlWindow_HistoryCanForward(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)542 void wxHtmlWindow_HistoryCanForward(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
543 {
544 ErlNifEnv *env = Ecmd.env;
545 ERL_NIF_TERM * argv = Ecmd.args;
546 wxHtmlWindow *This;
547 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
548 if(!This) throw wxe_badarg("This");
549 bool Result = This->HistoryCanForward();
550 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
551 rt.send( rt.make_bool(Result));
552
553 }
554
555 // wxHtmlWindow::HistoryClear
wxHtmlWindow_HistoryClear(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)556 void wxHtmlWindow_HistoryClear(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
557 {
558 ErlNifEnv *env = Ecmd.env;
559 ERL_NIF_TERM * argv = Ecmd.args;
560 wxHtmlWindow *This;
561 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
562 if(!This) throw wxe_badarg("This");
563 This->HistoryClear();
564
565 }
566
567 // wxHtmlWindow::HistoryForward
wxHtmlWindow_HistoryForward(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)568 void wxHtmlWindow_HistoryForward(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
569 {
570 ErlNifEnv *env = Ecmd.env;
571 ERL_NIF_TERM * argv = Ecmd.args;
572 wxHtmlWindow *This;
573 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
574 if(!This) throw wxe_badarg("This");
575 bool Result = This->HistoryForward();
576 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
577 rt.send( rt.make_bool(Result));
578
579 }
580
581 // wxHtmlWindow::LoadFile
wxHtmlWindow_LoadFile(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)582 void wxHtmlWindow_LoadFile(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
583 {
584 ErlNifEnv *env = Ecmd.env;
585 ERL_NIF_TERM * argv = Ecmd.args;
586 wxHtmlWindow *This;
587 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
588 ErlNifBinary filename_bin;
589 wxString filenameStr;
590 if(!enif_inspect_binary(env, argv[1], &filename_bin)) Badarg("filename");
591 filenameStr = wxString(filename_bin.data, wxConvUTF8, filename_bin.size);
592 wxFileName filename = wxFileName(filenameStr);
593 if(!This) throw wxe_badarg("This");
594 bool Result = This->LoadFile(filename);
595 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
596 rt.send( rt.make_bool(Result));
597
598 }
599
600 // wxHtmlWindow::LoadPage
wxHtmlWindow_LoadPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)601 void wxHtmlWindow_LoadPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
602 {
603 ErlNifEnv *env = Ecmd.env;
604 ERL_NIF_TERM * argv = Ecmd.args;
605 wxHtmlWindow *This;
606 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
607 ErlNifBinary location_bin;
608 wxString location;
609 if(!enif_inspect_binary(env, argv[1], &location_bin)) Badarg("location");
610 location = wxString(location_bin.data, wxConvUTF8, location_bin.size);
611 if(!This) throw wxe_badarg("This");
612 bool Result = This->LoadPage(location);
613 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
614 rt.send( rt.make_bool(Result));
615
616 }
617
618 // wxHtmlWindow::SelectAll
wxHtmlWindow_SelectAll(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)619 void wxHtmlWindow_SelectAll(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
620 {
621 ErlNifEnv *env = Ecmd.env;
622 ERL_NIF_TERM * argv = Ecmd.args;
623 wxHtmlWindow *This;
624 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
625 if(!This) throw wxe_badarg("This");
626 This->SelectAll();
627
628 }
629
630 // wxHtmlWindow::SelectionToText
wxHtmlWindow_SelectionToText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)631 void wxHtmlWindow_SelectionToText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
632 {
633 ErlNifEnv *env = Ecmd.env;
634 ERL_NIF_TERM * argv = Ecmd.args;
635 wxHtmlWindow *This;
636 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
637 if(!This) throw wxe_badarg("This");
638 wxString Result = This->SelectionToText();
639 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
640 rt.send( rt.make(Result));
641
642 }
643
644 // wxHtmlWindow::SelectLine
wxHtmlWindow_SelectLine(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)645 void wxHtmlWindow_SelectLine(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
646 {
647 ErlNifEnv *env = Ecmd.env;
648 ERL_NIF_TERM * argv = Ecmd.args;
649 wxHtmlWindow *This;
650 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
651 const ERL_NIF_TERM *pos_t;
652 int pos_sz;
653 if(!enif_get_tuple(env, argv[1], &pos_sz, &pos_t)) Badarg("pos");
654 int posX;
655 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
656 int posY;
657 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
658 wxPoint pos = wxPoint(posX,posY);
659 if(!This) throw wxe_badarg("This");
660 This->SelectLine(pos);
661
662 }
663
664 // wxHtmlWindow::SelectWord
wxHtmlWindow_SelectWord(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)665 void wxHtmlWindow_SelectWord(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
666 {
667 ErlNifEnv *env = Ecmd.env;
668 ERL_NIF_TERM * argv = Ecmd.args;
669 wxHtmlWindow *This;
670 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
671 const ERL_NIF_TERM *pos_t;
672 int pos_sz;
673 if(!enif_get_tuple(env, argv[1], &pos_sz, &pos_t)) Badarg("pos");
674 int posX;
675 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
676 int posY;
677 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
678 wxPoint pos = wxPoint(posX,posY);
679 if(!This) throw wxe_badarg("This");
680 This->SelectWord(pos);
681
682 }
683
684 // wxHtmlWindow::SetBorders
wxHtmlWindow_SetBorders(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)685 void wxHtmlWindow_SetBorders(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
686 {
687 ErlNifEnv *env = Ecmd.env;
688 ERL_NIF_TERM * argv = Ecmd.args;
689 wxHtmlWindow *This;
690 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
691 int b;
692 if(!enif_get_int(env, argv[1], &b)) Badarg("b"); // int
693 if(!This) throw wxe_badarg("This");
694 This->SetBorders(b);
695
696 }
697
698 // wxHtmlWindow::SetFonts
wxHtmlWindow_SetFonts(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)699 void wxHtmlWindow_SetFonts(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
700 {
701 unsigned int sizesLen;
702 std::vector <int> sizes;
703 ErlNifEnv *env = Ecmd.env;
704 ERL_NIF_TERM * argv = Ecmd.args;
705 wxHtmlWindow *This;
706 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
707 ErlNifBinary normal_face_bin;
708 wxString normal_face;
709 if(!enif_inspect_binary(env, argv[1], &normal_face_bin)) Badarg("normal_face");
710 normal_face = wxString(normal_face_bin.data, wxConvUTF8, normal_face_bin.size);
711 ErlNifBinary fixed_face_bin;
712 wxString fixed_face;
713 if(!enif_inspect_binary(env, argv[2], &fixed_face_bin)) Badarg("fixed_face");
714 fixed_face = wxString(fixed_face_bin.data, wxConvUTF8, fixed_face_bin.size);
715 ERL_NIF_TERM lstHead, lstTail;
716 lstTail = argv[3];
717 if(!enif_is_list(env, lstTail)) Badarg("Options");
718 const ERL_NIF_TERM *tpl;
719 int tpl_sz;
720 while(!enif_is_empty_list(env, lstTail)) {
721 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
722 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
723 if(enif_is_identical(tpl[0], enif_make_atom(env, "sizes"))) {
724 int sizes_tmp;
725 ERL_NIF_TERM sizesHead, sizesTail;
726 if(!enif_get_list_length(env, tpl[1], &sizesLen)) Badarg("sizes");
727 sizesTail = tpl[1];
728 while(!enif_is_empty_list(env, sizesTail)) {
729 if(!enif_get_list_cell(env, sizesTail, &sizesHead, &sizesTail)) Badarg("sizes");
730 if(!enif_get_int(env, sizesHead, &sizes_tmp)) Badarg("sizes");
731 sizes.push_back( (int) sizes_tmp);
732 };
733 } else Badarg("Options");
734 };
735 if(!This) throw wxe_badarg("This");
736 This->SetFonts(normal_face,fixed_face, sizes.empty() ? NULL : sizes.data());
737
738 }
739
740 // wxHtmlWindow::SetPage
wxHtmlWindow_SetPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)741 void wxHtmlWindow_SetPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
742 {
743 ErlNifEnv *env = Ecmd.env;
744 ERL_NIF_TERM * argv = Ecmd.args;
745 wxHtmlWindow *This;
746 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
747 ErlNifBinary source_bin;
748 wxString source;
749 if(!enif_inspect_binary(env, argv[1], &source_bin)) Badarg("source");
750 source = wxString(source_bin.data, wxConvUTF8, source_bin.size);
751 if(!This) throw wxe_badarg("This");
752 bool Result = This->SetPage(source);
753 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
754 rt.send( rt.make_bool(Result));
755
756 }
757
758 // wxHtmlWindow::SetRelatedFrame
wxHtmlWindow_SetRelatedFrame(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)759 void wxHtmlWindow_SetRelatedFrame(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
760 {
761 ErlNifEnv *env = Ecmd.env;
762 ERL_NIF_TERM * argv = Ecmd.args;
763 wxHtmlWindow *This;
764 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
765 wxFrame *frame;
766 frame = (wxFrame *) memenv->getPtr(env, argv[1], "frame");
767 ErlNifBinary format_bin;
768 wxString format;
769 if(!enif_inspect_binary(env, argv[2], &format_bin)) Badarg("format");
770 format = wxString(format_bin.data, wxConvUTF8, format_bin.size);
771 if(!This) throw wxe_badarg("This");
772 This->SetRelatedFrame(frame,format);
773
774 }
775
776 // wxHtmlWindow::SetRelatedStatusBar
wxHtmlWindow_SetRelatedStatusBar_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)777 void wxHtmlWindow_SetRelatedStatusBar_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
778 {
779 ErlNifEnv *env = Ecmd.env;
780 ERL_NIF_TERM * argv = Ecmd.args;
781 wxHtmlWindow *This;
782 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
783 int index;
784 if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
785 if(!This) throw wxe_badarg("This");
786 This->SetRelatedStatusBar(index);
787
788 }
789
790 // wxHtmlWindow::SetRelatedStatusBar
wxHtmlWindow_SetRelatedStatusBar_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)791 void wxHtmlWindow_SetRelatedStatusBar_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
792 {
793 int index=0;
794 ErlNifEnv *env = Ecmd.env;
795 ERL_NIF_TERM * argv = Ecmd.args;
796 wxHtmlWindow *This;
797 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
798 wxStatusBar *statusbar;
799 statusbar = (wxStatusBar *) memenv->getPtr(env, argv[1], "statusbar");
800 ERL_NIF_TERM lstHead, lstTail;
801 lstTail = argv[2];
802 if(!enif_is_list(env, lstTail)) Badarg("Options");
803 const ERL_NIF_TERM *tpl;
804 int tpl_sz;
805 while(!enif_is_empty_list(env, lstTail)) {
806 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
807 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
808 if(enif_is_identical(tpl[0], enif_make_atom(env, "index"))) {
809 if(!enif_get_int(env, tpl[1], &index)) Badarg("index"); // int
810 } else Badarg("Options");
811 };
812 if(!This) throw wxe_badarg("This");
813 This->SetRelatedStatusBar(statusbar,index);
814
815 }
816
817 // wxHtmlWindow::ToText
wxHtmlWindow_ToText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)818 void wxHtmlWindow_ToText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
819 {
820 ErlNifEnv *env = Ecmd.env;
821 ERL_NIF_TERM * argv = Ecmd.args;
822 wxHtmlWindow *This;
823 This = (wxHtmlWindow *) memenv->getPtr(env, argv[0], "This");
824 if(!This) throw wxe_badarg("This");
825 wxString Result = This->ToText();
826 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
827 rt.send( rt.make(Result));
828
829 }
830
831 // wxIcon::wxIcon
wxIcon_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)832 void wxIcon_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
833 {
834 wxIcon * Result = new EwxIcon();
835 app->newPtr((void *) Result, 1, memenv);
836 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
837 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxIcon"));
838
839 }
840
841 // wxIcon::wxIcon
wxIcon_new_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)842 void wxIcon_new_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
843 {
844 ErlNifEnv *env = Ecmd.env;
845 ERL_NIF_TERM * argv = Ecmd.args;
846 wxIcon *icon;
847 icon = (wxIcon *) memenv->getPtr(env, argv[0], "icon");
848 wxIcon * Result = new EwxIcon(*icon);
849 app->newPtr((void *) Result, 1, memenv);
850 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
851 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxIcon"));
852
853 }
854
855 // wxIcon::wxIcon
wxIcon_new_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)856 void wxIcon_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
857 {
858 wxBitmapType type=wxICON_DEFAULT_TYPE;
859 int desiredWidth=-1;
860 int desiredHeight=-1;
861 ErlNifEnv *env = Ecmd.env;
862 ERL_NIF_TERM * argv = Ecmd.args;
863 ErlNifBinary name_bin;
864 wxString name;
865 if(!enif_inspect_binary(env, argv[0], &name_bin)) Badarg("name");
866 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
867 ERL_NIF_TERM lstHead, lstTail;
868 lstTail = argv[1];
869 if(!enif_is_list(env, lstTail)) Badarg("Options");
870 const ERL_NIF_TERM *tpl;
871 int tpl_sz;
872 while(!enif_is_empty_list(env, lstTail)) {
873 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
874 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
875 if(enif_is_identical(tpl[0], enif_make_atom(env, "type"))) {
876 if(!enif_get_int(env, tpl[1], (int *) &type)) Badarg("type"); // enum
877 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "desiredWidth"))) {
878 if(!enif_get_int(env, tpl[1], &desiredWidth)) Badarg("desiredWidth"); // int
879 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "desiredHeight"))) {
880 if(!enif_get_int(env, tpl[1], &desiredHeight)) Badarg("desiredHeight"); // int
881 } else Badarg("Options");
882 };
883 wxIcon * Result = new EwxIcon(name,type,desiredWidth,desiredHeight);
884 app->newPtr((void *) Result, 1, memenv);
885 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
886 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxIcon"));
887
888 }
889
890 // wxIcon::CopyFromBitmap
wxIcon_CopyFromBitmap(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)891 void wxIcon_CopyFromBitmap(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
892 {
893 ErlNifEnv *env = Ecmd.env;
894 ERL_NIF_TERM * argv = Ecmd.args;
895 wxIcon *This;
896 This = (wxIcon *) memenv->getPtr(env, argv[0], "This");
897 wxBitmap *bmp;
898 bmp = (wxBitmap *) memenv->getPtr(env, argv[1], "bmp");
899 if(!This) throw wxe_badarg("This");
900 This->CopyFromBitmap(*bmp);
901
902 }
903
904 // wxIconBundle::wxIconBundle
wxIconBundle_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)905 void wxIconBundle_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
906 {
907 wxIconBundle * Result = new EwxIconBundle();
908 app->newPtr((void *) Result, 62, memenv);
909 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
910 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxIconBundle"));
911
912 }
913
914 // wxIconBundle::wxIconBundle
wxIconBundle_new_1_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)915 void wxIconBundle_new_1_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
916 {
917 ErlNifEnv *env = Ecmd.env;
918 ERL_NIF_TERM * argv = Ecmd.args;
919 ErlNifBinary file_bin;
920 wxString file;
921 if(!enif_inspect_binary(env, argv[0], &file_bin)) Badarg("file");
922 file = wxString(file_bin.data, wxConvUTF8, file_bin.size);
923 wxIconBundle * Result = new EwxIconBundle(file);
924 app->newPtr((void *) Result, 62, memenv);
925 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
926 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxIconBundle"));
927
928 }
929
930 // wxIconBundle::wxIconBundle
wxIconBundle_new_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)931 void wxIconBundle_new_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
932 {
933 ErlNifEnv *env = Ecmd.env;
934 ERL_NIF_TERM * argv = Ecmd.args;
935 ErlNifBinary file_bin;
936 wxString file;
937 if(!enif_inspect_binary(env, argv[0], &file_bin)) Badarg("file");
938 file = wxString(file_bin.data, wxConvUTF8, file_bin.size);
939 wxBitmapType type;
940 if(!enif_get_int(env, argv[1], (int *) &type)) Badarg("type"); // enum
941 wxIconBundle * Result = new EwxIconBundle(file,type);
942 app->newPtr((void *) Result, 62, memenv);
943 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
944 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxIconBundle"));
945
946 }
947
948 // wxIconBundle::wxIconBundle
wxIconBundle_new_1_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)949 void wxIconBundle_new_1_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
950 {
951 ErlNifEnv *env = Ecmd.env;
952 ERL_NIF_TERM * argv = Ecmd.args;
953 ERL_NIF_TERM ic_type;
954 void * ic = memenv->getPtr(env, argv[0], "ic", &ic_type);
955 wxIconBundle * Result;
956 if(enif_is_identical(ic_type, WXE_ATOM_wxIconBundle))
957 Result = new EwxIconBundle(* static_cast<wxIconBundle*> (ic));
958 else if(enif_is_identical(ic_type, WXE_ATOM_wxIcon))
959 Result = new EwxIconBundle(* static_cast<wxIcon*> (ic));
960 else throw wxe_badarg("ic");
961 app->newPtr((void *) Result, 62, memenv);
962 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
963 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxIconBundle"));
964
965 }
966
967 // wxIconBundle::~wxIconBundle
wxIconBundle_destruct(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)968 void wxIconBundle_destruct(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
969 {
970 ErlNifEnv *env = Ecmd.env;
971 ERL_NIF_TERM * argv = Ecmd.args;
972 wxIconBundle *This;
973 This = (wxIconBundle *) memenv->getPtr(env, argv[0], "This");
974 if(This) { ((WxeApp *) wxTheApp)->clearPtr((void *) This);
975 delete This;}
976 }
977
978 // wxIconBundle::AddIcon
wxIconBundle_AddIcon_1_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)979 void wxIconBundle_AddIcon_1_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
980 {
981 ErlNifEnv *env = Ecmd.env;
982 ERL_NIF_TERM * argv = Ecmd.args;
983 wxIconBundle *This;
984 This = (wxIconBundle *) memenv->getPtr(env, argv[0], "This");
985 ErlNifBinary file_bin;
986 wxString file;
987 if(!enif_inspect_binary(env, argv[1], &file_bin)) Badarg("file");
988 file = wxString(file_bin.data, wxConvUTF8, file_bin.size);
989 if(!This) throw wxe_badarg("This");
990 This->AddIcon(file);
991
992 }
993
994 // wxIconBundle::AddIcon
wxIconBundle_AddIcon_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)995 void wxIconBundle_AddIcon_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
996 {
997 ErlNifEnv *env = Ecmd.env;
998 ERL_NIF_TERM * argv = Ecmd.args;
999 wxIconBundle *This;
1000 This = (wxIconBundle *) memenv->getPtr(env, argv[0], "This");
1001 ErlNifBinary file_bin;
1002 wxString file;
1003 if(!enif_inspect_binary(env, argv[1], &file_bin)) Badarg("file");
1004 file = wxString(file_bin.data, wxConvUTF8, file_bin.size);
1005 wxBitmapType type;
1006 if(!enif_get_int(env, argv[2], (int *) &type)) Badarg("type"); // enum
1007 if(!This) throw wxe_badarg("This");
1008 This->AddIcon(file,type);
1009
1010 }
1011
1012 // wxIconBundle::AddIcon
wxIconBundle_AddIcon_1_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1013 void wxIconBundle_AddIcon_1_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1014 {
1015 ErlNifEnv *env = Ecmd.env;
1016 ERL_NIF_TERM * argv = Ecmd.args;
1017 wxIconBundle *This;
1018 This = (wxIconBundle *) memenv->getPtr(env, argv[0], "This");
1019 wxIcon *icon;
1020 icon = (wxIcon *) memenv->getPtr(env, argv[1], "icon");
1021 if(!This) throw wxe_badarg("This");
1022 This->AddIcon(*icon);
1023
1024 }
1025
1026 // wxIconBundle::GetIcon
wxIconBundle_GetIcon_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1027 void wxIconBundle_GetIcon_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1028 {
1029 int flags=wxIconBundle::FALLBACK_SYSTEM;
1030 ErlNifEnv *env = Ecmd.env;
1031 ERL_NIF_TERM * argv = Ecmd.args;
1032 wxIconBundle *This;
1033 This = (wxIconBundle *) memenv->getPtr(env, argv[0], "This");
1034 const ERL_NIF_TERM *size_t;
1035 int size_sz;
1036 if(!enif_get_tuple(env, argv[1], &size_sz, &size_t)) Badarg("size");
1037 int sizeW;
1038 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
1039 int sizeH;
1040 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
1041 wxSize size = wxSize(sizeW,sizeH);
1042 ERL_NIF_TERM lstHead, lstTail;
1043 lstTail = argv[2];
1044 if(!enif_is_list(env, lstTail)) Badarg("Options");
1045 const ERL_NIF_TERM *tpl;
1046 int tpl_sz;
1047 while(!enif_is_empty_list(env, lstTail)) {
1048 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1049 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1050 if(enif_is_identical(tpl[0], enif_make_atom(env, "flags"))) {
1051 if(!enif_get_int(env, tpl[1], &flags)) Badarg("flags"); // int
1052 } else Badarg("Options");
1053 };
1054 if(!This) throw wxe_badarg("This");
1055 wxIcon * Result = new wxIcon(This->GetIcon(size,flags)); app->newPtr((void *) Result,3, memenv);;
1056 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1057 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxIcon"));
1058
1059 }
1060
1061 // wxIconBundle::GetIcon
wxIconBundle_GetIcon_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1062 void wxIconBundle_GetIcon_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1063 {
1064 wxCoord size=wxDefaultCoord;
1065 int flags=wxIconBundle::FALLBACK_SYSTEM;
1066 ErlNifEnv *env = Ecmd.env;
1067 ERL_NIF_TERM * argv = Ecmd.args;
1068 wxIconBundle *This;
1069 This = (wxIconBundle *) memenv->getPtr(env, argv[0], "This");
1070 ERL_NIF_TERM lstHead, lstTail;
1071 lstTail = argv[1];
1072 if(!enif_is_list(env, lstTail)) Badarg("Options");
1073 const ERL_NIF_TERM *tpl;
1074 int tpl_sz;
1075 while(!enif_is_empty_list(env, lstTail)) {
1076 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1077 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1078 if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
1079 if(!enif_get_int(env, tpl[1], &size)) Badarg("size"); // wxCoord
1080 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "flags"))) {
1081 if(!enif_get_int(env, tpl[1], &flags)) Badarg("flags"); // int
1082 } else Badarg("Options");
1083 };
1084 if(!This) throw wxe_badarg("This");
1085 wxIcon * Result = new wxIcon(This->GetIcon(size,flags)); app->newPtr((void *) Result,3, memenv);;
1086 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1087 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxIcon"));
1088
1089 }
1090
1091 // wxIconizeEvent::IsIconized
wxIconizeEvent_IsIconized(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1092 void wxIconizeEvent_IsIconized(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1093 {
1094 ErlNifEnv *env = Ecmd.env;
1095 ERL_NIF_TERM * argv = Ecmd.args;
1096 wxIconizeEvent *This;
1097 This = (wxIconizeEvent *) memenv->getPtr(env, argv[0], "This");
1098 if(!This) throw wxe_badarg("This");
1099 bool Result = This->IsIconized();
1100 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1101 rt.send( rt.make_bool(Result));
1102
1103 }
1104
1105 // wxIdleEvent::GetMode
wxIdleEvent_GetMode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1106 void wxIdleEvent_GetMode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1107 {
1108 int Result = wxIdleEvent::GetMode();
1109 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1110 rt.send( rt.make_int(Result));
1111
1112 }
1113
1114 // wxIdleEvent::RequestMore
wxIdleEvent_RequestMore(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1115 void wxIdleEvent_RequestMore(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1116 {
1117 bool needMore=true;
1118 ErlNifEnv *env = Ecmd.env;
1119 ERL_NIF_TERM * argv = Ecmd.args;
1120 wxIdleEvent *This;
1121 This = (wxIdleEvent *) memenv->getPtr(env, argv[0], "This");
1122 ERL_NIF_TERM lstHead, lstTail;
1123 lstTail = argv[1];
1124 if(!enif_is_list(env, lstTail)) Badarg("Options");
1125 const ERL_NIF_TERM *tpl;
1126 int tpl_sz;
1127 while(!enif_is_empty_list(env, lstTail)) {
1128 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1129 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1130 if(enif_is_identical(tpl[0], enif_make_atom(env, "needMore"))) {
1131 needMore = enif_is_identical(tpl[1], WXE_ATOM_true);
1132 } else Badarg("Options");
1133 };
1134 if(!This) throw wxe_badarg("This");
1135 This->RequestMore(needMore);
1136
1137 }
1138
1139 // wxIdleEvent::MoreRequested
wxIdleEvent_MoreRequested(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1140 void wxIdleEvent_MoreRequested(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1141 {
1142 ErlNifEnv *env = Ecmd.env;
1143 ERL_NIF_TERM * argv = Ecmd.args;
1144 wxIdleEvent *This;
1145 This = (wxIdleEvent *) memenv->getPtr(env, argv[0], "This");
1146 if(!This) throw wxe_badarg("This");
1147 bool Result = This->MoreRequested();
1148 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1149 rt.send( rt.make_bool(Result));
1150
1151 }
1152
1153 // wxIdleEvent::SetMode
wxIdleEvent_SetMode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1154 void wxIdleEvent_SetMode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1155 {
1156 ErlNifEnv *env = Ecmd.env;
1157 ERL_NIF_TERM * argv = Ecmd.args;
1158 wxIdleMode mode;
1159 if(!enif_get_int(env, argv[0], (int *) &mode)) Badarg("mode"); // enum
1160 wxIdleEvent::SetMode(mode);
1161
1162 }
1163
1164 // wxImage::wxImage
wxImage_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1165 void wxImage_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1166 {
1167 wxImage * Result = new EwxImage();
1168 app->newPtr((void *) Result, 1, memenv);
1169 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1170 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1171
1172 }
1173
1174 // wxImage::wxImage
wxImage_new_3_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1175 void wxImage_new_3_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1176 {
1177 bool clear=true;
1178 ErlNifEnv *env = Ecmd.env;
1179 ERL_NIF_TERM * argv = Ecmd.args;
1180 int width;
1181 if(!enif_get_int(env, argv[0], &width)) Badarg("width"); // int
1182 int height;
1183 if(!enif_get_int(env, argv[1], &height)) Badarg("height"); // int
1184 ERL_NIF_TERM lstHead, lstTail;
1185 lstTail = argv[2];
1186 if(!enif_is_list(env, lstTail)) Badarg("Options");
1187 const ERL_NIF_TERM *tpl;
1188 int tpl_sz;
1189 while(!enif_is_empty_list(env, lstTail)) {
1190 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1191 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1192 if(enif_is_identical(tpl[0], enif_make_atom(env, "clear"))) {
1193 clear = enif_is_identical(tpl[1], WXE_ATOM_true);
1194 } else Badarg("Options");
1195 };
1196 wxImage * Result = new EwxImage(width,height,clear);
1197 app->newPtr((void *) Result, 1, memenv);
1198 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1199 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1200
1201 }
1202
1203 // wxImage::wxImage
wxImage_new_2_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1204 void wxImage_new_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1205 {
1206 bool clear=true;
1207 ErlNifEnv *env = Ecmd.env;
1208 ERL_NIF_TERM * argv = Ecmd.args;
1209 const ERL_NIF_TERM *sz_t;
1210 int sz_sz;
1211 if(!enif_get_tuple(env, argv[0], &sz_sz, &sz_t)) Badarg("sz");
1212 int szW;
1213 if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
1214 int szH;
1215 if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
1216 wxSize sz = wxSize(szW,szH);
1217 ERL_NIF_TERM lstHead, lstTail;
1218 lstTail = argv[1];
1219 if(!enif_is_list(env, lstTail)) Badarg("Options");
1220 const ERL_NIF_TERM *tpl;
1221 int tpl_sz;
1222 while(!enif_is_empty_list(env, lstTail)) {
1223 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1224 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1225 if(enif_is_identical(tpl[0], enif_make_atom(env, "clear"))) {
1226 clear = enif_is_identical(tpl[1], WXE_ATOM_true);
1227 } else Badarg("Options");
1228 };
1229 wxImage * Result = new EwxImage(sz,clear);
1230 app->newPtr((void *) Result, 1, memenv);
1231 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1232 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1233
1234 }
1235
1236 // wxImage::wxImage
wxImage_new_4_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1237 void wxImage_new_4_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1238 {
1239 bool static_data=false;
1240 ErlNifEnv *env = Ecmd.env;
1241 ERL_NIF_TERM * argv = Ecmd.args;
1242 int width;
1243 if(!enif_get_int(env, argv[0], &width)) Badarg("width"); // int
1244 int height;
1245 if(!enif_get_int(env, argv[1], &height)) Badarg("height"); // int
1246 unsigned char * data;
1247 ErlNifBinary data_bin;
1248 if(!enif_inspect_binary(env, argv[2], &data_bin)) Badarg("data");
1249 data = (unsigned char*) data_bin.data;
1250 ERL_NIF_TERM lstHead, lstTail;
1251 lstTail = argv[3];
1252 if(!enif_is_list(env, lstTail)) Badarg("Options");
1253 const ERL_NIF_TERM *tpl;
1254 int tpl_sz;
1255 while(!enif_is_empty_list(env, lstTail)) {
1256 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1257 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1258 if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1259 static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1260 } else Badarg("Options");
1261 };
1262 if(!static_data) {
1263 data = (unsigned char *) malloc(data_bin.size);
1264 memcpy(data,data_bin.data,data_bin.size);}
1265 ;
1266 wxImage * Result = new EwxImage(width,height,data,static_data);
1267 app->newPtr((void *) Result, 1, memenv);
1268 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1269 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1270
1271 }
1272
1273 // wxImage::wxImage
wxImage_new_3_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1274 void wxImage_new_3_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1275 {
1276 bool static_data=false;
1277 ErlNifEnv *env = Ecmd.env;
1278 ERL_NIF_TERM * argv = Ecmd.args;
1279 const ERL_NIF_TERM *sz_t;
1280 int sz_sz;
1281 if(!enif_get_tuple(env, argv[0], &sz_sz, &sz_t)) Badarg("sz");
1282 int szW;
1283 if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
1284 int szH;
1285 if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
1286 wxSize sz = wxSize(szW,szH);
1287 unsigned char * data;
1288 ErlNifBinary data_bin;
1289 if(!enif_inspect_binary(env, argv[1], &data_bin)) Badarg("data");
1290 data = (unsigned char*) data_bin.data;
1291 ERL_NIF_TERM lstHead, lstTail;
1292 lstTail = argv[2];
1293 if(!enif_is_list(env, lstTail)) Badarg("Options");
1294 const ERL_NIF_TERM *tpl;
1295 int tpl_sz;
1296 while(!enif_is_empty_list(env, lstTail)) {
1297 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1298 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1299 if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1300 static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1301 } else Badarg("Options");
1302 };
1303 wxImage * Result = new EwxImage(sz,data,static_data);
1304 app->newPtr((void *) Result, 1, memenv);
1305 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1306 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1307
1308 }
1309
1310 // wxImage::wxImage
wxImage_new_5(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1311 void wxImage_new_5(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1312 {
1313 bool static_data=false;
1314 ErlNifEnv *env = Ecmd.env;
1315 ERL_NIF_TERM * argv = Ecmd.args;
1316 int width;
1317 if(!enif_get_int(env, argv[0], &width)) Badarg("width"); // int
1318 int height;
1319 if(!enif_get_int(env, argv[1], &height)) Badarg("height"); // int
1320 unsigned char * data;
1321 ErlNifBinary data_bin;
1322 if(!enif_inspect_binary(env, argv[2], &data_bin)) Badarg("data");
1323 data = (unsigned char*) data_bin.data;
1324 unsigned char * alpha;
1325 ErlNifBinary alpha_bin;
1326 if(!enif_inspect_binary(env, argv[3], &alpha_bin)) Badarg("alpha");
1327 alpha = (unsigned char*) alpha_bin.data;
1328 ERL_NIF_TERM lstHead, lstTail;
1329 lstTail = argv[4];
1330 if(!enif_is_list(env, lstTail)) Badarg("Options");
1331 const ERL_NIF_TERM *tpl;
1332 int tpl_sz;
1333 while(!enif_is_empty_list(env, lstTail)) {
1334 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1335 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1336 if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1337 static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1338 } else Badarg("Options");
1339 };
1340 if(!static_data) {
1341 data = (unsigned char *) malloc(data_bin.size);
1342 alpha = (unsigned char *) malloc(alpha_bin.size);
1343 memcpy(data,data_bin.data,data_bin.size);
1344 memcpy(alpha,alpha_bin.data,alpha_bin.size);}
1345 ;
1346 wxImage * Result = new EwxImage(width,height,data,alpha,static_data);
1347 app->newPtr((void *) Result, 1, memenv);
1348 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1349 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1350
1351 }
1352
1353 // wxImage::wxImage
wxImage_new_4_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1354 void wxImage_new_4_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1355 {
1356 bool static_data=false;
1357 ErlNifEnv *env = Ecmd.env;
1358 ERL_NIF_TERM * argv = Ecmd.args;
1359 const ERL_NIF_TERM *sz_t;
1360 int sz_sz;
1361 if(!enif_get_tuple(env, argv[0], &sz_sz, &sz_t)) Badarg("sz");
1362 int szW;
1363 if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
1364 int szH;
1365 if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
1366 wxSize sz = wxSize(szW,szH);
1367 unsigned char * data;
1368 ErlNifBinary data_bin;
1369 if(!enif_inspect_binary(env, argv[1], &data_bin)) Badarg("data");
1370 data = (unsigned char*) data_bin.data;
1371 unsigned char * alpha;
1372 ErlNifBinary alpha_bin;
1373 if(!enif_inspect_binary(env, argv[2], &alpha_bin)) Badarg("alpha");
1374 alpha = (unsigned char*) alpha_bin.data;
1375 ERL_NIF_TERM lstHead, lstTail;
1376 lstTail = argv[3];
1377 if(!enif_is_list(env, lstTail)) Badarg("Options");
1378 const ERL_NIF_TERM *tpl;
1379 int tpl_sz;
1380 while(!enif_is_empty_list(env, lstTail)) {
1381 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1382 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1383 if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1384 static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1385 } else Badarg("Options");
1386 };
1387 if(!static_data) {
1388 data = (unsigned char *) malloc(data_bin.size);
1389 memcpy(data,data_bin.data,data_bin.size);}
1390 ;
1391 wxImage * Result = new EwxImage(sz,data,alpha,static_data);
1392 app->newPtr((void *) Result, 1, memenv);
1393 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1394 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1395
1396 }
1397
1398 // wxImage::wxImage
wxImage_new_2_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1399 void wxImage_new_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1400 {
1401 wxBitmapType type=wxBITMAP_TYPE_ANY;
1402 int index=-1;
1403 ErlNifEnv *env = Ecmd.env;
1404 ERL_NIF_TERM * argv = Ecmd.args;
1405 ErlNifBinary name_bin;
1406 wxString name;
1407 if(!enif_inspect_binary(env, argv[0], &name_bin)) Badarg("name");
1408 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
1409 ERL_NIF_TERM lstHead, lstTail;
1410 lstTail = argv[1];
1411 if(!enif_is_list(env, lstTail)) Badarg("Options");
1412 const ERL_NIF_TERM *tpl;
1413 int tpl_sz;
1414 while(!enif_is_empty_list(env, lstTail)) {
1415 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1416 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1417 if(enif_is_identical(tpl[0], enif_make_atom(env, "type"))) {
1418 if(!enif_get_int(env, tpl[1], (int *) &type)) Badarg("type"); // enum
1419 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "index"))) {
1420 if(!enif_get_int(env, tpl[1], &index)) Badarg("index"); // int
1421 } else Badarg("Options");
1422 };
1423 wxImage * Result = new EwxImage(name,type,index);
1424 app->newPtr((void *) Result, 1, memenv);
1425 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1426 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1427
1428 }
1429
1430 // wxImage::wxImage
wxImage_new_3_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1431 void wxImage_new_3_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1432 {
1433 int index=-1;
1434 ErlNifEnv *env = Ecmd.env;
1435 ERL_NIF_TERM * argv = Ecmd.args;
1436 ErlNifBinary name_bin;
1437 wxString name;
1438 if(!enif_inspect_binary(env, argv[0], &name_bin)) Badarg("name");
1439 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
1440 ErlNifBinary mimetype_bin;
1441 wxString mimetype;
1442 if(!enif_inspect_binary(env, argv[1], &mimetype_bin)) Badarg("mimetype");
1443 mimetype = wxString(mimetype_bin.data, wxConvUTF8, mimetype_bin.size);
1444 ERL_NIF_TERM lstHead, lstTail;
1445 lstTail = argv[2];
1446 if(!enif_is_list(env, lstTail)) Badarg("Options");
1447 const ERL_NIF_TERM *tpl;
1448 int tpl_sz;
1449 while(!enif_is_empty_list(env, lstTail)) {
1450 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1451 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1452 if(enif_is_identical(tpl[0], enif_make_atom(env, "index"))) {
1453 if(!enif_get_int(env, tpl[1], &index)) Badarg("index"); // int
1454 } else Badarg("Options");
1455 };
1456 wxImage * Result = new EwxImage(name,mimetype,index);
1457 app->newPtr((void *) Result, 1, memenv);
1458 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1459 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1460
1461 }
1462
1463 // wxImage::Blur
wxImage_Blur(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1464 void wxImage_Blur(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1465 {
1466 ErlNifEnv *env = Ecmd.env;
1467 ERL_NIF_TERM * argv = Ecmd.args;
1468 wxImage *This;
1469 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1470 int blurRadius;
1471 if(!enif_get_int(env, argv[1], &blurRadius)) Badarg("blurRadius"); // int
1472 if(!This) throw wxe_badarg("This");
1473 wxImage * Result = new EwxImage(This->Blur(blurRadius)); app->newPtr((void *) Result,3, memenv);;
1474 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1475 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1476
1477 }
1478
1479 // wxImage::BlurHorizontal
wxImage_BlurHorizontal(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1480 void wxImage_BlurHorizontal(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1481 {
1482 ErlNifEnv *env = Ecmd.env;
1483 ERL_NIF_TERM * argv = Ecmd.args;
1484 wxImage *This;
1485 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1486 int blurRadius;
1487 if(!enif_get_int(env, argv[1], &blurRadius)) Badarg("blurRadius"); // int
1488 if(!This) throw wxe_badarg("This");
1489 wxImage * Result = new EwxImage(This->BlurHorizontal(blurRadius)); app->newPtr((void *) Result,3, memenv);;
1490 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1491 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1492
1493 }
1494
1495 // wxImage::BlurVertical
wxImage_BlurVertical(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1496 void wxImage_BlurVertical(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1497 {
1498 ErlNifEnv *env = Ecmd.env;
1499 ERL_NIF_TERM * argv = Ecmd.args;
1500 wxImage *This;
1501 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1502 int blurRadius;
1503 if(!enif_get_int(env, argv[1], &blurRadius)) Badarg("blurRadius"); // int
1504 if(!This) throw wxe_badarg("This");
1505 wxImage * Result = new EwxImage(This->BlurVertical(blurRadius)); app->newPtr((void *) Result,3, memenv);;
1506 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1507 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1508
1509 }
1510
1511 // wxImage::ConvertAlphaToMask
wxImage_ConvertAlphaToMask_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1512 void wxImage_ConvertAlphaToMask_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1513 {
1514 unsigned int threshold=wxIMAGE_ALPHA_THRESHOLD;
1515 ErlNifEnv *env = Ecmd.env;
1516 ERL_NIF_TERM * argv = Ecmd.args;
1517 wxImage *This;
1518 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1519 ERL_NIF_TERM lstHead, lstTail;
1520 lstTail = argv[1];
1521 if(!enif_is_list(env, lstTail)) Badarg("Options");
1522 const ERL_NIF_TERM *tpl;
1523 int tpl_sz;
1524 while(!enif_is_empty_list(env, lstTail)) {
1525 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1526 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1527 if(enif_is_identical(tpl[0], enif_make_atom(env, "threshold"))) {
1528 if(!enif_get_uint(env, tpl[1], &threshold)) Badarg("threshold");
1529 } else Badarg("Options");
1530 };
1531 if(!This) throw wxe_badarg("This");
1532 bool Result = This->ConvertAlphaToMask(threshold);
1533 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1534 rt.send( rt.make_bool(Result));
1535
1536 }
1537
1538 // wxImage::ConvertAlphaToMask
wxImage_ConvertAlphaToMask_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1539 void wxImage_ConvertAlphaToMask_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1540 {
1541 unsigned int threshold=wxIMAGE_ALPHA_THRESHOLD;
1542 ErlNifEnv *env = Ecmd.env;
1543 ERL_NIF_TERM * argv = Ecmd.args;
1544 wxImage *This;
1545 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1546 unsigned int mr;
1547 if(!enif_get_uint(env, argv[1], &mr)) Badarg("mr");
1548 unsigned int mg;
1549 if(!enif_get_uint(env, argv[2], &mg)) Badarg("mg");
1550 unsigned int mb;
1551 if(!enif_get_uint(env, argv[3], &mb)) Badarg("mb");
1552 ERL_NIF_TERM lstHead, lstTail;
1553 lstTail = argv[4];
1554 if(!enif_is_list(env, lstTail)) Badarg("Options");
1555 const ERL_NIF_TERM *tpl;
1556 int tpl_sz;
1557 while(!enif_is_empty_list(env, lstTail)) {
1558 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1559 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1560 if(enif_is_identical(tpl[0], enif_make_atom(env, "threshold"))) {
1561 if(!enif_get_uint(env, tpl[1], &threshold)) Badarg("threshold");
1562 } else Badarg("Options");
1563 };
1564 if(!This) throw wxe_badarg("This");
1565 bool Result = This->ConvertAlphaToMask(mr,mg,mb,threshold);
1566 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1567 rt.send( rt.make_bool(Result));
1568
1569 }
1570
1571 // wxImage::ConvertToGreyscale
wxImage_ConvertToGreyscale_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1572 void wxImage_ConvertToGreyscale_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1573 {
1574 ErlNifEnv *env = Ecmd.env;
1575 ERL_NIF_TERM * argv = Ecmd.args;
1576 wxImage *This;
1577 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1578 double weight_r;
1579 if(!wxe_get_double(env, argv[1], &weight_r)) Badarg("weight_r");
1580 double weight_g;
1581 if(!wxe_get_double(env, argv[2], &weight_g)) Badarg("weight_g");
1582 double weight_b;
1583 if(!wxe_get_double(env, argv[3], &weight_b)) Badarg("weight_b");
1584 if(!This) throw wxe_badarg("This");
1585 wxImage * Result = new EwxImage(This->ConvertToGreyscale(weight_r,weight_g,weight_b)); app->newPtr((void *) Result,3, memenv);;
1586 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1587 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1588
1589 }
1590
1591 // wxImage::ConvertToGreyscale
wxImage_ConvertToGreyscale_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1592 void wxImage_ConvertToGreyscale_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1593 {
1594 ErlNifEnv *env = Ecmd.env;
1595 ERL_NIF_TERM * argv = Ecmd.args;
1596 wxImage *This;
1597 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1598 if(!This) throw wxe_badarg("This");
1599 wxImage * Result = new EwxImage(This->ConvertToGreyscale()); app->newPtr((void *) Result,3, memenv);;
1600 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1601 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1602
1603 }
1604
1605 // wxImage::ConvertToMono
wxImage_ConvertToMono(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1606 void wxImage_ConvertToMono(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1607 {
1608 ErlNifEnv *env = Ecmd.env;
1609 ERL_NIF_TERM * argv = Ecmd.args;
1610 wxImage *This;
1611 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1612 unsigned int r;
1613 if(!enif_get_uint(env, argv[1], &r)) Badarg("r");
1614 unsigned int g;
1615 if(!enif_get_uint(env, argv[2], &g)) Badarg("g");
1616 unsigned int b;
1617 if(!enif_get_uint(env, argv[3], &b)) Badarg("b");
1618 if(!This) throw wxe_badarg("This");
1619 wxImage * Result = new EwxImage(This->ConvertToMono(r,g,b)); app->newPtr((void *) Result,3, memenv);;
1620 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1621 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1622
1623 }
1624
1625 // wxImage::Copy
wxImage_Copy(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1626 void wxImage_Copy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1627 {
1628 ErlNifEnv *env = Ecmd.env;
1629 ERL_NIF_TERM * argv = Ecmd.args;
1630 wxImage *This;
1631 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1632 if(!This) throw wxe_badarg("This");
1633 wxImage * Result = new EwxImage(This->Copy()); app->newPtr((void *) Result,3, memenv);;
1634 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1635 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
1636
1637 }
1638
1639 // wxImage::Create
wxImage_Create_3_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1640 void wxImage_Create_3_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1641 {
1642 bool clear=true;
1643 ErlNifEnv *env = Ecmd.env;
1644 ERL_NIF_TERM * argv = Ecmd.args;
1645 wxImage *This;
1646 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1647 int width;
1648 if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
1649 int height;
1650 if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
1651 ERL_NIF_TERM lstHead, lstTail;
1652 lstTail = argv[3];
1653 if(!enif_is_list(env, lstTail)) Badarg("Options");
1654 const ERL_NIF_TERM *tpl;
1655 int tpl_sz;
1656 while(!enif_is_empty_list(env, lstTail)) {
1657 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1658 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1659 if(enif_is_identical(tpl[0], enif_make_atom(env, "clear"))) {
1660 clear = enif_is_identical(tpl[1], WXE_ATOM_true);
1661 } else Badarg("Options");
1662 };
1663 if(!This) throw wxe_badarg("This");
1664 bool Result = This->Create(width,height,clear);
1665 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1666 rt.send( rt.make_bool(Result));
1667
1668 }
1669
1670 // wxImage::Create
wxImage_Create_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1671 void wxImage_Create_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1672 {
1673 bool clear=true;
1674 ErlNifEnv *env = Ecmd.env;
1675 ERL_NIF_TERM * argv = Ecmd.args;
1676 wxImage *This;
1677 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1678 const ERL_NIF_TERM *sz_t;
1679 int sz_sz;
1680 if(!enif_get_tuple(env, argv[1], &sz_sz, &sz_t)) Badarg("sz");
1681 int szW;
1682 if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
1683 int szH;
1684 if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
1685 wxSize sz = wxSize(szW,szH);
1686 ERL_NIF_TERM lstHead, lstTail;
1687 lstTail = argv[2];
1688 if(!enif_is_list(env, lstTail)) Badarg("Options");
1689 const ERL_NIF_TERM *tpl;
1690 int tpl_sz;
1691 while(!enif_is_empty_list(env, lstTail)) {
1692 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1693 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1694 if(enif_is_identical(tpl[0], enif_make_atom(env, "clear"))) {
1695 clear = enif_is_identical(tpl[1], WXE_ATOM_true);
1696 } else Badarg("Options");
1697 };
1698 if(!This) throw wxe_badarg("This");
1699 bool Result = This->Create(sz,clear);
1700 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1701 rt.send( rt.make_bool(Result));
1702
1703 }
1704
1705 // wxImage::Create
wxImage_Create_4_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1706 void wxImage_Create_4_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1707 {
1708 bool static_data=false;
1709 ErlNifEnv *env = Ecmd.env;
1710 ERL_NIF_TERM * argv = Ecmd.args;
1711 wxImage *This;
1712 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1713 int width;
1714 if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
1715 int height;
1716 if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
1717 unsigned char * data;
1718 ErlNifBinary data_bin;
1719 if(!enif_inspect_binary(env, argv[3], &data_bin)) Badarg("data");
1720 data = (unsigned char*) data_bin.data;
1721 ERL_NIF_TERM lstHead, lstTail;
1722 lstTail = argv[4];
1723 if(!enif_is_list(env, lstTail)) Badarg("Options");
1724 const ERL_NIF_TERM *tpl;
1725 int tpl_sz;
1726 while(!enif_is_empty_list(env, lstTail)) {
1727 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1728 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1729 if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1730 static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1731 } else Badarg("Options");
1732 };
1733 if(!static_data) {
1734 data = (unsigned char *) malloc(data_bin.size);
1735 memcpy(data,data_bin.data,data_bin.size);}
1736 ;
1737 if(!This) throw wxe_badarg("This");
1738 bool Result = This->Create(width,height,data,static_data);
1739 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1740 rt.send( rt.make_bool(Result));
1741
1742 }
1743
1744 // wxImage::Create
wxImage_Create_3_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1745 void wxImage_Create_3_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1746 {
1747 bool static_data=false;
1748 ErlNifEnv *env = Ecmd.env;
1749 ERL_NIF_TERM * argv = Ecmd.args;
1750 wxImage *This;
1751 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1752 const ERL_NIF_TERM *sz_t;
1753 int sz_sz;
1754 if(!enif_get_tuple(env, argv[1], &sz_sz, &sz_t)) Badarg("sz");
1755 int szW;
1756 if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
1757 int szH;
1758 if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
1759 wxSize sz = wxSize(szW,szH);
1760 unsigned char * data;
1761 ErlNifBinary data_bin;
1762 if(!enif_inspect_binary(env, argv[2], &data_bin)) Badarg("data");
1763 data = (unsigned char*) data_bin.data;
1764 ERL_NIF_TERM lstHead, lstTail;
1765 lstTail = argv[3];
1766 if(!enif_is_list(env, lstTail)) Badarg("Options");
1767 const ERL_NIF_TERM *tpl;
1768 int tpl_sz;
1769 while(!enif_is_empty_list(env, lstTail)) {
1770 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1771 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1772 if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1773 static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1774 } else Badarg("Options");
1775 };
1776 if(!This) throw wxe_badarg("This");
1777 bool Result = This->Create(sz,data,static_data);
1778 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1779 rt.send( rt.make_bool(Result));
1780
1781 }
1782
1783 // wxImage::Create
wxImage_Create_5(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1784 void wxImage_Create_5(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1785 {
1786 bool static_data=false;
1787 ErlNifEnv *env = Ecmd.env;
1788 ERL_NIF_TERM * argv = Ecmd.args;
1789 wxImage *This;
1790 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1791 int width;
1792 if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
1793 int height;
1794 if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
1795 unsigned char * data;
1796 ErlNifBinary data_bin;
1797 if(!enif_inspect_binary(env, argv[3], &data_bin)) Badarg("data");
1798 data = (unsigned char*) data_bin.data;
1799 unsigned char * alpha;
1800 ErlNifBinary alpha_bin;
1801 if(!enif_inspect_binary(env, argv[4], &alpha_bin)) Badarg("alpha");
1802 alpha = (unsigned char*) alpha_bin.data;
1803 ERL_NIF_TERM lstHead, lstTail;
1804 lstTail = argv[5];
1805 if(!enif_is_list(env, lstTail)) Badarg("Options");
1806 const ERL_NIF_TERM *tpl;
1807 int tpl_sz;
1808 while(!enif_is_empty_list(env, lstTail)) {
1809 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1810 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1811 if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1812 static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1813 } else Badarg("Options");
1814 };
1815 if(!static_data) {
1816 data = (unsigned char *) malloc(data_bin.size);
1817 alpha = (unsigned char *) malloc(alpha_bin.size);
1818 memcpy(data,data_bin.data,data_bin.size);
1819 memcpy(alpha,alpha_bin.data,alpha_bin.size);}
1820 ;
1821 if(!This) throw wxe_badarg("This");
1822 bool Result = This->Create(width,height,data,alpha,static_data);
1823 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1824 rt.send( rt.make_bool(Result));
1825
1826 }
1827
1828 // wxImage::Create
wxImage_Create_4_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1829 void wxImage_Create_4_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1830 {
1831 bool static_data=false;
1832 ErlNifEnv *env = Ecmd.env;
1833 ERL_NIF_TERM * argv = Ecmd.args;
1834 wxImage *This;
1835 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1836 const ERL_NIF_TERM *sz_t;
1837 int sz_sz;
1838 if(!enif_get_tuple(env, argv[1], &sz_sz, &sz_t)) Badarg("sz");
1839 int szW;
1840 if(!enif_get_int(env, sz_t[0], &szW)) Badarg("sz");
1841 int szH;
1842 if(!enif_get_int(env, sz_t[1], &szH)) Badarg("sz");
1843 wxSize sz = wxSize(szW,szH);
1844 unsigned char * data;
1845 ErlNifBinary data_bin;
1846 if(!enif_inspect_binary(env, argv[2], &data_bin)) Badarg("data");
1847 data = (unsigned char*) data_bin.data;
1848 unsigned char * alpha;
1849 ErlNifBinary alpha_bin;
1850 if(!enif_inspect_binary(env, argv[3], &alpha_bin)) Badarg("alpha");
1851 alpha = (unsigned char*) alpha_bin.data;
1852 ERL_NIF_TERM lstHead, lstTail;
1853 lstTail = argv[4];
1854 if(!enif_is_list(env, lstTail)) Badarg("Options");
1855 const ERL_NIF_TERM *tpl;
1856 int tpl_sz;
1857 while(!enif_is_empty_list(env, lstTail)) {
1858 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1859 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1860 if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
1861 static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
1862 } else Badarg("Options");
1863 };
1864 if(!static_data) {
1865 data = (unsigned char *) malloc(data_bin.size);
1866 memcpy(data,data_bin.data,data_bin.size);}
1867 ;
1868 if(!This) throw wxe_badarg("This");
1869 bool Result = This->Create(sz,data,alpha,static_data);
1870 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1871 rt.send( rt.make_bool(Result));
1872
1873 }
1874
1875 // wxImage::Destroy
wxImage_Destroy(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1876 void wxImage_Destroy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1877 {
1878 ErlNifEnv *env = Ecmd.env;
1879 ERL_NIF_TERM * argv = Ecmd.args;
1880 wxImage *This;
1881 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1882 if(!This) throw wxe_badarg("This");
1883 This->Destroy();
1884
1885 }
1886
1887 // wxImage::FindFirstUnusedColour
wxImage_FindFirstUnusedColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1888 void wxImage_FindFirstUnusedColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1889 {
1890 unsigned char r;
1891 unsigned char g;
1892 unsigned char b;
1893 unsigned int startR=1;
1894 unsigned int startG=0;
1895 unsigned int startB=0;
1896 ErlNifEnv *env = Ecmd.env;
1897 ERL_NIF_TERM * argv = Ecmd.args;
1898 wxImage *This;
1899 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1900 ERL_NIF_TERM lstHead, lstTail;
1901 lstTail = argv[1];
1902 if(!enif_is_list(env, lstTail)) Badarg("Options");
1903 const ERL_NIF_TERM *tpl;
1904 int tpl_sz;
1905 while(!enif_is_empty_list(env, lstTail)) {
1906 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
1907 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
1908 if(enif_is_identical(tpl[0], enif_make_atom(env, "startR"))) {
1909 if(!enif_get_uint(env, tpl[1], &startR)) Badarg("startR");
1910 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "startG"))) {
1911 if(!enif_get_uint(env, tpl[1], &startG)) Badarg("startG");
1912 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "startB"))) {
1913 if(!enif_get_uint(env, tpl[1], &startB)) Badarg("startB");
1914 } else Badarg("Options");
1915 };
1916 if(!This) throw wxe_badarg("This");
1917 bool Result = This->FindFirstUnusedColour(&r,&g,&b,startR,startG,startB);
1918 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1919 ERL_NIF_TERM msg = enif_make_tuple4(rt.env,
1920 rt.make_bool(Result),
1921 rt.make_uint(r),
1922 rt.make_uint(g),
1923 rt.make_uint(b));
1924 rt.send(msg);
1925
1926 }
1927
1928 // wxImage::GetImageExtWildcard
wxImage_GetImageExtWildcard(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1929 void wxImage_GetImageExtWildcard(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1930 {
1931 wxString Result = wxImage::GetImageExtWildcard();
1932 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1933 rt.send( rt.make(Result));
1934
1935 }
1936
1937 // wxImage::GetAlpha
wxImage_GetAlpha_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1938 void wxImage_GetAlpha_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1939 {
1940 ErlNifEnv *env = Ecmd.env;
1941 ERL_NIF_TERM * argv = Ecmd.args;
1942 wxImage *This;
1943 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1944 if(!This) throw wxe_badarg("This");
1945 char * Result = (char*)This->GetAlpha();
1946 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1947 rt.send( rt.make_binary(Result, (This->GetWidth()*This->GetHeight())));
1948
1949 }
1950
1951 // wxImage::GetAlpha
wxImage_GetAlpha_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1952 void wxImage_GetAlpha_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1953 {
1954 ErlNifEnv *env = Ecmd.env;
1955 ERL_NIF_TERM * argv = Ecmd.args;
1956 wxImage *This;
1957 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1958 int x;
1959 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
1960 int y;
1961 if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
1962 if(!This) throw wxe_badarg("This");
1963 char Result = This->GetAlpha(x,y);
1964 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1965 rt.send( rt.make_uint(Result));
1966
1967 }
1968
1969 // wxImage::GetBlue
wxImage_GetBlue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1970 void wxImage_GetBlue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1971 {
1972 ErlNifEnv *env = Ecmd.env;
1973 ERL_NIF_TERM * argv = Ecmd.args;
1974 wxImage *This;
1975 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1976 int x;
1977 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
1978 int y;
1979 if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
1980 if(!This) throw wxe_badarg("This");
1981 char Result = This->GetBlue(x,y);
1982 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1983 rt.send( rt.make_uint(Result));
1984
1985 }
1986
1987 // wxImage::GetData
wxImage_GetData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)1988 void wxImage_GetData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
1989 {
1990 ErlNifEnv *env = Ecmd.env;
1991 ERL_NIF_TERM * argv = Ecmd.args;
1992 wxImage *This;
1993 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
1994 if(!This) throw wxe_badarg("This");
1995 char * Result = (char*)This->GetData();
1996 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
1997 rt.send( rt.make_binary(Result, (This->GetWidth()*This->GetHeight()*3)));
1998
1999 }
2000
2001 // wxImage::GetGreen
wxImage_GetGreen(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2002 void wxImage_GetGreen(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2003 {
2004 ErlNifEnv *env = Ecmd.env;
2005 ERL_NIF_TERM * argv = Ecmd.args;
2006 wxImage *This;
2007 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2008 int x;
2009 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
2010 int y;
2011 if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
2012 if(!This) throw wxe_badarg("This");
2013 char Result = This->GetGreen(x,y);
2014 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2015 rt.send( rt.make_uint(Result));
2016
2017 }
2018
2019 // wxImage::GetImageCount
wxImage_GetImageCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2020 void wxImage_GetImageCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2021 {
2022 wxBitmapType type=wxBITMAP_TYPE_ANY;
2023 ErlNifEnv *env = Ecmd.env;
2024 ERL_NIF_TERM * argv = Ecmd.args;
2025 ErlNifBinary filename_bin;
2026 wxString filename;
2027 if(!enif_inspect_binary(env, argv[0], &filename_bin)) Badarg("filename");
2028 filename = wxString(filename_bin.data, wxConvUTF8, filename_bin.size);
2029 ERL_NIF_TERM lstHead, lstTail;
2030 lstTail = argv[1];
2031 if(!enif_is_list(env, lstTail)) Badarg("Options");
2032 const ERL_NIF_TERM *tpl;
2033 int tpl_sz;
2034 while(!enif_is_empty_list(env, lstTail)) {
2035 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2036 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2037 if(enif_is_identical(tpl[0], enif_make_atom(env, "type"))) {
2038 if(!enif_get_int(env, tpl[1], (int *) &type)) Badarg("type"); // enum
2039 } else Badarg("Options");
2040 };
2041 int Result = wxImage::GetImageCount(filename,type);
2042 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2043 rt.send( rt.make_int(Result));
2044
2045 }
2046
2047 // wxImage::GetHeight
wxImage_GetHeight(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2048 void wxImage_GetHeight(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2049 {
2050 ErlNifEnv *env = Ecmd.env;
2051 ERL_NIF_TERM * argv = Ecmd.args;
2052 wxImage *This;
2053 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2054 if(!This) throw wxe_badarg("This");
2055 int Result = This->GetHeight();
2056 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2057 rt.send( rt.make_int(Result));
2058
2059 }
2060
2061 // wxImage::GetMaskBlue
wxImage_GetMaskBlue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2062 void wxImage_GetMaskBlue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2063 {
2064 ErlNifEnv *env = Ecmd.env;
2065 ERL_NIF_TERM * argv = Ecmd.args;
2066 wxImage *This;
2067 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2068 if(!This) throw wxe_badarg("This");
2069 char Result = This->GetMaskBlue();
2070 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2071 rt.send( rt.make_uint(Result));
2072
2073 }
2074
2075 // wxImage::GetMaskGreen
wxImage_GetMaskGreen(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2076 void wxImage_GetMaskGreen(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2077 {
2078 ErlNifEnv *env = Ecmd.env;
2079 ERL_NIF_TERM * argv = Ecmd.args;
2080 wxImage *This;
2081 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2082 if(!This) throw wxe_badarg("This");
2083 char Result = This->GetMaskGreen();
2084 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2085 rt.send( rt.make_uint(Result));
2086
2087 }
2088
2089 // wxImage::GetMaskRed
wxImage_GetMaskRed(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2090 void wxImage_GetMaskRed(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2091 {
2092 ErlNifEnv *env = Ecmd.env;
2093 ERL_NIF_TERM * argv = Ecmd.args;
2094 wxImage *This;
2095 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2096 if(!This) throw wxe_badarg("This");
2097 char Result = This->GetMaskRed();
2098 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2099 rt.send( rt.make_uint(Result));
2100
2101 }
2102
2103 // wxImage::GetOrFindMaskColour
wxImage_GetOrFindMaskColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2104 void wxImage_GetOrFindMaskColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2105 {
2106 unsigned char r;
2107 unsigned char g;
2108 unsigned char b;
2109 ErlNifEnv *env = Ecmd.env;
2110 ERL_NIF_TERM * argv = Ecmd.args;
2111 wxImage *This;
2112 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2113 if(!This) throw wxe_badarg("This");
2114 bool Result = This->GetOrFindMaskColour(&r,&g,&b);
2115 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2116 ERL_NIF_TERM msg = enif_make_tuple4(rt.env,
2117 rt.make_bool(Result),
2118 rt.make_uint(r),
2119 rt.make_uint(g),
2120 rt.make_uint(b));
2121 rt.send(msg);
2122
2123 }
2124
2125 // wxImage::GetPalette
wxImage_GetPalette(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2126 void wxImage_GetPalette(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2127 {
2128 ErlNifEnv *env = Ecmd.env;
2129 ERL_NIF_TERM * argv = Ecmd.args;
2130 wxImage *This;
2131 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2132 if(!This) throw wxe_badarg("This");
2133 const wxPalette * Result = &This->GetPalette();
2134 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2135 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxPalette"));
2136
2137 }
2138
2139 // wxImage::GetRed
wxImage_GetRed(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2140 void wxImage_GetRed(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2141 {
2142 ErlNifEnv *env = Ecmd.env;
2143 ERL_NIF_TERM * argv = Ecmd.args;
2144 wxImage *This;
2145 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2146 int x;
2147 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
2148 int y;
2149 if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
2150 if(!This) throw wxe_badarg("This");
2151 char Result = This->GetRed(x,y);
2152 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2153 rt.send( rt.make_uint(Result));
2154
2155 }
2156
2157 // wxImage::GetSubImage
wxImage_GetSubImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2158 void wxImage_GetSubImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2159 {
2160 ErlNifEnv *env = Ecmd.env;
2161 ERL_NIF_TERM * argv = Ecmd.args;
2162 wxImage *This;
2163 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2164 const ERL_NIF_TERM *rect_t;
2165 int rect_sz;
2166 if(!enif_get_tuple(env, argv[1], &rect_sz, &rect_t)) Badarg("rect");
2167 int rectX;
2168 if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
2169 int rectY;
2170 if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
2171 int rectW;
2172 if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
2173 int rectH;
2174 if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
2175 wxRect rect = wxRect(rectX,rectY,rectW,rectH);
2176 if(!This) throw wxe_badarg("This");
2177 wxImage * Result = new EwxImage(This->GetSubImage(rect)); app->newPtr((void *) Result,3, memenv);;
2178 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2179 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2180
2181 }
2182
2183 // wxImage::GetWidth
wxImage_GetWidth(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2184 void wxImage_GetWidth(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2185 {
2186 ErlNifEnv *env = Ecmd.env;
2187 ERL_NIF_TERM * argv = Ecmd.args;
2188 wxImage *This;
2189 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2190 if(!This) throw wxe_badarg("This");
2191 int Result = This->GetWidth();
2192 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2193 rt.send( rt.make_int(Result));
2194
2195 }
2196
2197 // wxImage::HasAlpha
wxImage_HasAlpha(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2198 void wxImage_HasAlpha(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2199 {
2200 ErlNifEnv *env = Ecmd.env;
2201 ERL_NIF_TERM * argv = Ecmd.args;
2202 wxImage *This;
2203 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2204 if(!This) throw wxe_badarg("This");
2205 bool Result = This->HasAlpha();
2206 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2207 rt.send( rt.make_bool(Result));
2208
2209 }
2210
2211 // wxImage::HasMask
wxImage_HasMask(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2212 void wxImage_HasMask(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2213 {
2214 ErlNifEnv *env = Ecmd.env;
2215 ERL_NIF_TERM * argv = Ecmd.args;
2216 wxImage *This;
2217 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2218 if(!This) throw wxe_badarg("This");
2219 bool Result = This->HasMask();
2220 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2221 rt.send( rt.make_bool(Result));
2222
2223 }
2224
2225 // wxImage::GetOption
wxImage_GetOption(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2226 void wxImage_GetOption(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2227 {
2228 ErlNifEnv *env = Ecmd.env;
2229 ERL_NIF_TERM * argv = Ecmd.args;
2230 wxImage *This;
2231 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2232 ErlNifBinary name_bin;
2233 wxString name;
2234 if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2235 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2236 if(!This) throw wxe_badarg("This");
2237 wxString Result = This->GetOption(name);
2238 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2239 rt.send( rt.make(Result));
2240
2241 }
2242
2243 // wxImage::GetOptionInt
wxImage_GetOptionInt(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2244 void wxImage_GetOptionInt(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2245 {
2246 ErlNifEnv *env = Ecmd.env;
2247 ERL_NIF_TERM * argv = Ecmd.args;
2248 wxImage *This;
2249 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2250 ErlNifBinary name_bin;
2251 wxString name;
2252 if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2253 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2254 if(!This) throw wxe_badarg("This");
2255 int Result = This->GetOptionInt(name);
2256 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2257 rt.send( rt.make_int(Result));
2258
2259 }
2260
2261 // wxImage::HasOption
wxImage_HasOption(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2262 void wxImage_HasOption(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2263 {
2264 ErlNifEnv *env = Ecmd.env;
2265 ERL_NIF_TERM * argv = Ecmd.args;
2266 wxImage *This;
2267 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2268 ErlNifBinary name_bin;
2269 wxString name;
2270 if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2271 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2272 if(!This) throw wxe_badarg("This");
2273 bool Result = This->HasOption(name);
2274 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2275 rt.send( rt.make_bool(Result));
2276
2277 }
2278
2279 // wxImage::InitAlpha
wxImage_InitAlpha(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2280 void wxImage_InitAlpha(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2281 {
2282 ErlNifEnv *env = Ecmd.env;
2283 ERL_NIF_TERM * argv = Ecmd.args;
2284 wxImage *This;
2285 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2286 if(!This) throw wxe_badarg("This");
2287 This->InitAlpha();
2288
2289 }
2290
2291 // wxImage::InitStandardHandlers
wxImage_InitStandardHandlers(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2292 void wxImage_InitStandardHandlers(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2293 {
2294 wxImage::InitStandardHandlers();
2295
2296 }
2297
2298 // wxImage::IsTransparent
wxImage_IsTransparent(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2299 void wxImage_IsTransparent(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2300 {
2301 unsigned int threshold=wxIMAGE_ALPHA_THRESHOLD;
2302 ErlNifEnv *env = Ecmd.env;
2303 ERL_NIF_TERM * argv = Ecmd.args;
2304 wxImage *This;
2305 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2306 int x;
2307 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
2308 int y;
2309 if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
2310 ERL_NIF_TERM lstHead, lstTail;
2311 lstTail = argv[3];
2312 if(!enif_is_list(env, lstTail)) Badarg("Options");
2313 const ERL_NIF_TERM *tpl;
2314 int tpl_sz;
2315 while(!enif_is_empty_list(env, lstTail)) {
2316 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2317 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2318 if(enif_is_identical(tpl[0], enif_make_atom(env, "threshold"))) {
2319 if(!enif_get_uint(env, tpl[1], &threshold)) Badarg("threshold");
2320 } else Badarg("Options");
2321 };
2322 if(!This) throw wxe_badarg("This");
2323 bool Result = This->IsTransparent(x,y,threshold);
2324 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2325 rt.send( rt.make_bool(Result));
2326
2327 }
2328
2329 // wxImage::LoadFile
wxImage_LoadFile_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2330 void wxImage_LoadFile_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2331 {
2332 wxBitmapType type=wxBITMAP_TYPE_ANY;
2333 int index=-1;
2334 ErlNifEnv *env = Ecmd.env;
2335 ERL_NIF_TERM * argv = Ecmd.args;
2336 wxImage *This;
2337 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2338 ErlNifBinary name_bin;
2339 wxString name;
2340 if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2341 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2342 ERL_NIF_TERM lstHead, lstTail;
2343 lstTail = argv[2];
2344 if(!enif_is_list(env, lstTail)) Badarg("Options");
2345 const ERL_NIF_TERM *tpl;
2346 int tpl_sz;
2347 while(!enif_is_empty_list(env, lstTail)) {
2348 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2349 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2350 if(enif_is_identical(tpl[0], enif_make_atom(env, "type"))) {
2351 if(!enif_get_int(env, tpl[1], (int *) &type)) Badarg("type"); // enum
2352 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "index"))) {
2353 if(!enif_get_int(env, tpl[1], &index)) Badarg("index"); // int
2354 } else Badarg("Options");
2355 };
2356 if(!This) throw wxe_badarg("This");
2357 bool Result = This->LoadFile(name,type,index);
2358 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2359 rt.send( rt.make_bool(Result));
2360
2361 }
2362
2363 // wxImage::LoadFile
wxImage_LoadFile_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2364 void wxImage_LoadFile_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2365 {
2366 int index=-1;
2367 ErlNifEnv *env = Ecmd.env;
2368 ERL_NIF_TERM * argv = Ecmd.args;
2369 wxImage *This;
2370 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2371 ErlNifBinary name_bin;
2372 wxString name;
2373 if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2374 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2375 ErlNifBinary mimetype_bin;
2376 wxString mimetype;
2377 if(!enif_inspect_binary(env, argv[2], &mimetype_bin)) Badarg("mimetype");
2378 mimetype = wxString(mimetype_bin.data, wxConvUTF8, mimetype_bin.size);
2379 ERL_NIF_TERM lstHead, lstTail;
2380 lstTail = argv[3];
2381 if(!enif_is_list(env, lstTail)) Badarg("Options");
2382 const ERL_NIF_TERM *tpl;
2383 int tpl_sz;
2384 while(!enif_is_empty_list(env, lstTail)) {
2385 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2386 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2387 if(enif_is_identical(tpl[0], enif_make_atom(env, "index"))) {
2388 if(!enif_get_int(env, tpl[1], &index)) Badarg("index"); // int
2389 } else Badarg("Options");
2390 };
2391 if(!This) throw wxe_badarg("This");
2392 bool Result = This->LoadFile(name,mimetype,index);
2393 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2394 rt.send( rt.make_bool(Result));
2395
2396 }
2397
2398 // wxImage::IsOk
wxImage_IsOk(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2399 void wxImage_IsOk(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2400 {
2401 ErlNifEnv *env = Ecmd.env;
2402 ERL_NIF_TERM * argv = Ecmd.args;
2403 wxImage *This;
2404 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2405 if(!This) throw wxe_badarg("This");
2406 bool Result = This->IsOk();
2407 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2408 rt.send( rt.make_bool(Result));
2409
2410 }
2411
2412 // wxImage::RemoveHandler
wxImage_RemoveHandler(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2413 void wxImage_RemoveHandler(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2414 {
2415 ErlNifEnv *env = Ecmd.env;
2416 ERL_NIF_TERM * argv = Ecmd.args;
2417 ErlNifBinary name_bin;
2418 wxString name;
2419 if(!enif_inspect_binary(env, argv[0], &name_bin)) Badarg("name");
2420 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2421 bool Result = wxImage::RemoveHandler(name);
2422 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2423 rt.send( rt.make_bool(Result));
2424
2425 }
2426
2427 // wxImage::Mirror
wxImage_Mirror(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2428 void wxImage_Mirror(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2429 {
2430 bool horizontally=true;
2431 ErlNifEnv *env = Ecmd.env;
2432 ERL_NIF_TERM * argv = Ecmd.args;
2433 wxImage *This;
2434 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2435 ERL_NIF_TERM lstHead, lstTail;
2436 lstTail = argv[1];
2437 if(!enif_is_list(env, lstTail)) Badarg("Options");
2438 const ERL_NIF_TERM *tpl;
2439 int tpl_sz;
2440 while(!enif_is_empty_list(env, lstTail)) {
2441 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2442 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2443 if(enif_is_identical(tpl[0], enif_make_atom(env, "horizontally"))) {
2444 horizontally = enif_is_identical(tpl[1], WXE_ATOM_true);
2445 } else Badarg("Options");
2446 };
2447 if(!This) throw wxe_badarg("This");
2448 wxImage * Result = new EwxImage(This->Mirror(horizontally)); app->newPtr((void *) Result,3, memenv);;
2449 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2450 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2451
2452 }
2453
2454 // wxImage::Replace
wxImage_Replace(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2455 void wxImage_Replace(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2456 {
2457 ErlNifEnv *env = Ecmd.env;
2458 ERL_NIF_TERM * argv = Ecmd.args;
2459 wxImage *This;
2460 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2461 unsigned int r1;
2462 if(!enif_get_uint(env, argv[1], &r1)) Badarg("r1");
2463 unsigned int g1;
2464 if(!enif_get_uint(env, argv[2], &g1)) Badarg("g1");
2465 unsigned int b1;
2466 if(!enif_get_uint(env, argv[3], &b1)) Badarg("b1");
2467 unsigned int r2;
2468 if(!enif_get_uint(env, argv[4], &r2)) Badarg("r2");
2469 unsigned int g2;
2470 if(!enif_get_uint(env, argv[5], &g2)) Badarg("g2");
2471 unsigned int b2;
2472 if(!enif_get_uint(env, argv[6], &b2)) Badarg("b2");
2473 if(!This) throw wxe_badarg("This");
2474 This->Replace(r1,g1,b1,r2,g2,b2);
2475
2476 }
2477
2478 // wxImage::Rescale
wxImage_Rescale(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2479 void wxImage_Rescale(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2480 {
2481 wxImageResizeQuality quality=wxIMAGE_QUALITY_NORMAL;
2482 ErlNifEnv *env = Ecmd.env;
2483 ERL_NIF_TERM * argv = Ecmd.args;
2484 wxImage *This;
2485 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2486 int width;
2487 if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
2488 int height;
2489 if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
2490 ERL_NIF_TERM lstHead, lstTail;
2491 lstTail = argv[3];
2492 if(!enif_is_list(env, lstTail)) Badarg("Options");
2493 const ERL_NIF_TERM *tpl;
2494 int tpl_sz;
2495 while(!enif_is_empty_list(env, lstTail)) {
2496 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2497 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2498 if(enif_is_identical(tpl[0], enif_make_atom(env, "quality"))) {
2499 if(!enif_get_int(env, tpl[1], (int *) &quality)) Badarg("quality"); // enum
2500 } else Badarg("Options");
2501 };
2502 if(!This) throw wxe_badarg("This");
2503 wxImage * Result = &This->Rescale(width,height,quality);
2504 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2505 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2506
2507 }
2508
2509 // wxImage::Resize
wxImage_Resize(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2510 void wxImage_Resize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2511 {
2512 int r=-1;
2513 int g=-1;
2514 int b=-1;
2515 ErlNifEnv *env = Ecmd.env;
2516 ERL_NIF_TERM * argv = Ecmd.args;
2517 wxImage *This;
2518 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2519 const ERL_NIF_TERM *size_t;
2520 int size_sz;
2521 if(!enif_get_tuple(env, argv[1], &size_sz, &size_t)) Badarg("size");
2522 int sizeW;
2523 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
2524 int sizeH;
2525 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
2526 wxSize size = wxSize(sizeW,sizeH);
2527 const ERL_NIF_TERM *pos_t;
2528 int pos_sz;
2529 if(!enif_get_tuple(env, argv[2], &pos_sz, &pos_t)) Badarg("pos");
2530 int posX;
2531 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
2532 int posY;
2533 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
2534 wxPoint pos = wxPoint(posX,posY);
2535 ERL_NIF_TERM lstHead, lstTail;
2536 lstTail = argv[3];
2537 if(!enif_is_list(env, lstTail)) Badarg("Options");
2538 const ERL_NIF_TERM *tpl;
2539 int tpl_sz;
2540 while(!enif_is_empty_list(env, lstTail)) {
2541 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2542 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2543 if(enif_is_identical(tpl[0], enif_make_atom(env, "r"))) {
2544 if(!enif_get_int(env, tpl[1], &r)) Badarg("r"); // int
2545 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "g"))) {
2546 if(!enif_get_int(env, tpl[1], &g)) Badarg("g"); // int
2547 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "b"))) {
2548 if(!enif_get_int(env, tpl[1], &b)) Badarg("b"); // int
2549 } else Badarg("Options");
2550 };
2551 if(!This) throw wxe_badarg("This");
2552 wxImage * Result = &This->Resize(size,pos,r,g,b);
2553 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2554 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2555
2556 }
2557
2558 // wxImage::Rotate
wxImage_Rotate(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2559 void wxImage_Rotate(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2560 {
2561 bool interpolating=true;
2562 wxPoint *offset_after_rotation=NULL; wxPoint offset_after_rotationTmp;
2563 ErlNifEnv *env = Ecmd.env;
2564 ERL_NIF_TERM * argv = Ecmd.args;
2565 wxImage *This;
2566 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2567 double angle;
2568 if(!wxe_get_double(env, argv[1], &angle)) Badarg("angle");
2569 const ERL_NIF_TERM *rotationCentre_t;
2570 int rotationCentre_sz;
2571 if(!enif_get_tuple(env, argv[2], &rotationCentre_sz, &rotationCentre_t)) Badarg("rotationCentre");
2572 int rotationCentreX;
2573 if(!enif_get_int(env, rotationCentre_t[0], &rotationCentreX)) Badarg("rotationCentre");
2574 int rotationCentreY;
2575 if(!enif_get_int(env, rotationCentre_t[1], &rotationCentreY)) Badarg("rotationCentre");
2576 wxPoint rotationCentre = wxPoint(rotationCentreX,rotationCentreY);
2577 ERL_NIF_TERM lstHead, lstTail;
2578 lstTail = argv[3];
2579 if(!enif_is_list(env, lstTail)) Badarg("Options");
2580 const ERL_NIF_TERM *tpl;
2581 int tpl_sz;
2582 while(!enif_is_empty_list(env, lstTail)) {
2583 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2584 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2585 if(enif_is_identical(tpl[0], enif_make_atom(env, "interpolating"))) {
2586 interpolating = enif_is_identical(tpl[1], WXE_ATOM_true);
2587 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "offset_after_rotation"))) {
2588 const ERL_NIF_TERM *offset_after_rotation_t;
2589 int offset_after_rotation_sz;
2590 if(!enif_get_tuple(env, tpl[1], &offset_after_rotation_sz, &offset_after_rotation_t)) Badarg("offset_after_rotation");
2591 int offset_after_rotationX;
2592 if(!enif_get_int(env, offset_after_rotation_t[0], &offset_after_rotationX)) Badarg("offset_after_rotation");
2593 int offset_after_rotationY;
2594 if(!enif_get_int(env, offset_after_rotation_t[1], &offset_after_rotationY)) Badarg("offset_after_rotation");
2595 offset_after_rotationTmp = wxPoint(offset_after_rotationX,offset_after_rotationY); offset_after_rotation = & offset_after_rotationTmp;
2596 } else Badarg("Options");
2597 };
2598 if(!This) throw wxe_badarg("This");
2599 wxImage * Result = new EwxImage(This->Rotate(angle,rotationCentre,interpolating,offset_after_rotation)); app->newPtr((void *) Result,3, memenv);;
2600 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2601 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2602
2603 }
2604
2605 // wxImage::RotateHue
wxImage_RotateHue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2606 void wxImage_RotateHue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2607 {
2608 ErlNifEnv *env = Ecmd.env;
2609 ERL_NIF_TERM * argv = Ecmd.args;
2610 wxImage *This;
2611 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2612 double angle;
2613 if(!wxe_get_double(env, argv[1], &angle)) Badarg("angle");
2614 if(!This) throw wxe_badarg("This");
2615 This->RotateHue(angle);
2616
2617 }
2618
2619 // wxImage::Rotate90
wxImage_Rotate90(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2620 void wxImage_Rotate90(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2621 {
2622 bool clockwise=true;
2623 ErlNifEnv *env = Ecmd.env;
2624 ERL_NIF_TERM * argv = Ecmd.args;
2625 wxImage *This;
2626 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2627 ERL_NIF_TERM lstHead, lstTail;
2628 lstTail = argv[1];
2629 if(!enif_is_list(env, lstTail)) Badarg("Options");
2630 const ERL_NIF_TERM *tpl;
2631 int tpl_sz;
2632 while(!enif_is_empty_list(env, lstTail)) {
2633 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2634 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2635 if(enif_is_identical(tpl[0], enif_make_atom(env, "clockwise"))) {
2636 clockwise = enif_is_identical(tpl[1], WXE_ATOM_true);
2637 } else Badarg("Options");
2638 };
2639 if(!This) throw wxe_badarg("This");
2640 wxImage * Result = new EwxImage(This->Rotate90(clockwise)); app->newPtr((void *) Result,3, memenv);;
2641 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2642 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2643
2644 }
2645
2646 // wxImage::SaveFile
wxImage_SaveFile_2_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2647 void wxImage_SaveFile_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2648 {
2649 ErlNifEnv *env = Ecmd.env;
2650 ERL_NIF_TERM * argv = Ecmd.args;
2651 wxImage *This;
2652 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2653 ErlNifBinary name_bin;
2654 wxString name;
2655 if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2656 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2657 wxBitmapType type;
2658 if(!enif_get_int(env, argv[2], (int *) &type)) Badarg("type"); // enum
2659 if(!This) throw wxe_badarg("This");
2660 bool Result = This->SaveFile(name,type);
2661 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2662 rt.send( rt.make_bool(Result));
2663
2664 }
2665
2666 // wxImage::SaveFile
wxImage_SaveFile_2_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2667 void wxImage_SaveFile_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2668 {
2669 ErlNifEnv *env = Ecmd.env;
2670 ERL_NIF_TERM * argv = Ecmd.args;
2671 wxImage *This;
2672 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2673 ErlNifBinary name_bin;
2674 wxString name;
2675 if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2676 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2677 ErlNifBinary mimetype_bin;
2678 wxString mimetype;
2679 if(!enif_inspect_binary(env, argv[2], &mimetype_bin)) Badarg("mimetype");
2680 mimetype = wxString(mimetype_bin.data, wxConvUTF8, mimetype_bin.size);
2681 if(!This) throw wxe_badarg("This");
2682 bool Result = This->SaveFile(name,mimetype);
2683 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2684 rt.send( rt.make_bool(Result));
2685
2686 }
2687
2688 // wxImage::SaveFile
wxImage_SaveFile_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2689 void wxImage_SaveFile_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2690 {
2691 ErlNifEnv *env = Ecmd.env;
2692 ERL_NIF_TERM * argv = Ecmd.args;
2693 wxImage *This;
2694 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2695 ErlNifBinary name_bin;
2696 wxString name;
2697 if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2698 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2699 if(!This) throw wxe_badarg("This");
2700 bool Result = This->SaveFile(name);
2701 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2702 rt.send( rt.make_bool(Result));
2703
2704 }
2705
2706 // wxImage::Scale
wxImage_Scale(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2707 void wxImage_Scale(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2708 {
2709 wxImageResizeQuality quality=wxIMAGE_QUALITY_NORMAL;
2710 ErlNifEnv *env = Ecmd.env;
2711 ERL_NIF_TERM * argv = Ecmd.args;
2712 wxImage *This;
2713 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2714 int width;
2715 if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
2716 int height;
2717 if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
2718 ERL_NIF_TERM lstHead, lstTail;
2719 lstTail = argv[3];
2720 if(!enif_is_list(env, lstTail)) Badarg("Options");
2721 const ERL_NIF_TERM *tpl;
2722 int tpl_sz;
2723 while(!enif_is_empty_list(env, lstTail)) {
2724 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2725 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2726 if(enif_is_identical(tpl[0], enif_make_atom(env, "quality"))) {
2727 if(!enif_get_int(env, tpl[1], (int *) &quality)) Badarg("quality"); // enum
2728 } else Badarg("Options");
2729 };
2730 if(!This) throw wxe_badarg("This");
2731 wxImage * Result = new EwxImage(This->Scale(width,height,quality)); app->newPtr((void *) Result,3, memenv);;
2732 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2733 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2734
2735 }
2736
2737 // wxImage::Size
wxImage_Size(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2738 void wxImage_Size(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2739 {
2740 int r=-1;
2741 int g=-1;
2742 int b=-1;
2743 ErlNifEnv *env = Ecmd.env;
2744 ERL_NIF_TERM * argv = Ecmd.args;
2745 wxImage *This;
2746 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2747 const ERL_NIF_TERM *size_t;
2748 int size_sz;
2749 if(!enif_get_tuple(env, argv[1], &size_sz, &size_t)) Badarg("size");
2750 int sizeW;
2751 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
2752 int sizeH;
2753 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
2754 wxSize size = wxSize(sizeW,sizeH);
2755 const ERL_NIF_TERM *pos_t;
2756 int pos_sz;
2757 if(!enif_get_tuple(env, argv[2], &pos_sz, &pos_t)) Badarg("pos");
2758 int posX;
2759 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
2760 int posY;
2761 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
2762 wxPoint pos = wxPoint(posX,posY);
2763 ERL_NIF_TERM lstHead, lstTail;
2764 lstTail = argv[3];
2765 if(!enif_is_list(env, lstTail)) Badarg("Options");
2766 const ERL_NIF_TERM *tpl;
2767 int tpl_sz;
2768 while(!enif_is_empty_list(env, lstTail)) {
2769 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2770 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2771 if(enif_is_identical(tpl[0], enif_make_atom(env, "r"))) {
2772 if(!enif_get_int(env, tpl[1], &r)) Badarg("r"); // int
2773 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "g"))) {
2774 if(!enif_get_int(env, tpl[1], &g)) Badarg("g"); // int
2775 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "b"))) {
2776 if(!enif_get_int(env, tpl[1], &b)) Badarg("b"); // int
2777 } else Badarg("Options");
2778 };
2779 if(!This) throw wxe_badarg("This");
2780 wxImage * Result = new EwxImage(This->Size(size,pos,r,g,b)); app->newPtr((void *) Result,3, memenv);;
2781 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2782 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImage"));
2783
2784 }
2785
2786 // wxImage::SetAlpha
wxImage_SetAlpha_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2787 void wxImage_SetAlpha_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2788 {
2789 bool static_data=false;
2790 ErlNifEnv *env = Ecmd.env;
2791 ERL_NIF_TERM * argv = Ecmd.args;
2792 wxImage *This;
2793 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2794 unsigned char * alpha;
2795 ErlNifBinary alpha_bin;
2796 if(!enif_inspect_binary(env, argv[1], &alpha_bin)) Badarg("alpha");
2797 alpha = (unsigned char*) alpha_bin.data;
2798 ERL_NIF_TERM lstHead, lstTail;
2799 lstTail = argv[2];
2800 if(!enif_is_list(env, lstTail)) Badarg("Options");
2801 const ERL_NIF_TERM *tpl;
2802 int tpl_sz;
2803 while(!enif_is_empty_list(env, lstTail)) {
2804 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2805 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2806 if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
2807 static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
2808 } else Badarg("Options");
2809 };
2810 if(!static_data) {
2811 alpha = (unsigned char *) malloc(alpha_bin.size);
2812 memcpy(alpha,alpha_bin.data,alpha_bin.size);}
2813 ;
2814 if(!This) throw wxe_badarg("This");
2815 This->SetAlpha(alpha,static_data);
2816
2817 }
2818
2819 // wxImage::SetAlpha
wxImage_SetAlpha_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2820 void wxImage_SetAlpha_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2821 {
2822 ErlNifEnv *env = Ecmd.env;
2823 ERL_NIF_TERM * argv = Ecmd.args;
2824 wxImage *This;
2825 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2826 int x;
2827 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
2828 int y;
2829 if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
2830 unsigned int alpha;
2831 if(!enif_get_uint(env, argv[3], &alpha)) Badarg("alpha");
2832 if(!This) throw wxe_badarg("This");
2833 This->SetAlpha(x,y,alpha);
2834
2835 }
2836
2837 // wxImage::SetData
wxImage_SetData_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2838 void wxImage_SetData_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2839 {
2840 bool static_data=false;
2841 ErlNifEnv *env = Ecmd.env;
2842 ERL_NIF_TERM * argv = Ecmd.args;
2843 wxImage *This;
2844 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2845 unsigned char * data;
2846 ErlNifBinary data_bin;
2847 if(!enif_inspect_binary(env, argv[1], &data_bin)) Badarg("data");
2848 data = (unsigned char*) data_bin.data;
2849 ERL_NIF_TERM lstHead, lstTail;
2850 lstTail = argv[2];
2851 if(!enif_is_list(env, lstTail)) Badarg("Options");
2852 const ERL_NIF_TERM *tpl;
2853 int tpl_sz;
2854 while(!enif_is_empty_list(env, lstTail)) {
2855 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2856 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2857 if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
2858 static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
2859 } else Badarg("Options");
2860 };
2861 if(!static_data) {
2862 data = (unsigned char *) malloc(data_bin.size);
2863 memcpy(data,data_bin.data,data_bin.size);}
2864 ;
2865 if(!This) throw wxe_badarg("This");
2866 This->SetData(data,static_data);
2867
2868 }
2869
2870 // wxImage::SetData
wxImage_SetData_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2871 void wxImage_SetData_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2872 {
2873 bool static_data=false;
2874 ErlNifEnv *env = Ecmd.env;
2875 ERL_NIF_TERM * argv = Ecmd.args;
2876 wxImage *This;
2877 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2878 unsigned char * data;
2879 ErlNifBinary data_bin;
2880 if(!enif_inspect_binary(env, argv[1], &data_bin)) Badarg("data");
2881 data = (unsigned char*) data_bin.data;
2882 int new_width;
2883 if(!enif_get_int(env, argv[2], &new_width)) Badarg("new_width"); // int
2884 int new_height;
2885 if(!enif_get_int(env, argv[3], &new_height)) Badarg("new_height"); // int
2886 ERL_NIF_TERM lstHead, lstTail;
2887 lstTail = argv[4];
2888 if(!enif_is_list(env, lstTail)) Badarg("Options");
2889 const ERL_NIF_TERM *tpl;
2890 int tpl_sz;
2891 while(!enif_is_empty_list(env, lstTail)) {
2892 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2893 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2894 if(enif_is_identical(tpl[0], enif_make_atom(env, "static_data"))) {
2895 static_data = enif_is_identical(tpl[1], WXE_ATOM_true);
2896 } else Badarg("Options");
2897 };
2898 if(!static_data) {
2899 data = (unsigned char *) malloc(data_bin.size);
2900 memcpy(data,data_bin.data,data_bin.size);}
2901 ;
2902 if(!This) throw wxe_badarg("This");
2903 This->SetData(data,new_width,new_height,static_data);
2904
2905 }
2906
2907 // wxImage::SetMask
wxImage_SetMask(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2908 void wxImage_SetMask(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2909 {
2910 bool mask=true;
2911 ErlNifEnv *env = Ecmd.env;
2912 ERL_NIF_TERM * argv = Ecmd.args;
2913 wxImage *This;
2914 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2915 ERL_NIF_TERM lstHead, lstTail;
2916 lstTail = argv[1];
2917 if(!enif_is_list(env, lstTail)) Badarg("Options");
2918 const ERL_NIF_TERM *tpl;
2919 int tpl_sz;
2920 while(!enif_is_empty_list(env, lstTail)) {
2921 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
2922 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
2923 if(enif_is_identical(tpl[0], enif_make_atom(env, "mask"))) {
2924 mask = enif_is_identical(tpl[1], WXE_ATOM_true);
2925 } else Badarg("Options");
2926 };
2927 if(!This) throw wxe_badarg("This");
2928 This->SetMask(mask);
2929
2930 }
2931
2932 // wxImage::SetMaskColour
wxImage_SetMaskColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2933 void wxImage_SetMaskColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2934 {
2935 ErlNifEnv *env = Ecmd.env;
2936 ERL_NIF_TERM * argv = Ecmd.args;
2937 wxImage *This;
2938 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2939 unsigned int red;
2940 if(!enif_get_uint(env, argv[1], &red)) Badarg("red");
2941 unsigned int green;
2942 if(!enif_get_uint(env, argv[2], &green)) Badarg("green");
2943 unsigned int blue;
2944 if(!enif_get_uint(env, argv[3], &blue)) Badarg("blue");
2945 if(!This) throw wxe_badarg("This");
2946 This->SetMaskColour(red,green,blue);
2947
2948 }
2949
2950 // wxImage::SetMaskFromImage
wxImage_SetMaskFromImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2951 void wxImage_SetMaskFromImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2952 {
2953 ErlNifEnv *env = Ecmd.env;
2954 ERL_NIF_TERM * argv = Ecmd.args;
2955 wxImage *This;
2956 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2957 wxImage *mask;
2958 mask = (wxImage *) memenv->getPtr(env, argv[1], "mask");
2959 unsigned int mr;
2960 if(!enif_get_uint(env, argv[2], &mr)) Badarg("mr");
2961 unsigned int mg;
2962 if(!enif_get_uint(env, argv[3], &mg)) Badarg("mg");
2963 unsigned int mb;
2964 if(!enif_get_uint(env, argv[4], &mb)) Badarg("mb");
2965 if(!This) throw wxe_badarg("This");
2966 bool Result = This->SetMaskFromImage(*mask,mr,mg,mb);
2967 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
2968 rt.send( rt.make_bool(Result));
2969
2970 }
2971
2972 // wxImage::SetOption
wxImage_SetOption_2_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2973 void wxImage_SetOption_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2974 {
2975 ErlNifEnv *env = Ecmd.env;
2976 ERL_NIF_TERM * argv = Ecmd.args;
2977 wxImage *This;
2978 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2979 ErlNifBinary name_bin;
2980 wxString name;
2981 if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
2982 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
2983 ErlNifBinary value_bin;
2984 wxString value;
2985 if(!enif_inspect_binary(env, argv[2], &value_bin)) Badarg("value");
2986 value = wxString(value_bin.data, wxConvUTF8, value_bin.size);
2987 if(!This) throw wxe_badarg("This");
2988 This->SetOption(name,value);
2989
2990 }
2991
2992 // wxImage::SetOption
wxImage_SetOption_2_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)2993 void wxImage_SetOption_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
2994 {
2995 ErlNifEnv *env = Ecmd.env;
2996 ERL_NIF_TERM * argv = Ecmd.args;
2997 wxImage *This;
2998 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
2999 ErlNifBinary name_bin;
3000 wxString name;
3001 if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
3002 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
3003 int value;
3004 if(!enif_get_int(env, argv[2], &value)) Badarg("value"); // int
3005 if(!This) throw wxe_badarg("This");
3006 This->SetOption(name,value);
3007
3008 }
3009
3010 // wxImage::SetPalette
wxImage_SetPalette(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3011 void wxImage_SetPalette(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3012 {
3013 ErlNifEnv *env = Ecmd.env;
3014 ERL_NIF_TERM * argv = Ecmd.args;
3015 wxImage *This;
3016 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
3017 wxPalette *palette;
3018 palette = (wxPalette *) memenv->getPtr(env, argv[1], "palette");
3019 if(!This) throw wxe_badarg("This");
3020 This->SetPalette(*palette);
3021
3022 }
3023
3024 // wxImage::SetRGB
wxImage_SetRGB_5(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3025 void wxImage_SetRGB_5(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3026 {
3027 ErlNifEnv *env = Ecmd.env;
3028 ERL_NIF_TERM * argv = Ecmd.args;
3029 wxImage *This;
3030 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
3031 int x;
3032 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
3033 int y;
3034 if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
3035 unsigned int r;
3036 if(!enif_get_uint(env, argv[3], &r)) Badarg("r");
3037 unsigned int g;
3038 if(!enif_get_uint(env, argv[4], &g)) Badarg("g");
3039 unsigned int b;
3040 if(!enif_get_uint(env, argv[5], &b)) Badarg("b");
3041 if(!This) throw wxe_badarg("This");
3042 This->SetRGB(x,y,r,g,b);
3043
3044 }
3045
3046 // wxImage::SetRGB
wxImage_SetRGB_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3047 void wxImage_SetRGB_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3048 {
3049 ErlNifEnv *env = Ecmd.env;
3050 ERL_NIF_TERM * argv = Ecmd.args;
3051 wxImage *This;
3052 This = (wxImage *) memenv->getPtr(env, argv[0], "This");
3053 const ERL_NIF_TERM *rect_t;
3054 int rect_sz;
3055 if(!enif_get_tuple(env, argv[1], &rect_sz, &rect_t)) Badarg("rect");
3056 int rectX;
3057 if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
3058 int rectY;
3059 if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
3060 int rectW;
3061 if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
3062 int rectH;
3063 if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
3064 wxRect rect = wxRect(rectX,rectY,rectW,rectH);
3065 unsigned int red;
3066 if(!enif_get_uint(env, argv[2], &red)) Badarg("red");
3067 unsigned int green;
3068 if(!enif_get_uint(env, argv[3], &green)) Badarg("green");
3069 unsigned int blue;
3070 if(!enif_get_uint(env, argv[4], &blue)) Badarg("blue");
3071 if(!This) throw wxe_badarg("This");
3072 This->SetRGB(rect,red,green,blue);
3073
3074 }
3075
3076 // wxImageList::wxImageList
wxImageList_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3077 void wxImageList_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3078 {
3079 wxImageList * Result = new EwxImageList();
3080 app->newPtr((void *) Result, 1, memenv);
3081 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3082 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImageList"));
3083
3084 }
3085
3086 // wxImageList::wxImageList
wxImageList_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3087 void wxImageList_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3088 {
3089 bool mask=true;
3090 int initialCount=1;
3091 ErlNifEnv *env = Ecmd.env;
3092 ERL_NIF_TERM * argv = Ecmd.args;
3093 int width;
3094 if(!enif_get_int(env, argv[0], &width)) Badarg("width"); // int
3095 int height;
3096 if(!enif_get_int(env, argv[1], &height)) Badarg("height"); // int
3097 ERL_NIF_TERM lstHead, lstTail;
3098 lstTail = argv[2];
3099 if(!enif_is_list(env, lstTail)) Badarg("Options");
3100 const ERL_NIF_TERM *tpl;
3101 int tpl_sz;
3102 while(!enif_is_empty_list(env, lstTail)) {
3103 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3104 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3105 if(enif_is_identical(tpl[0], enif_make_atom(env, "mask"))) {
3106 mask = enif_is_identical(tpl[1], WXE_ATOM_true);
3107 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "initialCount"))) {
3108 if(!enif_get_int(env, tpl[1], &initialCount)) Badarg("initialCount"); // int
3109 } else Badarg("Options");
3110 };
3111 wxImageList * Result = new EwxImageList(width,height,mask,initialCount);
3112 app->newPtr((void *) Result, 1, memenv);
3113 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3114 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImageList"));
3115
3116 }
3117
3118 // wxImageList::Add
wxImageList_Add_2_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3119 void wxImageList_Add_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3120 {
3121 ErlNifEnv *env = Ecmd.env;
3122 ERL_NIF_TERM * argv = Ecmd.args;
3123 wxImageList *This;
3124 This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3125 wxBitmap *bitmap;
3126 bitmap = (wxBitmap *) memenv->getPtr(env, argv[1], "bitmap");
3127 wxBitmap *mask;
3128 mask = (wxBitmap *) memenv->getPtr(env, argv[2], "mask");
3129 if(!This) throw wxe_badarg("This");
3130 int Result = This->Add(*bitmap,*mask);
3131 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3132 rt.send( rt.make_int(Result));
3133
3134 }
3135
3136 // wxImageList::Add
wxImageList_Add_2_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3137 void wxImageList_Add_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3138 {
3139 ErlNifEnv *env = Ecmd.env;
3140 ERL_NIF_TERM * argv = Ecmd.args;
3141 wxImageList *This;
3142 This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3143 wxBitmap *bitmap;
3144 bitmap = (wxBitmap *) memenv->getPtr(env, argv[1], "bitmap");
3145 const ERL_NIF_TERM *maskColour_t;
3146 int maskColour_sz;
3147 if(!enif_get_tuple(env, argv[2], &maskColour_sz, &maskColour_t)) Badarg("maskColour");
3148 int maskColourR;
3149 if(!enif_get_int(env, maskColour_t[0], &maskColourR)) Badarg("maskColour");
3150 int maskColourG;
3151 if(!enif_get_int(env, maskColour_t[1], &maskColourG)) Badarg("maskColour");
3152 int maskColourB;
3153 if(!enif_get_int(env, maskColour_t[2], &maskColourB)) Badarg("maskColour");
3154 int maskColourA;
3155 if(!enif_get_int(env, maskColour_t[3], &maskColourA)) Badarg("maskColour");
3156 wxColour maskColour = wxColour(maskColourR,maskColourG,maskColourB,maskColourA);
3157 if(!This) throw wxe_badarg("This");
3158 int Result = This->Add(*bitmap,maskColour);
3159 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3160 rt.send( rt.make_int(Result));
3161
3162 }
3163
3164 // wxImageList::Add
wxImageList_Add_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3165 void wxImageList_Add_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3166 {
3167 ErlNifEnv *env = Ecmd.env;
3168 ERL_NIF_TERM * argv = Ecmd.args;
3169 wxImageList *This;
3170 This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3171 ERL_NIF_TERM icon_type;
3172 void * icon = memenv->getPtr(env, argv[1], "icon", &icon_type);
3173 if(!This) throw wxe_badarg("This");
3174 int Result;
3175 if(enif_is_identical(icon_type, WXE_ATOM_wxIcon))
3176 Result = This->Add(* static_cast<wxIcon*> (icon));
3177 else if(enif_is_identical(icon_type, WXE_ATOM_wxBitmap))
3178 Result = This->Add(* static_cast<wxBitmap*> (icon));
3179 else throw wxe_badarg("icon");
3180 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3181 rt.send( rt.make_int(Result));
3182
3183 }
3184
3185 // wxImageList::Create
wxImageList_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3186 void wxImageList_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3187 {
3188 bool mask=true;
3189 int initialCount=1;
3190 ErlNifEnv *env = Ecmd.env;
3191 ERL_NIF_TERM * argv = Ecmd.args;
3192 wxImageList *This;
3193 This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3194 int width;
3195 if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
3196 int height;
3197 if(!enif_get_int(env, argv[2], &height)) Badarg("height"); // int
3198 ERL_NIF_TERM lstHead, lstTail;
3199 lstTail = argv[3];
3200 if(!enif_is_list(env, lstTail)) Badarg("Options");
3201 const ERL_NIF_TERM *tpl;
3202 int tpl_sz;
3203 while(!enif_is_empty_list(env, lstTail)) {
3204 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3205 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3206 if(enif_is_identical(tpl[0], enif_make_atom(env, "mask"))) {
3207 mask = enif_is_identical(tpl[1], WXE_ATOM_true);
3208 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "initialCount"))) {
3209 if(!enif_get_int(env, tpl[1], &initialCount)) Badarg("initialCount"); // int
3210 } else Badarg("Options");
3211 };
3212 if(!This) throw wxe_badarg("This");
3213 bool Result = This->Create(width,height,mask,initialCount);
3214 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3215 rt.send( rt.make_bool(Result));
3216
3217 }
3218
3219 // wxImageList::Draw
wxImageList_Draw(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3220 void wxImageList_Draw(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3221 {
3222 int flags=wxIMAGELIST_DRAW_NORMAL;
3223 bool solidBackground=false;
3224 ErlNifEnv *env = Ecmd.env;
3225 ERL_NIF_TERM * argv = Ecmd.args;
3226 wxImageList *This;
3227 This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3228 int index;
3229 if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3230 wxDC *dc;
3231 dc = (wxDC *) memenv->getPtr(env, argv[2], "dc");
3232 int x;
3233 if(!enif_get_int(env, argv[3], &x)) Badarg("x"); // int
3234 int y;
3235 if(!enif_get_int(env, argv[4], &y)) Badarg("y"); // int
3236 ERL_NIF_TERM lstHead, lstTail;
3237 lstTail = argv[5];
3238 if(!enif_is_list(env, lstTail)) Badarg("Options");
3239 const ERL_NIF_TERM *tpl;
3240 int tpl_sz;
3241 while(!enif_is_empty_list(env, lstTail)) {
3242 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3243 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3244 if(enif_is_identical(tpl[0], enif_make_atom(env, "flags"))) {
3245 if(!enif_get_int(env, tpl[1], &flags)) Badarg("flags"); // int
3246 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "solidBackground"))) {
3247 solidBackground = enif_is_identical(tpl[1], WXE_ATOM_true);
3248 } else Badarg("Options");
3249 };
3250 if(!This) throw wxe_badarg("This");
3251 bool Result = This->Draw(index,*dc,x,y,flags,solidBackground);
3252 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3253 rt.send( rt.make_bool(Result));
3254
3255 }
3256
3257 // wxImageList::GetBitmap
wxImageList_GetBitmap(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3258 void wxImageList_GetBitmap(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3259 {
3260 ErlNifEnv *env = Ecmd.env;
3261 ERL_NIF_TERM * argv = Ecmd.args;
3262 wxImageList *This;
3263 This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3264 int index;
3265 if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3266 if(!This) throw wxe_badarg("This");
3267 wxBitmap * Result = new wxBitmap(This->GetBitmap(index)); app->newPtr((void *) Result,3, memenv);;
3268 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3269 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxBitmap"));
3270
3271 }
3272
3273 // wxImageList::GetIcon
wxImageList_GetIcon(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3274 void wxImageList_GetIcon(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3275 {
3276 ErlNifEnv *env = Ecmd.env;
3277 ERL_NIF_TERM * argv = Ecmd.args;
3278 wxImageList *This;
3279 This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3280 int index;
3281 if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3282 if(!This) throw wxe_badarg("This");
3283 wxIcon * Result = new wxIcon(This->GetIcon(index)); app->newPtr((void *) Result,3, memenv);;
3284 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3285 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxIcon"));
3286
3287 }
3288
3289 // wxImageList::GetImageCount
wxImageList_GetImageCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3290 void wxImageList_GetImageCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3291 {
3292 ErlNifEnv *env = Ecmd.env;
3293 ERL_NIF_TERM * argv = Ecmd.args;
3294 wxImageList *This;
3295 This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3296 if(!This) throw wxe_badarg("This");
3297 int Result = This->GetImageCount();
3298 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3299 rt.send( rt.make_int(Result));
3300
3301 }
3302
3303 // wxImageList::GetSize
wxImageList_GetSize(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3304 void wxImageList_GetSize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3305 {
3306 int width;
3307 int height;
3308 ErlNifEnv *env = Ecmd.env;
3309 ERL_NIF_TERM * argv = Ecmd.args;
3310 wxImageList *This;
3311 This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3312 int index;
3313 if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3314 if(!This) throw wxe_badarg("This");
3315 bool Result = This->GetSize(index,width,height);
3316 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3317 ERL_NIF_TERM msg = enif_make_tuple3(rt.env,
3318 rt.make_bool(Result),
3319 rt.make_int(width),
3320 rt.make_int(height));
3321 rt.send(msg);
3322
3323 }
3324
3325 // wxImageList::Remove
wxImageList_Remove(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3326 void wxImageList_Remove(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3327 {
3328 ErlNifEnv *env = Ecmd.env;
3329 ERL_NIF_TERM * argv = Ecmd.args;
3330 wxImageList *This;
3331 This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3332 int index;
3333 if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3334 if(!This) throw wxe_badarg("This");
3335 bool Result = This->Remove(index);
3336 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3337 rt.send( rt.make_bool(Result));
3338
3339 }
3340
3341 // wxImageList::RemoveAll
wxImageList_RemoveAll(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3342 void wxImageList_RemoveAll(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3343 {
3344 ErlNifEnv *env = Ecmd.env;
3345 ERL_NIF_TERM * argv = Ecmd.args;
3346 wxImageList *This;
3347 This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3348 if(!This) throw wxe_badarg("This");
3349 bool Result = This->RemoveAll();
3350 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3351 rt.send( rt.make_bool(Result));
3352
3353 }
3354
3355 // wxImageList::Replace
wxImageList_Replace_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3356 void wxImageList_Replace_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3357 {
3358 ErlNifEnv *env = Ecmd.env;
3359 ERL_NIF_TERM * argv = Ecmd.args;
3360 wxImageList *This;
3361 This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3362 int index;
3363 if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3364 wxBitmap *bitmap;
3365 bitmap = (wxBitmap *) memenv->getPtr(env, argv[2], "bitmap");
3366 wxBitmap *mask;
3367 mask = (wxBitmap *) memenv->getPtr(env, argv[3], "mask");
3368 if(!This) throw wxe_badarg("This");
3369 bool Result = This->Replace(index,*bitmap,*mask);
3370 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3371 rt.send( rt.make_bool(Result));
3372
3373 }
3374
3375 // wxImageList::Replace
wxImageList_Replace_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3376 void wxImageList_Replace_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3377 {
3378 ErlNifEnv *env = Ecmd.env;
3379 ERL_NIF_TERM * argv = Ecmd.args;
3380 wxImageList *This;
3381 This = (wxImageList *) memenv->getPtr(env, argv[0], "This");
3382 int index;
3383 if(!enif_get_int(env, argv[1], &index)) Badarg("index"); // int
3384 ERL_NIF_TERM icon_type;
3385 void * icon = memenv->getPtr(env, argv[2], "icon", &icon_type);
3386 if(!This) throw wxe_badarg("This");
3387 bool Result;
3388 if(enif_is_identical(icon_type, WXE_ATOM_wxIcon))
3389 Result = This->Replace(index,* static_cast<wxIcon*> (icon));
3390 else if(enif_is_identical(icon_type, WXE_ATOM_wxBitmap))
3391 Result = This->Replace(index,* static_cast<wxBitmap*> (icon));
3392 else throw wxe_badarg("icon");
3393 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3394 rt.send( rt.make_bool(Result));
3395
3396 }
3397
3398 // wxJoystickEvent::ButtonDown
wxJoystickEvent_ButtonDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3399 void wxJoystickEvent_ButtonDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3400 {
3401 int but=wxJOY_BUTTON_ANY;
3402 ErlNifEnv *env = Ecmd.env;
3403 ERL_NIF_TERM * argv = Ecmd.args;
3404 wxJoystickEvent *This;
3405 This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3406 ERL_NIF_TERM lstHead, lstTail;
3407 lstTail = argv[1];
3408 if(!enif_is_list(env, lstTail)) Badarg("Options");
3409 const ERL_NIF_TERM *tpl;
3410 int tpl_sz;
3411 while(!enif_is_empty_list(env, lstTail)) {
3412 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3413 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3414 if(enif_is_identical(tpl[0], enif_make_atom(env, "but"))) {
3415 if(!enif_get_int(env, tpl[1], &but)) Badarg("but"); // int
3416 } else Badarg("Options");
3417 };
3418 if(!This) throw wxe_badarg("This");
3419 bool Result = This->ButtonDown(but);
3420 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3421 rt.send( rt.make_bool(Result));
3422
3423 }
3424
3425 // wxJoystickEvent::ButtonIsDown
wxJoystickEvent_ButtonIsDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3426 void wxJoystickEvent_ButtonIsDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3427 {
3428 int but=wxJOY_BUTTON_ANY;
3429 ErlNifEnv *env = Ecmd.env;
3430 ERL_NIF_TERM * argv = Ecmd.args;
3431 wxJoystickEvent *This;
3432 This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3433 ERL_NIF_TERM lstHead, lstTail;
3434 lstTail = argv[1];
3435 if(!enif_is_list(env, lstTail)) Badarg("Options");
3436 const ERL_NIF_TERM *tpl;
3437 int tpl_sz;
3438 while(!enif_is_empty_list(env, lstTail)) {
3439 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3440 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3441 if(enif_is_identical(tpl[0], enif_make_atom(env, "but"))) {
3442 if(!enif_get_int(env, tpl[1], &but)) Badarg("but"); // int
3443 } else Badarg("Options");
3444 };
3445 if(!This) throw wxe_badarg("This");
3446 bool Result = This->ButtonIsDown(but);
3447 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3448 rt.send( rt.make_bool(Result));
3449
3450 }
3451
3452 // wxJoystickEvent::ButtonUp
wxJoystickEvent_ButtonUp(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3453 void wxJoystickEvent_ButtonUp(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3454 {
3455 int but=wxJOY_BUTTON_ANY;
3456 ErlNifEnv *env = Ecmd.env;
3457 ERL_NIF_TERM * argv = Ecmd.args;
3458 wxJoystickEvent *This;
3459 This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3460 ERL_NIF_TERM lstHead, lstTail;
3461 lstTail = argv[1];
3462 if(!enif_is_list(env, lstTail)) Badarg("Options");
3463 const ERL_NIF_TERM *tpl;
3464 int tpl_sz;
3465 while(!enif_is_empty_list(env, lstTail)) {
3466 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3467 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3468 if(enif_is_identical(tpl[0], enif_make_atom(env, "but"))) {
3469 if(!enif_get_int(env, tpl[1], &but)) Badarg("but"); // int
3470 } else Badarg("Options");
3471 };
3472 if(!This) throw wxe_badarg("This");
3473 bool Result = This->ButtonUp(but);
3474 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3475 rt.send( rt.make_bool(Result));
3476
3477 }
3478
3479 // wxJoystickEvent::GetButtonChange
wxJoystickEvent_GetButtonChange(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3480 void wxJoystickEvent_GetButtonChange(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3481 {
3482 ErlNifEnv *env = Ecmd.env;
3483 ERL_NIF_TERM * argv = Ecmd.args;
3484 wxJoystickEvent *This;
3485 This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3486 if(!This) throw wxe_badarg("This");
3487 int Result = This->GetButtonChange();
3488 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3489 rt.send( rt.make_int(Result));
3490
3491 }
3492
3493 // wxJoystickEvent::GetButtonState
wxJoystickEvent_GetButtonState(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3494 void wxJoystickEvent_GetButtonState(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3495 {
3496 ErlNifEnv *env = Ecmd.env;
3497 ERL_NIF_TERM * argv = Ecmd.args;
3498 wxJoystickEvent *This;
3499 This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3500 if(!This) throw wxe_badarg("This");
3501 int Result = This->GetButtonState();
3502 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3503 rt.send( rt.make_int(Result));
3504
3505 }
3506
3507 // wxJoystickEvent::GetJoystick
wxJoystickEvent_GetJoystick(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3508 void wxJoystickEvent_GetJoystick(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3509 {
3510 ErlNifEnv *env = Ecmd.env;
3511 ERL_NIF_TERM * argv = Ecmd.args;
3512 wxJoystickEvent *This;
3513 This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3514 if(!This) throw wxe_badarg("This");
3515 int Result = This->GetJoystick();
3516 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3517 rt.send( rt.make_int(Result));
3518
3519 }
3520
3521 // wxJoystickEvent::GetPosition
wxJoystickEvent_GetPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3522 void wxJoystickEvent_GetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3523 {
3524 ErlNifEnv *env = Ecmd.env;
3525 ERL_NIF_TERM * argv = Ecmd.args;
3526 wxJoystickEvent *This;
3527 This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3528 if(!This) throw wxe_badarg("This");
3529 wxPoint Result = This->GetPosition();
3530 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3531 rt.send( rt.make(Result));
3532
3533 }
3534
3535 // wxJoystickEvent::GetZPosition
wxJoystickEvent_GetZPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3536 void wxJoystickEvent_GetZPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3537 {
3538 ErlNifEnv *env = Ecmd.env;
3539 ERL_NIF_TERM * argv = Ecmd.args;
3540 wxJoystickEvent *This;
3541 This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3542 if(!This) throw wxe_badarg("This");
3543 int Result = This->GetZPosition();
3544 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3545 rt.send( rt.make_int(Result));
3546
3547 }
3548
3549 // wxJoystickEvent::IsButton
wxJoystickEvent_IsButton(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3550 void wxJoystickEvent_IsButton(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3551 {
3552 ErlNifEnv *env = Ecmd.env;
3553 ERL_NIF_TERM * argv = Ecmd.args;
3554 wxJoystickEvent *This;
3555 This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3556 if(!This) throw wxe_badarg("This");
3557 bool Result = This->IsButton();
3558 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3559 rt.send( rt.make_bool(Result));
3560
3561 }
3562
3563 // wxJoystickEvent::IsMove
wxJoystickEvent_IsMove(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3564 void wxJoystickEvent_IsMove(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3565 {
3566 ErlNifEnv *env = Ecmd.env;
3567 ERL_NIF_TERM * argv = Ecmd.args;
3568 wxJoystickEvent *This;
3569 This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3570 if(!This) throw wxe_badarg("This");
3571 bool Result = This->IsMove();
3572 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3573 rt.send( rt.make_bool(Result));
3574
3575 }
3576
3577 // wxJoystickEvent::IsZMove
wxJoystickEvent_IsZMove(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3578 void wxJoystickEvent_IsZMove(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3579 {
3580 ErlNifEnv *env = Ecmd.env;
3581 ERL_NIF_TERM * argv = Ecmd.args;
3582 wxJoystickEvent *This;
3583 This = (wxJoystickEvent *) memenv->getPtr(env, argv[0], "This");
3584 if(!This) throw wxe_badarg("This");
3585 bool Result = This->IsZMove();
3586 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3587 rt.send( rt.make_bool(Result));
3588
3589 }
3590
3591 // wxKeyEvent::AltDown
wxKeyEvent_AltDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3592 void wxKeyEvent_AltDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3593 {
3594 ErlNifEnv *env = Ecmd.env;
3595 ERL_NIF_TERM * argv = Ecmd.args;
3596 wxKeyEvent *This;
3597 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3598 if(!This) throw wxe_badarg("This");
3599 bool Result = This->AltDown();
3600 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3601 rt.send( rt.make_bool(Result));
3602
3603 }
3604
3605 // wxKeyEvent::CmdDown
wxKeyEvent_CmdDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3606 void wxKeyEvent_CmdDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3607 {
3608 ErlNifEnv *env = Ecmd.env;
3609 ERL_NIF_TERM * argv = Ecmd.args;
3610 wxKeyEvent *This;
3611 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3612 if(!This) throw wxe_badarg("This");
3613 bool Result = This->CmdDown();
3614 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3615 rt.send( rt.make_bool(Result));
3616
3617 }
3618
3619 // wxKeyEvent::ControlDown
wxKeyEvent_ControlDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3620 void wxKeyEvent_ControlDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3621 {
3622 ErlNifEnv *env = Ecmd.env;
3623 ERL_NIF_TERM * argv = Ecmd.args;
3624 wxKeyEvent *This;
3625 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3626 if(!This) throw wxe_badarg("This");
3627 bool Result = This->ControlDown();
3628 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3629 rt.send( rt.make_bool(Result));
3630
3631 }
3632
3633 // wxKeyEvent::GetKeyCode
wxKeyEvent_GetKeyCode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3634 void wxKeyEvent_GetKeyCode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3635 {
3636 ErlNifEnv *env = Ecmd.env;
3637 ERL_NIF_TERM * argv = Ecmd.args;
3638 wxKeyEvent *This;
3639 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3640 if(!This) throw wxe_badarg("This");
3641 int Result = This->GetKeyCode();
3642 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3643 rt.send( rt.make_int(Result));
3644
3645 }
3646
3647 // wxKeyEvent::GetModifiers
wxKeyEvent_GetModifiers(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3648 void wxKeyEvent_GetModifiers(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3649 {
3650 ErlNifEnv *env = Ecmd.env;
3651 ERL_NIF_TERM * argv = Ecmd.args;
3652 wxKeyEvent *This;
3653 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3654 if(!This) throw wxe_badarg("This");
3655 int Result = This->GetModifiers();
3656 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3657 rt.send( rt.make_int(Result));
3658
3659 }
3660
3661 // wxKeyEvent::GetPosition
wxKeyEvent_GetPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3662 void wxKeyEvent_GetPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3663 {
3664 ErlNifEnv *env = Ecmd.env;
3665 ERL_NIF_TERM * argv = Ecmd.args;
3666 wxKeyEvent *This;
3667 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3668 if(!This) throw wxe_badarg("This");
3669 wxPoint Result = This->GetPosition();
3670 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3671 rt.send( rt.make(Result));
3672
3673 }
3674
3675 // wxKeyEvent::GetRawKeyCode
wxKeyEvent_GetRawKeyCode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3676 void wxKeyEvent_GetRawKeyCode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3677 {
3678 ErlNifEnv *env = Ecmd.env;
3679 ERL_NIF_TERM * argv = Ecmd.args;
3680 wxKeyEvent *This;
3681 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3682 if(!This) throw wxe_badarg("This");
3683 int Result = This->GetRawKeyCode();
3684 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3685 rt.send( rt.make_uint(Result));
3686
3687 }
3688
3689 // wxKeyEvent::GetRawKeyFlags
wxKeyEvent_GetRawKeyFlags(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3690 void wxKeyEvent_GetRawKeyFlags(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3691 {
3692 ErlNifEnv *env = Ecmd.env;
3693 ERL_NIF_TERM * argv = Ecmd.args;
3694 wxKeyEvent *This;
3695 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3696 if(!This) throw wxe_badarg("This");
3697 int Result = This->GetRawKeyFlags();
3698 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3699 rt.send( rt.make_uint(Result));
3700
3701 }
3702
3703 // wxKeyEvent::GetUnicodeKey
wxKeyEvent_GetUnicodeKey(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3704 void wxKeyEvent_GetUnicodeKey(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3705 {
3706 ErlNifEnv *env = Ecmd.env;
3707 ERL_NIF_TERM * argv = Ecmd.args;
3708 wxKeyEvent *This;
3709 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3710 if(!This) throw wxe_badarg("This");
3711 wxChar Result = This->GetUnicodeKey();
3712 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3713 rt.send( rt.make_int(Result));
3714
3715 }
3716
3717 // wxKeyEvent::GetX
wxKeyEvent_GetX(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3718 void wxKeyEvent_GetX(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3719 {
3720 ErlNifEnv *env = Ecmd.env;
3721 ERL_NIF_TERM * argv = Ecmd.args;
3722 wxKeyEvent *This;
3723 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3724 if(!This) throw wxe_badarg("This");
3725 wxCoord Result = This->GetX();
3726 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3727 rt.send( rt.make_int(Result));
3728
3729 }
3730
3731 // wxKeyEvent::GetY
wxKeyEvent_GetY(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3732 void wxKeyEvent_GetY(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3733 {
3734 ErlNifEnv *env = Ecmd.env;
3735 ERL_NIF_TERM * argv = Ecmd.args;
3736 wxKeyEvent *This;
3737 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3738 if(!This) throw wxe_badarg("This");
3739 wxCoord Result = This->GetY();
3740 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3741 rt.send( rt.make_int(Result));
3742
3743 }
3744
3745 // wxKeyEvent::HasModifiers
wxKeyEvent_HasModifiers(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3746 void wxKeyEvent_HasModifiers(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3747 {
3748 ErlNifEnv *env = Ecmd.env;
3749 ERL_NIF_TERM * argv = Ecmd.args;
3750 wxKeyEvent *This;
3751 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3752 if(!This) throw wxe_badarg("This");
3753 bool Result = This->HasModifiers();
3754 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3755 rt.send( rt.make_bool(Result));
3756
3757 }
3758
3759 // wxKeyEvent::MetaDown
wxKeyEvent_MetaDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3760 void wxKeyEvent_MetaDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3761 {
3762 ErlNifEnv *env = Ecmd.env;
3763 ERL_NIF_TERM * argv = Ecmd.args;
3764 wxKeyEvent *This;
3765 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3766 if(!This) throw wxe_badarg("This");
3767 bool Result = This->MetaDown();
3768 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3769 rt.send( rt.make_bool(Result));
3770
3771 }
3772
3773 // wxKeyEvent::ShiftDown
wxKeyEvent_ShiftDown(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3774 void wxKeyEvent_ShiftDown(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3775 {
3776 ErlNifEnv *env = Ecmd.env;
3777 ERL_NIF_TERM * argv = Ecmd.args;
3778 wxKeyEvent *This;
3779 This = (wxKeyEvent *) memenv->getPtr(env, argv[0], "This");
3780 if(!This) throw wxe_badarg("This");
3781 bool Result = This->ShiftDown();
3782 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3783 rt.send( rt.make_bool(Result));
3784
3785 }
3786
3787 // wxLayoutAlgorithm::wxLayoutAlgorithm
wxLayoutAlgorithm_new(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3788 void wxLayoutAlgorithm_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3789 {
3790 wxLayoutAlgorithm * Result = new EwxLayoutAlgorithm();
3791 app->newPtr((void *) Result, 1, memenv);
3792 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3793 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxLayoutAlgorithm"));
3794
3795 }
3796
3797 // wxLayoutAlgorithm::LayoutFrame
wxLayoutAlgorithm_LayoutFrame(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3798 void wxLayoutAlgorithm_LayoutFrame(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3799 {
3800 wxWindow * mainWindow=NULL;
3801 ErlNifEnv *env = Ecmd.env;
3802 ERL_NIF_TERM * argv = Ecmd.args;
3803 wxLayoutAlgorithm *This;
3804 This = (wxLayoutAlgorithm *) memenv->getPtr(env, argv[0], "This");
3805 wxFrame *frame;
3806 frame = (wxFrame *) memenv->getPtr(env, argv[1], "frame");
3807 ERL_NIF_TERM lstHead, lstTail;
3808 lstTail = argv[2];
3809 if(!enif_is_list(env, lstTail)) Badarg("Options");
3810 const ERL_NIF_TERM *tpl;
3811 int tpl_sz;
3812 while(!enif_is_empty_list(env, lstTail)) {
3813 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3814 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3815 if(enif_is_identical(tpl[0], enif_make_atom(env, "mainWindow"))) {
3816 mainWindow = (wxWindow *) memenv->getPtr(env, tpl[1], "mainWindow");
3817 } else Badarg("Options");
3818 };
3819 if(!This) throw wxe_badarg("This");
3820 bool Result = This->LayoutFrame(frame,mainWindow);
3821 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3822 rt.send( rt.make_bool(Result));
3823
3824 }
3825
3826 // wxLayoutAlgorithm::LayoutMDIFrame
wxLayoutAlgorithm_LayoutMDIFrame(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3827 void wxLayoutAlgorithm_LayoutMDIFrame(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3828 {
3829 wxRect *rect=NULL; wxRect rectTmp;
3830 ErlNifEnv *env = Ecmd.env;
3831 ERL_NIF_TERM * argv = Ecmd.args;
3832 wxLayoutAlgorithm *This;
3833 This = (wxLayoutAlgorithm *) memenv->getPtr(env, argv[0], "This");
3834 wxMDIParentFrame *frame;
3835 frame = (wxMDIParentFrame *) memenv->getPtr(env, argv[1], "frame");
3836 ERL_NIF_TERM lstHead, lstTail;
3837 lstTail = argv[2];
3838 if(!enif_is_list(env, lstTail)) Badarg("Options");
3839 const ERL_NIF_TERM *tpl;
3840 int tpl_sz;
3841 while(!enif_is_empty_list(env, lstTail)) {
3842 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3843 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3844 if(enif_is_identical(tpl[0], enif_make_atom(env, "rect"))) {
3845 const ERL_NIF_TERM *rect_t;
3846 int rect_sz;
3847 if(!enif_get_tuple(env, tpl[1], &rect_sz, &rect_t)) Badarg("rect");
3848 int rectX;
3849 if(!enif_get_int(env, rect_t[0], &rectX)) Badarg("rect");
3850 int rectY;
3851 if(!enif_get_int(env, rect_t[1], &rectY)) Badarg("rect");
3852 int rectW;
3853 if(!enif_get_int(env, rect_t[2], &rectW)) Badarg("rect");
3854 int rectH;
3855 if(!enif_get_int(env, rect_t[3], &rectH)) Badarg("rect");
3856 rectTmp = wxRect(rectX,rectY,rectW,rectH); rect = & rectTmp;
3857 } else Badarg("Options");
3858 };
3859 if(!This) throw wxe_badarg("This");
3860 bool Result = This->LayoutMDIFrame(frame,rect);
3861 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3862 rt.send( rt.make_bool(Result));
3863
3864 }
3865
3866 // wxLayoutAlgorithm::LayoutWindow
wxLayoutAlgorithm_LayoutWindow(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3867 void wxLayoutAlgorithm_LayoutWindow(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3868 {
3869 wxWindow * mainWindow=NULL;
3870 ErlNifEnv *env = Ecmd.env;
3871 ERL_NIF_TERM * argv = Ecmd.args;
3872 wxLayoutAlgorithm *This;
3873 This = (wxLayoutAlgorithm *) memenv->getPtr(env, argv[0], "This");
3874 wxWindow *parent;
3875 parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
3876 ERL_NIF_TERM lstHead, lstTail;
3877 lstTail = argv[2];
3878 if(!enif_is_list(env, lstTail)) Badarg("Options");
3879 const ERL_NIF_TERM *tpl;
3880 int tpl_sz;
3881 while(!enif_is_empty_list(env, lstTail)) {
3882 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3883 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3884 if(enif_is_identical(tpl[0], enif_make_atom(env, "mainWindow"))) {
3885 mainWindow = (wxWindow *) memenv->getPtr(env, tpl[1], "mainWindow");
3886 } else Badarg("Options");
3887 };
3888 if(!This) throw wxe_badarg("This");
3889 bool Result = This->LayoutWindow(parent,mainWindow);
3890 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3891 rt.send( rt.make_bool(Result));
3892
3893 }
3894
3895 // wxListBox::wxListBox
wxListBox_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3896 void wxListBox_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3897 {
3898 wxListBox * Result = new EwxListBox();
3899 app->newPtr((void *) Result, 0, memenv);
3900 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3901 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxListBox"));
3902
3903 }
3904
3905 // wxListBox::wxListBox
wxListBox_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3906 void wxListBox_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3907 {
3908 wxPoint pos= wxDefaultPosition;
3909 wxSize size= wxDefaultSize;
3910 wxArrayString choices;
3911 long style=0;
3912 const wxValidator * validator= &wxDefaultValidator;
3913 ErlNifEnv *env = Ecmd.env;
3914 ERL_NIF_TERM * argv = Ecmd.args;
3915 wxWindow *parent;
3916 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
3917 int id;
3918 if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
3919 ERL_NIF_TERM lstHead, lstTail;
3920 lstTail = argv[2];
3921 if(!enif_is_list(env, lstTail)) Badarg("Options");
3922 const ERL_NIF_TERM *tpl;
3923 int tpl_sz;
3924 while(!enif_is_empty_list(env, lstTail)) {
3925 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
3926 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
3927 if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
3928 const ERL_NIF_TERM *pos_t;
3929 int pos_sz;
3930 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
3931 int posX;
3932 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
3933 int posY;
3934 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
3935 pos = wxPoint(posX,posY);
3936 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
3937 const ERL_NIF_TERM *size_t;
3938 int size_sz;
3939 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
3940 int sizeW;
3941 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
3942 int sizeH;
3943 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
3944 size = wxSize(sizeW,sizeH);
3945 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "choices"))) {
3946 ERL_NIF_TERM choicesHead, choicesTail;
3947 ErlNifBinary choices_bin;
3948 choicesTail = tpl[1];
3949 while(!enif_is_empty_list(env, choicesTail)) {
3950 if(!enif_get_list_cell(env, choicesTail, &choicesHead, &choicesTail)) Badarg("choices");
3951 if(!enif_inspect_binary(env, choicesHead, &choices_bin)) Badarg("choices");
3952 choices.Add(wxString(choices_bin.data, wxConvUTF8, choices_bin.size));
3953 };
3954 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
3955 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
3956 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
3957 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
3958 } else Badarg("Options");
3959 };
3960 wxListBox * Result = new EwxListBox(parent,id,pos,size,choices,style,*validator);
3961 app->newPtr((void *) Result, 0, memenv);
3962 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
3963 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxListBox"));
3964
3965 }
3966
3967 // wxListBox::Create
wxListBox_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)3968 void wxListBox_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
3969 {
3970 long style=0;
3971 const wxValidator * validator= &wxDefaultValidator;
3972 ErlNifEnv *env = Ecmd.env;
3973 ERL_NIF_TERM * argv = Ecmd.args;
3974 wxListBox *This;
3975 This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
3976 wxWindow *parent;
3977 parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
3978 int id;
3979 if(!enif_get_int(env, argv[2], &id)) Badarg("id"); // wxWindowID
3980 const ERL_NIF_TERM *pos_t;
3981 int pos_sz;
3982 if(!enif_get_tuple(env, argv[3], &pos_sz, &pos_t)) Badarg("pos");
3983 int posX;
3984 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
3985 int posY;
3986 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
3987 wxPoint pos = wxPoint(posX,posY);
3988 const ERL_NIF_TERM *size_t;
3989 int size_sz;
3990 if(!enif_get_tuple(env, argv[4], &size_sz, &size_t)) Badarg("size");
3991 int sizeW;
3992 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
3993 int sizeH;
3994 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
3995 wxSize size = wxSize(sizeW,sizeH);
3996 ERL_NIF_TERM choicesHead, choicesTail;
3997 ErlNifBinary choices_bin;
3998 wxArrayString choices;
3999 choicesTail = argv[5];
4000 while(!enif_is_empty_list(env, choicesTail)) {
4001 if(!enif_get_list_cell(env, choicesTail, &choicesHead, &choicesTail)) Badarg("choices");
4002 if(!enif_inspect_binary(env, choicesHead, &choices_bin)) Badarg("choices");
4003 choices.Add(wxString(choices_bin.data, wxConvUTF8, choices_bin.size));
4004 };
4005 ERL_NIF_TERM lstHead, lstTail;
4006 lstTail = argv[6];
4007 if(!enif_is_list(env, lstTail)) Badarg("Options");
4008 const ERL_NIF_TERM *tpl;
4009 int tpl_sz;
4010 while(!enif_is_empty_list(env, lstTail)) {
4011 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4012 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4013 if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
4014 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
4015 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
4016 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
4017 } else Badarg("Options");
4018 };
4019 if(!This) throw wxe_badarg("This");
4020 bool Result = This->Create(parent,id,pos,size,choices,style,*validator);
4021 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4022 rt.send( rt.make_bool(Result));
4023
4024 }
4025
4026 // wxListBox::Deselect
wxListBox_Deselect(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4027 void wxListBox_Deselect(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4028 {
4029 ErlNifEnv *env = Ecmd.env;
4030 ERL_NIF_TERM * argv = Ecmd.args;
4031 wxListBox *This;
4032 This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4033 int n;
4034 if(!enif_get_int(env, argv[1], &n)) Badarg("n"); // int
4035 if(!This) throw wxe_badarg("This");
4036 This->Deselect(n);
4037
4038 }
4039
4040 // wxListBox::GetSelections
wxListBox_GetSelections(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4041 void wxListBox_GetSelections(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4042 {
4043 wxArrayInt selections;
4044 ErlNifEnv *env = Ecmd.env;
4045 ERL_NIF_TERM * argv = Ecmd.args;
4046 wxListBox *This;
4047 This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4048 if(!This) throw wxe_badarg("This");
4049 int Result = This->GetSelections(selections);
4050 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4051 ERL_NIF_TERM msg = enif_make_tuple2(rt.env,
4052 rt.make_int(Result),
4053 rt.make(selections));
4054 rt.send(msg);
4055
4056 }
4057
4058 // wxListBox::InsertItems
wxListBox_InsertItems(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4059 void wxListBox_InsertItems(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4060 {
4061 ErlNifEnv *env = Ecmd.env;
4062 ERL_NIF_TERM * argv = Ecmd.args;
4063 wxListBox *This;
4064 This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4065 ERL_NIF_TERM itemsHead, itemsTail;
4066 ErlNifBinary items_bin;
4067 wxArrayString items;
4068 itemsTail = argv[1];
4069 while(!enif_is_empty_list(env, itemsTail)) {
4070 if(!enif_get_list_cell(env, itemsTail, &itemsHead, &itemsTail)) Badarg("items");
4071 if(!enif_inspect_binary(env, itemsHead, &items_bin)) Badarg("items");
4072 items.Add(wxString(items_bin.data, wxConvUTF8, items_bin.size));
4073 };
4074 unsigned int pos;
4075 if(!enif_get_uint(env, argv[2], &pos)) Badarg("pos");
4076 if(!This) throw wxe_badarg("This");
4077 This->InsertItems(items,pos);
4078
4079 }
4080
4081 // wxListBox::IsSelected
wxListBox_IsSelected(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4082 void wxListBox_IsSelected(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4083 {
4084 ErlNifEnv *env = Ecmd.env;
4085 ERL_NIF_TERM * argv = Ecmd.args;
4086 wxListBox *This;
4087 This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4088 int n;
4089 if(!enif_get_int(env, argv[1], &n)) Badarg("n"); // int
4090 if(!This) throw wxe_badarg("This");
4091 bool Result = This->IsSelected(n);
4092 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4093 rt.send( rt.make_bool(Result));
4094
4095 }
4096
4097 // wxListBox::Set
wxListBox_Set(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4098 void wxListBox_Set(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4099 {
4100 ErlNifEnv *env = Ecmd.env;
4101 ERL_NIF_TERM * argv = Ecmd.args;
4102 wxListBox *This;
4103 This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4104 ERL_NIF_TERM itemsHead, itemsTail;
4105 ErlNifBinary items_bin;
4106 wxArrayString items;
4107 itemsTail = argv[1];
4108 while(!enif_is_empty_list(env, itemsTail)) {
4109 if(!enif_get_list_cell(env, itemsTail, &itemsHead, &itemsTail)) Badarg("items");
4110 if(!enif_inspect_binary(env, itemsHead, &items_bin)) Badarg("items");
4111 items.Add(wxString(items_bin.data, wxConvUTF8, items_bin.size));
4112 };
4113 if(!This) throw wxe_badarg("This");
4114 This->Set(items);
4115
4116 }
4117
4118 // wxListBox::HitTest
wxListBox_HitTest_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4119 void wxListBox_HitTest_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4120 {
4121 ErlNifEnv *env = Ecmd.env;
4122 ERL_NIF_TERM * argv = Ecmd.args;
4123 wxListBox *This;
4124 This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4125 const ERL_NIF_TERM *point_t;
4126 int point_sz;
4127 if(!enif_get_tuple(env, argv[1], &point_sz, &point_t)) Badarg("point");
4128 int pointX;
4129 if(!enif_get_int(env, point_t[0], &pointX)) Badarg("point");
4130 int pointY;
4131 if(!enif_get_int(env, point_t[1], &pointY)) Badarg("point");
4132 wxPoint point = wxPoint(pointX,pointY);
4133 if(!This) throw wxe_badarg("This");
4134 int Result = This->HitTest(point);
4135 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4136 rt.send( rt.make_int(Result));
4137
4138 }
4139
4140 // wxListBox::HitTest
wxListBox_HitTest_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4141 void wxListBox_HitTest_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4142 {
4143 ErlNifEnv *env = Ecmd.env;
4144 ERL_NIF_TERM * argv = Ecmd.args;
4145 wxListBox *This;
4146 This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4147 int x;
4148 if(!enif_get_int(env, argv[1], &x)) Badarg("x"); // int
4149 int y;
4150 if(!enif_get_int(env, argv[2], &y)) Badarg("y"); // int
4151 if(!This) throw wxe_badarg("This");
4152 int Result = This->HitTest(x,y);
4153 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4154 rt.send( rt.make_int(Result));
4155
4156 }
4157
4158 // wxListBox::SetFirstItem
wxListBox_SetFirstItem_1_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4159 void wxListBox_SetFirstItem_1_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4160 {
4161 ErlNifEnv *env = Ecmd.env;
4162 ERL_NIF_TERM * argv = Ecmd.args;
4163 wxListBox *This;
4164 This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4165 int n;
4166 if(!enif_get_int(env, argv[1], &n)) Badarg("n"); // int
4167 if(!This) throw wxe_badarg("This");
4168 This->SetFirstItem(n);
4169
4170 }
4171
4172 // wxListBox::SetFirstItem
wxListBox_SetFirstItem_1_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4173 void wxListBox_SetFirstItem_1_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4174 {
4175 ErlNifEnv *env = Ecmd.env;
4176 ERL_NIF_TERM * argv = Ecmd.args;
4177 wxListBox *This;
4178 This = (wxListBox *) memenv->getPtr(env, argv[0], "This");
4179 ErlNifBinary string_bin;
4180 wxString string;
4181 if(!enif_inspect_binary(env, argv[1], &string_bin)) Badarg("string");
4182 string = wxString(string_bin.data, wxConvUTF8, string_bin.size);
4183 if(!This) throw wxe_badarg("This");
4184 This->SetFirstItem(string);
4185
4186 }
4187
4188
wxListCtrl_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4189 void wxListCtrl_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4190 {
4191 wxListCtrl * Result = new EwxListCtrl();
4192 app->newPtr((void *) Result, 0, memenv);
4193 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4194 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxListCtrl"));
4195 }
4196
4197
4198 // skipped wxListCtrl_new_2
4199 // wxListCtrl::Arrange
wxListCtrl_Arrange(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4200 void wxListCtrl_Arrange(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4201 {
4202 int flag=wxLIST_ALIGN_DEFAULT;
4203 ErlNifEnv *env = Ecmd.env;
4204 ERL_NIF_TERM * argv = Ecmd.args;
4205 wxListCtrl *This;
4206 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4207 ERL_NIF_TERM lstHead, lstTail;
4208 lstTail = argv[1];
4209 if(!enif_is_list(env, lstTail)) Badarg("Options");
4210 const ERL_NIF_TERM *tpl;
4211 int tpl_sz;
4212 while(!enif_is_empty_list(env, lstTail)) {
4213 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4214 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4215 if(enif_is_identical(tpl[0], enif_make_atom(env, "flag"))) {
4216 if(!enif_get_int(env, tpl[1], &flag)) Badarg("flag"); // int
4217 } else Badarg("Options");
4218 };
4219 if(!This) throw wxe_badarg("This");
4220 bool Result = This->Arrange(flag);
4221 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4222 rt.send( rt.make_bool(Result));
4223
4224 }
4225
4226 // wxListCtrl::AssignImageList
wxListCtrl_AssignImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4227 void wxListCtrl_AssignImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4228 {
4229 ErlNifEnv *env = Ecmd.env;
4230 ERL_NIF_TERM * argv = Ecmd.args;
4231 wxListCtrl *This;
4232 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4233 wxImageList *imageList;
4234 imageList = (wxImageList *) memenv->getPtr(env, argv[1], "imageList");
4235 int which;
4236 if(!enif_get_int(env, argv[2], &which)) Badarg("which"); // int
4237 if(!This) throw wxe_badarg("This");
4238 This->AssignImageList(imageList,which);
4239
4240 }
4241
4242 // wxListCtrl::ClearAll
wxListCtrl_ClearAll(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4243 void wxListCtrl_ClearAll(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4244 {
4245 ErlNifEnv *env = Ecmd.env;
4246 ERL_NIF_TERM * argv = Ecmd.args;
4247 wxListCtrl *This;
4248 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4249 if(!This) throw wxe_badarg("This");
4250 This->ClearAll();
4251
4252 }
4253
4254
4255 // wxListCtrl::Create
wxListCtrl_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4256 void wxListCtrl_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4257 {
4258 wxWindowID winid=wxID_ANY;
4259 wxPoint pos= wxDefaultPosition;
4260 wxSize size= wxDefaultSize;
4261 long style=wxLC_ICON;
4262 const wxValidator * validator= &wxDefaultValidator;
4263 ErlNifEnv *env = Ecmd.env;
4264 ERL_NIF_TERM * argv = Ecmd.args;
4265
4266 int onGetItemText = 0, onGetItemAttr = 0, onGetItemColumnImage = 0;
4267
4268 EwxListCtrl *This;
4269 This = (EwxListCtrl *) memenv->getPtr(env, argv[0], "This");
4270 wxWindow *parent;
4271 parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
4272 ERL_NIF_TERM lstHead, lstTail;
4273 lstTail = argv[2];
4274 if(!enif_is_list(env, lstTail)) Badarg("Options");
4275 const ERL_NIF_TERM *tpl;
4276 int tpl_sz;
4277 while(!enif_is_empty_list(env, lstTail)) {
4278 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4279 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4280 if(enif_is_identical(tpl[0], enif_make_atom(env, "winid"))) {
4281 if(!enif_get_int(env, tpl[1], &winid)) Badarg("winid"); // "wxWindowID"
4282 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
4283 const ERL_NIF_TERM *pos_t;
4284 int pos_sz;
4285 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
4286 int posX;
4287 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
4288 int posY;
4289 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
4290 pos = wxPoint(posX,posY);
4291 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
4292 const ERL_NIF_TERM *size_t;
4293 int size_sz;
4294 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
4295 int sizeW;
4296 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
4297 int sizeH;
4298 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
4299 size = wxSize(sizeW,sizeH);
4300 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
4301 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
4302 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "validator"))) {
4303 validator = (wxValidator *) memenv->getPtr(env, tpl[1], "validator");
4304 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "onGetItemText"))) {
4305 if(!enif_get_int(env, tpl[1], &onGetItemText)) Badarg("onGetItemText");
4306 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "onGetItemAttr"))) {
4307 if(!enif_get_int(env, tpl[1], &onGetItemAttr)) Badarg("onGetItemAttr");
4308 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "onGetItemColumnImage"))) {
4309 if(!enif_get_int(env, tpl[1], &onGetItemColumnImage)) Badarg("onGetItemColumnImage");
4310 } else Badarg("Options");
4311 };
4312 if(!This) throw wxe_badarg(0);
4313 bool Result = This->Create(parent,winid,pos,size,style,*validator);
4314
4315 This->onGetItemText = onGetItemText;
4316 This->onGetItemAttr = onGetItemAttr;
4317 This->onGetItemColumnImage = onGetItemColumnImage;
4318 This->me_ref = memenv->me_ref;
4319
4320 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4321 rt.send( rt.make_bool(Result));
4322
4323 }
4324
4325 // wxListCtrl::DeleteAllItems
wxListCtrl_DeleteAllItems(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4326 void wxListCtrl_DeleteAllItems(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4327 {
4328 ErlNifEnv *env = Ecmd.env;
4329 ERL_NIF_TERM * argv = Ecmd.args;
4330 wxListCtrl *This;
4331 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4332 if(!This) throw wxe_badarg("This");
4333 bool Result = This->DeleteAllItems();
4334 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4335 rt.send( rt.make_bool(Result));
4336
4337 }
4338
4339 // wxListCtrl::DeleteColumn
wxListCtrl_DeleteColumn(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4340 void wxListCtrl_DeleteColumn(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4341 {
4342 ErlNifEnv *env = Ecmd.env;
4343 ERL_NIF_TERM * argv = Ecmd.args;
4344 wxListCtrl *This;
4345 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4346 int col;
4347 if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
4348 if(!This) throw wxe_badarg("This");
4349 bool Result = This->DeleteColumn(col);
4350 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4351 rt.send( rt.make_bool(Result));
4352
4353 }
4354
4355 // wxListCtrl::DeleteItem
wxListCtrl_DeleteItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4356 void wxListCtrl_DeleteItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4357 {
4358 ErlNifEnv *env = Ecmd.env;
4359 ERL_NIF_TERM * argv = Ecmd.args;
4360 wxListCtrl *This;
4361 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4362 long item;
4363 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4364 if(!This) throw wxe_badarg("This");
4365 bool Result = This->DeleteItem(item);
4366 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4367 rt.send( rt.make_bool(Result));
4368
4369 }
4370
4371 // wxListCtrl::EditLabel
wxListCtrl_EditLabel(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4372 void wxListCtrl_EditLabel(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4373 {
4374 ErlNifEnv *env = Ecmd.env;
4375 ERL_NIF_TERM * argv = Ecmd.args;
4376 wxListCtrl *This;
4377 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4378 long item;
4379 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4380 if(!This) throw wxe_badarg("This");
4381 wxTextCtrl * Result = (wxTextCtrl*)This->EditLabel(item);
4382 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4383 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxTextCtrl"));
4384
4385 }
4386
4387 // wxListCtrl::EnsureVisible
wxListCtrl_EnsureVisible(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4388 void wxListCtrl_EnsureVisible(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4389 {
4390 ErlNifEnv *env = Ecmd.env;
4391 ERL_NIF_TERM * argv = Ecmd.args;
4392 wxListCtrl *This;
4393 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4394 long item;
4395 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4396 if(!This) throw wxe_badarg("This");
4397 bool Result = This->EnsureVisible(item);
4398 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4399 rt.send( rt.make_bool(Result));
4400
4401 }
4402
4403 // wxListCtrl::FindItem
wxListCtrl_FindItem_3_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4404 void wxListCtrl_FindItem_3_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4405 {
4406 bool partial=false;
4407 ErlNifEnv *env = Ecmd.env;
4408 ERL_NIF_TERM * argv = Ecmd.args;
4409 wxListCtrl *This;
4410 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4411 long start;
4412 if(!enif_get_long(env, argv[1], &start)) Badarg("start");
4413 ErlNifBinary str_bin;
4414 wxString str;
4415 if(!enif_inspect_binary(env, argv[2], &str_bin)) Badarg("str");
4416 str = wxString(str_bin.data, wxConvUTF8, str_bin.size);
4417 ERL_NIF_TERM lstHead, lstTail;
4418 lstTail = argv[3];
4419 if(!enif_is_list(env, lstTail)) Badarg("Options");
4420 const ERL_NIF_TERM *tpl;
4421 int tpl_sz;
4422 while(!enif_is_empty_list(env, lstTail)) {
4423 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4424 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4425 if(enif_is_identical(tpl[0], enif_make_atom(env, "partial"))) {
4426 partial = enif_is_identical(tpl[1], WXE_ATOM_true);
4427 } else Badarg("Options");
4428 };
4429 if(!This) throw wxe_badarg("This");
4430 long Result = This->FindItem(start,str,partial);
4431 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4432 rt.send( rt.make_int(Result));
4433
4434 }
4435
4436 // wxListCtrl::FindItem
wxListCtrl_FindItem_3_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4437 void wxListCtrl_FindItem_3_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4438 {
4439 ErlNifEnv *env = Ecmd.env;
4440 ERL_NIF_TERM * argv = Ecmd.args;
4441 wxListCtrl *This;
4442 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4443 long start;
4444 if(!enif_get_long(env, argv[1], &start)) Badarg("start");
4445 const ERL_NIF_TERM *pt_t;
4446 int pt_sz;
4447 if(!enif_get_tuple(env, argv[2], &pt_sz, &pt_t)) Badarg("pt");
4448 int ptX;
4449 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
4450 int ptY;
4451 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
4452 wxPoint pt = wxPoint(ptX,ptY);
4453 int direction;
4454 if(!enif_get_int(env, argv[3], &direction)) Badarg("direction"); // int
4455 if(!This) throw wxe_badarg("This");
4456 long Result = This->FindItem(start,pt,direction);
4457 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4458 rt.send( rt.make_int(Result));
4459
4460 }
4461
4462 // wxListCtrl::GetColumn
wxListCtrl_GetColumn(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4463 void wxListCtrl_GetColumn(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4464 {
4465 ErlNifEnv *env = Ecmd.env;
4466 ERL_NIF_TERM * argv = Ecmd.args;
4467 wxListCtrl *This;
4468 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4469 int col;
4470 if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
4471 wxListItem *item;
4472 item = (wxListItem *) memenv->getPtr(env, argv[2], "item");
4473 if(!This) throw wxe_badarg("This");
4474 bool Result = This->GetColumn(col,*item);
4475 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4476 rt.send( rt.make_bool(Result));
4477
4478 }
4479
4480 // wxListCtrl::GetColumnCount
wxListCtrl_GetColumnCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4481 void wxListCtrl_GetColumnCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4482 {
4483 ErlNifEnv *env = Ecmd.env;
4484 ERL_NIF_TERM * argv = Ecmd.args;
4485 wxListCtrl *This;
4486 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4487 if(!This) throw wxe_badarg("This");
4488 int Result = This->GetColumnCount();
4489 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4490 rt.send( rt.make_int(Result));
4491
4492 }
4493
4494 // wxListCtrl::GetColumnWidth
wxListCtrl_GetColumnWidth(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4495 void wxListCtrl_GetColumnWidth(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4496 {
4497 ErlNifEnv *env = Ecmd.env;
4498 ERL_NIF_TERM * argv = Ecmd.args;
4499 wxListCtrl *This;
4500 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4501 int col;
4502 if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
4503 if(!This) throw wxe_badarg("This");
4504 int Result = This->GetColumnWidth(col);
4505 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4506 rt.send( rt.make_int(Result));
4507
4508 }
4509
4510 // wxListCtrl::GetCountPerPage
wxListCtrl_GetCountPerPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4511 void wxListCtrl_GetCountPerPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4512 {
4513 ErlNifEnv *env = Ecmd.env;
4514 ERL_NIF_TERM * argv = Ecmd.args;
4515 wxListCtrl *This;
4516 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4517 if(!This) throw wxe_badarg("This");
4518 int Result = This->GetCountPerPage();
4519 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4520 rt.send( rt.make_int(Result));
4521
4522 }
4523
4524 // wxListCtrl::GetEditControl
wxListCtrl_GetEditControl(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4525 void wxListCtrl_GetEditControl(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4526 {
4527 ErlNifEnv *env = Ecmd.env;
4528 ERL_NIF_TERM * argv = Ecmd.args;
4529 wxListCtrl *This;
4530 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4531 if(!This) throw wxe_badarg("This");
4532 wxTextCtrl * Result = (wxTextCtrl*)This->GetEditControl();
4533 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4534 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxTextCtrl"));
4535
4536 }
4537
4538 // wxListCtrl::GetImageList
wxListCtrl_GetImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4539 void wxListCtrl_GetImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4540 {
4541 ErlNifEnv *env = Ecmd.env;
4542 ERL_NIF_TERM * argv = Ecmd.args;
4543 wxListCtrl *This;
4544 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4545 int which;
4546 if(!enif_get_int(env, argv[1], &which)) Badarg("which"); // int
4547 if(!This) throw wxe_badarg("This");
4548 wxImageList * Result = (wxImageList*)This->GetImageList(which);
4549 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4550 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImageList"));
4551
4552 }
4553
4554 // wxListCtrl::GetItem
wxListCtrl_GetItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4555 void wxListCtrl_GetItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4556 {
4557 ErlNifEnv *env = Ecmd.env;
4558 ERL_NIF_TERM * argv = Ecmd.args;
4559 wxListCtrl *This;
4560 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4561 wxListItem *info;
4562 info = (wxListItem *) memenv->getPtr(env, argv[1], "info");
4563 if(!This) throw wxe_badarg("This");
4564 bool Result = This->GetItem(*info);
4565 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4566 rt.send( rt.make_bool(Result));
4567
4568 }
4569
4570 // wxListCtrl::GetItemBackgroundColour
wxListCtrl_GetItemBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4571 void wxListCtrl_GetItemBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4572 {
4573 ErlNifEnv *env = Ecmd.env;
4574 ERL_NIF_TERM * argv = Ecmd.args;
4575 wxListCtrl *This;
4576 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4577 long item;
4578 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4579 if(!This) throw wxe_badarg("This");
4580 wxColour Result = This->GetItemBackgroundColour(item);
4581 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4582 rt.send( rt.make(Result));
4583
4584 }
4585
4586 // wxListCtrl::GetItemCount
wxListCtrl_GetItemCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4587 void wxListCtrl_GetItemCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4588 {
4589 ErlNifEnv *env = Ecmd.env;
4590 ERL_NIF_TERM * argv = Ecmd.args;
4591 wxListCtrl *This;
4592 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4593 if(!This) throw wxe_badarg("This");
4594 int Result = This->GetItemCount();
4595 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4596 rt.send( rt.make_int(Result));
4597
4598 }
4599
4600 // wxListCtrl::GetItemData
wxListCtrl_GetItemData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4601 void wxListCtrl_GetItemData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4602 {
4603 ErlNifEnv *env = Ecmd.env;
4604 ERL_NIF_TERM * argv = Ecmd.args;
4605 wxListCtrl *This;
4606 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4607 long item;
4608 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4609 if(!This) throw wxe_badarg("This");
4610 wxUIntPtr Result = This->GetItemData(item);
4611 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4612 rt.send( rt.make_int(Result));
4613
4614 }
4615
4616 // wxListCtrl::GetItemFont
wxListCtrl_GetItemFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4617 void wxListCtrl_GetItemFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4618 {
4619 ErlNifEnv *env = Ecmd.env;
4620 ERL_NIF_TERM * argv = Ecmd.args;
4621 wxListCtrl *This;
4622 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4623 long item;
4624 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4625 if(!This) throw wxe_badarg("This");
4626 wxFont * Result = new wxFont(This->GetItemFont(item)); app->newPtr((void *) Result,3, memenv);;
4627 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4628 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxFont"));
4629
4630 }
4631
4632 // wxListCtrl::GetItemPosition
wxListCtrl_GetItemPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4633 void wxListCtrl_GetItemPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4634 {
4635 wxPoint pos;
4636 ErlNifEnv *env = Ecmd.env;
4637 ERL_NIF_TERM * argv = Ecmd.args;
4638 wxListCtrl *This;
4639 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4640 long item;
4641 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4642 if(!This) throw wxe_badarg("This");
4643 bool Result = This->GetItemPosition(item,pos);
4644 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4645 ERL_NIF_TERM msg = enif_make_tuple2(rt.env,
4646 rt.make_bool(Result),
4647 rt.make(pos));
4648 rt.send(msg);
4649
4650 }
4651
4652 // wxListCtrl::GetItemRect
wxListCtrl_GetItemRect(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4653 void wxListCtrl_GetItemRect(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4654 {
4655 wxRect rect;
4656 int code=wxLIST_RECT_BOUNDS;
4657 ErlNifEnv *env = Ecmd.env;
4658 ERL_NIF_TERM * argv = Ecmd.args;
4659 wxListCtrl *This;
4660 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4661 long item;
4662 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4663 ERL_NIF_TERM lstHead, lstTail;
4664 lstTail = argv[2];
4665 if(!enif_is_list(env, lstTail)) Badarg("Options");
4666 const ERL_NIF_TERM *tpl;
4667 int tpl_sz;
4668 while(!enif_is_empty_list(env, lstTail)) {
4669 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4670 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4671 if(enif_is_identical(tpl[0], enif_make_atom(env, "code"))) {
4672 if(!enif_get_int(env, tpl[1], &code)) Badarg("code"); // int
4673 } else Badarg("Options");
4674 };
4675 if(!This) throw wxe_badarg("This");
4676 bool Result = This->GetItemRect(item,rect,code);
4677 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4678 ERL_NIF_TERM msg = enif_make_tuple2(rt.env,
4679 rt.make_bool(Result),
4680 rt.make(rect));
4681 rt.send(msg);
4682
4683 }
4684
4685 // wxListCtrl::GetItemSpacing
wxListCtrl_GetItemSpacing(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4686 void wxListCtrl_GetItemSpacing(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4687 {
4688 ErlNifEnv *env = Ecmd.env;
4689 ERL_NIF_TERM * argv = Ecmd.args;
4690 wxListCtrl *This;
4691 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4692 if(!This) throw wxe_badarg("This");
4693 wxSize Result = This->GetItemSpacing();
4694 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4695 rt.send( rt.make(Result));
4696
4697 }
4698
4699 // wxListCtrl::GetItemState
wxListCtrl_GetItemState(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4700 void wxListCtrl_GetItemState(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4701 {
4702 ErlNifEnv *env = Ecmd.env;
4703 ERL_NIF_TERM * argv = Ecmd.args;
4704 wxListCtrl *This;
4705 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4706 long item;
4707 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4708 long stateMask;
4709 if(!enif_get_long(env, argv[2], &stateMask)) Badarg("stateMask");
4710 if(!This) throw wxe_badarg("This");
4711 int Result = This->GetItemState(item,stateMask);
4712 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4713 rt.send( rt.make_int(Result));
4714
4715 }
4716
4717 // wxListCtrl::GetItemText
wxListCtrl_GetItemText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4718 void wxListCtrl_GetItemText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4719 {
4720 int col=0;
4721 ErlNifEnv *env = Ecmd.env;
4722 ERL_NIF_TERM * argv = Ecmd.args;
4723 wxListCtrl *This;
4724 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4725 long item;
4726 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4727 ERL_NIF_TERM lstHead, lstTail;
4728 lstTail = argv[2];
4729 if(!enif_is_list(env, lstTail)) Badarg("Options");
4730 const ERL_NIF_TERM *tpl;
4731 int tpl_sz;
4732 while(!enif_is_empty_list(env, lstTail)) {
4733 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4734 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4735 if(enif_is_identical(tpl[0], enif_make_atom(env, "col"))) {
4736 if(!enif_get_int(env, tpl[1], &col)) Badarg("col"); // int
4737 } else Badarg("Options");
4738 };
4739 if(!This) throw wxe_badarg("This");
4740 wxString Result = This->GetItemText(item,col);
4741 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4742 rt.send( rt.make(Result));
4743
4744 }
4745
4746 // wxListCtrl::GetItemTextColour
wxListCtrl_GetItemTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4747 void wxListCtrl_GetItemTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4748 {
4749 ErlNifEnv *env = Ecmd.env;
4750 ERL_NIF_TERM * argv = Ecmd.args;
4751 wxListCtrl *This;
4752 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4753 long item;
4754 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4755 if(!This) throw wxe_badarg("This");
4756 wxColour Result = This->GetItemTextColour(item);
4757 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4758 rt.send( rt.make(Result));
4759
4760 }
4761
4762 // wxListCtrl::GetNextItem
wxListCtrl_GetNextItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4763 void wxListCtrl_GetNextItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4764 {
4765 int geometry=wxLIST_NEXT_ALL;
4766 int state=wxLIST_STATE_DONTCARE;
4767 ErlNifEnv *env = Ecmd.env;
4768 ERL_NIF_TERM * argv = Ecmd.args;
4769 wxListCtrl *This;
4770 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4771 long item;
4772 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
4773 ERL_NIF_TERM lstHead, lstTail;
4774 lstTail = argv[2];
4775 if(!enif_is_list(env, lstTail)) Badarg("Options");
4776 const ERL_NIF_TERM *tpl;
4777 int tpl_sz;
4778 while(!enif_is_empty_list(env, lstTail)) {
4779 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4780 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4781 if(enif_is_identical(tpl[0], enif_make_atom(env, "geometry"))) {
4782 if(!enif_get_int(env, tpl[1], &geometry)) Badarg("geometry"); // int
4783 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "state"))) {
4784 if(!enif_get_int(env, tpl[1], &state)) Badarg("state"); // int
4785 } else Badarg("Options");
4786 };
4787 if(!This) throw wxe_badarg("This");
4788 long Result = This->GetNextItem(item,geometry,state);
4789 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4790 rt.send( rt.make_int(Result));
4791
4792 }
4793
4794 // wxListCtrl::GetSelectedItemCount
wxListCtrl_GetSelectedItemCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4795 void wxListCtrl_GetSelectedItemCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4796 {
4797 ErlNifEnv *env = Ecmd.env;
4798 ERL_NIF_TERM * argv = Ecmd.args;
4799 wxListCtrl *This;
4800 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4801 if(!This) throw wxe_badarg("This");
4802 int Result = This->GetSelectedItemCount();
4803 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4804 rt.send( rt.make_int(Result));
4805
4806 }
4807
4808 // wxListCtrl::GetTextColour
wxListCtrl_GetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4809 void wxListCtrl_GetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4810 {
4811 ErlNifEnv *env = Ecmd.env;
4812 ERL_NIF_TERM * argv = Ecmd.args;
4813 wxListCtrl *This;
4814 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4815 if(!This) throw wxe_badarg("This");
4816 wxColour Result = This->GetTextColour();
4817 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4818 rt.send( rt.make(Result));
4819
4820 }
4821
4822 // wxListCtrl::GetTopItem
wxListCtrl_GetTopItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4823 void wxListCtrl_GetTopItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4824 {
4825 ErlNifEnv *env = Ecmd.env;
4826 ERL_NIF_TERM * argv = Ecmd.args;
4827 wxListCtrl *This;
4828 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4829 if(!This) throw wxe_badarg("This");
4830 long Result = This->GetTopItem();
4831 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4832 rt.send( rt.make_int(Result));
4833
4834 }
4835
4836 // wxListCtrl::GetViewRect
wxListCtrl_GetViewRect(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4837 void wxListCtrl_GetViewRect(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4838 {
4839 ErlNifEnv *env = Ecmd.env;
4840 ERL_NIF_TERM * argv = Ecmd.args;
4841 wxListCtrl *This;
4842 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4843 if(!This) throw wxe_badarg("This");
4844 wxRect Result = This->GetViewRect();
4845 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4846 rt.send( rt.make(Result));
4847
4848 }
4849
4850 // wxListCtrl::HitTest
wxListCtrl_HitTest(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4851 void wxListCtrl_HitTest(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4852 {
4853 int flags;
4854 long ptrSubItem;
4855 ErlNifEnv *env = Ecmd.env;
4856 ERL_NIF_TERM * argv = Ecmd.args;
4857 wxListCtrl *This;
4858 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4859 const ERL_NIF_TERM *point_t;
4860 int point_sz;
4861 if(!enif_get_tuple(env, argv[1], &point_sz, &point_t)) Badarg("point");
4862 int pointX;
4863 if(!enif_get_int(env, point_t[0], &pointX)) Badarg("point");
4864 int pointY;
4865 if(!enif_get_int(env, point_t[1], &pointY)) Badarg("point");
4866 wxPoint point = wxPoint(pointX,pointY);
4867 if(!This) throw wxe_badarg("This");
4868 long Result = This->HitTest(point,flags,&ptrSubItem);
4869 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4870 ERL_NIF_TERM msg = enif_make_tuple3(rt.env,
4871 rt.make_int(Result),
4872 rt.make_int(flags),
4873 rt.make_int(ptrSubItem));
4874 rt.send(msg);
4875
4876 }
4877
4878 // wxListCtrl::InsertColumn
wxListCtrl_InsertColumn_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4879 void wxListCtrl_InsertColumn_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4880 {
4881 ErlNifEnv *env = Ecmd.env;
4882 ERL_NIF_TERM * argv = Ecmd.args;
4883 wxListCtrl *This;
4884 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4885 long col;
4886 if(!enif_get_long(env, argv[1], &col)) Badarg("col");
4887 wxListItem *info;
4888 info = (wxListItem *) memenv->getPtr(env, argv[2], "info");
4889 if(!This) throw wxe_badarg("This");
4890 long Result = This->InsertColumn(col,*info);
4891 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4892 rt.send( rt.make_int(Result));
4893
4894 }
4895
4896 // wxListCtrl::InsertColumn
wxListCtrl_InsertColumn_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4897 void wxListCtrl_InsertColumn_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4898 {
4899 int format=wxLIST_FORMAT_LEFT;
4900 int width=wxLIST_AUTOSIZE;
4901 ErlNifEnv *env = Ecmd.env;
4902 ERL_NIF_TERM * argv = Ecmd.args;
4903 wxListCtrl *This;
4904 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4905 long col;
4906 if(!enif_get_long(env, argv[1], &col)) Badarg("col");
4907 ErlNifBinary heading_bin;
4908 wxString heading;
4909 if(!enif_inspect_binary(env, argv[2], &heading_bin)) Badarg("heading");
4910 heading = wxString(heading_bin.data, wxConvUTF8, heading_bin.size);
4911 ERL_NIF_TERM lstHead, lstTail;
4912 lstTail = argv[3];
4913 if(!enif_is_list(env, lstTail)) Badarg("Options");
4914 const ERL_NIF_TERM *tpl;
4915 int tpl_sz;
4916 while(!enif_is_empty_list(env, lstTail)) {
4917 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
4918 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
4919 if(enif_is_identical(tpl[0], enif_make_atom(env, "format"))) {
4920 if(!enif_get_int(env, tpl[1], &format)) Badarg("format"); // int
4921 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "width"))) {
4922 if(!enif_get_int(env, tpl[1], &width)) Badarg("width"); // int
4923 } else Badarg("Options");
4924 };
4925 if(!This) throw wxe_badarg("This");
4926 long Result = This->InsertColumn(col,heading,format,width);
4927 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4928 rt.send( rt.make_int(Result));
4929
4930 }
4931
4932 // wxListCtrl::InsertItem
wxListCtrl_InsertItem_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4933 void wxListCtrl_InsertItem_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4934 {
4935 ErlNifEnv *env = Ecmd.env;
4936 ERL_NIF_TERM * argv = Ecmd.args;
4937 wxListCtrl *This;
4938 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4939 wxListItem *info;
4940 info = (wxListItem *) memenv->getPtr(env, argv[1], "info");
4941 if(!This) throw wxe_badarg("This");
4942 long Result = This->InsertItem(*info);
4943 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4944 rt.send( rt.make_int(Result));
4945
4946 }
4947
4948 // wxListCtrl::InsertItem
wxListCtrl_InsertItem_2_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4949 void wxListCtrl_InsertItem_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4950 {
4951 ErlNifEnv *env = Ecmd.env;
4952 ERL_NIF_TERM * argv = Ecmd.args;
4953 wxListCtrl *This;
4954 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4955 long index;
4956 if(!enif_get_long(env, argv[1], &index)) Badarg("index");
4957 ErlNifBinary label_bin;
4958 wxString label;
4959 if(!enif_inspect_binary(env, argv[2], &label_bin)) Badarg("label");
4960 label = wxString(label_bin.data, wxConvUTF8, label_bin.size);
4961 if(!This) throw wxe_badarg("This");
4962 long Result = This->InsertItem(index,label);
4963 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4964 rt.send( rt.make_int(Result));
4965
4966 }
4967
4968 // wxListCtrl::InsertItem
wxListCtrl_InsertItem_2_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4969 void wxListCtrl_InsertItem_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4970 {
4971 ErlNifEnv *env = Ecmd.env;
4972 ERL_NIF_TERM * argv = Ecmd.args;
4973 wxListCtrl *This;
4974 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4975 long index;
4976 if(!enif_get_long(env, argv[1], &index)) Badarg("index");
4977 int imageIndex;
4978 if(!enif_get_int(env, argv[2], &imageIndex)) Badarg("imageIndex"); // int
4979 if(!This) throw wxe_badarg("This");
4980 long Result = This->InsertItem(index,imageIndex);
4981 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
4982 rt.send( rt.make_int(Result));
4983
4984 }
4985
4986 // wxListCtrl::InsertItem
wxListCtrl_InsertItem_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)4987 void wxListCtrl_InsertItem_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
4988 {
4989 ErlNifEnv *env = Ecmd.env;
4990 ERL_NIF_TERM * argv = Ecmd.args;
4991 wxListCtrl *This;
4992 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
4993 long index;
4994 if(!enif_get_long(env, argv[1], &index)) Badarg("index");
4995 ErlNifBinary label_bin;
4996 wxString label;
4997 if(!enif_inspect_binary(env, argv[2], &label_bin)) Badarg("label");
4998 label = wxString(label_bin.data, wxConvUTF8, label_bin.size);
4999 int imageIndex;
5000 if(!enif_get_int(env, argv[3], &imageIndex)) Badarg("imageIndex"); // int
5001 if(!This) throw wxe_badarg("This");
5002 long Result = This->InsertItem(index,label,imageIndex);
5003 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5004 rt.send( rt.make_int(Result));
5005
5006 }
5007
5008 // wxListCtrl::RefreshItem
wxListCtrl_RefreshItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5009 void wxListCtrl_RefreshItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5010 {
5011 ErlNifEnv *env = Ecmd.env;
5012 ERL_NIF_TERM * argv = Ecmd.args;
5013 wxListCtrl *This;
5014 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5015 long item;
5016 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5017 if(!This) throw wxe_badarg("This");
5018 This->RefreshItem(item);
5019
5020 }
5021
5022 // wxListCtrl::RefreshItems
wxListCtrl_RefreshItems(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5023 void wxListCtrl_RefreshItems(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5024 {
5025 ErlNifEnv *env = Ecmd.env;
5026 ERL_NIF_TERM * argv = Ecmd.args;
5027 wxListCtrl *This;
5028 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5029 long itemFrom;
5030 if(!enif_get_long(env, argv[1], &itemFrom)) Badarg("itemFrom");
5031 long itemTo;
5032 if(!enif_get_long(env, argv[2], &itemTo)) Badarg("itemTo");
5033 if(!This) throw wxe_badarg("This");
5034 This->RefreshItems(itemFrom,itemTo);
5035
5036 }
5037
5038 // wxListCtrl::ScrollList
wxListCtrl_ScrollList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5039 void wxListCtrl_ScrollList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5040 {
5041 ErlNifEnv *env = Ecmd.env;
5042 ERL_NIF_TERM * argv = Ecmd.args;
5043 wxListCtrl *This;
5044 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5045 int dx;
5046 if(!enif_get_int(env, argv[1], &dx)) Badarg("dx"); // int
5047 int dy;
5048 if(!enif_get_int(env, argv[2], &dy)) Badarg("dy"); // int
5049 if(!This) throw wxe_badarg("This");
5050 bool Result = This->ScrollList(dx,dy);
5051 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5052 rt.send( rt.make_bool(Result));
5053
5054 }
5055
5056 // wxListCtrl::SetBackgroundColour
wxListCtrl_SetBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5057 void wxListCtrl_SetBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5058 {
5059 ErlNifEnv *env = Ecmd.env;
5060 ERL_NIF_TERM * argv = Ecmd.args;
5061 wxListCtrl *This;
5062 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5063 const ERL_NIF_TERM *col_t;
5064 int col_sz;
5065 if(!enif_get_tuple(env, argv[1], &col_sz, &col_t)) Badarg("col");
5066 int colR;
5067 if(!enif_get_int(env, col_t[0], &colR)) Badarg("col");
5068 int colG;
5069 if(!enif_get_int(env, col_t[1], &colG)) Badarg("col");
5070 int colB;
5071 if(!enif_get_int(env, col_t[2], &colB)) Badarg("col");
5072 int colA;
5073 if(!enif_get_int(env, col_t[3], &colA)) Badarg("col");
5074 wxColour col = wxColour(colR,colG,colB,colA);
5075 if(!This) throw wxe_badarg("This");
5076 bool Result = This->SetBackgroundColour(col);
5077 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5078 rt.send( rt.make_bool(Result));
5079
5080 }
5081
5082 // wxListCtrl::SetColumn
wxListCtrl_SetColumn(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5083 void wxListCtrl_SetColumn(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5084 {
5085 ErlNifEnv *env = Ecmd.env;
5086 ERL_NIF_TERM * argv = Ecmd.args;
5087 wxListCtrl *This;
5088 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5089 int col;
5090 if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
5091 wxListItem *item;
5092 item = (wxListItem *) memenv->getPtr(env, argv[2], "item");
5093 if(!This) throw wxe_badarg("This");
5094 bool Result = This->SetColumn(col,*item);
5095 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5096 rt.send( rt.make_bool(Result));
5097
5098 }
5099
5100 // wxListCtrl::SetColumnWidth
wxListCtrl_SetColumnWidth(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5101 void wxListCtrl_SetColumnWidth(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5102 {
5103 ErlNifEnv *env = Ecmd.env;
5104 ERL_NIF_TERM * argv = Ecmd.args;
5105 wxListCtrl *This;
5106 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5107 int col;
5108 if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
5109 int width;
5110 if(!enif_get_int(env, argv[2], &width)) Badarg("width"); // int
5111 if(!This) throw wxe_badarg("This");
5112 bool Result = This->SetColumnWidth(col,width);
5113 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5114 rt.send( rt.make_bool(Result));
5115
5116 }
5117
5118 // wxListCtrl::SetImageList
wxListCtrl_SetImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5119 void wxListCtrl_SetImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5120 {
5121 ErlNifEnv *env = Ecmd.env;
5122 ERL_NIF_TERM * argv = Ecmd.args;
5123 wxListCtrl *This;
5124 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5125 wxImageList *imageList;
5126 imageList = (wxImageList *) memenv->getPtr(env, argv[1], "imageList");
5127 int which;
5128 if(!enif_get_int(env, argv[2], &which)) Badarg("which"); // int
5129 if(!This) throw wxe_badarg("This");
5130 This->SetImageList(imageList,which);
5131
5132 }
5133
5134 // wxListCtrl::SetItem
wxListCtrl_SetItem_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5135 void wxListCtrl_SetItem_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5136 {
5137 ErlNifEnv *env = Ecmd.env;
5138 ERL_NIF_TERM * argv = Ecmd.args;
5139 wxListCtrl *This;
5140 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5141 wxListItem *info;
5142 info = (wxListItem *) memenv->getPtr(env, argv[1], "info");
5143 if(!This) throw wxe_badarg("This");
5144 bool Result = This->SetItem(*info);
5145 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5146 rt.send( rt.make_bool(Result));
5147
5148 }
5149
5150 // wxListCtrl::SetItem
wxListCtrl_SetItem_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5151 void wxListCtrl_SetItem_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5152 {
5153 int imageId=-1;
5154 ErlNifEnv *env = Ecmd.env;
5155 ERL_NIF_TERM * argv = Ecmd.args;
5156 wxListCtrl *This;
5157 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5158 long index;
5159 if(!enif_get_long(env, argv[1], &index)) Badarg("index");
5160 int column;
5161 if(!enif_get_int(env, argv[2], &column)) Badarg("column"); // int
5162 ErlNifBinary label_bin;
5163 wxString label;
5164 if(!enif_inspect_binary(env, argv[3], &label_bin)) Badarg("label");
5165 label = wxString(label_bin.data, wxConvUTF8, label_bin.size);
5166 ERL_NIF_TERM lstHead, lstTail;
5167 lstTail = argv[4];
5168 if(!enif_is_list(env, lstTail)) Badarg("Options");
5169 const ERL_NIF_TERM *tpl;
5170 int tpl_sz;
5171 while(!enif_is_empty_list(env, lstTail)) {
5172 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
5173 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
5174 if(enif_is_identical(tpl[0], enif_make_atom(env, "imageId"))) {
5175 if(!enif_get_int(env, tpl[1], &imageId)) Badarg("imageId"); // int
5176 } else Badarg("Options");
5177 };
5178 if(!This) throw wxe_badarg("This");
5179 bool Result = This->SetItem(index,column,label,imageId);
5180 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5181 rt.send( rt.make_bool(Result));
5182
5183 }
5184
5185 // wxListCtrl::SetItemBackgroundColour
wxListCtrl_SetItemBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5186 void wxListCtrl_SetItemBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5187 {
5188 ErlNifEnv *env = Ecmd.env;
5189 ERL_NIF_TERM * argv = Ecmd.args;
5190 wxListCtrl *This;
5191 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5192 long item;
5193 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5194 const ERL_NIF_TERM *col_t;
5195 int col_sz;
5196 if(!enif_get_tuple(env, argv[2], &col_sz, &col_t)) Badarg("col");
5197 int colR;
5198 if(!enif_get_int(env, col_t[0], &colR)) Badarg("col");
5199 int colG;
5200 if(!enif_get_int(env, col_t[1], &colG)) Badarg("col");
5201 int colB;
5202 if(!enif_get_int(env, col_t[2], &colB)) Badarg("col");
5203 int colA;
5204 if(!enif_get_int(env, col_t[3], &colA)) Badarg("col");
5205 wxColour col = wxColour(colR,colG,colB,colA);
5206 if(!This) throw wxe_badarg("This");
5207 This->SetItemBackgroundColour(item,col);
5208
5209 }
5210
5211 // wxListCtrl::SetItemCount
wxListCtrl_SetItemCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5212 void wxListCtrl_SetItemCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5213 {
5214 ErlNifEnv *env = Ecmd.env;
5215 ERL_NIF_TERM * argv = Ecmd.args;
5216 wxListCtrl *This;
5217 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5218 long count;
5219 if(!enif_get_long(env, argv[1], &count)) Badarg("count");
5220 if(!This) throw wxe_badarg("This");
5221 This->SetItemCount(count);
5222
5223 }
5224
5225 // wxListCtrl::SetItemData
wxListCtrl_SetItemData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5226 void wxListCtrl_SetItemData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5227 {
5228 ErlNifEnv *env = Ecmd.env;
5229 ERL_NIF_TERM * argv = Ecmd.args;
5230 wxListCtrl *This;
5231 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5232 long item;
5233 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5234 long data;
5235 if(!enif_get_long(env, argv[2], &data)) Badarg("data");
5236 if(!This) throw wxe_badarg("This");
5237 bool Result = This->SetItemData(item,data);
5238 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5239 rt.send( rt.make_bool(Result));
5240
5241 }
5242
5243 // wxListCtrl::SetItemFont
wxListCtrl_SetItemFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5244 void wxListCtrl_SetItemFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5245 {
5246 ErlNifEnv *env = Ecmd.env;
5247 ERL_NIF_TERM * argv = Ecmd.args;
5248 wxListCtrl *This;
5249 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5250 long item;
5251 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5252 wxFont *font;
5253 font = (wxFont *) memenv->getPtr(env, argv[2], "font");
5254 if(!This) throw wxe_badarg("This");
5255 This->SetItemFont(item,*font);
5256
5257 }
5258
5259 // wxListCtrl::SetItemImage
wxListCtrl_SetItemImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5260 void wxListCtrl_SetItemImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5261 {
5262 int selImage=-1;
5263 ErlNifEnv *env = Ecmd.env;
5264 ERL_NIF_TERM * argv = Ecmd.args;
5265 wxListCtrl *This;
5266 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5267 long item;
5268 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5269 int image;
5270 if(!enif_get_int(env, argv[2], &image)) Badarg("image"); // int
5271 ERL_NIF_TERM lstHead, lstTail;
5272 lstTail = argv[3];
5273 if(!enif_is_list(env, lstTail)) Badarg("Options");
5274 const ERL_NIF_TERM *tpl;
5275 int tpl_sz;
5276 while(!enif_is_empty_list(env, lstTail)) {
5277 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
5278 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
5279 if(enif_is_identical(tpl[0], enif_make_atom(env, "selImage"))) {
5280 if(!enif_get_int(env, tpl[1], &selImage)) Badarg("selImage"); // int
5281 } else Badarg("Options");
5282 };
5283 if(!This) throw wxe_badarg("This");
5284 bool Result = This->SetItemImage(item,image,selImage);
5285 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5286 rt.send( rt.make_bool(Result));
5287
5288 }
5289
5290 // wxListCtrl::SetItemColumnImage
wxListCtrl_SetItemColumnImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5291 void wxListCtrl_SetItemColumnImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5292 {
5293 ErlNifEnv *env = Ecmd.env;
5294 ERL_NIF_TERM * argv = Ecmd.args;
5295 wxListCtrl *This;
5296 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5297 long item;
5298 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5299 long column;
5300 if(!enif_get_long(env, argv[2], &column)) Badarg("column");
5301 int image;
5302 if(!enif_get_int(env, argv[3], &image)) Badarg("image"); // int
5303 if(!This) throw wxe_badarg("This");
5304 bool Result = This->SetItemColumnImage(item,column,image);
5305 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5306 rt.send( rt.make_bool(Result));
5307
5308 }
5309
5310 // wxListCtrl::SetItemPosition
wxListCtrl_SetItemPosition(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5311 void wxListCtrl_SetItemPosition(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5312 {
5313 ErlNifEnv *env = Ecmd.env;
5314 ERL_NIF_TERM * argv = Ecmd.args;
5315 wxListCtrl *This;
5316 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5317 long item;
5318 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5319 const ERL_NIF_TERM *pos_t;
5320 int pos_sz;
5321 if(!enif_get_tuple(env, argv[2], &pos_sz, &pos_t)) Badarg("pos");
5322 int posX;
5323 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
5324 int posY;
5325 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
5326 wxPoint pos = wxPoint(posX,posY);
5327 if(!This) throw wxe_badarg("This");
5328 bool Result = This->SetItemPosition(item,pos);
5329 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5330 rt.send( rt.make_bool(Result));
5331
5332 }
5333
5334 // wxListCtrl::SetItemState
wxListCtrl_SetItemState(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5335 void wxListCtrl_SetItemState(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5336 {
5337 ErlNifEnv *env = Ecmd.env;
5338 ERL_NIF_TERM * argv = Ecmd.args;
5339 wxListCtrl *This;
5340 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5341 long item;
5342 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5343 long state;
5344 if(!enif_get_long(env, argv[2], &state)) Badarg("state");
5345 long stateMask;
5346 if(!enif_get_long(env, argv[3], &stateMask)) Badarg("stateMask");
5347 if(!This) throw wxe_badarg("This");
5348 bool Result = This->SetItemState(item,state,stateMask);
5349 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5350 rt.send( rt.make_bool(Result));
5351
5352 }
5353
5354 // wxListCtrl::SetItemText
wxListCtrl_SetItemText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5355 void wxListCtrl_SetItemText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5356 {
5357 ErlNifEnv *env = Ecmd.env;
5358 ERL_NIF_TERM * argv = Ecmd.args;
5359 wxListCtrl *This;
5360 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5361 long item;
5362 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5363 ErlNifBinary text_bin;
5364 wxString text;
5365 if(!enif_inspect_binary(env, argv[2], &text_bin)) Badarg("text");
5366 text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
5367 if(!This) throw wxe_badarg("This");
5368 This->SetItemText(item,text);
5369
5370 }
5371
5372 // wxListCtrl::SetItemTextColour
wxListCtrl_SetItemTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5373 void wxListCtrl_SetItemTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5374 {
5375 ErlNifEnv *env = Ecmd.env;
5376 ERL_NIF_TERM * argv = Ecmd.args;
5377 wxListCtrl *This;
5378 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5379 long item;
5380 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
5381 const ERL_NIF_TERM *col_t;
5382 int col_sz;
5383 if(!enif_get_tuple(env, argv[2], &col_sz, &col_t)) Badarg("col");
5384 int colR;
5385 if(!enif_get_int(env, col_t[0], &colR)) Badarg("col");
5386 int colG;
5387 if(!enif_get_int(env, col_t[1], &colG)) Badarg("col");
5388 int colB;
5389 if(!enif_get_int(env, col_t[2], &colB)) Badarg("col");
5390 int colA;
5391 if(!enif_get_int(env, col_t[3], &colA)) Badarg("col");
5392 wxColour col = wxColour(colR,colG,colB,colA);
5393 if(!This) throw wxe_badarg("This");
5394 This->SetItemTextColour(item,col);
5395
5396 }
5397
5398 // wxListCtrl::SetSingleStyle
wxListCtrl_SetSingleStyle(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5399 void wxListCtrl_SetSingleStyle(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5400 {
5401 bool add=true;
5402 ErlNifEnv *env = Ecmd.env;
5403 ERL_NIF_TERM * argv = Ecmd.args;
5404 wxListCtrl *This;
5405 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5406 long style;
5407 if(!enif_get_long(env, argv[1], &style)) Badarg("style");
5408 ERL_NIF_TERM lstHead, lstTail;
5409 lstTail = argv[2];
5410 if(!enif_is_list(env, lstTail)) Badarg("Options");
5411 const ERL_NIF_TERM *tpl;
5412 int tpl_sz;
5413 while(!enif_is_empty_list(env, lstTail)) {
5414 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
5415 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
5416 if(enif_is_identical(tpl[0], enif_make_atom(env, "add"))) {
5417 add = enif_is_identical(tpl[1], WXE_ATOM_true);
5418 } else Badarg("Options");
5419 };
5420 if(!This) throw wxe_badarg("This");
5421 This->SetSingleStyle(style,add);
5422
5423 }
5424
5425 // wxListCtrl::SetTextColour
wxListCtrl_SetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5426 void wxListCtrl_SetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5427 {
5428 ErlNifEnv *env = Ecmd.env;
5429 ERL_NIF_TERM * argv = Ecmd.args;
5430 wxListCtrl *This;
5431 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5432 const ERL_NIF_TERM *col_t;
5433 int col_sz;
5434 if(!enif_get_tuple(env, argv[1], &col_sz, &col_t)) Badarg("col");
5435 int colR;
5436 if(!enif_get_int(env, col_t[0], &colR)) Badarg("col");
5437 int colG;
5438 if(!enif_get_int(env, col_t[1], &colG)) Badarg("col");
5439 int colB;
5440 if(!enif_get_int(env, col_t[2], &colB)) Badarg("col");
5441 int colA;
5442 if(!enif_get_int(env, col_t[3], &colA)) Badarg("col");
5443 wxColour col = wxColour(colR,colG,colB,colA);
5444 if(!This) throw wxe_badarg("This");
5445 This->SetTextColour(col);
5446
5447 }
5448
5449 // wxListCtrl::SetWindowStyleFlag
wxListCtrl_SetWindowStyleFlag(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5450 void wxListCtrl_SetWindowStyleFlag(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5451 {
5452 ErlNifEnv *env = Ecmd.env;
5453 ERL_NIF_TERM * argv = Ecmd.args;
5454 wxListCtrl *This;
5455 This = (wxListCtrl *) memenv->getPtr(env, argv[0], "This");
5456 long style;
5457 if(!enif_get_long(env, argv[1], &style)) Badarg("style");
5458 if(!This) throw wxe_badarg("This");
5459 This->SetWindowStyleFlag(style);
5460
5461 }
5462
5463
wxListCtrl_SortItems(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5464 void wxListCtrl_SortItems(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5465 {
5466 ErlNifEnv *env = Ecmd.env;
5467 ERL_NIF_TERM * argv = Ecmd.args;
5468 EwxListCtrl *This;
5469 This = (EwxListCtrl *) memenv->getPtr(env, argv[0], "This");
5470 // wxListCtrlCompare *fn;
5471 // fn = (wxListCtrlCompare *) memenv->getPtr(env, argv[1]);
5472 callbackInfo cb = callbackInfo();
5473 cb.me_ref = memenv->me_ref;
5474 if(!enif_get_int(env, argv[1], &cb.callbackID)) Badarg("CallBack");
5475 // long data;
5476 // if(!enif_get_long(env, argv[2], &data)) Badarg("data");
5477 if(!This) throw wxe_badarg(0);
5478 bool Result = This->SortItems(wxEListCtrlCompare, (wxeIntPtr) &cb);
5479 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5480 rt.send( rt.make_bool(Result));
5481 wxeReturn rt2 = wxeReturn(memenv, memenv->owner, false);
5482 rt2.send( enif_make_tuple2(rt2.env,
5483 rt2.make_atom("wx_delete_cb"),
5484 rt2.make_int(cb.callbackID)));
5485 }
5486
5487 // wxListEvent::GetCacheFrom
wxListEvent_GetCacheFrom(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5488 void wxListEvent_GetCacheFrom(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5489 {
5490 ErlNifEnv *env = Ecmd.env;
5491 ERL_NIF_TERM * argv = Ecmd.args;
5492 wxListEvent *This;
5493 This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5494 if(!This) throw wxe_badarg("This");
5495 long Result = This->GetCacheFrom();
5496 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5497 rt.send( rt.make_int(Result));
5498
5499 }
5500
5501 // wxListEvent::GetCacheTo
wxListEvent_GetCacheTo(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5502 void wxListEvent_GetCacheTo(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5503 {
5504 ErlNifEnv *env = Ecmd.env;
5505 ERL_NIF_TERM * argv = Ecmd.args;
5506 wxListEvent *This;
5507 This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5508 if(!This) throw wxe_badarg("This");
5509 long Result = This->GetCacheTo();
5510 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5511 rt.send( rt.make_int(Result));
5512
5513 }
5514
5515 // wxListEvent::GetKeyCode
wxListEvent_GetKeyCode(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5516 void wxListEvent_GetKeyCode(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5517 {
5518 ErlNifEnv *env = Ecmd.env;
5519 ERL_NIF_TERM * argv = Ecmd.args;
5520 wxListEvent *This;
5521 This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5522 if(!This) throw wxe_badarg("This");
5523 int Result = This->GetKeyCode();
5524 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5525 rt.send( rt.make_int(Result));
5526
5527 }
5528
5529 // wxListEvent::GetIndex
wxListEvent_GetIndex(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5530 void wxListEvent_GetIndex(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5531 {
5532 ErlNifEnv *env = Ecmd.env;
5533 ERL_NIF_TERM * argv = Ecmd.args;
5534 wxListEvent *This;
5535 This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5536 if(!This) throw wxe_badarg("This");
5537 long Result = This->GetIndex();
5538 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5539 rt.send( rt.make_int(Result));
5540
5541 }
5542
5543 // wxListEvent::GetColumn
wxListEvent_GetColumn(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5544 void wxListEvent_GetColumn(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5545 {
5546 ErlNifEnv *env = Ecmd.env;
5547 ERL_NIF_TERM * argv = Ecmd.args;
5548 wxListEvent *This;
5549 This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5550 if(!This) throw wxe_badarg("This");
5551 int Result = This->GetColumn();
5552 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5553 rt.send( rt.make_int(Result));
5554
5555 }
5556
5557 // wxListEvent::GetPoint
wxListEvent_GetPoint(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5558 void wxListEvent_GetPoint(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5559 {
5560 ErlNifEnv *env = Ecmd.env;
5561 ERL_NIF_TERM * argv = Ecmd.args;
5562 wxListEvent *This;
5563 This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5564 if(!This) throw wxe_badarg("This");
5565 wxPoint Result = This->GetPoint();
5566 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5567 rt.send( rt.make(Result));
5568
5569 }
5570
5571 // wxListEvent::GetLabel
wxListEvent_GetLabel(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5572 void wxListEvent_GetLabel(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5573 {
5574 ErlNifEnv *env = Ecmd.env;
5575 ERL_NIF_TERM * argv = Ecmd.args;
5576 wxListEvent *This;
5577 This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5578 if(!This) throw wxe_badarg("This");
5579 const wxString Result = This->GetLabel();
5580 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5581 rt.send( rt.make(Result));
5582
5583 }
5584
5585 // wxListEvent::GetText
wxListEvent_GetText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5586 void wxListEvent_GetText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5587 {
5588 ErlNifEnv *env = Ecmd.env;
5589 ERL_NIF_TERM * argv = Ecmd.args;
5590 wxListEvent *This;
5591 This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5592 if(!This) throw wxe_badarg("This");
5593 const wxString Result = This->GetText();
5594 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5595 rt.send( rt.make(Result));
5596
5597 }
5598
5599 // wxListEvent::GetImage
wxListEvent_GetImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5600 void wxListEvent_GetImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5601 {
5602 ErlNifEnv *env = Ecmd.env;
5603 ERL_NIF_TERM * argv = Ecmd.args;
5604 wxListEvent *This;
5605 This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5606 if(!This) throw wxe_badarg("This");
5607 int Result = This->GetImage();
5608 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5609 rt.send( rt.make_int(Result));
5610
5611 }
5612
5613 // wxListEvent::GetData
wxListEvent_GetData(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5614 void wxListEvent_GetData(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5615 {
5616 ErlNifEnv *env = Ecmd.env;
5617 ERL_NIF_TERM * argv = Ecmd.args;
5618 wxListEvent *This;
5619 This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5620 if(!This) throw wxe_badarg("This");
5621 wxUIntPtr Result = This->GetData();
5622 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5623 rt.send( rt.make_int(Result));
5624
5625 }
5626
5627 // wxListEvent::GetMask
wxListEvent_GetMask(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5628 void wxListEvent_GetMask(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5629 {
5630 ErlNifEnv *env = Ecmd.env;
5631 ERL_NIF_TERM * argv = Ecmd.args;
5632 wxListEvent *This;
5633 This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5634 if(!This) throw wxe_badarg("This");
5635 long Result = This->GetMask();
5636 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5637 rt.send( rt.make_int(Result));
5638
5639 }
5640
5641 // wxListEvent::GetItem
wxListEvent_GetItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5642 void wxListEvent_GetItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5643 {
5644 ErlNifEnv *env = Ecmd.env;
5645 ERL_NIF_TERM * argv = Ecmd.args;
5646 wxListEvent *This;
5647 This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5648 if(!This) throw wxe_badarg("This");
5649 const wxListItem * Result = &This->GetItem();
5650 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5651 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxListItem"));
5652
5653 }
5654
5655 // wxListEvent::IsEditCancelled
wxListEvent_IsEditCancelled(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5656 void wxListEvent_IsEditCancelled(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5657 {
5658 ErlNifEnv *env = Ecmd.env;
5659 ERL_NIF_TERM * argv = Ecmd.args;
5660 wxListEvent *This;
5661 This = (wxListEvent *) memenv->getPtr(env, argv[0], "This");
5662 if(!This) throw wxe_badarg("This");
5663 bool Result = This->IsEditCancelled();
5664 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5665 rt.send( rt.make_bool(Result));
5666
5667 }
5668
5669 // wxListItem::wxListItem
wxListItem_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5670 void wxListItem_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5671 {
5672 wxListItem * Result = new EwxListItem();
5673 app->newPtr((void *) Result, 1, memenv);
5674 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5675 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxListItem"));
5676
5677 }
5678
5679 // wxListItem::wxListItem
wxListItem_new_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5680 void wxListItem_new_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5681 {
5682 ErlNifEnv *env = Ecmd.env;
5683 ERL_NIF_TERM * argv = Ecmd.args;
5684 wxListItem *item;
5685 item = (wxListItem *) memenv->getPtr(env, argv[0], "item");
5686 wxListItem * Result = new EwxListItem(*item);
5687 app->newPtr((void *) Result, 1, memenv);
5688 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5689 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxListItem"));
5690
5691 }
5692
5693 // wxListItem::Clear
wxListItem_Clear(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5694 void wxListItem_Clear(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5695 {
5696 ErlNifEnv *env = Ecmd.env;
5697 ERL_NIF_TERM * argv = Ecmd.args;
5698 wxListItem *This;
5699 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5700 if(!This) throw wxe_badarg("This");
5701 This->Clear();
5702
5703 }
5704
5705 // wxListItem::GetAlign
wxListItem_GetAlign(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5706 void wxListItem_GetAlign(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5707 {
5708 ErlNifEnv *env = Ecmd.env;
5709 ERL_NIF_TERM * argv = Ecmd.args;
5710 wxListItem *This;
5711 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5712 if(!This) throw wxe_badarg("This");
5713 int Result = This->GetAlign();
5714 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5715 rt.send( rt.make_int(Result));
5716
5717 }
5718
5719 // wxListItem::GetBackgroundColour
wxListItem_GetBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5720 void wxListItem_GetBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5721 {
5722 ErlNifEnv *env = Ecmd.env;
5723 ERL_NIF_TERM * argv = Ecmd.args;
5724 wxListItem *This;
5725 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5726 if(!This) throw wxe_badarg("This");
5727 wxColour Result = This->GetBackgroundColour();
5728 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5729 rt.send( rt.make(Result));
5730
5731 }
5732
5733 // wxListItem::GetColumn
wxListItem_GetColumn(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5734 void wxListItem_GetColumn(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5735 {
5736 ErlNifEnv *env = Ecmd.env;
5737 ERL_NIF_TERM * argv = Ecmd.args;
5738 wxListItem *This;
5739 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5740 if(!This) throw wxe_badarg("This");
5741 int Result = This->GetColumn();
5742 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5743 rt.send( rt.make_int(Result));
5744
5745 }
5746
5747 // wxListItem::GetFont
wxListItem_GetFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5748 void wxListItem_GetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5749 {
5750 ErlNifEnv *env = Ecmd.env;
5751 ERL_NIF_TERM * argv = Ecmd.args;
5752 wxListItem *This;
5753 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5754 if(!This) throw wxe_badarg("This");
5755 wxFont * Result = new wxFont(This->GetFont()); app->newPtr((void *) Result,3, memenv);;
5756 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5757 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxFont"));
5758
5759 }
5760
5761 // wxListItem::GetId
wxListItem_GetId(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5762 void wxListItem_GetId(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5763 {
5764 ErlNifEnv *env = Ecmd.env;
5765 ERL_NIF_TERM * argv = Ecmd.args;
5766 wxListItem *This;
5767 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5768 if(!This) throw wxe_badarg("This");
5769 long Result = This->GetId();
5770 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5771 rt.send( rt.make_int(Result));
5772
5773 }
5774
5775 // wxListItem::GetImage
wxListItem_GetImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5776 void wxListItem_GetImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5777 {
5778 ErlNifEnv *env = Ecmd.env;
5779 ERL_NIF_TERM * argv = Ecmd.args;
5780 wxListItem *This;
5781 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5782 if(!This) throw wxe_badarg("This");
5783 int Result = This->GetImage();
5784 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5785 rt.send( rt.make_int(Result));
5786
5787 }
5788
5789 // wxListItem::GetMask
wxListItem_GetMask(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5790 void wxListItem_GetMask(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5791 {
5792 ErlNifEnv *env = Ecmd.env;
5793 ERL_NIF_TERM * argv = Ecmd.args;
5794 wxListItem *This;
5795 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5796 if(!This) throw wxe_badarg("This");
5797 long Result = This->GetMask();
5798 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5799 rt.send( rt.make_int(Result));
5800
5801 }
5802
5803 // wxListItem::GetState
wxListItem_GetState(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5804 void wxListItem_GetState(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5805 {
5806 ErlNifEnv *env = Ecmd.env;
5807 ERL_NIF_TERM * argv = Ecmd.args;
5808 wxListItem *This;
5809 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5810 if(!This) throw wxe_badarg("This");
5811 long Result = This->GetState();
5812 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5813 rt.send( rt.make_int(Result));
5814
5815 }
5816
5817 // wxListItem::GetText
wxListItem_GetText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5818 void wxListItem_GetText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5819 {
5820 ErlNifEnv *env = Ecmd.env;
5821 ERL_NIF_TERM * argv = Ecmd.args;
5822 wxListItem *This;
5823 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5824 if(!This) throw wxe_badarg("This");
5825 const wxString Result = This->GetText();
5826 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5827 rt.send( rt.make(Result));
5828
5829 }
5830
5831 // wxListItem::GetTextColour
wxListItem_GetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5832 void wxListItem_GetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5833 {
5834 ErlNifEnv *env = Ecmd.env;
5835 ERL_NIF_TERM * argv = Ecmd.args;
5836 wxListItem *This;
5837 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5838 if(!This) throw wxe_badarg("This");
5839 wxColour Result = This->GetTextColour();
5840 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5841 rt.send( rt.make(Result));
5842
5843 }
5844
5845 // wxListItem::GetWidth
wxListItem_GetWidth(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5846 void wxListItem_GetWidth(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5847 {
5848 ErlNifEnv *env = Ecmd.env;
5849 ERL_NIF_TERM * argv = Ecmd.args;
5850 wxListItem *This;
5851 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5852 if(!This) throw wxe_badarg("This");
5853 int Result = This->GetWidth();
5854 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
5855 rt.send( rt.make_int(Result));
5856
5857 }
5858
5859 // wxListItem::SetAlign
wxListItem_SetAlign(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5860 void wxListItem_SetAlign(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5861 {
5862 ErlNifEnv *env = Ecmd.env;
5863 ERL_NIF_TERM * argv = Ecmd.args;
5864 wxListItem *This;
5865 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5866 wxListColumnFormat align;
5867 if(!enif_get_int(env, argv[1], (int *) &align)) Badarg("align"); // enum
5868 if(!This) throw wxe_badarg("This");
5869 This->SetAlign(align);
5870
5871 }
5872
5873 // wxListItem::SetBackgroundColour
wxListItem_SetBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5874 void wxListItem_SetBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5875 {
5876 ErlNifEnv *env = Ecmd.env;
5877 ERL_NIF_TERM * argv = Ecmd.args;
5878 wxListItem *This;
5879 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5880 const ERL_NIF_TERM *colBack_t;
5881 int colBack_sz;
5882 if(!enif_get_tuple(env, argv[1], &colBack_sz, &colBack_t)) Badarg("colBack");
5883 int colBackR;
5884 if(!enif_get_int(env, colBack_t[0], &colBackR)) Badarg("colBack");
5885 int colBackG;
5886 if(!enif_get_int(env, colBack_t[1], &colBackG)) Badarg("colBack");
5887 int colBackB;
5888 if(!enif_get_int(env, colBack_t[2], &colBackB)) Badarg("colBack");
5889 int colBackA;
5890 if(!enif_get_int(env, colBack_t[3], &colBackA)) Badarg("colBack");
5891 wxColour colBack = wxColour(colBackR,colBackG,colBackB,colBackA);
5892 if(!This) throw wxe_badarg("This");
5893 This->SetBackgroundColour(colBack);
5894
5895 }
5896
5897 // wxListItem::SetColumn
wxListItem_SetColumn(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5898 void wxListItem_SetColumn(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5899 {
5900 ErlNifEnv *env = Ecmd.env;
5901 ERL_NIF_TERM * argv = Ecmd.args;
5902 wxListItem *This;
5903 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5904 int col;
5905 if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
5906 if(!This) throw wxe_badarg("This");
5907 This->SetColumn(col);
5908
5909 }
5910
5911 // wxListItem::SetFont
wxListItem_SetFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5912 void wxListItem_SetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5913 {
5914 ErlNifEnv *env = Ecmd.env;
5915 ERL_NIF_TERM * argv = Ecmd.args;
5916 wxListItem *This;
5917 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5918 wxFont *font;
5919 font = (wxFont *) memenv->getPtr(env, argv[1], "font");
5920 if(!This) throw wxe_badarg("This");
5921 This->SetFont(*font);
5922
5923 }
5924
5925 // wxListItem::SetId
wxListItem_SetId(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5926 void wxListItem_SetId(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5927 {
5928 ErlNifEnv *env = Ecmd.env;
5929 ERL_NIF_TERM * argv = Ecmd.args;
5930 wxListItem *This;
5931 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5932 long id;
5933 if(!enif_get_long(env, argv[1], &id)) Badarg("id");
5934 if(!This) throw wxe_badarg("This");
5935 This->SetId(id);
5936
5937 }
5938
5939 // wxListItem::SetImage
wxListItem_SetImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5940 void wxListItem_SetImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5941 {
5942 ErlNifEnv *env = Ecmd.env;
5943 ERL_NIF_TERM * argv = Ecmd.args;
5944 wxListItem *This;
5945 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5946 int image;
5947 if(!enif_get_int(env, argv[1], &image)) Badarg("image"); // int
5948 if(!This) throw wxe_badarg("This");
5949 This->SetImage(image);
5950
5951 }
5952
5953 // wxListItem::SetMask
wxListItem_SetMask(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5954 void wxListItem_SetMask(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5955 {
5956 ErlNifEnv *env = Ecmd.env;
5957 ERL_NIF_TERM * argv = Ecmd.args;
5958 wxListItem *This;
5959 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5960 long mask;
5961 if(!enif_get_long(env, argv[1], &mask)) Badarg("mask");
5962 if(!This) throw wxe_badarg("This");
5963 This->SetMask(mask);
5964
5965 }
5966
5967 // wxListItem::SetState
wxListItem_SetState(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5968 void wxListItem_SetState(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5969 {
5970 ErlNifEnv *env = Ecmd.env;
5971 ERL_NIF_TERM * argv = Ecmd.args;
5972 wxListItem *This;
5973 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5974 long state;
5975 if(!enif_get_long(env, argv[1], &state)) Badarg("state");
5976 if(!This) throw wxe_badarg("This");
5977 This->SetState(state);
5978
5979 }
5980
5981 // wxListItem::SetStateMask
wxListItem_SetStateMask(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5982 void wxListItem_SetStateMask(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5983 {
5984 ErlNifEnv *env = Ecmd.env;
5985 ERL_NIF_TERM * argv = Ecmd.args;
5986 wxListItem *This;
5987 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
5988 long stateMask;
5989 if(!enif_get_long(env, argv[1], &stateMask)) Badarg("stateMask");
5990 if(!This) throw wxe_badarg("This");
5991 This->SetStateMask(stateMask);
5992
5993 }
5994
5995 // wxListItem::SetText
wxListItem_SetText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)5996 void wxListItem_SetText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
5997 {
5998 ErlNifEnv *env = Ecmd.env;
5999 ERL_NIF_TERM * argv = Ecmd.args;
6000 wxListItem *This;
6001 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
6002 ErlNifBinary text_bin;
6003 wxString text;
6004 if(!enif_inspect_binary(env, argv[1], &text_bin)) Badarg("text");
6005 text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
6006 if(!This) throw wxe_badarg("This");
6007 This->SetText(text);
6008
6009 }
6010
6011 // wxListItem::SetTextColour
wxListItem_SetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6012 void wxListItem_SetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6013 {
6014 ErlNifEnv *env = Ecmd.env;
6015 ERL_NIF_TERM * argv = Ecmd.args;
6016 wxListItem *This;
6017 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
6018 const ERL_NIF_TERM *colText_t;
6019 int colText_sz;
6020 if(!enif_get_tuple(env, argv[1], &colText_sz, &colText_t)) Badarg("colText");
6021 int colTextR;
6022 if(!enif_get_int(env, colText_t[0], &colTextR)) Badarg("colText");
6023 int colTextG;
6024 if(!enif_get_int(env, colText_t[1], &colTextG)) Badarg("colText");
6025 int colTextB;
6026 if(!enif_get_int(env, colText_t[2], &colTextB)) Badarg("colText");
6027 int colTextA;
6028 if(!enif_get_int(env, colText_t[3], &colTextA)) Badarg("colText");
6029 wxColour colText = wxColour(colTextR,colTextG,colTextB,colTextA);
6030 if(!This) throw wxe_badarg("This");
6031 This->SetTextColour(colText);
6032
6033 }
6034
6035 // wxListItem::SetWidth
wxListItem_SetWidth(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6036 void wxListItem_SetWidth(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6037 {
6038 ErlNifEnv *env = Ecmd.env;
6039 ERL_NIF_TERM * argv = Ecmd.args;
6040 wxListItem *This;
6041 This = (wxListItem *) memenv->getPtr(env, argv[0], "This");
6042 int width;
6043 if(!enif_get_int(env, argv[1], &width)) Badarg("width"); // int
6044 if(!This) throw wxe_badarg("This");
6045 This->SetWidth(width);
6046
6047 }
6048
6049 // wxListItemAttr::wxListItemAttr
wxListItemAttr_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6050 void wxListItemAttr_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6051 {
6052 wxListItemAttr * Result = new wxListItemAttr();
6053 app->newPtr((void *) Result, 102, memenv);
6054 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6055 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxListItemAttr"));
6056
6057 }
6058
6059 // wxListItemAttr::wxListItemAttr
wxListItemAttr_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6060 void wxListItemAttr_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6061 {
6062 ErlNifEnv *env = Ecmd.env;
6063 ERL_NIF_TERM * argv = Ecmd.args;
6064 const ERL_NIF_TERM *colText_t;
6065 int colText_sz;
6066 if(!enif_get_tuple(env, argv[0], &colText_sz, &colText_t)) Badarg("colText");
6067 int colTextR;
6068 if(!enif_get_int(env, colText_t[0], &colTextR)) Badarg("colText");
6069 int colTextG;
6070 if(!enif_get_int(env, colText_t[1], &colTextG)) Badarg("colText");
6071 int colTextB;
6072 if(!enif_get_int(env, colText_t[2], &colTextB)) Badarg("colText");
6073 int colTextA;
6074 if(!enif_get_int(env, colText_t[3], &colTextA)) Badarg("colText");
6075 wxColour colText = wxColour(colTextR,colTextG,colTextB,colTextA);
6076 const ERL_NIF_TERM *colBack_t;
6077 int colBack_sz;
6078 if(!enif_get_tuple(env, argv[1], &colBack_sz, &colBack_t)) Badarg("colBack");
6079 int colBackR;
6080 if(!enif_get_int(env, colBack_t[0], &colBackR)) Badarg("colBack");
6081 int colBackG;
6082 if(!enif_get_int(env, colBack_t[1], &colBackG)) Badarg("colBack");
6083 int colBackB;
6084 if(!enif_get_int(env, colBack_t[2], &colBackB)) Badarg("colBack");
6085 int colBackA;
6086 if(!enif_get_int(env, colBack_t[3], &colBackA)) Badarg("colBack");
6087 wxColour colBack = wxColour(colBackR,colBackG,colBackB,colBackA);
6088 wxFont *font;
6089 font = (wxFont *) memenv->getPtr(env, argv[2], "font");
6090 wxListItemAttr * Result = new wxListItemAttr(colText,colBack,*font);
6091 app->newPtr((void *) Result, 102, memenv);
6092 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6093 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxListItemAttr"));
6094
6095 }
6096
6097 // wxListItemAttr::GetBackgroundColour
wxListItemAttr_GetBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6098 void wxListItemAttr_GetBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6099 {
6100 ErlNifEnv *env = Ecmd.env;
6101 ERL_NIF_TERM * argv = Ecmd.args;
6102 wxListItemAttr *This;
6103 This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6104 if(!This) throw wxe_badarg("This");
6105 const wxColour * Result = &This->GetBackgroundColour();
6106 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6107 rt.send( rt.make((*Result)));
6108
6109 }
6110
6111 // wxListItemAttr::GetFont
wxListItemAttr_GetFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6112 void wxListItemAttr_GetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6113 {
6114 ErlNifEnv *env = Ecmd.env;
6115 ERL_NIF_TERM * argv = Ecmd.args;
6116 wxListItemAttr *This;
6117 This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6118 if(!This) throw wxe_badarg("This");
6119 const wxFont * Result = &This->GetFont();
6120 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6121 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxFont"));
6122
6123 }
6124
6125 // wxListItemAttr::GetTextColour
wxListItemAttr_GetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6126 void wxListItemAttr_GetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6127 {
6128 ErlNifEnv *env = Ecmd.env;
6129 ERL_NIF_TERM * argv = Ecmd.args;
6130 wxListItemAttr *This;
6131 This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6132 if(!This) throw wxe_badarg("This");
6133 const wxColour * Result = &This->GetTextColour();
6134 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6135 rt.send( rt.make((*Result)));
6136
6137 }
6138
6139 // wxListItemAttr::HasBackgroundColour
wxListItemAttr_HasBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6140 void wxListItemAttr_HasBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6141 {
6142 ErlNifEnv *env = Ecmd.env;
6143 ERL_NIF_TERM * argv = Ecmd.args;
6144 wxListItemAttr *This;
6145 This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6146 if(!This) throw wxe_badarg("This");
6147 bool Result = This->HasBackgroundColour();
6148 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6149 rt.send( rt.make_bool(Result));
6150
6151 }
6152
6153 // wxListItemAttr::HasFont
wxListItemAttr_HasFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6154 void wxListItemAttr_HasFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6155 {
6156 ErlNifEnv *env = Ecmd.env;
6157 ERL_NIF_TERM * argv = Ecmd.args;
6158 wxListItemAttr *This;
6159 This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6160 if(!This) throw wxe_badarg("This");
6161 bool Result = This->HasFont();
6162 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6163 rt.send( rt.make_bool(Result));
6164
6165 }
6166
6167 // wxListItemAttr::HasTextColour
wxListItemAttr_HasTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6168 void wxListItemAttr_HasTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6169 {
6170 ErlNifEnv *env = Ecmd.env;
6171 ERL_NIF_TERM * argv = Ecmd.args;
6172 wxListItemAttr *This;
6173 This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6174 if(!This) throw wxe_badarg("This");
6175 bool Result = This->HasTextColour();
6176 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6177 rt.send( rt.make_bool(Result));
6178
6179 }
6180
6181 // wxListItemAttr::SetBackgroundColour
wxListItemAttr_SetBackgroundColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6182 void wxListItemAttr_SetBackgroundColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6183 {
6184 ErlNifEnv *env = Ecmd.env;
6185 ERL_NIF_TERM * argv = Ecmd.args;
6186 wxListItemAttr *This;
6187 This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6188 const ERL_NIF_TERM *colBack_t;
6189 int colBack_sz;
6190 if(!enif_get_tuple(env, argv[1], &colBack_sz, &colBack_t)) Badarg("colBack");
6191 int colBackR;
6192 if(!enif_get_int(env, colBack_t[0], &colBackR)) Badarg("colBack");
6193 int colBackG;
6194 if(!enif_get_int(env, colBack_t[1], &colBackG)) Badarg("colBack");
6195 int colBackB;
6196 if(!enif_get_int(env, colBack_t[2], &colBackB)) Badarg("colBack");
6197 int colBackA;
6198 if(!enif_get_int(env, colBack_t[3], &colBackA)) Badarg("colBack");
6199 wxColour colBack = wxColour(colBackR,colBackG,colBackB,colBackA);
6200 if(!This) throw wxe_badarg("This");
6201 This->SetBackgroundColour(colBack);
6202
6203 }
6204
6205 // wxListItemAttr::SetFont
wxListItemAttr_SetFont(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6206 void wxListItemAttr_SetFont(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6207 {
6208 ErlNifEnv *env = Ecmd.env;
6209 ERL_NIF_TERM * argv = Ecmd.args;
6210 wxListItemAttr *This;
6211 This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6212 wxFont *font;
6213 font = (wxFont *) memenv->getPtr(env, argv[1], "font");
6214 if(!This) throw wxe_badarg("This");
6215 This->SetFont(*font);
6216
6217 }
6218
6219 // wxListItemAttr::SetTextColour
wxListItemAttr_SetTextColour(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6220 void wxListItemAttr_SetTextColour(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6221 {
6222 ErlNifEnv *env = Ecmd.env;
6223 ERL_NIF_TERM * argv = Ecmd.args;
6224 wxListItemAttr *This;
6225 This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6226 const ERL_NIF_TERM *colText_t;
6227 int colText_sz;
6228 if(!enif_get_tuple(env, argv[1], &colText_sz, &colText_t)) Badarg("colText");
6229 int colTextR;
6230 if(!enif_get_int(env, colText_t[0], &colTextR)) Badarg("colText");
6231 int colTextG;
6232 if(!enif_get_int(env, colText_t[1], &colTextG)) Badarg("colText");
6233 int colTextB;
6234 if(!enif_get_int(env, colText_t[2], &colTextB)) Badarg("colText");
6235 int colTextA;
6236 if(!enif_get_int(env, colText_t[3], &colTextA)) Badarg("colText");
6237 wxColour colText = wxColour(colTextR,colTextG,colTextB,colTextA);
6238 if(!This) throw wxe_badarg("This");
6239 This->SetTextColour(colText);
6240
6241 }
6242
6243 // wxListItemAttr::destroy
wxListItemAttr_destroy(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6244 void wxListItemAttr_destroy(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6245 {
6246 ErlNifEnv *env = Ecmd.env;
6247 ERL_NIF_TERM * argv = Ecmd.args;
6248 wxListItemAttr *This;
6249 This = (wxListItemAttr *) memenv->getPtr(env, argv[0], "This");
6250 if(This) { ((WxeApp *) wxTheApp)->clearPtr((void *) This);
6251 delete This;}
6252 }
6253
6254 // wxListView::ClearColumnImage
wxListView_ClearColumnImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6255 void wxListView_ClearColumnImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6256 {
6257 ErlNifEnv *env = Ecmd.env;
6258 ERL_NIF_TERM * argv = Ecmd.args;
6259 wxListView *This;
6260 This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6261 int col;
6262 if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
6263 if(!This) throw wxe_badarg("This");
6264 This->ClearColumnImage(col);
6265
6266 }
6267
6268 // wxListView::Focus
wxListView_Focus(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6269 void wxListView_Focus(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6270 {
6271 ErlNifEnv *env = Ecmd.env;
6272 ERL_NIF_TERM * argv = Ecmd.args;
6273 wxListView *This;
6274 This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6275 long index;
6276 if(!enif_get_long(env, argv[1], &index)) Badarg("index");
6277 if(!This) throw wxe_badarg("This");
6278 This->Focus(index);
6279
6280 }
6281
6282 // wxListView::GetFirstSelected
wxListView_GetFirstSelected(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6283 void wxListView_GetFirstSelected(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6284 {
6285 ErlNifEnv *env = Ecmd.env;
6286 ERL_NIF_TERM * argv = Ecmd.args;
6287 wxListView *This;
6288 This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6289 if(!This) throw wxe_badarg("This");
6290 long Result = This->GetFirstSelected();
6291 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6292 rt.send( rt.make_int(Result));
6293
6294 }
6295
6296 // wxListView::GetFocusedItem
wxListView_GetFocusedItem(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6297 void wxListView_GetFocusedItem(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6298 {
6299 ErlNifEnv *env = Ecmd.env;
6300 ERL_NIF_TERM * argv = Ecmd.args;
6301 wxListView *This;
6302 This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6303 if(!This) throw wxe_badarg("This");
6304 long Result = This->GetFocusedItem();
6305 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6306 rt.send( rt.make_int(Result));
6307
6308 }
6309
6310 // wxListView::GetNextSelected
wxListView_GetNextSelected(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6311 void wxListView_GetNextSelected(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6312 {
6313 ErlNifEnv *env = Ecmd.env;
6314 ERL_NIF_TERM * argv = Ecmd.args;
6315 wxListView *This;
6316 This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6317 long item;
6318 if(!enif_get_long(env, argv[1], &item)) Badarg("item");
6319 if(!This) throw wxe_badarg("This");
6320 long Result = This->GetNextSelected(item);
6321 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6322 rt.send( rt.make_int(Result));
6323
6324 }
6325
6326 // wxListView::IsSelected
wxListView_IsSelected(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6327 void wxListView_IsSelected(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6328 {
6329 ErlNifEnv *env = Ecmd.env;
6330 ERL_NIF_TERM * argv = Ecmd.args;
6331 wxListView *This;
6332 This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6333 long index;
6334 if(!enif_get_long(env, argv[1], &index)) Badarg("index");
6335 if(!This) throw wxe_badarg("This");
6336 bool Result = This->IsSelected(index);
6337 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6338 rt.send( rt.make_bool(Result));
6339
6340 }
6341
6342 // wxListView::Select
wxListView_Select(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6343 void wxListView_Select(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6344 {
6345 bool on=true;
6346 ErlNifEnv *env = Ecmd.env;
6347 ERL_NIF_TERM * argv = Ecmd.args;
6348 wxListView *This;
6349 This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6350 long n;
6351 if(!enif_get_long(env, argv[1], &n)) Badarg("n");
6352 ERL_NIF_TERM lstHead, lstTail;
6353 lstTail = argv[2];
6354 if(!enif_is_list(env, lstTail)) Badarg("Options");
6355 const ERL_NIF_TERM *tpl;
6356 int tpl_sz;
6357 while(!enif_is_empty_list(env, lstTail)) {
6358 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6359 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6360 if(enif_is_identical(tpl[0], enif_make_atom(env, "on"))) {
6361 on = enif_is_identical(tpl[1], WXE_ATOM_true);
6362 } else Badarg("Options");
6363 };
6364 if(!This) throw wxe_badarg("This");
6365 This->Select(n,on);
6366
6367 }
6368
6369 // wxListView::SetColumnImage
wxListView_SetColumnImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6370 void wxListView_SetColumnImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6371 {
6372 ErlNifEnv *env = Ecmd.env;
6373 ERL_NIF_TERM * argv = Ecmd.args;
6374 wxListView *This;
6375 This = (wxListView *) memenv->getPtr(env, argv[0], "This");
6376 int col;
6377 if(!enif_get_int(env, argv[1], &col)) Badarg("col"); // int
6378 int image;
6379 if(!enif_get_int(env, argv[2], &image)) Badarg("image"); // int
6380 if(!This) throw wxe_badarg("This");
6381 This->SetColumnImage(col,image);
6382
6383 }
6384
6385 // wxListbook::wxListbook
wxListbook_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6386 void wxListbook_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6387 {
6388 wxListbook * Result = new EwxListbook();
6389 app->newPtr((void *) Result, 0, memenv);
6390 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6391 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxListbook"));
6392
6393 }
6394
6395 // wxListbook::wxListbook
wxListbook_new_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6396 void wxListbook_new_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6397 {
6398 wxPoint pos= wxDefaultPosition;
6399 wxSize size= wxDefaultSize;
6400 long style=0;
6401 ErlNifEnv *env = Ecmd.env;
6402 ERL_NIF_TERM * argv = Ecmd.args;
6403 wxWindow *parent;
6404 parent = (wxWindow *) memenv->getPtr(env, argv[0], "parent");
6405 int id;
6406 if(!enif_get_int(env, argv[1], &id)) Badarg("id"); // wxWindowID
6407 ERL_NIF_TERM lstHead, lstTail;
6408 lstTail = argv[2];
6409 if(!enif_is_list(env, lstTail)) Badarg("Options");
6410 const ERL_NIF_TERM *tpl;
6411 int tpl_sz;
6412 while(!enif_is_empty_list(env, lstTail)) {
6413 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6414 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6415 if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
6416 const ERL_NIF_TERM *pos_t;
6417 int pos_sz;
6418 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
6419 int posX;
6420 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
6421 int posY;
6422 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
6423 pos = wxPoint(posX,posY);
6424 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
6425 const ERL_NIF_TERM *size_t;
6426 int size_sz;
6427 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
6428 int sizeW;
6429 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
6430 int sizeH;
6431 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
6432 size = wxSize(sizeW,sizeH);
6433 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
6434 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
6435 } else Badarg("Options");
6436 };
6437 wxListbook * Result = new EwxListbook(parent,id,pos,size,style);
6438 app->newPtr((void *) Result, 0, memenv);
6439 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6440 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxListbook"));
6441
6442 }
6443
6444 // wxListbook::AddPage
wxListbook_AddPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6445 void wxListbook_AddPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6446 {
6447 bool bSelect=false;
6448 int imageId=wxBookCtrlBase::NO_IMAGE;
6449 ErlNifEnv *env = Ecmd.env;
6450 ERL_NIF_TERM * argv = Ecmd.args;
6451 wxListbook *This;
6452 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6453 wxWindow *page;
6454 page = (wxWindow *) memenv->getPtr(env, argv[1], "page");
6455 ErlNifBinary text_bin;
6456 wxString text;
6457 if(!enif_inspect_binary(env, argv[2], &text_bin)) Badarg("text");
6458 text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
6459 ERL_NIF_TERM lstHead, lstTail;
6460 lstTail = argv[3];
6461 if(!enif_is_list(env, lstTail)) Badarg("Options");
6462 const ERL_NIF_TERM *tpl;
6463 int tpl_sz;
6464 while(!enif_is_empty_list(env, lstTail)) {
6465 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6466 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6467 if(enif_is_identical(tpl[0], enif_make_atom(env, "bSelect"))) {
6468 bSelect = enif_is_identical(tpl[1], WXE_ATOM_true);
6469 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "imageId"))) {
6470 if(!enif_get_int(env, tpl[1], &imageId)) Badarg("imageId"); // int
6471 } else Badarg("Options");
6472 };
6473 if(!This) throw wxe_badarg("This");
6474 bool Result = This->AddPage(page,text,bSelect,imageId);
6475 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6476 rt.send( rt.make_bool(Result));
6477
6478 }
6479
6480 // wxListbook::AdvanceSelection
wxListbook_AdvanceSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6481 void wxListbook_AdvanceSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6482 {
6483 bool forward=true;
6484 ErlNifEnv *env = Ecmd.env;
6485 ERL_NIF_TERM * argv = Ecmd.args;
6486 wxListbook *This;
6487 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6488 ERL_NIF_TERM lstHead, lstTail;
6489 lstTail = argv[1];
6490 if(!enif_is_list(env, lstTail)) Badarg("Options");
6491 const ERL_NIF_TERM *tpl;
6492 int tpl_sz;
6493 while(!enif_is_empty_list(env, lstTail)) {
6494 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6495 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6496 if(enif_is_identical(tpl[0], enif_make_atom(env, "forward"))) {
6497 forward = enif_is_identical(tpl[1], WXE_ATOM_true);
6498 } else Badarg("Options");
6499 };
6500 if(!This) throw wxe_badarg("This");
6501 This->AdvanceSelection(forward);
6502
6503 }
6504
6505 // wxListbook::AssignImageList
wxListbook_AssignImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6506 void wxListbook_AssignImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6507 {
6508 ErlNifEnv *env = Ecmd.env;
6509 ERL_NIF_TERM * argv = Ecmd.args;
6510 wxListbook *This;
6511 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6512 wxImageList *imageList;
6513 imageList = (wxImageList *) memenv->getPtr(env, argv[1], "imageList");
6514 if(!This) throw wxe_badarg("This");
6515 This->AssignImageList(imageList);
6516
6517 }
6518
6519 // wxListbook::Create
wxListbook_Create(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6520 void wxListbook_Create(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6521 {
6522 wxPoint pos= wxDefaultPosition;
6523 wxSize size= wxDefaultSize;
6524 long style=0;
6525 ErlNifEnv *env = Ecmd.env;
6526 ERL_NIF_TERM * argv = Ecmd.args;
6527 wxListbook *This;
6528 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6529 wxWindow *parent;
6530 parent = (wxWindow *) memenv->getPtr(env, argv[1], "parent");
6531 int id;
6532 if(!enif_get_int(env, argv[2], &id)) Badarg("id"); // wxWindowID
6533 ERL_NIF_TERM lstHead, lstTail;
6534 lstTail = argv[3];
6535 if(!enif_is_list(env, lstTail)) Badarg("Options");
6536 const ERL_NIF_TERM *tpl;
6537 int tpl_sz;
6538 while(!enif_is_empty_list(env, lstTail)) {
6539 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6540 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6541 if(enif_is_identical(tpl[0], enif_make_atom(env, "pos"))) {
6542 const ERL_NIF_TERM *pos_t;
6543 int pos_sz;
6544 if(!enif_get_tuple(env, tpl[1], &pos_sz, &pos_t)) Badarg("pos");
6545 int posX;
6546 if(!enif_get_int(env, pos_t[0], &posX)) Badarg("pos");
6547 int posY;
6548 if(!enif_get_int(env, pos_t[1], &posY)) Badarg("pos");
6549 pos = wxPoint(posX,posY);
6550 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "size"))) {
6551 const ERL_NIF_TERM *size_t;
6552 int size_sz;
6553 if(!enif_get_tuple(env, tpl[1], &size_sz, &size_t)) Badarg("size");
6554 int sizeW;
6555 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
6556 int sizeH;
6557 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
6558 size = wxSize(sizeW,sizeH);
6559 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "style"))) {
6560 if(!enif_get_long(env, tpl[1], &style)) Badarg("style");
6561 } else Badarg("Options");
6562 };
6563 if(!This) throw wxe_badarg("This");
6564 bool Result = This->Create(parent,id,pos,size,style);
6565 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6566 rt.send( rt.make_bool(Result));
6567
6568 }
6569
6570 // wxListbook::DeleteAllPages
wxListbook_DeleteAllPages(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6571 void wxListbook_DeleteAllPages(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6572 {
6573 ErlNifEnv *env = Ecmd.env;
6574 ERL_NIF_TERM * argv = Ecmd.args;
6575 wxListbook *This;
6576 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6577 if(!This) throw wxe_badarg("This");
6578 bool Result = This->DeleteAllPages();
6579 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6580 rt.send( rt.make_bool(Result));
6581
6582 }
6583
6584 // wxListbook::GetCurrentPage
wxListbook_GetCurrentPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6585 void wxListbook_GetCurrentPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6586 {
6587 ErlNifEnv *env = Ecmd.env;
6588 ERL_NIF_TERM * argv = Ecmd.args;
6589 wxListbook *This;
6590 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6591 if(!This) throw wxe_badarg("This");
6592 wxWindow * Result = (wxWindow*)This->GetCurrentPage();
6593 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6594 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxWindow"));
6595
6596 }
6597
6598 // wxListbook::GetImageList
wxListbook_GetImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6599 void wxListbook_GetImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6600 {
6601 ErlNifEnv *env = Ecmd.env;
6602 ERL_NIF_TERM * argv = Ecmd.args;
6603 wxListbook *This;
6604 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6605 if(!This) throw wxe_badarg("This");
6606 wxImageList * Result = (wxImageList*)This->GetImageList();
6607 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6608 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxImageList"));
6609
6610 }
6611
6612 // wxListbook::GetPage
wxListbook_GetPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6613 void wxListbook_GetPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6614 {
6615 ErlNifEnv *env = Ecmd.env;
6616 ERL_NIF_TERM * argv = Ecmd.args;
6617 wxListbook *This;
6618 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6619 size_t page;
6620 if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
6621 if(!This) throw wxe_badarg("This");
6622 wxWindow * Result = (wxWindow*)This->GetPage(page);
6623 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6624 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxWindow"));
6625
6626 }
6627
6628 // wxListbook::GetPageCount
wxListbook_GetPageCount(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6629 void wxListbook_GetPageCount(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6630 {
6631 ErlNifEnv *env = Ecmd.env;
6632 ERL_NIF_TERM * argv = Ecmd.args;
6633 wxListbook *This;
6634 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6635 if(!This) throw wxe_badarg("This");
6636 size_t Result = This->GetPageCount();
6637 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6638 rt.send( rt.make_int(Result));
6639
6640 }
6641
6642 // wxListbook::GetPageImage
wxListbook_GetPageImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6643 void wxListbook_GetPageImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6644 {
6645 ErlNifEnv *env = Ecmd.env;
6646 ERL_NIF_TERM * argv = Ecmd.args;
6647 wxListbook *This;
6648 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6649 size_t nPage;
6650 if(!wxe_get_size_t(env, argv[1], &nPage)) Badarg("nPage");
6651 if(!This) throw wxe_badarg("This");
6652 int Result = This->GetPageImage(nPage);
6653 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6654 rt.send( rt.make_int(Result));
6655
6656 }
6657
6658 // wxListbook::GetPageText
wxListbook_GetPageText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6659 void wxListbook_GetPageText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6660 {
6661 ErlNifEnv *env = Ecmd.env;
6662 ERL_NIF_TERM * argv = Ecmd.args;
6663 wxListbook *This;
6664 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6665 size_t nPage;
6666 if(!wxe_get_size_t(env, argv[1], &nPage)) Badarg("nPage");
6667 if(!This) throw wxe_badarg("This");
6668 wxString Result = This->GetPageText(nPage);
6669 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6670 rt.send( rt.make(Result));
6671
6672 }
6673
6674 // wxListbook::GetSelection
wxListbook_GetSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6675 void wxListbook_GetSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6676 {
6677 ErlNifEnv *env = Ecmd.env;
6678 ERL_NIF_TERM * argv = Ecmd.args;
6679 wxListbook *This;
6680 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6681 if(!This) throw wxe_badarg("This");
6682 int Result = This->GetSelection();
6683 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6684 rt.send( rt.make_int(Result));
6685
6686 }
6687
6688 // wxListbook::HitTest
wxListbook_HitTest(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6689 void wxListbook_HitTest(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6690 {
6691 long flags;
6692 ErlNifEnv *env = Ecmd.env;
6693 ERL_NIF_TERM * argv = Ecmd.args;
6694 wxListbook *This;
6695 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6696 const ERL_NIF_TERM *pt_t;
6697 int pt_sz;
6698 if(!enif_get_tuple(env, argv[1], &pt_sz, &pt_t)) Badarg("pt");
6699 int ptX;
6700 if(!enif_get_int(env, pt_t[0], &ptX)) Badarg("pt");
6701 int ptY;
6702 if(!enif_get_int(env, pt_t[1], &ptY)) Badarg("pt");
6703 wxPoint pt = wxPoint(ptX,ptY);
6704 if(!This) throw wxe_badarg("This");
6705 int Result = This->HitTest(pt,&flags);
6706 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6707 ERL_NIF_TERM msg = enif_make_tuple2(rt.env,
6708 rt.make_int(Result),
6709 rt.make_int(flags));
6710 rt.send(msg);
6711
6712 }
6713
6714 // wxListbook::InsertPage
wxListbook_InsertPage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6715 void wxListbook_InsertPage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6716 {
6717 bool bSelect=false;
6718 int imageId=wxBookCtrlBase::NO_IMAGE;
6719 ErlNifEnv *env = Ecmd.env;
6720 ERL_NIF_TERM * argv = Ecmd.args;
6721 wxListbook *This;
6722 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6723 size_t index;
6724 if(!wxe_get_size_t(env, argv[1], &index)) Badarg("index");
6725 wxWindow *page;
6726 page = (wxWindow *) memenv->getPtr(env, argv[2], "page");
6727 ErlNifBinary text_bin;
6728 wxString text;
6729 if(!enif_inspect_binary(env, argv[3], &text_bin)) Badarg("text");
6730 text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
6731 ERL_NIF_TERM lstHead, lstTail;
6732 lstTail = argv[4];
6733 if(!enif_is_list(env, lstTail)) Badarg("Options");
6734 const ERL_NIF_TERM *tpl;
6735 int tpl_sz;
6736 while(!enif_is_empty_list(env, lstTail)) {
6737 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6738 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6739 if(enif_is_identical(tpl[0], enif_make_atom(env, "bSelect"))) {
6740 bSelect = enif_is_identical(tpl[1], WXE_ATOM_true);
6741 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "imageId"))) {
6742 if(!enif_get_int(env, tpl[1], &imageId)) Badarg("imageId"); // int
6743 } else Badarg("Options");
6744 };
6745 if(!This) throw wxe_badarg("This");
6746 bool Result = This->InsertPage(index,page,text,bSelect,imageId);
6747 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6748 rt.send( rt.make_bool(Result));
6749
6750 }
6751
6752 // wxListbook::SetImageList
wxListbook_SetImageList(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6753 void wxListbook_SetImageList(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6754 {
6755 ErlNifEnv *env = Ecmd.env;
6756 ERL_NIF_TERM * argv = Ecmd.args;
6757 wxListbook *This;
6758 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6759 wxImageList *imageList;
6760 imageList = (wxImageList *) memenv->getPtr(env, argv[1], "imageList");
6761 if(!This) throw wxe_badarg("This");
6762 This->SetImageList(imageList);
6763
6764 }
6765
6766 // wxListbook::SetPageSize
wxListbook_SetPageSize(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6767 void wxListbook_SetPageSize(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6768 {
6769 ErlNifEnv *env = Ecmd.env;
6770 ERL_NIF_TERM * argv = Ecmd.args;
6771 wxListbook *This;
6772 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6773 const ERL_NIF_TERM *size_t;
6774 int size_sz;
6775 if(!enif_get_tuple(env, argv[1], &size_sz, &size_t)) Badarg("size");
6776 int sizeW;
6777 if(!enif_get_int(env, size_t[0], &sizeW)) Badarg("size");
6778 int sizeH;
6779 if(!enif_get_int(env, size_t[1], &sizeH)) Badarg("size");
6780 wxSize size = wxSize(sizeW,sizeH);
6781 if(!This) throw wxe_badarg("This");
6782 This->SetPageSize(size);
6783
6784 }
6785
6786 // wxListbook::SetPageImage
wxListbook_SetPageImage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6787 void wxListbook_SetPageImage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6788 {
6789 ErlNifEnv *env = Ecmd.env;
6790 ERL_NIF_TERM * argv = Ecmd.args;
6791 wxListbook *This;
6792 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6793 size_t page;
6794 if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
6795 int image;
6796 if(!enif_get_int(env, argv[2], &image)) Badarg("image"); // int
6797 if(!This) throw wxe_badarg("This");
6798 bool Result = This->SetPageImage(page,image);
6799 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6800 rt.send( rt.make_bool(Result));
6801
6802 }
6803
6804 // wxListbook::SetPageText
wxListbook_SetPageText(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6805 void wxListbook_SetPageText(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6806 {
6807 ErlNifEnv *env = Ecmd.env;
6808 ERL_NIF_TERM * argv = Ecmd.args;
6809 wxListbook *This;
6810 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6811 size_t page;
6812 if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
6813 ErlNifBinary text_bin;
6814 wxString text;
6815 if(!enif_inspect_binary(env, argv[2], &text_bin)) Badarg("text");
6816 text = wxString(text_bin.data, wxConvUTF8, text_bin.size);
6817 if(!This) throw wxe_badarg("This");
6818 bool Result = This->SetPageText(page,text);
6819 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6820 rt.send( rt.make_bool(Result));
6821
6822 }
6823
6824 // wxListbook::SetSelection
wxListbook_SetSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6825 void wxListbook_SetSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6826 {
6827 ErlNifEnv *env = Ecmd.env;
6828 ERL_NIF_TERM * argv = Ecmd.args;
6829 wxListbook *This;
6830 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6831 size_t page;
6832 if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
6833 if(!This) throw wxe_badarg("This");
6834 int Result = This->SetSelection(page);
6835 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6836 rt.send( rt.make_int(Result));
6837
6838 }
6839
6840 // wxListbook::ChangeSelection
wxListbook_ChangeSelection(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6841 void wxListbook_ChangeSelection(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6842 {
6843 ErlNifEnv *env = Ecmd.env;
6844 ERL_NIF_TERM * argv = Ecmd.args;
6845 wxListbook *This;
6846 This = (wxListbook *) memenv->getPtr(env, argv[0], "This");
6847 size_t page;
6848 if(!wxe_get_size_t(env, argv[1], &page)) Badarg("page");
6849 if(!This) throw wxe_badarg("This");
6850 int Result = This->ChangeSelection(page);
6851 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6852 rt.send( rt.make_int(Result));
6853
6854 }
6855
6856 // wxLocale::wxLocale
wxLocale_new_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6857 void wxLocale_new_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6858 {
6859 wxLocale * Result = new EwxLocale();
6860 app->newPtr((void *) Result, 234, memenv);
6861 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6862 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxLocale"));
6863
6864 }
6865
6866 // wxLocale::wxLocale
wxLocale_new_2_0(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6867 void wxLocale_new_2_0(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6868 {
6869 int flags=wxLOCALE_LOAD_DEFAULT;
6870 ErlNifEnv *env = Ecmd.env;
6871 ERL_NIF_TERM * argv = Ecmd.args;
6872 int language;
6873 if(!enif_get_int(env, argv[0], &language)) Badarg("language"); // int
6874 ERL_NIF_TERM lstHead, lstTail;
6875 lstTail = argv[1];
6876 if(!enif_is_list(env, lstTail)) Badarg("Options");
6877 const ERL_NIF_TERM *tpl;
6878 int tpl_sz;
6879 while(!enif_is_empty_list(env, lstTail)) {
6880 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6881 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6882 if(enif_is_identical(tpl[0], enif_make_atom(env, "flags"))) {
6883 if(!enif_get_int(env, tpl[1], &flags)) Badarg("flags"); // int
6884 } else Badarg("Options");
6885 };
6886 wxLocale * Result = new EwxLocale(language,flags);
6887 app->newPtr((void *) Result, 234, memenv);
6888 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6889 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxLocale"));
6890
6891 }
6892
6893 // wxLocale::wxLocale
wxLocale_new_2_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6894 void wxLocale_new_2_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6895 {
6896 wxString shortName= wxEmptyString;
6897 wxString locale= wxEmptyString;
6898 bool bLoadDefault=true;
6899 ErlNifEnv *env = Ecmd.env;
6900 ERL_NIF_TERM * argv = Ecmd.args;
6901 ErlNifBinary name_bin;
6902 wxString name;
6903 if(!enif_inspect_binary(env, argv[0], &name_bin)) Badarg("name");
6904 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
6905 ERL_NIF_TERM lstHead, lstTail;
6906 lstTail = argv[1];
6907 if(!enif_is_list(env, lstTail)) Badarg("Options");
6908 const ERL_NIF_TERM *tpl;
6909 int tpl_sz;
6910 while(!enif_is_empty_list(env, lstTail)) {
6911 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6912 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6913 if(enif_is_identical(tpl[0], enif_make_atom(env, "shortName"))) {
6914 ErlNifBinary shortName_bin;
6915 if(!enif_inspect_binary(env, tpl[1], &shortName_bin)) Badarg("shortName");
6916 shortName = wxString(shortName_bin.data, wxConvUTF8, shortName_bin.size);
6917 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "locale"))) {
6918 ErlNifBinary locale_bin;
6919 if(!enif_inspect_binary(env, tpl[1], &locale_bin)) Badarg("locale");
6920 locale = wxString(locale_bin.data, wxConvUTF8, locale_bin.size);
6921 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "bLoadDefault"))) {
6922 bLoadDefault = enif_is_identical(tpl[1], WXE_ATOM_true);
6923 } else Badarg("Options");
6924 };
6925 wxLocale * Result = new EwxLocale(name,shortName,locale,bLoadDefault);
6926 app->newPtr((void *) Result, 234, memenv);
6927 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6928 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxLocale"));
6929
6930 }
6931
6932 // wxLocale::~wxLocale
wxLocale_destruct(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6933 void wxLocale_destruct(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6934 {
6935 ErlNifEnv *env = Ecmd.env;
6936 ERL_NIF_TERM * argv = Ecmd.args;
6937 wxLocale *This;
6938 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
6939 if(This) { ((WxeApp *) wxTheApp)->clearPtr((void *) This);
6940 delete This;}
6941 }
6942
6943 // wxLocale::Init
wxLocale_Init_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6944 void wxLocale_Init_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6945 {
6946 int language=wxLANGUAGE_DEFAULT;
6947 int flags=wxLOCALE_LOAD_DEFAULT;
6948 ErlNifEnv *env = Ecmd.env;
6949 ERL_NIF_TERM * argv = Ecmd.args;
6950 wxLocale *This;
6951 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
6952 ERL_NIF_TERM lstHead, lstTail;
6953 lstTail = argv[1];
6954 if(!enif_is_list(env, lstTail)) Badarg("Options");
6955 const ERL_NIF_TERM *tpl;
6956 int tpl_sz;
6957 while(!enif_is_empty_list(env, lstTail)) {
6958 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6959 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6960 if(enif_is_identical(tpl[0], enif_make_atom(env, "language"))) {
6961 if(!enif_get_int(env, tpl[1], &language)) Badarg("language"); // int
6962 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "flags"))) {
6963 if(!enif_get_int(env, tpl[1], &flags)) Badarg("flags"); // int
6964 } else Badarg("Options");
6965 };
6966 if(!This) throw wxe_badarg("This");
6967 bool Result = This->Init(language,flags);
6968 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
6969 rt.send( rt.make_bool(Result));
6970
6971 }
6972
6973 // wxLocale::Init
wxLocale_Init_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)6974 void wxLocale_Init_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
6975 {
6976 wxString shortName= wxEmptyString;
6977 wxString locale= wxEmptyString;
6978 bool bLoadDefault=true;
6979 ErlNifEnv *env = Ecmd.env;
6980 ERL_NIF_TERM * argv = Ecmd.args;
6981 wxLocale *This;
6982 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
6983 ErlNifBinary name_bin;
6984 wxString name;
6985 if(!enif_inspect_binary(env, argv[1], &name_bin)) Badarg("name");
6986 name = wxString(name_bin.data, wxConvUTF8, name_bin.size);
6987 ERL_NIF_TERM lstHead, lstTail;
6988 lstTail = argv[2];
6989 if(!enif_is_list(env, lstTail)) Badarg("Options");
6990 const ERL_NIF_TERM *tpl;
6991 int tpl_sz;
6992 while(!enif_is_empty_list(env, lstTail)) {
6993 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
6994 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
6995 if(enif_is_identical(tpl[0], enif_make_atom(env, "shortName"))) {
6996 ErlNifBinary shortName_bin;
6997 if(!enif_inspect_binary(env, tpl[1], &shortName_bin)) Badarg("shortName");
6998 shortName = wxString(shortName_bin.data, wxConvUTF8, shortName_bin.size);
6999 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "locale"))) {
7000 ErlNifBinary locale_bin;
7001 if(!enif_inspect_binary(env, tpl[1], &locale_bin)) Badarg("locale");
7002 locale = wxString(locale_bin.data, wxConvUTF8, locale_bin.size);
7003 } else if(enif_is_identical(tpl[0], enif_make_atom(env, "bLoadDefault"))) {
7004 bLoadDefault = enif_is_identical(tpl[1], WXE_ATOM_true);
7005 } else Badarg("Options");
7006 };
7007 if(!This) throw wxe_badarg("This");
7008 bool Result = This->Init(name,shortName,locale,bLoadDefault);
7009 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7010 rt.send( rt.make_bool(Result));
7011
7012 }
7013
7014 // wxLocale::AddCatalog
wxLocale_AddCatalog_1(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7015 void wxLocale_AddCatalog_1(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7016 {
7017 ErlNifEnv *env = Ecmd.env;
7018 ERL_NIF_TERM * argv = Ecmd.args;
7019 wxLocale *This;
7020 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7021 ErlNifBinary domain_bin;
7022 wxString domain;
7023 if(!enif_inspect_binary(env, argv[1], &domain_bin)) Badarg("domain");
7024 domain = wxString(domain_bin.data, wxConvUTF8, domain_bin.size);
7025 if(!This) throw wxe_badarg("This");
7026 bool Result = This->AddCatalog(domain);
7027 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7028 rt.send( rt.make_bool(Result));
7029
7030 }
7031
7032 // wxLocale::AddCatalog
wxLocale_AddCatalog_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7033 void wxLocale_AddCatalog_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7034 {
7035 ErlNifEnv *env = Ecmd.env;
7036 ERL_NIF_TERM * argv = Ecmd.args;
7037 wxLocale *This;
7038 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7039 ErlNifBinary domain_bin;
7040 wxString domain;
7041 if(!enif_inspect_binary(env, argv[1], &domain_bin)) Badarg("domain");
7042 domain = wxString(domain_bin.data, wxConvUTF8, domain_bin.size);
7043 wxLanguage msgIdLanguage;
7044 if(!enif_get_int(env, argv[2], (int *) &msgIdLanguage)) Badarg("msgIdLanguage"); // enum
7045 if(!This) throw wxe_badarg("This");
7046 bool Result = This->AddCatalog(domain,msgIdLanguage);
7047 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7048 rt.send( rt.make_bool(Result));
7049
7050 }
7051
7052 // wxLocale::AddCatalog
wxLocale_AddCatalog_3(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7053 void wxLocale_AddCatalog_3(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7054 {
7055 ErlNifEnv *env = Ecmd.env;
7056 ERL_NIF_TERM * argv = Ecmd.args;
7057 wxLocale *This;
7058 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7059 ErlNifBinary domain_bin;
7060 wxString domain;
7061 if(!enif_inspect_binary(env, argv[1], &domain_bin)) Badarg("domain");
7062 domain = wxString(domain_bin.data, wxConvUTF8, domain_bin.size);
7063 wxLanguage msgIdLanguage;
7064 if(!enif_get_int(env, argv[2], (int *) &msgIdLanguage)) Badarg("msgIdLanguage"); // enum
7065 ErlNifBinary msgIdCharset_bin;
7066 wxString msgIdCharset;
7067 if(!enif_inspect_binary(env, argv[3], &msgIdCharset_bin)) Badarg("msgIdCharset");
7068 msgIdCharset = wxString(msgIdCharset_bin.data, wxConvUTF8, msgIdCharset_bin.size);
7069 if(!This) throw wxe_badarg("This");
7070 bool Result = This->AddCatalog(domain,msgIdLanguage,msgIdCharset);
7071 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7072 rt.send( rt.make_bool(Result));
7073
7074 }
7075
7076 // wxLocale::AddCatalogLookupPathPrefix
wxLocale_AddCatalogLookupPathPrefix(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7077 void wxLocale_AddCatalogLookupPathPrefix(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7078 {
7079 ErlNifEnv *env = Ecmd.env;
7080 ERL_NIF_TERM * argv = Ecmd.args;
7081 ErlNifBinary prefix_bin;
7082 wxString prefix;
7083 if(!enif_inspect_binary(env, argv[0], &prefix_bin)) Badarg("prefix");
7084 prefix = wxString(prefix_bin.data, wxConvUTF8, prefix_bin.size);
7085 wxLocale::AddCatalogLookupPathPrefix(prefix);
7086
7087 }
7088
7089 // wxLocale::GetCanonicalName
wxLocale_GetCanonicalName(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7090 void wxLocale_GetCanonicalName(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7091 {
7092 ErlNifEnv *env = Ecmd.env;
7093 ERL_NIF_TERM * argv = Ecmd.args;
7094 wxLocale *This;
7095 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7096 if(!This) throw wxe_badarg("This");
7097 wxString Result = This->GetCanonicalName();
7098 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7099 rt.send( rt.make(Result));
7100
7101 }
7102
7103 // wxLocale::GetLanguage
wxLocale_GetLanguage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7104 void wxLocale_GetLanguage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7105 {
7106 ErlNifEnv *env = Ecmd.env;
7107 ERL_NIF_TERM * argv = Ecmd.args;
7108 wxLocale *This;
7109 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7110 if(!This) throw wxe_badarg("This");
7111 int Result = This->GetLanguage();
7112 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7113 rt.send( rt.make_int(Result));
7114
7115 }
7116
7117 // wxLocale::GetLanguageName
wxLocale_GetLanguageName(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7118 void wxLocale_GetLanguageName(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7119 {
7120 ErlNifEnv *env = Ecmd.env;
7121 ERL_NIF_TERM * argv = Ecmd.args;
7122 int lang;
7123 if(!enif_get_int(env, argv[0], &lang)) Badarg("lang"); // int
7124 wxString Result = wxLocale::GetLanguageName(lang);
7125 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7126 rt.send( rt.make(Result));
7127
7128 }
7129
7130 // wxLocale::GetLocale
wxLocale_GetLocale(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7131 void wxLocale_GetLocale(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7132 {
7133 ErlNifEnv *env = Ecmd.env;
7134 ERL_NIF_TERM * argv = Ecmd.args;
7135 wxLocale *This;
7136 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7137 if(!This) throw wxe_badarg("This");
7138 const wxString Result = This->GetLocale();
7139 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7140 rt.send( rt.make(Result));
7141
7142 }
7143
7144 // wxLocale::GetName
wxLocale_GetName(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7145 void wxLocale_GetName(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7146 {
7147 ErlNifEnv *env = Ecmd.env;
7148 ERL_NIF_TERM * argv = Ecmd.args;
7149 wxLocale *This;
7150 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7151 if(!This) throw wxe_badarg("This");
7152 const wxString Result = This->GetName();
7153 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7154 rt.send( rt.make(Result));
7155
7156 }
7157
7158 // wxLocale::GetString
wxLocale_GetString_2(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7159 void wxLocale_GetString_2(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7160 {
7161 wxString szDomain= wxEmptyString;
7162 ErlNifEnv *env = Ecmd.env;
7163 ERL_NIF_TERM * argv = Ecmd.args;
7164 wxLocale *This;
7165 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7166 ErlNifBinary origString_bin;
7167 wxString origString;
7168 if(!enif_inspect_binary(env, argv[1], &origString_bin)) Badarg("origString");
7169 origString = wxString(origString_bin.data, wxConvUTF8, origString_bin.size);
7170 ERL_NIF_TERM lstHead, lstTail;
7171 lstTail = argv[2];
7172 if(!enif_is_list(env, lstTail)) Badarg("Options");
7173 const ERL_NIF_TERM *tpl;
7174 int tpl_sz;
7175 while(!enif_is_empty_list(env, lstTail)) {
7176 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
7177 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
7178 if(enif_is_identical(tpl[0], enif_make_atom(env, "szDomain"))) {
7179 ErlNifBinary szDomain_bin;
7180 if(!enif_inspect_binary(env, tpl[1], &szDomain_bin)) Badarg("szDomain");
7181 szDomain = wxString(szDomain_bin.data, wxConvUTF8, szDomain_bin.size);
7182 } else Badarg("Options");
7183 };
7184 if(!This) throw wxe_badarg("This");
7185 const wxString Result = This->GetString(origString,szDomain);
7186 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7187 rt.send( rt.make(Result));
7188
7189 }
7190
7191 // wxLocale::GetString
wxLocale_GetString_4(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7192 void wxLocale_GetString_4(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7193 {
7194 wxString szDomain= wxEmptyString;
7195 ErlNifEnv *env = Ecmd.env;
7196 ERL_NIF_TERM * argv = Ecmd.args;
7197 wxLocale *This;
7198 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7199 ErlNifBinary origString_bin;
7200 wxString origString;
7201 if(!enif_inspect_binary(env, argv[1], &origString_bin)) Badarg("origString");
7202 origString = wxString(origString_bin.data, wxConvUTF8, origString_bin.size);
7203 ErlNifBinary origString2_bin;
7204 wxString origString2;
7205 if(!enif_inspect_binary(env, argv[2], &origString2_bin)) Badarg("origString2");
7206 origString2 = wxString(origString2_bin.data, wxConvUTF8, origString2_bin.size);
7207 unsigned int n;
7208 if(!enif_get_uint(env, argv[3], &n)) Badarg("n");
7209 ERL_NIF_TERM lstHead, lstTail;
7210 lstTail = argv[4];
7211 if(!enif_is_list(env, lstTail)) Badarg("Options");
7212 const ERL_NIF_TERM *tpl;
7213 int tpl_sz;
7214 while(!enif_is_empty_list(env, lstTail)) {
7215 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
7216 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
7217 if(enif_is_identical(tpl[0], enif_make_atom(env, "szDomain"))) {
7218 ErlNifBinary szDomain_bin;
7219 if(!enif_inspect_binary(env, tpl[1], &szDomain_bin)) Badarg("szDomain");
7220 szDomain = wxString(szDomain_bin.data, wxConvUTF8, szDomain_bin.size);
7221 } else Badarg("Options");
7222 };
7223 if(!This) throw wxe_badarg("This");
7224 const wxString Result = This->GetString(origString,origString2,n,szDomain);
7225 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7226 rt.send( rt.make(Result));
7227
7228 }
7229
7230 // wxLocale::GetHeaderValue
wxLocale_GetHeaderValue(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7231 void wxLocale_GetHeaderValue(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7232 {
7233 wxString szDomain= wxEmptyString;
7234 ErlNifEnv *env = Ecmd.env;
7235 ERL_NIF_TERM * argv = Ecmd.args;
7236 wxLocale *This;
7237 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7238 ErlNifBinary header_bin;
7239 wxString header;
7240 if(!enif_inspect_binary(env, argv[1], &header_bin)) Badarg("header");
7241 header = wxString(header_bin.data, wxConvUTF8, header_bin.size);
7242 ERL_NIF_TERM lstHead, lstTail;
7243 lstTail = argv[2];
7244 if(!enif_is_list(env, lstTail)) Badarg("Options");
7245 const ERL_NIF_TERM *tpl;
7246 int tpl_sz;
7247 while(!enif_is_empty_list(env, lstTail)) {
7248 if(!enif_get_list_cell(env, lstTail, &lstHead, &lstTail)) Badarg("Options");
7249 if(!enif_get_tuple(env, lstHead, &tpl_sz, &tpl) || tpl_sz != 2) Badarg("Options");
7250 if(enif_is_identical(tpl[0], enif_make_atom(env, "szDomain"))) {
7251 ErlNifBinary szDomain_bin;
7252 if(!enif_inspect_binary(env, tpl[1], &szDomain_bin)) Badarg("szDomain");
7253 szDomain = wxString(szDomain_bin.data, wxConvUTF8, szDomain_bin.size);
7254 } else Badarg("Options");
7255 };
7256 if(!This) throw wxe_badarg("This");
7257 wxString Result = This->GetHeaderValue(header,szDomain);
7258 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7259 rt.send( rt.make(Result));
7260
7261 }
7262
7263 // wxLocale::GetSysName
wxLocale_GetSysName(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7264 void wxLocale_GetSysName(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7265 {
7266 ErlNifEnv *env = Ecmd.env;
7267 ERL_NIF_TERM * argv = Ecmd.args;
7268 wxLocale *This;
7269 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7270 if(!This) throw wxe_badarg("This");
7271 wxString Result = This->GetSysName();
7272 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7273 rt.send( rt.make(Result));
7274
7275 }
7276
7277 // wxLocale::GetSystemEncoding
wxLocale_GetSystemEncoding(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7278 void wxLocale_GetSystemEncoding(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7279 {
7280 int Result = wxLocale::GetSystemEncoding();
7281 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7282 rt.send( rt.make_int(Result));
7283
7284 }
7285
7286 // wxLocale::GetSystemEncodingName
wxLocale_GetSystemEncodingName(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7287 void wxLocale_GetSystemEncodingName(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7288 {
7289 wxString Result = wxLocale::GetSystemEncodingName();
7290 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7291 rt.send( rt.make(Result));
7292
7293 }
7294
7295 // wxLocale::GetSystemLanguage
wxLocale_GetSystemLanguage(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7296 void wxLocale_GetSystemLanguage(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7297 {
7298 int Result = wxLocale::GetSystemLanguage();
7299 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7300 rt.send( rt.make_int(Result));
7301
7302 }
7303
7304 // wxLocale::IsLoaded
wxLocale_IsLoaded(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7305 void wxLocale_IsLoaded(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7306 {
7307 ErlNifEnv *env = Ecmd.env;
7308 ERL_NIF_TERM * argv = Ecmd.args;
7309 wxLocale *This;
7310 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7311 ErlNifBinary domain_bin;
7312 wxString domain;
7313 if(!enif_inspect_binary(env, argv[1], &domain_bin)) Badarg("domain");
7314 domain = wxString(domain_bin.data, wxConvUTF8, domain_bin.size);
7315 if(!This) throw wxe_badarg("This");
7316 bool Result = This->IsLoaded(domain);
7317 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7318 rt.send( rt.make_bool(Result));
7319
7320 }
7321
7322 // wxLocale::IsOk
wxLocale_IsOk(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7323 void wxLocale_IsOk(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7324 {
7325 ErlNifEnv *env = Ecmd.env;
7326 ERL_NIF_TERM * argv = Ecmd.args;
7327 wxLocale *This;
7328 This = (wxLocale *) memenv->getPtr(env, argv[0], "This");
7329 if(!This) throw wxe_badarg("This");
7330 bool Result = This->IsOk();
7331 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7332 rt.send( rt.make_bool(Result));
7333
7334 }
7335
7336 // wxLogNull::wxLogNull
wxLogNull_new(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7337 void wxLogNull_new(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7338 {
7339 wxLogNull * Result = new wxLogNull();
7340 app->newPtr((void *) Result, 230, memenv);
7341 wxeReturn rt = wxeReturn(memenv, Ecmd.caller, true);
7342 rt.send( rt.make_ref(app->getRef((void *)Result,memenv), "wxLogNull"));
7343
7344 }
7345
7346 // wxLogNull::~wxLogNull
wxLogNull_destruct(WxeApp * app,wxeMemEnv * memenv,wxeCommand & Ecmd)7347 void wxLogNull_destruct(WxeApp *app, wxeMemEnv *memenv, wxeCommand& Ecmd)
7348 {
7349 ErlNifEnv *env = Ecmd.env;
7350 ERL_NIF_TERM * argv = Ecmd.args;
7351 wxLogNull *This;
7352 This = (wxLogNull *) memenv->getPtr(env, argv[0], "This");
7353 if(This) { ((WxeApp *) wxTheApp)->clearPtr((void *) This);
7354 delete This;}
7355 }
7356
7357