]> git.saurik.com Git - wxWidgets.git/blob - wxPython/src/_defs.i
reSWIGged
[wxWidgets.git] / wxPython / src / _defs.i
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 wxCLIP_CHILDREN,
410 wxCLIP_SIBLINGS,
411
412 wxALWAYS_SHOW_SB,
413
414 wxRETAINED,
415 wxBACKINGSTORE,
416
417 wxCOLOURED,
418 wxFIXED_LENGTH,
419
420 wxLB_NEEDED_SB,
421 wxLB_ALWAYS_SB,
422 wxLB_SORT,
423 wxLB_SINGLE,
424 wxLB_MULTIPLE,
425 wxLB_EXTENDED,
426 wxLB_OWNERDRAW,
427 wxLB_HSCROLL,
428 wxPROCESS_ENTER,
429 wxPASSWORD,
430
431 wxCB_SIMPLE,
432 wxCB_DROPDOWN,
433 wxCB_SORT,
434 wxCB_READONLY,
435 wxRA_HORIZONTAL,
436 wxRA_VERTICAL,
437 wxRA_SPECIFY_ROWS,
438 wxRA_SPECIFY_COLS,
439 wxRA_USE_CHECKBOX,
440 wxRB_GROUP,
441 wxRB_SINGLE,
442 wxSB_HORIZONTAL,
443 wxSB_VERTICAL,
444 wxRB_USE_CHECKBOX,
445 wxST_SIZEGRIP,
446 wxST_NO_AUTORESIZE,
447
448 wxFLOOD_SURFACE,
449 wxFLOOD_BORDER,
450 wxODDEVEN_RULE,
451 wxWINDING_RULE,
452 wxTOOL_TOP,
453 wxTOOL_BOTTOM,
454 wxTOOL_LEFT,
455 wxTOOL_RIGHT,
456 wxOK,
457 wxYES_NO,
458 wxCANCEL,
459 wxYES,
460 wxNO,
461 wxNO_DEFAULT,
462 wxYES_DEFAULT,
463 wxICON_EXCLAMATION,
464 wxICON_HAND,
465 wxICON_QUESTION,
466 wxICON_INFORMATION,
467 wxICON_STOP,
468 wxICON_ASTERISK,
469 wxICON_MASK,
470 wxICON_WARNING,
471 wxICON_ERROR,
472
473 wxFORWARD,
474 wxBACKWARD,
475 wxRESET,
476 wxHELP,
477 wxMORE,
478 wxSETUP,
479
480
481 wxSIZE_AUTO_WIDTH,
482 wxSIZE_AUTO_HEIGHT,
483 wxSIZE_AUTO,
484 wxSIZE_USE_EXISTING,
485 wxSIZE_ALLOW_MINUS_ONE,
486 wxPORTRAIT,
487 wxLANDSCAPE,
488 wxPRINT_QUALITY_HIGH,
489 wxPRINT_QUALITY_MEDIUM,
490 wxPRINT_QUALITY_LOW,
491 wxPRINT_QUALITY_DRAFT,
492
493 wxID_ANY,
494 wxID_SEPARATOR,
495
496 wxID_LOWEST,
497 wxID_OPEN,
498 wxID_CLOSE,
499 wxID_NEW,
500 wxID_SAVE,
501 wxID_SAVEAS,
502 wxID_REVERT,
503 wxID_EXIT,
504 wxID_UNDO,
505 wxID_REDO,
506 wxID_HELP,
507 wxID_PRINT,
508 wxID_PRINT_SETUP,
509 wxID_PREVIEW,
510 wxID_ABOUT,
511 wxID_HELP_CONTENTS,
512 wxID_HELP_COMMANDS,
513 wxID_HELP_PROCEDURES,
514 wxID_HELP_CONTEXT,
515 wxID_CLOSE_ALL,
516 wxID_PREFERENCES,
517
518 wxID_CUT,
519 wxID_COPY,
520 wxID_PASTE,
521 wxID_CLEAR,
522 wxID_FIND,
523 wxID_DUPLICATE,
524 wxID_SELECTALL,
525
526 wxID_DELETE,
527 wxID_REPLACE,
528 wxID_REPLACE_ALL,
529 wxID_PROPERTIES,
530
531 wxID_VIEW_DETAILS,
532 wxID_VIEW_LARGEICONS,
533 wxID_VIEW_SMALLICONS,
534 wxID_VIEW_LIST,
535 wxID_VIEW_SORTDATE,
536 wxID_VIEW_SORTNAME,
537 wxID_VIEW_SORTSIZE,
538 wxID_VIEW_SORTTYPE,
539
540 wxID_FILE1,
541 wxID_FILE2,
542 wxID_FILE3,
543 wxID_FILE4,
544 wxID_FILE5,
545 wxID_FILE6,
546 wxID_FILE7,
547 wxID_FILE8,
548 wxID_FILE9,
549
550 wxID_OK,
551 wxID_CANCEL,
552 wxID_APPLY,
553 wxID_YES,
554 wxID_NO,
555 wxID_STATIC,
556 wxID_FORWARD,
557 wxID_BACKWARD,
558 wxID_DEFAULT,
559 wxID_MORE,
560 wxID_SETUP,
561 wxID_RESET,
562 wxID_CONTEXT_HELP,
563 wxID_YESTOALL,
564 wxID_NOTOALL,
565 wxID_ABORT,
566 wxID_RETRY,
567 wxID_IGNORE,
568
569 wxID_ADD,
570 wxID_REMOVE,
571
572 wxID_UP,
573 wxID_DOWN,
574 wxID_HOME,
575 wxID_REFRESH,
576 wxID_STOP,
577 wxID_INDEX,
578
579 wxID_BOLD,
580 wxID_ITALIC,
581 wxID_JUSTIFY_CENTER,
582 wxID_JUSTIFY_FILL,
583 wxID_JUSTIFY_RIGHT,
584 wxID_JUSTIFY_LEFT,
585 wxID_UNDERLINE,
586 wxID_INDENT,
587 wxID_UNINDENT,
588 wxID_ZOOM_100,
589 wxID_ZOOM_FIT,
590 wxID_ZOOM_IN,
591 wxID_ZOOM_OUT,
592 wxID_UNDELETE,
593 wxID_REVERT_TO_SAVED,
594
595 wxID_HIGHEST,
596
597 wxOPEN,
598 wxSAVE,
599 wxHIDE_READONLY,
600 wxOVERWRITE_PROMPT,
601 wxFILE_MUST_EXIST,
602 wxMULTIPLE,
603 wxCHANGE_DIR,
604
605 wxACCEL_ALT,
606 wxACCEL_CTRL,
607 wxACCEL_SHIFT,
608 wxACCEL_NORMAL,
609
610 wxPD_AUTO_HIDE,
611 wxPD_APP_MODAL,
612 wxPD_CAN_ABORT,
613 wxPD_ELAPSED_TIME,
614 wxPD_ESTIMATED_TIME,
615 wxPD_REMAINING_TIME,
616 wxPD_SMOOTH,
617 wxPD_CAN_SKIP,
618
619 wxDD_NEW_DIR_BUTTON,
620 wxDD_DEFAULT_STYLE,
621
622 wxMENU_TEAROFF,
623 wxMB_DOCKABLE,
624 wxNO_FULL_REPAINT_ON_RESIZE,
625 wxFULL_REPAINT_ON_RESIZE,
626
627 wxLI_HORIZONTAL,
628 wxLI_VERTICAL,
629
630 wxWS_EX_VALIDATE_RECURSIVELY,
631 wxWS_EX_BLOCK_EVENTS,
632 wxWS_EX_TRANSIENT,
633
634 wxWS_EX_THEMED_BACKGROUND,
635 wxWS_EX_PROCESS_IDLE,
636 wxWS_EX_PROCESS_UI_UPDATES,
637
638
639 // Mapping modes (as per Windows)
640 wxMM_TEXT,
641 wxMM_LOMETRIC,
642 wxMM_HIMETRIC,
643 wxMM_LOENGLISH,
644 wxMM_HIENGLISH,
645 wxMM_TWIPS,
646 wxMM_ISOTROPIC,
647 wxMM_ANISOTROPIC,
648 wxMM_POINTS,
649 wxMM_METRIC,
650
651
652 // It looks like wxTabCtrl may rise from the dead. Uncomment these if
653 // it gets an implementation for all platforms...
654 // wxTC_RIGHTJUSTIFY,
655 // wxTC_FIXEDWIDTH,
656 // wxTC_TOP,
657 // wxTC_LEFT,
658 // wxTC_RIGHT,
659 // wxTC_BOTTOM,
660 // wxTC_MULTILINE,
661 // wxTC_OWNERDRAW,
662
663 };
664
665
666 #ifdef __WXGTK__
667 #define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP|wxFULL_REPAINT_ON_RESIZE
668 #else
669 #define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP
670 #endif
671
672
673
674 enum wxGeometryCentre
675 {
676 wxCENTRE = 0x0001,
677 wxCENTER = wxCENTRE
678 };
679
680
681 enum wxOrientation
682 {
683 wxHORIZONTAL,
684 wxVERTICAL,
685 wxBOTH
686 };
687
688 enum wxDirection
689 {
690 wxLEFT,
691 wxRIGHT,
692 wxUP,
693 wxDOWN,
694
695 wxTOP,
696 wxBOTTOM,
697
698 wxNORTH,
699 wxSOUTH,
700 wxWEST,
701 wxEAST,
702
703 wxALL
704 };
705
706 enum wxAlignment
707 {
708 wxALIGN_NOT,
709 wxALIGN_CENTER_HORIZONTAL,
710 wxALIGN_CENTRE_HORIZONTAL,
711 wxALIGN_LEFT,
712 wxALIGN_TOP,
713 wxALIGN_RIGHT,
714 wxALIGN_BOTTOM,
715 wxALIGN_CENTER_VERTICAL,
716 wxALIGN_CENTRE_VERTICAL,
717
718 wxALIGN_CENTER,
719 wxALIGN_CENTRE,
720
721 wxALIGN_MASK,
722 };
723
724 enum wxStretch
725 {
726 wxSTRETCH_NOT,
727 wxSHRINK,
728 wxGROW,
729 wxEXPAND,
730 wxSHAPED,
731 wxFIXED_MINSIZE,
732 wxTILE,
733 wxADJUST_MINSIZE,
734 };
735
736
737 enum wxBorder
738 {
739 wxBORDER_DEFAULT,
740 wxBORDER_NONE,
741 wxBORDER_STATIC,
742 wxBORDER_SIMPLE,
743 wxBORDER_RAISED,
744 wxBORDER_SUNKEN,
745 wxBORDER_DOUBLE,
746 wxBORDER_MASK,
747 };
748
749
750 enum wxBackgroundStyle
751 {
752 wxBG_STYLE_SYSTEM,
753 wxBG_STYLE_COLOUR,
754 wxBG_STYLE_CUSTOM
755 };
756
757
758 enum {
759 wxDEFAULT ,
760 wxDECORATIVE,
761 wxROMAN,
762 wxSCRIPT,
763 wxSWISS,
764 wxMODERN,
765 wxTELETYPE,
766 wxVARIABLE,
767 wxFIXED,
768 wxNORMAL,
769 wxLIGHT,
770 wxBOLD,
771 wxITALIC,
772 wxSLANT,
773 wxSOLID,
774 wxDOT,
775 wxLONG_DASH,
776 wxSHORT_DASH,
777 wxDOT_DASH,
778 wxUSER_DASH,
779 wxTRANSPARENT,
780 wxSTIPPLE,
781 wxBDIAGONAL_HATCH,
782 wxCROSSDIAG_HATCH,
783 wxFDIAGONAL_HATCH,
784 wxCROSS_HATCH,
785 wxHORIZONTAL_HATCH,
786 wxVERTICAL_HATCH,
787 wxJOIN_BEVEL,
788 wxJOIN_MITER,
789 wxJOIN_ROUND,
790 wxCAP_ROUND,
791 wxCAP_PROJECTING,
792 wxCAP_BUTT
793 };
794
795 typedef enum {
796 wxCLEAR, // 0
797 wxXOR, // src XOR dst
798 wxINVERT, // NOT dst
799 wxOR_REVERSE, // src OR (NOT dst)
800 wxAND_REVERSE,// src AND (NOT dst)
801 wxCOPY, // src
802 wxAND, // src AND dst
803 wxAND_INVERT, // (NOT src) AND dst
804 wxNO_OP, // dst
805 wxNOR, // (NOT src) AND (NOT dst)
806 wxEQUIV, // (NOT src) XOR dst
807 wxSRC_INVERT, // (NOT src)
808 wxOR_INVERT, // (NOT src) OR dst
809 wxNAND, // (NOT src) OR (NOT dst)
810 wxOR, // src OR dst
811 wxSET, // 1
812 // wxSRC_OR, // source _bitmap_ OR destination
813 // wxSRC_AND // source _bitmap_ AND destination
814 } form_ops_t;
815
816 enum wxKeyCode {
817 WXK_BACK = 8,
818 WXK_TAB = 9,
819 WXK_RETURN = 13,
820 WXK_ESCAPE = 27,
821 WXK_SPACE = 32,
822 WXK_DELETE = 127,
823
824 WXK_START = 300,
825 WXK_LBUTTON,
826 WXK_RBUTTON,
827 WXK_CANCEL,
828 WXK_MBUTTON,
829 WXK_CLEAR,
830 WXK_SHIFT,
831 WXK_ALT,
832 WXK_CONTROL,
833 WXK_MENU,
834 WXK_PAUSE,
835 WXK_CAPITAL,
836 WXK_PRIOR, /* Page up */
837 WXK_NEXT, /* Page down */
838 WXK_END,
839 WXK_HOME,
840 WXK_LEFT,
841 WXK_UP,
842 WXK_RIGHT,
843 WXK_DOWN,
844 WXK_SELECT,
845 WXK_PRINT,
846 WXK_EXECUTE,
847 WXK_SNAPSHOT,
848 WXK_INSERT,
849 WXK_HELP,
850 WXK_NUMPAD0,
851 WXK_NUMPAD1,
852 WXK_NUMPAD2,
853 WXK_NUMPAD3,
854 WXK_NUMPAD4,
855 WXK_NUMPAD5,
856 WXK_NUMPAD6,
857 WXK_NUMPAD7,
858 WXK_NUMPAD8,
859 WXK_NUMPAD9,
860 WXK_MULTIPLY,
861 WXK_ADD,
862 WXK_SEPARATOR,
863 WXK_SUBTRACT,
864 WXK_DECIMAL,
865 WXK_DIVIDE,
866 WXK_F1,
867 WXK_F2,
868 WXK_F3,
869 WXK_F4,
870 WXK_F5,
871 WXK_F6,
872 WXK_F7,
873 WXK_F8,
874 WXK_F9,
875 WXK_F10,
876 WXK_F11,
877 WXK_F12,
878 WXK_F13,
879 WXK_F14,
880 WXK_F15,
881 WXK_F16,
882 WXK_F17,
883 WXK_F18,
884 WXK_F19,
885 WXK_F20,
886 WXK_F21,
887 WXK_F22,
888 WXK_F23,
889 WXK_F24,
890 WXK_NUMLOCK,
891 WXK_SCROLL,
892 WXK_PAGEUP,
893 WXK_PAGEDOWN,
894
895 WXK_NUMPAD_SPACE,
896 WXK_NUMPAD_TAB,
897 WXK_NUMPAD_ENTER,
898 WXK_NUMPAD_F1,
899 WXK_NUMPAD_F2,
900 WXK_NUMPAD_F3,
901 WXK_NUMPAD_F4,
902 WXK_NUMPAD_HOME,
903 WXK_NUMPAD_LEFT,
904 WXK_NUMPAD_UP,
905 WXK_NUMPAD_RIGHT,
906 WXK_NUMPAD_DOWN,
907 WXK_NUMPAD_PRIOR,
908 WXK_NUMPAD_PAGEUP,
909 WXK_NUMPAD_NEXT,
910 WXK_NUMPAD_PAGEDOWN,
911 WXK_NUMPAD_END,
912 WXK_NUMPAD_BEGIN,
913 WXK_NUMPAD_INSERT,
914 WXK_NUMPAD_DELETE,
915 WXK_NUMPAD_EQUAL,
916 WXK_NUMPAD_MULTIPLY,
917 WXK_NUMPAD_ADD,
918 WXK_NUMPAD_SEPARATOR,
919 WXK_NUMPAD_SUBTRACT,
920 WXK_NUMPAD_DECIMAL,
921 WXK_NUMPAD_DIVIDE,
922
923 WXK_WINDOWS_LEFT,
924 WXK_WINDOWS_RIGHT,
925 WXK_WINDOWS_MENU
926
927 };
928
929
930
931 typedef enum {
932 wxPAPER_NONE, // Use specific dimensions
933 wxPAPER_LETTER, // Letter, 8 1/2 by 11 inches
934 wxPAPER_LEGAL, // Legal, 8 1/2 by 14 inches
935 wxPAPER_A4, // A4 Sheet, 210 by 297 millimeters
936 wxPAPER_CSHEET, // C Sheet, 17 by 22 inches
937 wxPAPER_DSHEET, // D Sheet, 22 by 34 inches
938 wxPAPER_ESHEET, // E Sheet, 34 by 44 inches
939 wxPAPER_LETTERSMALL, // Letter Small, 8 1/2 by 11 inches
940 wxPAPER_TABLOID, // Tabloid, 11 by 17 inches
941 wxPAPER_LEDGER, // Ledger, 17 by 11 inches
942 wxPAPER_STATEMENT, // Statement, 5 1/2 by 8 1/2 inches
943 wxPAPER_EXECUTIVE, // Executive, 7 1/4 by 10 1/2 inches
944 wxPAPER_A3, // A3 sheet, 297 by 420 millimeters
945 wxPAPER_A4SMALL, // A4 small sheet, 210 by 297 millimeters
946 wxPAPER_A5, // A5 sheet, 148 by 210 millimeters
947 wxPAPER_B4, // B4 sheet, 250 by 354 millimeters
948 wxPAPER_B5, // B5 sheet, 182-by-257-millimeter paper
949 wxPAPER_FOLIO, // Folio, 8-1/2-by-13-inch paper
950 wxPAPER_QUARTO, // Quarto, 215-by-275-millimeter paper
951 wxPAPER_10X14, // 10-by-14-inch sheet
952 wxPAPER_11X17, // 11-by-17-inch sheet
953 wxPAPER_NOTE, // Note, 8 1/2 by 11 inches
954 wxPAPER_ENV_9, // #9 Envelope, 3 7/8 by 8 7/8 inches
955 wxPAPER_ENV_10, // #10 Envelope, 4 1/8 by 9 1/2 inches
956 wxPAPER_ENV_11, // #11 Envelope, 4 1/2 by 10 3/8 inches
957 wxPAPER_ENV_12, // #12 Envelope, 4 3/4 by 11 inches
958 wxPAPER_ENV_14, // #14 Envelope, 5 by 11 1/2 inches
959 wxPAPER_ENV_DL, // DL Envelope, 110 by 220 millimeters
960 wxPAPER_ENV_C5, // C5 Envelope, 162 by 229 millimeters
961 wxPAPER_ENV_C3, // C3 Envelope, 324 by 458 millimeters
962 wxPAPER_ENV_C4, // C4 Envelope, 229 by 324 millimeters
963 wxPAPER_ENV_C6, // C6 Envelope, 114 by 162 millimeters
964 wxPAPER_ENV_C65, // C65 Envelope, 114 by 229 millimeters
965 wxPAPER_ENV_B4, // B4 Envelope, 250 by 353 millimeters
966 wxPAPER_ENV_B5, // B5 Envelope, 176 by 250 millimeters
967 wxPAPER_ENV_B6, // B6 Envelope, 176 by 125 millimeters
968 wxPAPER_ENV_ITALY, // Italy Envelope, 110 by 230 millimeters
969 wxPAPER_ENV_MONARCH, // Monarch Envelope, 3 7/8 by 7 1/2 inches
970 wxPAPER_ENV_PERSONAL, // 6 3/4 Envelope, 3 5/8 by 6 1/2 inches
971 wxPAPER_FANFOLD_US, // US Std Fanfold, 14 7/8 by 11 inches
972 wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold, 8 1/2 by 12 inches
973 wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold, 8 1/2 by 13 inches
974
975 wxPAPER_ISO_B4, // B4 (ISO) 250 x 353 mm
976 wxPAPER_JAPANESE_POSTCARD, // Japanese Postcard 100 x 148 mm
977 wxPAPER_9X11, // 9 x 11 in
978 wxPAPER_10X11, // 10 x 11 in
979 wxPAPER_15X11, // 15 x 11 in
980 wxPAPER_ENV_INVITE, // Envelope Invite 220 x 220 mm
981 wxPAPER_LETTER_EXTRA, // Letter Extra 9 \275 x 12 in
982 wxPAPER_LEGAL_EXTRA, // Legal Extra 9 \275 x 15 in
983 wxPAPER_TABLOID_EXTRA, // Tabloid Extra 11.69 x 18 in
984 wxPAPER_A4_EXTRA, // A4 Extra 9.27 x 12.69 in
985 wxPAPER_LETTER_TRANSVERSE, // Letter Transverse 8 \275 x 11 in
986 wxPAPER_A4_TRANSVERSE, // A4 Transverse 210 x 297 mm
987 wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse 9\275 x 12 in
988 wxPAPER_A_PLUS, // SuperA/SuperA/A4 227 x 356 mm
989 wxPAPER_B_PLUS, // SuperB/SuperB/A3 305 x 487 mm
990 wxPAPER_LETTER_PLUS, // Letter Plus 8.5 x 12.69 in
991 wxPAPER_A4_PLUS, // A4 Plus 210 x 330 mm
992 wxPAPER_A5_TRANSVERSE, // A5 Transverse 148 x 210 mm
993 wxPAPER_B5_TRANSVERSE, // B5 (JIS) Transverse 182 x 257 mm
994 wxPAPER_A3_EXTRA, // A3 Extra 322 x 445 mm
995 wxPAPER_A5_EXTRA, // A5 Extra 174 x 235 mm
996 wxPAPER_B5_EXTRA, // B5 (ISO) Extra 201 x 276 mm
997 wxPAPER_A2, // A2 420 x 594 mm
998 wxPAPER_A3_TRANSVERSE, // A3 Transverse 297 x 420 mm
999 wxPAPER_A3_EXTRA_TRANSVERSE // A3 Extra Transverse 322 x 445 mm
1000
1001 } wxPaperSize ;
1002
1003 typedef enum {
1004 wxDUPLEX_SIMPLEX, // Non-duplex
1005 wxDUPLEX_HORIZONTAL,
1006 wxDUPLEX_VERTICAL
1007 } wxDuplexMode;
1008
1009
1010
1011 // menu and toolbar item kinds
1012 enum wxItemKind
1013 {
1014 wxITEM_SEPARATOR,
1015 wxITEM_NORMAL,
1016 wxITEM_CHECK,
1017 wxITEM_RADIO,
1018 wxITEM_MAX
1019 };
1020
1021
1022 enum wxHitTest
1023 {
1024 wxHT_NOWHERE,
1025
1026 // scrollbar
1027 wxHT_SCROLLBAR_FIRST = wxHT_NOWHERE,
1028 wxHT_SCROLLBAR_ARROW_LINE_1, // left or upper arrow to scroll by line
1029 wxHT_SCROLLBAR_ARROW_LINE_2, // right or down
1030 wxHT_SCROLLBAR_ARROW_PAGE_1, // left or upper arrow to scroll by page
1031 wxHT_SCROLLBAR_ARROW_PAGE_2, // right or down
1032 wxHT_SCROLLBAR_THUMB, // on the thumb
1033 wxHT_SCROLLBAR_BAR_1, // bar to the left/above the thumb
1034 wxHT_SCROLLBAR_BAR_2, // bar to the right/below the thumb
1035 wxHT_SCROLLBAR_LAST,
1036
1037 // window
1038 wxHT_WINDOW_OUTSIDE, // not in this window at all
1039 wxHT_WINDOW_INSIDE, // in the client area
1040 wxHT_WINDOW_VERT_SCROLLBAR, // on the vertical scrollbar
1041 wxHT_WINDOW_HORZ_SCROLLBAR, // on the horizontal scrollbar
1042 wxHT_WINDOW_CORNER, // on the corner between 2 scrollbars
1043
1044 wxHT_MAX
1045 };
1046
1047
1048 %{
1049 #if ! wxUSE_HOTKEY
1050 enum wxHotkeyModifier
1051 {
1052 wxMOD_NONE = 0,
1053 wxMOD_ALT = 1,
1054 wxMOD_CONTROL = 2,
1055 wxMOD_SHIFT = 4,
1056 wxMOD_WIN = 8
1057 };
1058 #define wxEVT_HOTKEY 9999
1059 #endif
1060 %}
1061
1062 enum wxHotkeyModifier
1063 {
1064 wxMOD_NONE = 0,
1065 wxMOD_ALT = 1,
1066 wxMOD_CONTROL = 2,
1067 wxMOD_SHIFT = 4,
1068 wxMOD_WIN = 8
1069 };
1070
1071
1072 enum wxUpdateUI
1073 {
1074 wxUPDATE_UI_NONE = 0x0000,
1075 wxUPDATE_UI_RECURSE = 0x0001,
1076 wxUPDATE_UI_FROMIDLE = 0x0002 // Invoked from On(Internal)Idle
1077 };
1078
1079
1080
1081 //---------------------------------------------------------------------------
1082