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