1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Definitions and stuff
9 // Copyright: (c) 1998 by Total Control Software
10 // Licence: wxWindows license
11 /////////////////////////////////////////////////////////////////////////////
15 //---------------------------------------------------------------------------
16 // some type definitions to simplify things for SWIG
18 typedef int wxWindowID;
21 typedef unsigned int wxUint32;
22 typedef int wxEventType;
23 typedef unsigned int size_t;
24 typedef unsigned int time_t;
25 typedef unsigned char byte;
28 //----------------------------------------------------------------------
29 // Various SWIG macros and such
31 #define %addtofunc %feature("addtofunc")
32 #define %kwargs %feature("kwargs")
33 #define %nokwargs %feature("nokwargs")
34 #define %noautorepr %feature("noautorepr")
37 #define %shadow %insert("shadow")
41 #define %pythoncode %insert("python")
47 // Given the name of a wxChar (or wxString) constant in C++, make
48 // a static wxString for wxPython, and also let SWIG wrap it.
49 %define MAKE_CONST_WXSTRING(strname)
50 %{ static const wxString wxPy##strname(wx##strname); %}
52 %name(strname) const wxString wxPy##strname;
57 // Generate code in the module init for the event types, since they may not be
58 // initialized yet when they are used in the static swig_const_table.
59 %typemap(consttab) wxEventType; // TODO: how to prevent code inserted into the consttab?
60 %typemap(constcode) wxEventType "PyDict_SetItemString(d, \"$symname\", PyInt_FromLong($value));";
65 %#---------------------------------------------------------------------------
69 //---------------------------------------------------------------------------
71 // General numeric #define's and etc. Making them all enums makes SWIG use the
72 // real macro when making the Python Int
111 wxTINY_CAPTION_HORIZ,
118 wxDEFAULT_FRAME_STYLE,
119 wxDEFAULT_DIALOG_STYLE,
122 wxFRAME_FLOAT_ON_PARENT,
123 wxFRAME_NO_WINDOW_MENU,
215 wxSIZE_ALLOW_MINUS_ONE,
218 wxPRINT_QUALITY_HIGH,
219 wxPRINT_QUALITY_MEDIUM,
221 wxPRINT_QUALITY_DRAFT,
243 wxID_HELP_PROCEDURES,
262 wxID_VIEW_LARGEICONS,
263 wxID_VIEW_SMALLICONS,
326 wxNO_FULL_REPAINT_ON_RESIZE,
331 wxWS_EX_VALIDATE_RECURSIVELY,
332 wxWS_EX_BLOCK_EVENTS,
335 wxWS_EX_THEMED_BACKGROUND,
336 wxWS_EX_PROCESS_IDLE,
337 wxWS_EX_PROCESS_UI_UPDATES,
340 // Mapping modes (as per Windows)
353 // It looks like wxTabCtrl may rise from the dead. Uncomment these if
354 // it gets an implementation for all platforms...
355 // wxTC_RIGHTJUSTIFY,
368 enum wxGeometryCentre
403 wxALIGN_CENTER_HORIZONTAL,
404 wxALIGN_CENTRE_HORIZONTAL,
409 wxALIGN_CENTER_VERTICAL,
410 wxALIGN_CENTRE_VERTICAL,
482 wxXOR, // src XOR dst
484 wxOR_REVERSE, // src OR (NOT dst)
485 wxAND_REVERSE,// src AND (NOT dst)
487 wxAND, // src AND dst
488 wxAND_INVERT, // (NOT src) AND dst
490 wxNOR, // (NOT src) AND (NOT dst)
491 wxEQUIV, // (NOT src) XOR dst
492 wxSRC_INVERT, // (NOT src)
493 wxOR_INVERT, // (NOT src) OR dst
494 wxNAND, // (NOT src) OR (NOT dst)
497 // wxSRC_OR, // source _bitmap_ OR destination
498 // wxSRC_AND // source _bitmap_ AND destination
521 WXK_PRIOR, /* Page up */
522 WXK_NEXT, /* Page down */
603 WXK_NUMPAD_SEPARATOR,
617 wxPAPER_NONE, // Use specific dimensions
618 wxPAPER_LETTER, // Letter, 8 1/2 by 11 inches
619 wxPAPER_LEGAL, // Legal, 8 1/2 by 14 inches
620 wxPAPER_A4, // A4 Sheet, 210 by 297 millimeters
621 wxPAPER_CSHEET, // C Sheet, 17 by 22 inches
622 wxPAPER_DSHEET, // D Sheet, 22 by 34 inches
623 wxPAPER_ESHEET, // E Sheet, 34 by 44 inches
624 wxPAPER_LETTERSMALL, // Letter Small, 8 1/2 by 11 inches
625 wxPAPER_TABLOID, // Tabloid, 11 by 17 inches
626 wxPAPER_LEDGER, // Ledger, 17 by 11 inches
627 wxPAPER_STATEMENT, // Statement, 5 1/2 by 8 1/2 inches
628 wxPAPER_EXECUTIVE, // Executive, 7 1/4 by 10 1/2 inches
629 wxPAPER_A3, // A3 sheet, 297 by 420 millimeters
630 wxPAPER_A4SMALL, // A4 small sheet, 210 by 297 millimeters
631 wxPAPER_A5, // A5 sheet, 148 by 210 millimeters
632 wxPAPER_B4, // B4 sheet, 250 by 354 millimeters
633 wxPAPER_B5, // B5 sheet, 182-by-257-millimeter paper
634 wxPAPER_FOLIO, // Folio, 8-1/2-by-13-inch paper
635 wxPAPER_QUARTO, // Quarto, 215-by-275-millimeter paper
636 wxPAPER_10X14, // 10-by-14-inch sheet
637 wxPAPER_11X17, // 11-by-17-inch sheet
638 wxPAPER_NOTE, // Note, 8 1/2 by 11 inches
639 wxPAPER_ENV_9, // #9 Envelope, 3 7/8 by 8 7/8 inches
640 wxPAPER_ENV_10, // #10 Envelope, 4 1/8 by 9 1/2 inches
641 wxPAPER_ENV_11, // #11 Envelope, 4 1/2 by 10 3/8 inches
642 wxPAPER_ENV_12, // #12 Envelope, 4 3/4 by 11 inches
643 wxPAPER_ENV_14, // #14 Envelope, 5 by 11 1/2 inches
644 wxPAPER_ENV_DL, // DL Envelope, 110 by 220 millimeters
645 wxPAPER_ENV_C5, // C5 Envelope, 162 by 229 millimeters
646 wxPAPER_ENV_C3, // C3 Envelope, 324 by 458 millimeters
647 wxPAPER_ENV_C4, // C4 Envelope, 229 by 324 millimeters
648 wxPAPER_ENV_C6, // C6 Envelope, 114 by 162 millimeters
649 wxPAPER_ENV_C65, // C65 Envelope, 114 by 229 millimeters
650 wxPAPER_ENV_B4, // B4 Envelope, 250 by 353 millimeters
651 wxPAPER_ENV_B5, // B5 Envelope, 176 by 250 millimeters
652 wxPAPER_ENV_B6, // B6 Envelope, 176 by 125 millimeters
653 wxPAPER_ENV_ITALY, // Italy Envelope, 110 by 230 millimeters
654 wxPAPER_ENV_MONARCH, // Monarch Envelope, 3 7/8 by 7 1/2 inches
655 wxPAPER_ENV_PERSONAL, // 6 3/4 Envelope, 3 5/8 by 6 1/2 inches
656 wxPAPER_FANFOLD_US, // US Std Fanfold, 14 7/8 by 11 inches
657 wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold, 8 1/2 by 12 inches
658 wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold, 8 1/2 by 13 inches
660 wxPAPER_ISO_B4, // B4 (ISO) 250 x 353 mm
661 wxPAPER_JAPANESE_POSTCARD, // Japanese Postcard 100 x 148 mm
662 wxPAPER_9X11, // 9 x 11 in
663 wxPAPER_10X11, // 10 x 11 in
664 wxPAPER_15X11, // 15 x 11 in
665 wxPAPER_ENV_INVITE, // Envelope Invite 220 x 220 mm
666 wxPAPER_LETTER_EXTRA, // Letter Extra 9 \275 x 12 in
667 wxPAPER_LEGAL_EXTRA, // Legal Extra 9 \275 x 15 in
668 wxPAPER_TABLOID_EXTRA, // Tabloid Extra 11.69 x 18 in
669 wxPAPER_A4_EXTRA, // A4 Extra 9.27 x 12.69 in
670 wxPAPER_LETTER_TRANSVERSE, // Letter Transverse 8 \275 x 11 in
671 wxPAPER_A4_TRANSVERSE, // A4 Transverse 210 x 297 mm
672 wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse 9\275 x 12 in
673 wxPAPER_A_PLUS, // SuperA/SuperA/A4 227 x 356 mm
674 wxPAPER_B_PLUS, // SuperB/SuperB/A3 305 x 487 mm
675 wxPAPER_LETTER_PLUS, // Letter Plus 8.5 x 12.69 in
676 wxPAPER_A4_PLUS, // A4 Plus 210 x 330 mm
677 wxPAPER_A5_TRANSVERSE, // A5 Transverse 148 x 210 mm
678 wxPAPER_B5_TRANSVERSE, // B5 (JIS) Transverse 182 x 257 mm
679 wxPAPER_A3_EXTRA, // A3 Extra 322 x 445 mm
680 wxPAPER_A5_EXTRA, // A5 Extra 174 x 235 mm
681 wxPAPER_B5_EXTRA, // B5 (ISO) Extra 201 x 276 mm
682 wxPAPER_A2, // A2 420 x 594 mm
683 wxPAPER_A3_TRANSVERSE, // A3 Transverse 297 x 420 mm
684 wxPAPER_A3_EXTRA_TRANSVERSE // A3 Extra Transverse 322 x 445 mm
689 wxDUPLEX_SIMPLEX, // Non-duplex
696 // menu and toolbar item kinds
699 wxITEM_SEPARATOR = -1,
711 wxHT_SCROLLBAR_FIRST = wxHT_NOWHERE,
712 wxHT_SCROLLBAR_ARROW_LINE_1, // left or upper arrow to scroll by line
713 wxHT_SCROLLBAR_ARROW_LINE_2, // right or down
714 wxHT_SCROLLBAR_ARROW_PAGE_1, // left or upper arrow to scroll by page
715 wxHT_SCROLLBAR_ARROW_PAGE_2, // right or down
716 wxHT_SCROLLBAR_THUMB, // on the thumb
717 wxHT_SCROLLBAR_BAR_1, // bar to the left/above the thumb
718 wxHT_SCROLLBAR_BAR_2, // bar to the right/below the thumb
722 wxHT_WINDOW_OUTSIDE, // not in this window at all
723 wxHT_WINDOW_INSIDE, // in the client area
724 wxHT_WINDOW_VERT_SCROLLBAR, // on the vertical scrollbar
725 wxHT_WINDOW_HORZ_SCROLLBAR, // on the horizontal scrollbar
726 wxHT_WINDOW_CORNER, // on the corner between 2 scrollbars
734 enum wxHotkeyModifier
742 #define wxEVT_HOTKEY 9999
746 enum wxHotkeyModifier
758 wxUPDATE_UI_NONE = 0x0000,
759 wxUPDATE_UI_RECURSE = 0x0001,
760 wxUPDATE_UI_FROMIDLE = 0x0002 // Invoked from On(Internal)Idle
765 //---------------------------------------------------------------------------