]>
Commit | Line | Data |
---|---|---|
1 | ///////////////////////////////////////////////////////////////////////////// | |
2 | // Name: _defs.i | |
3 | // Purpose: Definitions and stuff | |
4 | // | |
5 | // Author: Robin Dunn | |
6 | // | |
7 | // Created: 6/24/97 | |
8 | // RCS-ID: $Id$ | |
9 | // Copyright: (c) 1998 by Total Control Software | |
10 | // Licence: wxWindows license | |
11 | ///////////////////////////////////////////////////////////////////////////// | |
12 | ||
13 | ||
14 | //--------------------------------------------------------------------------- | |
15 | // Globally turn on the autodoc feature | |
16 | ||
17 | %feature("autodoc", "1"); // 0 == no param types, 1 == show param types | |
18 | ||
19 | //--------------------------------------------------------------------------- | |
20 | // Tell SWIG to wrap all the wrappers with our thread protection by default | |
21 | ||
22 | %exception { | |
23 | PyThreadState* __tstate = wxPyBeginAllowThreads(); | |
24 | $action | |
25 | wxPyEndAllowThreads(__tstate); | |
26 | if (PyErr_Occurred()) SWIG_fail; | |
27 | } | |
28 | ||
29 | ||
30 | // This one can be used to add a check for an existing wxApp before the real | |
31 | // work is done. An exception is raised if there isn't one. | |
32 | %define MustHaveApp(name) | |
33 | %exception name { | |
34 | if (!wxPyCheckForApp()) SWIG_fail; | |
35 | PyThreadState* __tstate = wxPyBeginAllowThreads(); | |
36 | $action | |
37 | wxPyEndAllowThreads(__tstate); | |
38 | if (PyErr_Occurred()) SWIG_fail; | |
39 | } | |
40 | %enddef | |
41 | ||
42 | ||
43 | ||
44 | //--------------------------------------------------------------------------- | |
45 | // some type definitions to simplify things for SWIG | |
46 | ||
47 | typedef int wxEventType; | |
48 | typedef unsigned int size_t; | |
49 | typedef unsigned int time_t; | |
50 | typedef unsigned char byte; | |
51 | typedef unsigned long wxUIntPtr; | |
52 | ||
53 | #define wxWindowID int | |
54 | #define wxCoord int | |
55 | #define wxInt32 int | |
56 | #define wxUint32 unsigned int | |
57 | ||
58 | ||
59 | //---------------------------------------------------------------------- | |
60 | // Various SWIG macros and such | |
61 | ||
62 | #define %pythonAppend %feature("pythonappend") | |
63 | #define %pythonPrepend %feature("pythonprepend") | |
64 | #define %kwargs %feature("kwargs") | |
65 | #define %nokwargs %feature("nokwargs") | |
66 | #define %noautodoc %feature("noautodoc") | |
67 | ||
68 | ||
69 | //#ifndef %shadow | |
70 | //#define %shadow %insert("shadow") | |
71 | //#endif | |
72 | ||
73 | #ifndef %pythoncode | |
74 | #define %pythoncode %insert("python") | |
75 | #endif | |
76 | ||
77 | #define WXUNUSED(x) x | |
78 | ||
79 | ||
80 | // Given the name of a wxChar (or wxString) constant in C++, make | |
81 | // a static wxString for wxPython, and also let SWIG wrap it. | |
82 | %define MAKE_CONST_WXSTRING(strname) | |
83 | %{ static const wxString wxPy##strname(wx##strname); %} | |
84 | %immutable; | |
85 | %rename(strname) wxPy##strname; | |
86 | const wxString wxPy##strname; | |
87 | %mutable; | |
88 | %enddef | |
89 | ||
90 | %define MAKE_CONST_WXSTRING2(strname, val) | |
91 | %{ static const wxString wxPy##strname(val); %} | |
92 | %immutable; | |
93 | %rename(strname) wxPy##strname; | |
94 | const wxString wxPy##strname; | |
95 | %mutable; | |
96 | %enddef | |
97 | ||
98 | %define MAKE_CONST_WXSTRING_NOSWIG(strname) | |
99 | %{ static const wxString wxPy##strname(wx##strname); %} | |
100 | %enddef | |
101 | ||
102 | // Generate code in the module init for the event types, since they may not be | |
103 | // initialized yet when they are used in the static swig_const_table. | |
104 | %typemap(consttab) wxEventType; // TODO: how to prevent code inserted into the consttab? | |
105 | %typemap(constcode) wxEventType "PyDict_SetItemString(d, \"$symname\", PyInt_FromLong($value));"; | |
106 | ||
107 | ||
108 | ||
109 | //---------------------------------------------------------------------- | |
110 | // Macros for the docstring and autodoc features of SWIG. These will | |
111 | // help make the code look more readable, and pretty, as well as help | |
112 | // reduce typing in some cases. | |
113 | ||
114 | // Set the docsring for the given full or partial declaration | |
115 | #ifdef _DO_FULL_DOCS | |
116 | %define DocStr(decl, docstr, details) | |
117 | %feature("docstring") decl docstr details; | |
118 | %enddef | |
119 | #else | |
120 | %define DocStr(decl, docstr, details) | |
121 | %feature("docstring") decl docstr; | |
122 | %enddef | |
123 | #endif | |
124 | ||
125 | ||
126 | // Set the autodoc string for a full or partial declaration | |
127 | %define DocA(decl, astr) | |
128 | %feature("autodoc") decl astr; | |
129 | %enddef | |
130 | ||
131 | ||
132 | // Set both the autodoc and docstring for a full or partial declaration | |
133 | #ifdef _DO_FULL_DOCS | |
134 | %define DocAStr(decl, astr, docstr, details) | |
135 | %feature("autodoc") decl astr; | |
136 | %feature("docstring") decl docstr details | |
137 | %enddef | |
138 | #else | |
139 | %define DocAStr(decl, astr, docstr, details) | |
140 | %feature("autodoc") decl astr; | |
141 | %feature("docstring") decl docstr | |
142 | %enddef | |
143 | #endif | |
144 | ||
145 | ||
146 | ||
147 | ||
148 | // Set the docstring for a decl and then define the decl too. Must use the | |
149 | // full declaration of the item. | |
150 | #ifdef _DO_FULL_DOCS | |
151 | %define DocDeclStr(type, decl, docstr, details) | |
152 | %feature("docstring") decl docstr details; | |
153 | type decl | |
154 | %enddef | |
155 | #else | |
156 | %define DocDeclStr(type, decl, docstr, details) | |
157 | %feature("docstring") decl docstr; | |
158 | type decl | |
159 | %enddef | |
160 | #endif | |
161 | ||
162 | ||
163 | ||
164 | // As above, but also give the decl a new %name | |
165 | #ifdef _DO_FULL_DOCS | |
166 | %define DocDeclStrName(type, decl, docstr, details, newname) | |
167 | %feature("docstring") decl docstr details; | |
168 | %rename(newname) decl; | |
169 | type decl | |
170 | %enddef | |
171 | #else | |
172 | %define DocDeclStrName(type, decl, docstr, details, newname) | |
173 | %feature("docstring") decl docstr; | |
174 | %rename(newname) decl; | |
175 | type decl | |
176 | %enddef | |
177 | #endif | |
178 | ||
179 | ||
180 | // Set the autodoc string for a decl and then define the decl too. Must use the | |
181 | // full declaration of the item. | |
182 | %define DocDeclA(type, decl, astr) | |
183 | %feature("autodoc") decl astr; | |
184 | type decl | |
185 | %enddef | |
186 | ||
187 | // As above, but also give the decl a new %name | |
188 | %define DocDeclAName(type, decl, astr, newname) | |
189 | %feature("autodoc") decl astr; | |
190 | %rename(newname) decl; | |
191 | type decl | |
192 | %enddef | |
193 | ||
194 | ||
195 | ||
196 | // Set the autodoc and the docstring for a decl and then define the decl too. | |
197 | // Must use the full declaration of the item. | |
198 | #ifdef _DO_FULL_DOCS | |
199 | %define DocDeclAStr(type, decl, astr, docstr, details) | |
200 | %feature("autodoc") decl astr; | |
201 | %feature("docstring") decl docstr details; | |
202 | type decl | |
203 | %enddef | |
204 | #else | |
205 | %define DocDeclAStr(type, decl, astr, docstr, details) | |
206 | %feature("autodoc") decl astr; | |
207 | %feature("docstring") decl docstr; | |
208 | type decl | |
209 | %enddef | |
210 | #endif | |
211 | ||
212 | ||
213 | // As above, but also give the decl a new %name | |
214 | #ifdef _DO_FULL_DOCS | |
215 | %define DocDeclAStrName(type, decl, astr, docstr, details, newname) | |
216 | %feature("autodoc") decl astr; | |
217 | %feature("docstring") decl docstr details; | |
218 | %rename(newname) decl; | |
219 | type decl | |
220 | %enddef | |
221 | #else | |
222 | %define DocDeclAStrName(type, decl, astr, docstr, details, newname) | |
223 | %feature("autodoc") decl astr; | |
224 | %feature("docstring") decl docstr; | |
225 | %rename(newname) decl; | |
226 | type decl | |
227 | %enddef | |
228 | #endif | |
229 | ||
230 | ||
231 | ||
232 | // Set the docstring for a constructor decl and then define the decl too. | |
233 | // Must use the full declaration of the item. | |
234 | #ifdef _DO_FULL_DOCS | |
235 | %define DocCtorStr(decl, docstr, details) | |
236 | %feature("docstring") decl docstr details; | |
237 | decl | |
238 | %enddef | |
239 | #else | |
240 | %define DocCtorStr(decl, docstr, details) | |
241 | %feature("docstring") decl docstr; | |
242 | decl | |
243 | %enddef | |
244 | #endif | |
245 | ||
246 | ||
247 | // As above, but also give the decl a new %name | |
248 | #ifdef _DO_FULL_DOCS | |
249 | %define DocCtorStrName(decl, docstr, details, newname) | |
250 | %feature("docstring") decl docstr details; | |
251 | %rename(newname) decl; | |
252 | decl | |
253 | %enddef | |
254 | #else | |
255 | %define DocCtorStrName(decl, docstr, details, newname) | |
256 | %feature("docstring") decl docstr; | |
257 | %rename(newname) decl; | |
258 | decl | |
259 | %enddef | |
260 | #endif | |
261 | ||
262 | ||
263 | ||
264 | // Set the autodoc string for a constructor decl and then define the decl too. | |
265 | // Must use the full declaration of the item. | |
266 | %define DocCtorA(decl, astr) | |
267 | %feature("autodoc") decl astr; | |
268 | decl | |
269 | %enddef | |
270 | ||
271 | // As above, but also give the decl a new %name | |
272 | %define DocCtorAName(decl, astr, newname) | |
273 | %feature("autodoc") decl astr; | |
274 | %rename(newname) decl; | |
275 | decl | |
276 | %enddef | |
277 | ||
278 | ||
279 | ||
280 | // Set the autodoc and the docstring for a constructor decl and then define | |
281 | // the decl too. Must use the full declaration of the item. | |
282 | #ifdef _DO_FULL_DOCS | |
283 | %define DocCtorAStr(decl, astr, docstr, details) | |
284 | %feature("autodoc") decl astr; | |
285 | %feature("docstring") decl docstr details; | |
286 | decl | |
287 | %enddef | |
288 | #else | |
289 | %define DocCtorAStr(decl, astr, docstr, details) | |
290 | %feature("autodoc") decl astr; | |
291 | %feature("docstring") decl docstr; | |
292 | decl | |
293 | %enddef | |
294 | #endif | |
295 | ||
296 | ||
297 | ||
298 | // As above, but also give the decl a new %name | |
299 | #ifdef _DO_FULL_DOCS | |
300 | %define DocCtorAStrName(decl, astr, docstr, details, newname) | |
301 | %feature("autodoc") decl astr; | |
302 | %feature("docstring") decl docstr details; | |
303 | %rename(newname) decl; | |
304 | decl | |
305 | %enddef | |
306 | #else | |
307 | %define DocCtorAStrName(decl, astr, docstr, details, newname) | |
308 | %feature("autodoc") decl astr; | |
309 | %feature("docstring") decl docstr; | |
310 | %rename(newname) decl; | |
311 | decl | |
312 | %enddef | |
313 | #endif | |
314 | ||
315 | ||
316 | ||
317 | %define %newgroup | |
318 | %pythoncode { | |
319 | %#--------------------------------------------------------------------------- | |
320 | } | |
321 | %enddef | |
322 | ||
323 | ||
324 | // A set of macros to make using %rename easier, since %name has been | |
325 | // deprecated... | |
326 | %define %Rename(newname, type, decl) | |
327 | %rename(newname) decl; | |
328 | type decl | |
329 | %enddef | |
330 | ||
331 | %define %RenameCtor(newname, decl) | |
332 | %rename(newname) decl; | |
333 | decl | |
334 | %enddef | |
335 | ||
336 | ||
337 | //--------------------------------------------------------------------------- | |
338 | // Forward declarations and %renames for some classes, so the autodoc strings | |
339 | // will be able to use the right types even when the real class declaration is | |
340 | // not in the module being processed or seen by %import's. | |
341 | ||
342 | #ifdef BUILDING_RENAMERS | |
343 | #define FORWARD_DECLARE(wxName, Name) | |
344 | #else | |
345 | %define FORWARD_DECLARE(wxName, Name) | |
346 | %rename(Name) wxName; | |
347 | class wxName; | |
348 | %enddef | |
349 | #endif | |
350 | ||
351 | FORWARD_DECLARE(wxString, String); | |
352 | FORWARD_DECLARE(wxBitmap, Bitmap); | |
353 | FORWARD_DECLARE(wxDateTime, DateTime); | |
354 | FORWARD_DECLARE(wxInputStream, InputStream); | |
355 | FORWARD_DECLARE(wxDC, DC); | |
356 | FORWARD_DECLARE(wxCursor, Cursor); | |
357 | FORWARD_DECLARE(wxRegion, Region); | |
358 | FORWARD_DECLARE(wxColour, Colour); | |
359 | FORWARD_DECLARE(wxFont, Font); | |
360 | FORWARD_DECLARE(wxCaret, Caret); | |
361 | FORWARD_DECLARE(wxToolTip, ToolTip); | |
362 | FORWARD_DECLARE(wxPyDropTarget, DropTarget); | |
363 | FORWARD_DECLARE(wxImageList, ImageList); | |
364 | FORWARD_DECLARE(wxMemoryDC, MemoryDC); | |
365 | FORWARD_DECLARE(wxHtmlTagHandler, HtmlTagHandler); | |
366 | FORWARD_DECLARE(wxConfigBase, ConfigBase); | |
367 | FORWARD_DECLARE(wxIcon, Icon); | |
368 | FORWARD_DECLARE(wxStaticBox, StaticBox); | |
369 | ||
370 | ||
371 | //--------------------------------------------------------------------------- | |
372 | ||
373 | %{ | |
374 | #if !WXWIN_COMPATIBILITY_2_4 | |
375 | #define wxHIDE_READONLY 0 | |
376 | #endif | |
377 | %} | |
378 | ||
379 | ||
380 | // General numeric #define's and etc. Making them all enums makes SWIG use the | |
381 | // real macro when making the Python Int | |
382 | ||
383 | enum { | |
384 | // wxMAJOR_VERSION, | |
385 | // wxMINOR_VERSION, | |
386 | // wxRELEASE_NUMBER, | |
387 | ||
388 | wxNOT_FOUND, | |
389 | ||
390 | wxVSCROLL, | |
391 | wxHSCROLL, | |
392 | wxCAPTION, | |
393 | wxDOUBLE_BORDER, | |
394 | wxSUNKEN_BORDER, | |
395 | wxRAISED_BORDER, | |
396 | wxBORDER, | |
397 | wxSIMPLE_BORDER, | |
398 | wxSTATIC_BORDER, | |
399 | wxTRANSPARENT_WINDOW, | |
400 | wxNO_BORDER, | |
401 | ||
402 | wxTAB_TRAVERSAL, | |
403 | wxWANTS_CHARS, | |
404 | wxPOPUP_WINDOW, | |
405 | wxCENTER_FRAME, | |
406 | wxCENTRE_ON_SCREEN, | |
407 | wxCENTER_ON_SCREEN, | |
408 | ||
409 | wxED_CLIENT_MARGIN, | |
410 | wxED_BUTTONS_BOTTOM, | |
411 | wxED_BUTTONS_RIGHT, | |
412 | wxED_STATIC_LINE, | |
413 | wxEXT_DIALOG_STYLE, | |
414 | ||
415 | wxCLIP_CHILDREN, | |
416 | wxCLIP_SIBLINGS, | |
417 | ||
418 | wxALWAYS_SHOW_SB, | |
419 | ||
420 | wxRETAINED, | |
421 | wxBACKINGSTORE, | |
422 | ||
423 | wxCOLOURED, | |
424 | wxFIXED_LENGTH, | |
425 | ||
426 | wxLB_NEEDED_SB, | |
427 | wxLB_ALWAYS_SB, | |
428 | wxLB_SORT, | |
429 | wxLB_SINGLE, | |
430 | wxLB_MULTIPLE, | |
431 | wxLB_EXTENDED, | |
432 | wxLB_OWNERDRAW, | |
433 | wxLB_HSCROLL, | |
434 | wxPROCESS_ENTER, | |
435 | wxPASSWORD, | |
436 | ||
437 | wxCB_SIMPLE, | |
438 | wxCB_DROPDOWN, | |
439 | wxCB_SORT, | |
440 | wxCB_READONLY, | |
441 | wxRA_HORIZONTAL, | |
442 | wxRA_VERTICAL, | |
443 | wxRA_SPECIFY_ROWS, | |
444 | wxRA_SPECIFY_COLS, | |
445 | wxRA_USE_CHECKBOX, | |
446 | wxRB_GROUP, | |
447 | wxRB_SINGLE, | |
448 | wxSB_HORIZONTAL, | |
449 | wxSB_VERTICAL, | |
450 | wxRB_USE_CHECKBOX, | |
451 | wxST_SIZEGRIP, | |
452 | wxST_NO_AUTORESIZE, | |
453 | ||
454 | wxFLOOD_SURFACE, | |
455 | wxFLOOD_BORDER, | |
456 | wxODDEVEN_RULE, | |
457 | wxWINDING_RULE, | |
458 | wxTOOL_TOP, | |
459 | wxTOOL_BOTTOM, | |
460 | wxTOOL_LEFT, | |
461 | wxTOOL_RIGHT, | |
462 | wxOK, | |
463 | wxYES_NO, | |
464 | wxCANCEL, | |
465 | wxYES, | |
466 | wxNO, | |
467 | wxNO_DEFAULT, | |
468 | wxYES_DEFAULT, | |
469 | wxICON_EXCLAMATION, | |
470 | wxICON_HAND, | |
471 | wxICON_QUESTION, | |
472 | wxICON_INFORMATION, | |
473 | wxICON_STOP, | |
474 | wxICON_ASTERISK, | |
475 | wxICON_MASK, | |
476 | wxICON_WARNING, | |
477 | wxICON_ERROR, | |
478 | ||
479 | wxFORWARD, | |
480 | wxBACKWARD, | |
481 | wxRESET, | |
482 | wxHELP, | |
483 | wxMORE, | |
484 | wxSETUP, | |
485 | ||
486 | ||
487 | wxSIZE_AUTO_WIDTH, | |
488 | wxSIZE_AUTO_HEIGHT, | |
489 | wxSIZE_AUTO, | |
490 | wxSIZE_USE_EXISTING, | |
491 | wxSIZE_ALLOW_MINUS_ONE, | |
492 | wxPORTRAIT, | |
493 | wxLANDSCAPE, | |
494 | wxPRINT_QUALITY_HIGH, | |
495 | wxPRINT_QUALITY_MEDIUM, | |
496 | wxPRINT_QUALITY_LOW, | |
497 | wxPRINT_QUALITY_DRAFT, | |
498 | ||
499 | wxID_ANY, | |
500 | wxID_SEPARATOR, | |
501 | ||
502 | wxID_LOWEST, | |
503 | wxID_OPEN, | |
504 | wxID_CLOSE, | |
505 | wxID_NEW, | |
506 | wxID_SAVE, | |
507 | wxID_SAVEAS, | |
508 | wxID_REVERT, | |
509 | wxID_EXIT, | |
510 | wxID_UNDO, | |
511 | wxID_REDO, | |
512 | wxID_HELP, | |
513 | wxID_PRINT, | |
514 | wxID_PRINT_SETUP, | |
515 | wxID_PREVIEW, | |
516 | wxID_ABOUT, | |
517 | wxID_HELP_CONTENTS, | |
518 | wxID_HELP_COMMANDS, | |
519 | wxID_HELP_PROCEDURES, | |
520 | wxID_HELP_CONTEXT, | |
521 | wxID_CLOSE_ALL, | |
522 | wxID_PREFERENCES, | |
523 | ||
524 | wxID_CUT, | |
525 | wxID_COPY, | |
526 | wxID_PASTE, | |
527 | wxID_CLEAR, | |
528 | wxID_FIND, | |
529 | wxID_DUPLICATE, | |
530 | wxID_SELECTALL, | |
531 | ||
532 | wxID_DELETE, | |
533 | wxID_REPLACE, | |
534 | wxID_REPLACE_ALL, | |
535 | wxID_PROPERTIES, | |
536 | ||
537 | wxID_VIEW_DETAILS, | |
538 | wxID_VIEW_LARGEICONS, | |
539 | wxID_VIEW_SMALLICONS, | |
540 | wxID_VIEW_LIST, | |
541 | wxID_VIEW_SORTDATE, | |
542 | wxID_VIEW_SORTNAME, | |
543 | wxID_VIEW_SORTSIZE, | |
544 | wxID_VIEW_SORTTYPE, | |
545 | ||
546 | wxID_FILE1, | |
547 | wxID_FILE2, | |
548 | wxID_FILE3, | |
549 | wxID_FILE4, | |
550 | wxID_FILE5, | |
551 | wxID_FILE6, | |
552 | wxID_FILE7, | |
553 | wxID_FILE8, | |
554 | wxID_FILE9, | |
555 | ||
556 | wxID_OK, | |
557 | wxID_CANCEL, | |
558 | wxID_APPLY, | |
559 | wxID_YES, | |
560 | wxID_NO, | |
561 | wxID_STATIC, | |
562 | wxID_FORWARD, | |
563 | wxID_BACKWARD, | |
564 | wxID_DEFAULT, | |
565 | wxID_MORE, | |
566 | wxID_SETUP, | |
567 | wxID_RESET, | |
568 | wxID_CONTEXT_HELP, | |
569 | wxID_YESTOALL, | |
570 | wxID_NOTOALL, | |
571 | wxID_ABORT, | |
572 | wxID_RETRY, | |
573 | wxID_IGNORE, | |
574 | ||
575 | wxID_ADD, | |
576 | wxID_REMOVE, | |
577 | ||
578 | wxID_UP, | |
579 | wxID_DOWN, | |
580 | wxID_HOME, | |
581 | wxID_REFRESH, | |
582 | wxID_STOP, | |
583 | wxID_INDEX, | |
584 | ||
585 | wxID_BOLD, | |
586 | wxID_ITALIC, | |
587 | wxID_JUSTIFY_CENTER, | |
588 | wxID_JUSTIFY_FILL, | |
589 | wxID_JUSTIFY_RIGHT, | |
590 | wxID_JUSTIFY_LEFT, | |
591 | wxID_UNDERLINE, | |
592 | wxID_INDENT, | |
593 | wxID_UNINDENT, | |
594 | wxID_ZOOM_100, | |
595 | wxID_ZOOM_FIT, | |
596 | wxID_ZOOM_IN, | |
597 | wxID_ZOOM_OUT, | |
598 | wxID_UNDELETE, | |
599 | wxID_REVERT_TO_SAVED, | |
600 | ||
601 | wxID_HIGHEST, | |
602 | ||
603 | wxOPEN, | |
604 | wxSAVE, | |
605 | wxHIDE_READONLY, | |
606 | wxOVERWRITE_PROMPT, | |
607 | wxFILE_MUST_EXIST, | |
608 | wxMULTIPLE, | |
609 | wxCHANGE_DIR, | |
610 | ||
611 | wxACCEL_ALT, | |
612 | wxACCEL_CTRL, | |
613 | wxACCEL_SHIFT, | |
614 | wxACCEL_NORMAL, | |
615 | ||
616 | wxPD_AUTO_HIDE, | |
617 | wxPD_APP_MODAL, | |
618 | wxPD_CAN_ABORT, | |
619 | wxPD_ELAPSED_TIME, | |
620 | wxPD_ESTIMATED_TIME, | |
621 | wxPD_REMAINING_TIME, | |
622 | wxPD_SMOOTH, | |
623 | wxPD_CAN_SKIP, | |
624 | ||
625 | wxDD_NEW_DIR_BUTTON, | |
626 | wxDD_DEFAULT_STYLE, | |
627 | ||
628 | wxMENU_TEAROFF, | |
629 | wxMB_DOCKABLE, | |
630 | wxNO_FULL_REPAINT_ON_RESIZE, | |
631 | wxFULL_REPAINT_ON_RESIZE, | |
632 | ||
633 | wxLI_HORIZONTAL, | |
634 | wxLI_VERTICAL, | |
635 | ||
636 | wxWS_EX_VALIDATE_RECURSIVELY, | |
637 | wxWS_EX_BLOCK_EVENTS, | |
638 | wxWS_EX_TRANSIENT, | |
639 | ||
640 | wxWS_EX_THEMED_BACKGROUND, | |
641 | wxWS_EX_PROCESS_IDLE, | |
642 | wxWS_EX_PROCESS_UI_UPDATES, | |
643 | ||
644 | ||
645 | // Mapping modes (as per Windows) | |
646 | wxMM_TEXT, | |
647 | wxMM_LOMETRIC, | |
648 | wxMM_HIMETRIC, | |
649 | wxMM_LOENGLISH, | |
650 | wxMM_HIENGLISH, | |
651 | wxMM_TWIPS, | |
652 | wxMM_ISOTROPIC, | |
653 | wxMM_ANISOTROPIC, | |
654 | wxMM_POINTS, | |
655 | wxMM_METRIC, | |
656 | ||
657 | ||
658 | // It looks like wxTabCtrl may rise from the dead. Uncomment these if | |
659 | // it gets an implementation for all platforms... | |
660 | // wxTC_RIGHTJUSTIFY, | |
661 | // wxTC_FIXEDWIDTH, | |
662 | // wxTC_TOP, | |
663 | // wxTC_LEFT, | |
664 | // wxTC_RIGHT, | |
665 | // wxTC_BOTTOM, | |
666 | // wxTC_MULTILINE, | |
667 | // wxTC_OWNERDRAW, | |
668 | ||
669 | }; | |
670 | ||
671 | ||
672 | #ifdef __WXGTK__ | |
673 | #define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP|wxFULL_REPAINT_ON_RESIZE | |
674 | #else | |
675 | #define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP | |
676 | #endif | |
677 | ||
678 | ||
679 | ||
680 | enum wxGeometryCentre | |
681 | { | |
682 | wxCENTRE = 0x0001, | |
683 | wxCENTER = wxCENTRE | |
684 | }; | |
685 | ||
686 | ||
687 | enum wxOrientation | |
688 | { | |
689 | wxHORIZONTAL, | |
690 | wxVERTICAL, | |
691 | wxBOTH | |
692 | }; | |
693 | ||
694 | enum wxDirection | |
695 | { | |
696 | wxLEFT, | |
697 | wxRIGHT, | |
698 | wxUP, | |
699 | wxDOWN, | |
700 | ||
701 | wxTOP, | |
702 | wxBOTTOM, | |
703 | ||
704 | wxNORTH, | |
705 | wxSOUTH, | |
706 | wxWEST, | |
707 | wxEAST, | |
708 | ||
709 | wxALL | |
710 | }; | |
711 | ||
712 | enum wxAlignment | |
713 | { | |
714 | wxALIGN_NOT, | |
715 | wxALIGN_CENTER_HORIZONTAL, | |
716 | wxALIGN_CENTRE_HORIZONTAL, | |
717 | wxALIGN_LEFT, | |
718 | wxALIGN_TOP, | |
719 | wxALIGN_RIGHT, | |
720 | wxALIGN_BOTTOM, | |
721 | wxALIGN_CENTER_VERTICAL, | |
722 | wxALIGN_CENTRE_VERTICAL, | |
723 | ||
724 | wxALIGN_CENTER, | |
725 | wxALIGN_CENTRE, | |
726 | ||
727 | wxALIGN_MASK, | |
728 | }; | |
729 | ||
730 | enum wxStretch | |
731 | { | |
732 | wxSTRETCH_NOT, | |
733 | wxSHRINK, | |
734 | wxGROW, | |
735 | wxEXPAND, | |
736 | wxSHAPED, | |
737 | wxFIXED_MINSIZE, | |
738 | wxTILE, | |
739 | wxADJUST_MINSIZE, | |
740 | }; | |
741 | ||
742 | ||
743 | enum wxBorder | |
744 | { | |
745 | wxBORDER_DEFAULT, | |
746 | wxBORDER_NONE, | |
747 | wxBORDER_STATIC, | |
748 | wxBORDER_SIMPLE, | |
749 | wxBORDER_RAISED, | |
750 | wxBORDER_SUNKEN, | |
751 | wxBORDER_DOUBLE, | |
752 | wxBORDER_MASK, | |
753 | }; | |
754 | ||
755 | ||
756 | enum wxBackgroundStyle | |
757 | { | |
758 | wxBG_STYLE_SYSTEM, | |
759 | wxBG_STYLE_COLOUR, | |
760 | wxBG_STYLE_CUSTOM | |
761 | }; | |
762 | ||
763 | ||
764 | enum { | |
765 | wxDEFAULT , | |
766 | wxDECORATIVE, | |
767 | wxROMAN, | |
768 | wxSCRIPT, | |
769 | wxSWISS, | |
770 | wxMODERN, | |
771 | wxTELETYPE, | |
772 | wxVARIABLE, | |
773 | wxFIXED, | |
774 | wxNORMAL, | |
775 | wxLIGHT, | |
776 | wxBOLD, | |
777 | wxITALIC, | |
778 | wxSLANT, | |
779 | wxSOLID, | |
780 | wxDOT, | |
781 | wxLONG_DASH, | |
782 | wxSHORT_DASH, | |
783 | wxDOT_DASH, | |
784 | wxUSER_DASH, | |
785 | wxTRANSPARENT, | |
786 | wxSTIPPLE, | |
787 | wxBDIAGONAL_HATCH, | |
788 | wxCROSSDIAG_HATCH, | |
789 | wxFDIAGONAL_HATCH, | |
790 | wxCROSS_HATCH, | |
791 | wxHORIZONTAL_HATCH, | |
792 | wxVERTICAL_HATCH, | |
793 | wxJOIN_BEVEL, | |
794 | wxJOIN_MITER, | |
795 | wxJOIN_ROUND, | |
796 | wxCAP_ROUND, | |
797 | wxCAP_PROJECTING, | |
798 | wxCAP_BUTT | |
799 | }; | |
800 | ||
801 | typedef enum { | |
802 | wxCLEAR, // 0 | |
803 | wxXOR, // src XOR dst | |
804 | wxINVERT, // NOT dst | |
805 | wxOR_REVERSE, // src OR (NOT dst) | |
806 | wxAND_REVERSE,// src AND (NOT dst) | |
807 | wxCOPY, // src | |
808 | wxAND, // src AND dst | |
809 | wxAND_INVERT, // (NOT src) AND dst | |
810 | wxNO_OP, // dst | |
811 | wxNOR, // (NOT src) AND (NOT dst) | |
812 | wxEQUIV, // (NOT src) XOR dst | |
813 | wxSRC_INVERT, // (NOT src) | |
814 | wxOR_INVERT, // (NOT src) OR dst | |
815 | wxNAND, // (NOT src) OR (NOT dst) | |
816 | wxOR, // src OR dst | |
817 | wxSET, // 1 | |
818 | // wxSRC_OR, // source _bitmap_ OR destination | |
819 | // wxSRC_AND // source _bitmap_ AND destination | |
820 | } form_ops_t; | |
821 | ||
822 | enum wxKeyCode { | |
823 | WXK_BACK = 8, | |
824 | WXK_TAB = 9, | |
825 | WXK_RETURN = 13, | |
826 | WXK_ESCAPE = 27, | |
827 | WXK_SPACE = 32, | |
828 | WXK_DELETE = 127, | |
829 | ||
830 | WXK_START = 300, | |
831 | WXK_LBUTTON, | |
832 | WXK_RBUTTON, | |
833 | WXK_CANCEL, | |
834 | WXK_MBUTTON, | |
835 | WXK_CLEAR, | |
836 | WXK_SHIFT, | |
837 | WXK_ALT, | |
838 | WXK_CONTROL, | |
839 | WXK_MENU, | |
840 | WXK_PAUSE, | |
841 | WXK_CAPITAL, | |
842 | WXK_PRIOR, /* Page up */ | |
843 | WXK_NEXT, /* Page down */ | |
844 | WXK_END, | |
845 | WXK_HOME, | |
846 | WXK_LEFT, | |
847 | WXK_UP, | |
848 | WXK_RIGHT, | |
849 | WXK_DOWN, | |
850 | WXK_SELECT, | |
851 | WXK_PRINT, | |
852 | WXK_EXECUTE, | |
853 | WXK_SNAPSHOT, | |
854 | WXK_INSERT, | |
855 | WXK_HELP, | |
856 | WXK_NUMPAD0, | |
857 | WXK_NUMPAD1, | |
858 | WXK_NUMPAD2, | |
859 | WXK_NUMPAD3, | |
860 | WXK_NUMPAD4, | |
861 | WXK_NUMPAD5, | |
862 | WXK_NUMPAD6, | |
863 | WXK_NUMPAD7, | |
864 | WXK_NUMPAD8, | |
865 | WXK_NUMPAD9, | |
866 | WXK_MULTIPLY, | |
867 | WXK_ADD, | |
868 | WXK_SEPARATOR, | |
869 | WXK_SUBTRACT, | |
870 | WXK_DECIMAL, | |
871 | WXK_DIVIDE, | |
872 | WXK_F1, | |
873 | WXK_F2, | |
874 | WXK_F3, | |
875 | WXK_F4, | |
876 | WXK_F5, | |
877 | WXK_F6, | |
878 | WXK_F7, | |
879 | WXK_F8, | |
880 | WXK_F9, | |
881 | WXK_F10, | |
882 | WXK_F11, | |
883 | WXK_F12, | |
884 | WXK_F13, | |
885 | WXK_F14, | |
886 | WXK_F15, | |
887 | WXK_F16, | |
888 | WXK_F17, | |
889 | WXK_F18, | |
890 | WXK_F19, | |
891 | WXK_F20, | |
892 | WXK_F21, | |
893 | WXK_F22, | |
894 | WXK_F23, | |
895 | WXK_F24, | |
896 | WXK_NUMLOCK, | |
897 | WXK_SCROLL, | |
898 | WXK_PAGEUP, | |
899 | WXK_PAGEDOWN, | |
900 | ||
901 | WXK_NUMPAD_SPACE, | |
902 | WXK_NUMPAD_TAB, | |
903 | WXK_NUMPAD_ENTER, | |
904 | WXK_NUMPAD_F1, | |
905 | WXK_NUMPAD_F2, | |
906 | WXK_NUMPAD_F3, | |
907 | WXK_NUMPAD_F4, | |
908 | WXK_NUMPAD_HOME, | |
909 | WXK_NUMPAD_LEFT, | |
910 | WXK_NUMPAD_UP, | |
911 | WXK_NUMPAD_RIGHT, | |
912 | WXK_NUMPAD_DOWN, | |
913 | WXK_NUMPAD_PRIOR, | |
914 | WXK_NUMPAD_PAGEUP, | |
915 | WXK_NUMPAD_NEXT, | |
916 | WXK_NUMPAD_PAGEDOWN, | |
917 | WXK_NUMPAD_END, | |
918 | WXK_NUMPAD_BEGIN, | |
919 | WXK_NUMPAD_INSERT, | |
920 | WXK_NUMPAD_DELETE, | |
921 | WXK_NUMPAD_EQUAL, | |
922 | WXK_NUMPAD_MULTIPLY, | |
923 | WXK_NUMPAD_ADD, | |
924 | WXK_NUMPAD_SEPARATOR, | |
925 | WXK_NUMPAD_SUBTRACT, | |
926 | WXK_NUMPAD_DECIMAL, | |
927 | WXK_NUMPAD_DIVIDE, | |
928 | ||
929 | WXK_WINDOWS_LEFT, | |
930 | WXK_WINDOWS_RIGHT, | |
931 | WXK_WINDOWS_MENU | |
932 | ||
933 | }; | |
934 | ||
935 | ||
936 | ||
937 | typedef enum { | |
938 | wxPAPER_NONE, // Use specific dimensions | |
939 | wxPAPER_LETTER, // Letter, 8 1/2 by 11 inches | |
940 | wxPAPER_LEGAL, // Legal, 8 1/2 by 14 inches | |
941 | wxPAPER_A4, // A4 Sheet, 210 by 297 millimeters | |
942 | wxPAPER_CSHEET, // C Sheet, 17 by 22 inches | |
943 | wxPAPER_DSHEET, // D Sheet, 22 by 34 inches | |
944 | wxPAPER_ESHEET, // E Sheet, 34 by 44 inches | |
945 | wxPAPER_LETTERSMALL, // Letter Small, 8 1/2 by 11 inches | |
946 | wxPAPER_TABLOID, // Tabloid, 11 by 17 inches | |
947 | wxPAPER_LEDGER, // Ledger, 17 by 11 inches | |
948 | wxPAPER_STATEMENT, // Statement, 5 1/2 by 8 1/2 inches | |
949 | wxPAPER_EXECUTIVE, // Executive, 7 1/4 by 10 1/2 inches | |
950 | wxPAPER_A3, // A3 sheet, 297 by 420 millimeters | |
951 | wxPAPER_A4SMALL, // A4 small sheet, 210 by 297 millimeters | |
952 | wxPAPER_A5, // A5 sheet, 148 by 210 millimeters | |
953 | wxPAPER_B4, // B4 sheet, 250 by 354 millimeters | |
954 | wxPAPER_B5, // B5 sheet, 182-by-257-millimeter paper | |
955 | wxPAPER_FOLIO, // Folio, 8-1/2-by-13-inch paper | |
956 | wxPAPER_QUARTO, // Quarto, 215-by-275-millimeter paper | |
957 | wxPAPER_10X14, // 10-by-14-inch sheet | |
958 | wxPAPER_11X17, // 11-by-17-inch sheet | |
959 | wxPAPER_NOTE, // Note, 8 1/2 by 11 inches | |
960 | wxPAPER_ENV_9, // #9 Envelope, 3 7/8 by 8 7/8 inches | |
961 | wxPAPER_ENV_10, // #10 Envelope, 4 1/8 by 9 1/2 inches | |
962 | wxPAPER_ENV_11, // #11 Envelope, 4 1/2 by 10 3/8 inches | |
963 | wxPAPER_ENV_12, // #12 Envelope, 4 3/4 by 11 inches | |
964 | wxPAPER_ENV_14, // #14 Envelope, 5 by 11 1/2 inches | |
965 | wxPAPER_ENV_DL, // DL Envelope, 110 by 220 millimeters | |
966 | wxPAPER_ENV_C5, // C5 Envelope, 162 by 229 millimeters | |
967 | wxPAPER_ENV_C3, // C3 Envelope, 324 by 458 millimeters | |
968 | wxPAPER_ENV_C4, // C4 Envelope, 229 by 324 millimeters | |
969 | wxPAPER_ENV_C6, // C6 Envelope, 114 by 162 millimeters | |
970 | wxPAPER_ENV_C65, // C65 Envelope, 114 by 229 millimeters | |
971 | wxPAPER_ENV_B4, // B4 Envelope, 250 by 353 millimeters | |
972 | wxPAPER_ENV_B5, // B5 Envelope, 176 by 250 millimeters | |
973 | wxPAPER_ENV_B6, // B6 Envelope, 176 by 125 millimeters | |
974 | wxPAPER_ENV_ITALY, // Italy Envelope, 110 by 230 millimeters | |
975 | wxPAPER_ENV_MONARCH, // Monarch Envelope, 3 7/8 by 7 1/2 inches | |
976 | wxPAPER_ENV_PERSONAL, // 6 3/4 Envelope, 3 5/8 by 6 1/2 inches | |
977 | wxPAPER_FANFOLD_US, // US Std Fanfold, 14 7/8 by 11 inches | |
978 | wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold, 8 1/2 by 12 inches | |
979 | wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold, 8 1/2 by 13 inches | |
980 | ||
981 | wxPAPER_ISO_B4, // B4 (ISO) 250 x 353 mm | |
982 | wxPAPER_JAPANESE_POSTCARD, // Japanese Postcard 100 x 148 mm | |
983 | wxPAPER_9X11, // 9 x 11 in | |
984 | wxPAPER_10X11, // 10 x 11 in | |
985 | wxPAPER_15X11, // 15 x 11 in | |
986 | wxPAPER_ENV_INVITE, // Envelope Invite 220 x 220 mm | |
987 | wxPAPER_LETTER_EXTRA, // Letter Extra 9 \275 x 12 in | |
988 | wxPAPER_LEGAL_EXTRA, // Legal Extra 9 \275 x 15 in | |
989 | wxPAPER_TABLOID_EXTRA, // Tabloid Extra 11.69 x 18 in | |
990 | wxPAPER_A4_EXTRA, // A4 Extra 9.27 x 12.69 in | |
991 | wxPAPER_LETTER_TRANSVERSE, // Letter Transverse 8 \275 x 11 in | |
992 | wxPAPER_A4_TRANSVERSE, // A4 Transverse 210 x 297 mm | |
993 | wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse 9\275 x 12 in | |
994 | wxPAPER_A_PLUS, // SuperA/SuperA/A4 227 x 356 mm | |
995 | wxPAPER_B_PLUS, // SuperB/SuperB/A3 305 x 487 mm | |
996 | wxPAPER_LETTER_PLUS, // Letter Plus 8.5 x 12.69 in | |
997 | wxPAPER_A4_PLUS, // A4 Plus 210 x 330 mm | |
998 | wxPAPER_A5_TRANSVERSE, // A5 Transverse 148 x 210 mm | |
999 | wxPAPER_B5_TRANSVERSE, // B5 (JIS) Transverse 182 x 257 mm | |
1000 | wxPAPER_A3_EXTRA, // A3 Extra 322 x 445 mm | |
1001 | wxPAPER_A5_EXTRA, // A5 Extra 174 x 235 mm | |
1002 | wxPAPER_B5_EXTRA, // B5 (ISO) Extra 201 x 276 mm | |
1003 | wxPAPER_A2, // A2 420 x 594 mm | |
1004 | wxPAPER_A3_TRANSVERSE, // A3 Transverse 297 x 420 mm | |
1005 | wxPAPER_A3_EXTRA_TRANSVERSE // A3 Extra Transverse 322 x 445 mm | |
1006 | ||
1007 | } wxPaperSize ; | |
1008 | ||
1009 | typedef enum { | |
1010 | wxDUPLEX_SIMPLEX, // Non-duplex | |
1011 | wxDUPLEX_HORIZONTAL, | |
1012 | wxDUPLEX_VERTICAL | |
1013 | } wxDuplexMode; | |
1014 | ||
1015 | ||
1016 | ||
1017 | // menu and toolbar item kinds | |
1018 | enum wxItemKind | |
1019 | { | |
1020 | wxITEM_SEPARATOR, | |
1021 | wxITEM_NORMAL, | |
1022 | wxITEM_CHECK, | |
1023 | wxITEM_RADIO, | |
1024 | wxITEM_MAX | |
1025 | }; | |
1026 | ||
1027 | ||
1028 | enum wxHitTest | |
1029 | { | |
1030 | wxHT_NOWHERE, | |
1031 | ||
1032 | // scrollbar | |
1033 | wxHT_SCROLLBAR_FIRST = wxHT_NOWHERE, | |
1034 | wxHT_SCROLLBAR_ARROW_LINE_1, // left or upper arrow to scroll by line | |
1035 | wxHT_SCROLLBAR_ARROW_LINE_2, // right or down | |
1036 | wxHT_SCROLLBAR_ARROW_PAGE_1, // left or upper arrow to scroll by page | |
1037 | wxHT_SCROLLBAR_ARROW_PAGE_2, // right or down | |
1038 | wxHT_SCROLLBAR_THUMB, // on the thumb | |
1039 | wxHT_SCROLLBAR_BAR_1, // bar to the left/above the thumb | |
1040 | wxHT_SCROLLBAR_BAR_2, // bar to the right/below the thumb | |
1041 | wxHT_SCROLLBAR_LAST, | |
1042 | ||
1043 | // window | |
1044 | wxHT_WINDOW_OUTSIDE, // not in this window at all | |
1045 | wxHT_WINDOW_INSIDE, // in the client area | |
1046 | wxHT_WINDOW_VERT_SCROLLBAR, // on the vertical scrollbar | |
1047 | wxHT_WINDOW_HORZ_SCROLLBAR, // on the horizontal scrollbar | |
1048 | wxHT_WINDOW_CORNER, // on the corner between 2 scrollbars | |
1049 | ||
1050 | wxHT_MAX | |
1051 | }; | |
1052 | ||
1053 | ||
1054 | %{ | |
1055 | #if ! wxUSE_HOTKEY | |
1056 | enum wxHotkeyModifier | |
1057 | { | |
1058 | wxMOD_NONE = 0, | |
1059 | wxMOD_ALT = 1, | |
1060 | wxMOD_CONTROL = 2, | |
1061 | wxMOD_SHIFT = 4, | |
1062 | wxMOD_WIN = 8 | |
1063 | }; | |
1064 | #define wxEVT_HOTKEY 9999 | |
1065 | #endif | |
1066 | %} | |
1067 | ||
1068 | enum wxHotkeyModifier | |
1069 | { | |
1070 | wxMOD_NONE = 0, | |
1071 | wxMOD_ALT = 1, | |
1072 | wxMOD_CONTROL = 2, | |
1073 | wxMOD_SHIFT = 4, | |
1074 | wxMOD_WIN = 8 | |
1075 | }; | |
1076 | ||
1077 | ||
1078 | enum wxUpdateUI | |
1079 | { | |
1080 | wxUPDATE_UI_NONE = 0x0000, | |
1081 | wxUPDATE_UI_RECURSE = 0x0001, | |
1082 | wxUPDATE_UI_FROMIDLE = 0x0002 // Invoked from On(Internal)Idle | |
1083 | }; | |
1084 | ||
1085 | ||
1086 | ||
1087 | //--------------------------------------------------------------------------- | |
1088 |