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