]> git.saurik.com Git - wxWidgets.git/blob - wxPython/src/_defs.i
fixed bug with seeking beyond the end in wxStringInputStream::OnSysSeek() triggered...
[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_ADD,
550 wxID_REMOVE,
551
552 wxID_UP,
553 wxID_DOWN,
554 wxID_HOME,
555 wxID_REFRESH,
556 wxID_STOP,
557 wxID_INDEX,
558
559 wxID_BOLD,
560 wxID_ITALIC,
561 wxID_JUSTIFY_CENTER,
562 wxID_JUSTIFY_FILL,
563 wxID_JUSTIFY_RIGHT,
564 wxID_JUSTIFY_LEFT,
565 wxID_UNDERLINE,
566 wxID_INDENT,
567 wxID_UNINDENT,
568 wxID_ZOOM_100,
569 wxID_ZOOM_FIT,
570 wxID_ZOOM_IN,
571 wxID_ZOOM_OUT,
572 wxID_UNDELETE,
573 wxID_REVERT_TO_SAVED,
574
575 wxID_HIGHEST,
576
577 wxOPEN,
578 wxSAVE,
579 wxHIDE_READONLY,
580 wxOVERWRITE_PROMPT,
581 wxFILE_MUST_EXIST,
582 wxMULTIPLE,
583 wxCHANGE_DIR,
584
585 wxACCEL_ALT,
586 wxACCEL_CTRL,
587 wxACCEL_SHIFT,
588 wxACCEL_NORMAL,
589
590 wxPD_AUTO_HIDE,
591 wxPD_APP_MODAL,
592 wxPD_CAN_ABORT,
593 wxPD_ELAPSED_TIME,
594 wxPD_ESTIMATED_TIME,
595 wxPD_REMAINING_TIME,
596
597 wxDD_NEW_DIR_BUTTON,
598 wxDD_DEFAULT_STYLE,
599
600 wxMENU_TEAROFF,
601 wxMB_DOCKABLE,
602 wxNO_FULL_REPAINT_ON_RESIZE,
603 wxFULL_REPAINT_ON_RESIZE,
604
605 wxLI_HORIZONTAL,
606 wxLI_VERTICAL,
607
608 wxWS_EX_VALIDATE_RECURSIVELY,
609 wxWS_EX_BLOCK_EVENTS,
610 wxWS_EX_TRANSIENT,
611
612 wxWS_EX_THEMED_BACKGROUND,
613 wxWS_EX_PROCESS_IDLE,
614 wxWS_EX_PROCESS_UI_UPDATES,
615
616
617 // Mapping modes (as per Windows)
618 wxMM_TEXT,
619 wxMM_LOMETRIC,
620 wxMM_HIMETRIC,
621 wxMM_LOENGLISH,
622 wxMM_HIENGLISH,
623 wxMM_TWIPS,
624 wxMM_ISOTROPIC,
625 wxMM_ANISOTROPIC,
626 wxMM_POINTS,
627 wxMM_METRIC,
628
629
630 // It looks like wxTabCtrl may rise from the dead. Uncomment these if
631 // it gets an implementation for all platforms...
632 // wxTC_RIGHTJUSTIFY,
633 // wxTC_FIXEDWIDTH,
634 // wxTC_TOP,
635 // wxTC_LEFT,
636 // wxTC_RIGHT,
637 // wxTC_BOTTOM,
638 // wxTC_MULTILINE,
639 // wxTC_OWNERDRAW,
640
641 };
642
643
644 #ifdef __WXGTK__
645 #define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP|wxFULL_REPAINT_ON_RESIZE
646 #else
647 #define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP
648 #endif
649
650
651
652 enum wxGeometryCentre
653 {
654 wxCENTRE = 0x0001,
655 wxCENTER = wxCENTRE
656 };
657
658
659 enum wxOrientation
660 {
661 wxHORIZONTAL,
662 wxVERTICAL,
663 wxBOTH
664 };
665
666 enum wxDirection
667 {
668 wxLEFT,
669 wxRIGHT,
670 wxUP,
671 wxDOWN,
672
673 wxTOP,
674 wxBOTTOM,
675
676 wxNORTH,
677 wxSOUTH,
678 wxWEST,
679 wxEAST,
680
681 wxALL
682 };
683
684 enum wxAlignment
685 {
686 wxALIGN_NOT,
687 wxALIGN_CENTER_HORIZONTAL,
688 wxALIGN_CENTRE_HORIZONTAL,
689 wxALIGN_LEFT,
690 wxALIGN_TOP,
691 wxALIGN_RIGHT,
692 wxALIGN_BOTTOM,
693 wxALIGN_CENTER_VERTICAL,
694 wxALIGN_CENTRE_VERTICAL,
695
696 wxALIGN_CENTER,
697 wxALIGN_CENTRE,
698
699 wxALIGN_MASK,
700 };
701
702 enum wxStretch
703 {
704 wxSTRETCH_NOT,
705 wxSHRINK,
706 wxGROW,
707 wxEXPAND,
708 wxSHAPED,
709 wxFIXED_MINSIZE,
710 wxTILE,
711 wxADJUST_MINSIZE,
712 };
713
714
715 enum wxBorder
716 {
717 wxBORDER_DEFAULT,
718 wxBORDER_NONE,
719 wxBORDER_STATIC,
720 wxBORDER_SIMPLE,
721 wxBORDER_RAISED,
722 wxBORDER_SUNKEN,
723 wxBORDER_DOUBLE,
724 wxBORDER_MASK,
725 };
726
727
728 enum wxBackgroundStyle
729 {
730 wxBG_STYLE_SYSTEM,
731 wxBG_STYLE_COLOUR,
732 wxBG_STYLE_CUSTOM
733 };
734
735
736 enum {
737 wxDEFAULT ,
738 wxDECORATIVE,
739 wxROMAN,
740 wxSCRIPT,
741 wxSWISS,
742 wxMODERN,
743 wxTELETYPE,
744 wxVARIABLE,
745 wxFIXED,
746 wxNORMAL,
747 wxLIGHT,
748 wxBOLD,
749 wxITALIC,
750 wxSLANT,
751 wxSOLID,
752 wxDOT,
753 wxLONG_DASH,
754 wxSHORT_DASH,
755 wxDOT_DASH,
756 wxUSER_DASH,
757 wxTRANSPARENT,
758 wxSTIPPLE,
759 wxBDIAGONAL_HATCH,
760 wxCROSSDIAG_HATCH,
761 wxFDIAGONAL_HATCH,
762 wxCROSS_HATCH,
763 wxHORIZONTAL_HATCH,
764 wxVERTICAL_HATCH,
765 wxJOIN_BEVEL,
766 wxJOIN_MITER,
767 wxJOIN_ROUND,
768 wxCAP_ROUND,
769 wxCAP_PROJECTING,
770 wxCAP_BUTT
771 };
772
773 typedef enum {
774 wxCLEAR, // 0
775 wxXOR, // src XOR dst
776 wxINVERT, // NOT dst
777 wxOR_REVERSE, // src OR (NOT dst)
778 wxAND_REVERSE,// src AND (NOT dst)
779 wxCOPY, // src
780 wxAND, // src AND dst
781 wxAND_INVERT, // (NOT src) AND dst
782 wxNO_OP, // dst
783 wxNOR, // (NOT src) AND (NOT dst)
784 wxEQUIV, // (NOT src) XOR dst
785 wxSRC_INVERT, // (NOT src)
786 wxOR_INVERT, // (NOT src) OR dst
787 wxNAND, // (NOT src) OR (NOT dst)
788 wxOR, // src OR dst
789 wxSET, // 1
790 // wxSRC_OR, // source _bitmap_ OR destination
791 // wxSRC_AND // source _bitmap_ AND destination
792 } form_ops_t;
793
794 enum wxKeyCode {
795 WXK_BACK = 8,
796 WXK_TAB = 9,
797 WXK_RETURN = 13,
798 WXK_ESCAPE = 27,
799 WXK_SPACE = 32,
800 WXK_DELETE = 127,
801
802 WXK_START = 300,
803 WXK_LBUTTON,
804 WXK_RBUTTON,
805 WXK_CANCEL,
806 WXK_MBUTTON,
807 WXK_CLEAR,
808 WXK_SHIFT,
809 WXK_ALT,
810 WXK_CONTROL,
811 WXK_MENU,
812 WXK_PAUSE,
813 WXK_CAPITAL,
814 WXK_PRIOR, /* Page up */
815 WXK_NEXT, /* Page down */
816 WXK_END,
817 WXK_HOME,
818 WXK_LEFT,
819 WXK_UP,
820 WXK_RIGHT,
821 WXK_DOWN,
822 WXK_SELECT,
823 WXK_PRINT,
824 WXK_EXECUTE,
825 WXK_SNAPSHOT,
826 WXK_INSERT,
827 WXK_HELP,
828 WXK_NUMPAD0,
829 WXK_NUMPAD1,
830 WXK_NUMPAD2,
831 WXK_NUMPAD3,
832 WXK_NUMPAD4,
833 WXK_NUMPAD5,
834 WXK_NUMPAD6,
835 WXK_NUMPAD7,
836 WXK_NUMPAD8,
837 WXK_NUMPAD9,
838 WXK_MULTIPLY,
839 WXK_ADD,
840 WXK_SEPARATOR,
841 WXK_SUBTRACT,
842 WXK_DECIMAL,
843 WXK_DIVIDE,
844 WXK_F1,
845 WXK_F2,
846 WXK_F3,
847 WXK_F4,
848 WXK_F5,
849 WXK_F6,
850 WXK_F7,
851 WXK_F8,
852 WXK_F9,
853 WXK_F10,
854 WXK_F11,
855 WXK_F12,
856 WXK_F13,
857 WXK_F14,
858 WXK_F15,
859 WXK_F16,
860 WXK_F17,
861 WXK_F18,
862 WXK_F19,
863 WXK_F20,
864 WXK_F21,
865 WXK_F22,
866 WXK_F23,
867 WXK_F24,
868 WXK_NUMLOCK,
869 WXK_SCROLL,
870 WXK_PAGEUP,
871 WXK_PAGEDOWN,
872
873 WXK_NUMPAD_SPACE,
874 WXK_NUMPAD_TAB,
875 WXK_NUMPAD_ENTER,
876 WXK_NUMPAD_F1,
877 WXK_NUMPAD_F2,
878 WXK_NUMPAD_F3,
879 WXK_NUMPAD_F4,
880 WXK_NUMPAD_HOME,
881 WXK_NUMPAD_LEFT,
882 WXK_NUMPAD_UP,
883 WXK_NUMPAD_RIGHT,
884 WXK_NUMPAD_DOWN,
885 WXK_NUMPAD_PRIOR,
886 WXK_NUMPAD_PAGEUP,
887 WXK_NUMPAD_NEXT,
888 WXK_NUMPAD_PAGEDOWN,
889 WXK_NUMPAD_END,
890 WXK_NUMPAD_BEGIN,
891 WXK_NUMPAD_INSERT,
892 WXK_NUMPAD_DELETE,
893 WXK_NUMPAD_EQUAL,
894 WXK_NUMPAD_MULTIPLY,
895 WXK_NUMPAD_ADD,
896 WXK_NUMPAD_SEPARATOR,
897 WXK_NUMPAD_SUBTRACT,
898 WXK_NUMPAD_DECIMAL,
899 WXK_NUMPAD_DIVIDE,
900
901 WXK_WINDOWS_LEFT,
902 WXK_WINDOWS_RIGHT,
903 WXK_WINDOWS_MENU
904
905 };
906
907
908
909 typedef enum {
910 wxPAPER_NONE, // Use specific dimensions
911 wxPAPER_LETTER, // Letter, 8 1/2 by 11 inches
912 wxPAPER_LEGAL, // Legal, 8 1/2 by 14 inches
913 wxPAPER_A4, // A4 Sheet, 210 by 297 millimeters
914 wxPAPER_CSHEET, // C Sheet, 17 by 22 inches
915 wxPAPER_DSHEET, // D Sheet, 22 by 34 inches
916 wxPAPER_ESHEET, // E Sheet, 34 by 44 inches
917 wxPAPER_LETTERSMALL, // Letter Small, 8 1/2 by 11 inches
918 wxPAPER_TABLOID, // Tabloid, 11 by 17 inches
919 wxPAPER_LEDGER, // Ledger, 17 by 11 inches
920 wxPAPER_STATEMENT, // Statement, 5 1/2 by 8 1/2 inches
921 wxPAPER_EXECUTIVE, // Executive, 7 1/4 by 10 1/2 inches
922 wxPAPER_A3, // A3 sheet, 297 by 420 millimeters
923 wxPAPER_A4SMALL, // A4 small sheet, 210 by 297 millimeters
924 wxPAPER_A5, // A5 sheet, 148 by 210 millimeters
925 wxPAPER_B4, // B4 sheet, 250 by 354 millimeters
926 wxPAPER_B5, // B5 sheet, 182-by-257-millimeter paper
927 wxPAPER_FOLIO, // Folio, 8-1/2-by-13-inch paper
928 wxPAPER_QUARTO, // Quarto, 215-by-275-millimeter paper
929 wxPAPER_10X14, // 10-by-14-inch sheet
930 wxPAPER_11X17, // 11-by-17-inch sheet
931 wxPAPER_NOTE, // Note, 8 1/2 by 11 inches
932 wxPAPER_ENV_9, // #9 Envelope, 3 7/8 by 8 7/8 inches
933 wxPAPER_ENV_10, // #10 Envelope, 4 1/8 by 9 1/2 inches
934 wxPAPER_ENV_11, // #11 Envelope, 4 1/2 by 10 3/8 inches
935 wxPAPER_ENV_12, // #12 Envelope, 4 3/4 by 11 inches
936 wxPAPER_ENV_14, // #14 Envelope, 5 by 11 1/2 inches
937 wxPAPER_ENV_DL, // DL Envelope, 110 by 220 millimeters
938 wxPAPER_ENV_C5, // C5 Envelope, 162 by 229 millimeters
939 wxPAPER_ENV_C3, // C3 Envelope, 324 by 458 millimeters
940 wxPAPER_ENV_C4, // C4 Envelope, 229 by 324 millimeters
941 wxPAPER_ENV_C6, // C6 Envelope, 114 by 162 millimeters
942 wxPAPER_ENV_C65, // C65 Envelope, 114 by 229 millimeters
943 wxPAPER_ENV_B4, // B4 Envelope, 250 by 353 millimeters
944 wxPAPER_ENV_B5, // B5 Envelope, 176 by 250 millimeters
945 wxPAPER_ENV_B6, // B6 Envelope, 176 by 125 millimeters
946 wxPAPER_ENV_ITALY, // Italy Envelope, 110 by 230 millimeters
947 wxPAPER_ENV_MONARCH, // Monarch Envelope, 3 7/8 by 7 1/2 inches
948 wxPAPER_ENV_PERSONAL, // 6 3/4 Envelope, 3 5/8 by 6 1/2 inches
949 wxPAPER_FANFOLD_US, // US Std Fanfold, 14 7/8 by 11 inches
950 wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold, 8 1/2 by 12 inches
951 wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold, 8 1/2 by 13 inches
952
953 wxPAPER_ISO_B4, // B4 (ISO) 250 x 353 mm
954 wxPAPER_JAPANESE_POSTCARD, // Japanese Postcard 100 x 148 mm
955 wxPAPER_9X11, // 9 x 11 in
956 wxPAPER_10X11, // 10 x 11 in
957 wxPAPER_15X11, // 15 x 11 in
958 wxPAPER_ENV_INVITE, // Envelope Invite 220 x 220 mm
959 wxPAPER_LETTER_EXTRA, // Letter Extra 9 \275 x 12 in
960 wxPAPER_LEGAL_EXTRA, // Legal Extra 9 \275 x 15 in
961 wxPAPER_TABLOID_EXTRA, // Tabloid Extra 11.69 x 18 in
962 wxPAPER_A4_EXTRA, // A4 Extra 9.27 x 12.69 in
963 wxPAPER_LETTER_TRANSVERSE, // Letter Transverse 8 \275 x 11 in
964 wxPAPER_A4_TRANSVERSE, // A4 Transverse 210 x 297 mm
965 wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse 9\275 x 12 in
966 wxPAPER_A_PLUS, // SuperA/SuperA/A4 227 x 356 mm
967 wxPAPER_B_PLUS, // SuperB/SuperB/A3 305 x 487 mm
968 wxPAPER_LETTER_PLUS, // Letter Plus 8.5 x 12.69 in
969 wxPAPER_A4_PLUS, // A4 Plus 210 x 330 mm
970 wxPAPER_A5_TRANSVERSE, // A5 Transverse 148 x 210 mm
971 wxPAPER_B5_TRANSVERSE, // B5 (JIS) Transverse 182 x 257 mm
972 wxPAPER_A3_EXTRA, // A3 Extra 322 x 445 mm
973 wxPAPER_A5_EXTRA, // A5 Extra 174 x 235 mm
974 wxPAPER_B5_EXTRA, // B5 (ISO) Extra 201 x 276 mm
975 wxPAPER_A2, // A2 420 x 594 mm
976 wxPAPER_A3_TRANSVERSE, // A3 Transverse 297 x 420 mm
977 wxPAPER_A3_EXTRA_TRANSVERSE // A3 Extra Transverse 322 x 445 mm
978
979 } wxPaperSize ;
980
981 typedef enum {
982 wxDUPLEX_SIMPLEX, // Non-duplex
983 wxDUPLEX_HORIZONTAL,
984 wxDUPLEX_VERTICAL
985 } wxDuplexMode;
986
987
988
989 // menu and toolbar item kinds
990 enum wxItemKind
991 {
992 wxITEM_SEPARATOR,
993 wxITEM_NORMAL,
994 wxITEM_CHECK,
995 wxITEM_RADIO,
996 wxITEM_MAX
997 };
998
999
1000 enum wxHitTest
1001 {
1002 wxHT_NOWHERE,
1003
1004 // scrollbar
1005 wxHT_SCROLLBAR_FIRST = wxHT_NOWHERE,
1006 wxHT_SCROLLBAR_ARROW_LINE_1, // left or upper arrow to scroll by line
1007 wxHT_SCROLLBAR_ARROW_LINE_2, // right or down
1008 wxHT_SCROLLBAR_ARROW_PAGE_1, // left or upper arrow to scroll by page
1009 wxHT_SCROLLBAR_ARROW_PAGE_2, // right or down
1010 wxHT_SCROLLBAR_THUMB, // on the thumb
1011 wxHT_SCROLLBAR_BAR_1, // bar to the left/above the thumb
1012 wxHT_SCROLLBAR_BAR_2, // bar to the right/below the thumb
1013 wxHT_SCROLLBAR_LAST,
1014
1015 // window
1016 wxHT_WINDOW_OUTSIDE, // not in this window at all
1017 wxHT_WINDOW_INSIDE, // in the client area
1018 wxHT_WINDOW_VERT_SCROLLBAR, // on the vertical scrollbar
1019 wxHT_WINDOW_HORZ_SCROLLBAR, // on the horizontal scrollbar
1020 wxHT_WINDOW_CORNER, // on the corner between 2 scrollbars
1021
1022 wxHT_MAX
1023 };
1024
1025
1026 %{
1027 #if ! wxUSE_HOTKEY
1028 enum wxHotkeyModifier
1029 {
1030 wxMOD_NONE = 0,
1031 wxMOD_ALT = 1,
1032 wxMOD_CONTROL = 2,
1033 wxMOD_SHIFT = 4,
1034 wxMOD_WIN = 8
1035 };
1036 #define wxEVT_HOTKEY 9999
1037 #endif
1038 %}
1039
1040 enum wxHotkeyModifier
1041 {
1042 wxMOD_NONE = 0,
1043 wxMOD_ALT = 1,
1044 wxMOD_CONTROL = 2,
1045 wxMOD_SHIFT = 4,
1046 wxMOD_WIN = 8
1047 };
1048
1049
1050 enum wxUpdateUI
1051 {
1052 wxUPDATE_UI_NONE = 0x0000,
1053 wxUPDATE_UI_RECURSE = 0x0001,
1054 wxUPDATE_UI_FROMIDLE = 0x0002 // Invoked from On(Internal)Idle
1055 };
1056
1057
1058
1059 //---------------------------------------------------------------------------
1060