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