1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Definitions and stuff
9 // Copyright: (c) 1998 by Total Control Software
10 // Licence: wxWindows license
11 /////////////////////////////////////////////////////////////////////////////
15 //---------------------------------------------------------------------------
16 // Forward declares...
18 class wxAcceleratorEntry;
19 class wxAcceleratorTable;
20 class wxActivateEvent;
25 class wxCalculateLayoutEvent;
42 class wxDropFilesEvent;
60 class wxIndividualLayoutConstraint;
61 class wxInitDialogEvent;
62 class wxJoystickEvent;
64 class wxLayoutAlgorithm;
65 class wxLayoutConstraints;
70 class wxMDIChildFrame;
71 class wxMDIClientWindow;
72 class wxMDIParentFrame;
74 class wxMaximizeEvent;
80 class wxMessageDialog;
85 class wxNotebookEvent;
87 class wxPageSetupData;
88 class wxPageSetupDialog;
99 class wxQueryLayoutInfoEvent;
104 class wxRegionIterator;
107 class wxSashLayoutWindow;
112 class wxScrolledWindow;
114 class wxSingleChoiceDialog;
120 class wxSplitterWindow;
121 class wxStaticBitmap;
125 class wxSysColourChangedEvent;
128 class wxTextEntryDialog;
135 class wxTreeItemData;
137 class wxUpdateUIEvent;
146 //---------------------------------------------------------------------------
148 // some definitions for SWIG only
149 typedef unsigned char byte;
150 typedef short int WXTYPE;
151 typedef int wxWindowID;
152 typedef unsigned int uint;
153 typedef signed int EBool;
156 //---------------------------------------------------------------------------
158 // General numeric #define's and etc. Making them all enums makes SWIG use the
159 // real macro when making the Python Int
177 wxTRANSPARENT_WINDOW,
181 //wxOVERRIDE_KEY_TRANSLATIONS,
195 wxTINY_CAPTION_HORIZ,
201 wxDEFAULT_FRAME_STYLE,
202 wxDEFAULT_DIALOG_STYLE,
276 wxLC_SORT_DESCENDING,
313 wxSIZE_ALLOW_MINUS_ONE,
340 wxID_HELP_PROCEDURES,
363 wxBITMAP_TYPE_BMP_RESOURCE,
365 wxBITMAP_TYPE_ICO_RESOURCE,
367 wxBITMAP_TYPE_CUR_RESOURCE,
369 wxBITMAP_TYPE_XBM_DATA,
371 wxBITMAP_TYPE_XPM_DATA,
373 wxBITMAP_TYPE_TIF_RESOURCE,
375 wxBITMAP_TYPE_GIF_RESOURCE,
377 wxBITMAP_TYPE_PNG_RESOURCE,
379 wxBITMAP_TYPE_RESOURCE,
393 // // Standard error codes
396 // ERR_PARAM = (-4000),
442 wxXOR, // src XOR dst
444 wxOR_REVERSE, // src OR (NOT dst)
445 wxAND_REVERSE,// src AND (NOT dst)
447 wxAND, // src AND dst
448 wxAND_INVERT, // (NOT src) AND dst
450 wxNOR, // (NOT src) AND (NOT dst)
451 wxEQUIV, // (NOT src) XOR dst
452 wxSRC_INVERT, // (NOT src)
453 wxOR_INVERT, // (NOT src) OR dst
454 wxNAND, // (NOT src) OR (NOT dst)
457 wxSRC_OR, // source _bitmap_ OR destination
458 wxSRC_AND // source _bitmap_ AND destination
461 enum _Virtual_keycodes {
480 WXK_PRIOR, // Page up
481 WXK_NEXT, // Page down
548 wxCURSOR_LEFT_BUTTON,
550 wxCURSOR_MIDDLE_BUTTON,
552 wxCURSOR_PAINT_BRUSH,
555 wxCURSOR_POINT_RIGHT,
556 wxCURSOR_QUESTION_ARROW,
557 wxCURSOR_RIGHT_BUTTON,
568 // /* Not yet implemented for Windows */
569 // , wxCURSOR_CROSS_REVERSE,
570 // wxCURSOR_DOUBLE_ARROW,
571 // wxCURSOR_BASED_ARROW_UP,
572 // wxCURSOR_BASED_ARROW_DOWN
574 } _standard_cursors_t;
579 wxPAPER_NONE, // Use specific dimensions
580 wxPAPER_LETTER, // Letter, 8 1/2 by 11 inches
581 wxPAPER_LEGAL, // Legal, 8 1/2 by 14 inches
582 wxPAPER_A4, // A4 Sheet, 210 by 297 millimeters
583 wxPAPER_CSHEET, // C Sheet, 17 by 22 inches
584 wxPAPER_DSHEET, // D Sheet, 22 by 34 inches
585 wxPAPER_ESHEET, // E Sheet, 34 by 44 inches
586 wxPAPER_LETTERSMALL, // Letter Small, 8 1/2 by 11 inches
587 wxPAPER_TABLOID, // Tabloid, 11 by 17 inches
588 wxPAPER_LEDGER, // Ledger, 17 by 11 inches
589 wxPAPER_STATEMENT, // Statement, 5 1/2 by 8 1/2 inches
590 wxPAPER_EXECUTIVE, // Executive, 7 1/4 by 10 1/2 inches
591 wxPAPER_A3, // A3 sheet, 297 by 420 millimeters
592 wxPAPER_A4SMALL, // A4 small sheet, 210 by 297 millimeters
593 wxPAPER_A5, // A5 sheet, 148 by 210 millimeters
594 wxPAPER_B4, // B4 sheet, 250 by 354 millimeters
595 wxPAPER_B5, // B5 sheet, 182-by-257-millimeter paper
596 wxPAPER_FOLIO, // Folio, 8-1/2-by-13-inch paper
597 wxPAPER_QUARTO, // Quarto, 215-by-275-millimeter paper
598 wxPAPER_10X14, // 10-by-14-inch sheet
599 wxPAPER_11X17, // 11-by-17-inch sheet
600 wxPAPER_NOTE, // Note, 8 1/2 by 11 inches
601 wxPAPER_ENV_9, // #9 Envelope, 3 7/8 by 8 7/8 inches
602 wxPAPER_ENV_10, // #10 Envelope, 4 1/8 by 9 1/2 inches
603 wxPAPER_ENV_11, // #11 Envelope, 4 1/2 by 10 3/8 inches
604 wxPAPER_ENV_12, // #12 Envelope, 4 3/4 by 11 inches
605 wxPAPER_ENV_14, // #14 Envelope, 5 by 11 1/2 inches
606 wxPAPER_ENV_DL, // DL Envelope, 110 by 220 millimeters
607 wxPAPER_ENV_C5, // C5 Envelope, 162 by 229 millimeters
608 wxPAPER_ENV_C3, // C3 Envelope, 324 by 458 millimeters
609 wxPAPER_ENV_C4, // C4 Envelope, 229 by 324 millimeters
610 wxPAPER_ENV_C6, // C6 Envelope, 114 by 162 millimeters
611 wxPAPER_ENV_C65, // C65 Envelope, 114 by 229 millimeters
612 wxPAPER_ENV_B4, // B4 Envelope, 250 by 353 millimeters
613 wxPAPER_ENV_B5, // B5 Envelope, 176 by 250 millimeters
614 wxPAPER_ENV_B6, // B6 Envelope, 176 by 125 millimeters
615 wxPAPER_ENV_ITALY, // Italy Envelope, 110 by 230 millimeters
616 wxPAPER_ENV_MONARCH, // Monarch Envelope, 3 7/8 by 7 1/2 inches
617 wxPAPER_ENV_PERSONAL, // 6 3/4 Envelope, 3 5/8 by 6 1/2 inches
618 wxPAPER_FANFOLD_US, // US Std Fanfold, 14 7/8 by 11 inches
619 wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold, 8 1/2 by 12 inches
620 wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold, 8 1/2 by 13 inches
622 wxPAPER_ISO_B4, // B4 (ISO) 250 x 353 mm
623 wxPAPER_JAPANESE_POSTCARD, // Japanese Postcard 100 x 148 mm
624 wxPAPER_9X11, // 9 x 11 in
625 wxPAPER_10X11, // 10 x 11 in
626 wxPAPER_15X11, // 15 x 11 in
627 wxPAPER_ENV_INVITE, // Envelope Invite 220 x 220 mm
628 wxPAPER_LETTER_EXTRA, // Letter Extra 9 \275 x 12 in
629 wxPAPER_LEGAL_EXTRA, // Legal Extra 9 \275 x 15 in
630 wxPAPER_TABLOID_EXTRA, // Tabloid Extra 11.69 x 18 in
631 wxPAPER_A4_EXTRA, // A4 Extra 9.27 x 12.69 in
632 wxPAPER_LETTER_TRANSVERSE, // Letter Transverse 8 \275 x 11 in
633 wxPAPER_A4_TRANSVERSE, // A4 Transverse 210 x 297 mm
634 wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse 9\275 x 12 in
635 wxPAPER_A_PLUS, // SuperA/SuperA/A4 227 x 356 mm
636 wxPAPER_B_PLUS, // SuperB/SuperB/A3 305 x 487 mm
637 wxPAPER_LETTER_PLUS, // Letter Plus 8.5 x 12.69 in
638 wxPAPER_A4_PLUS, // A4 Plus 210 x 330 mm
639 wxPAPER_A5_TRANSVERSE, // A5 Transverse 148 x 210 mm
640 wxPAPER_B5_TRANSVERSE, // B5 (JIS) Transverse 182 x 257 mm
641 wxPAPER_A3_EXTRA, // A3 Extra 322 x 445 mm
642 wxPAPER_A5_EXTRA, // A5 Extra 174 x 235 mm
643 wxPAPER_B5_EXTRA, // B5 (ISO) Extra 201 x 276 mm
644 wxPAPER_A2, // A2 420 x 594 mm
645 wxPAPER_A3_TRANSVERSE, // A3 Transverse 297 x 420 mm
646 wxPAPER_A3_EXTRA_TRANSVERSE // A3 Extra Transverse 322 x 445 mm
657 const char* wxVERSION_STRING;
659 //---------------------------------------------------------------------------
660 //---------------------------------------------------------------------------
671 wxEVT_COMMAND_BUTTON_CLICKED,
672 wxEVT_COMMAND_CHECKBOX_CLICKED,
673 wxEVT_COMMAND_CHOICE_SELECTED,
674 wxEVT_COMMAND_LISTBOX_SELECTED,
675 wxEVT_COMMAND_LISTBOX_DOUBLECLICKED,
676 wxEVT_COMMAND_CHECKLISTBOX_TOGGLED,
677 wxEVT_COMMAND_TEXT_UPDATED,
678 wxEVT_COMMAND_TEXT_ENTER,
679 wxEVT_COMMAND_MENU_SELECTED,
680 wxEVT_COMMAND_SLIDER_UPDATED,
681 wxEVT_COMMAND_RADIOBOX_SELECTED,
682 wxEVT_COMMAND_RADIOBUTTON_SELECTED,
683 // wxEVT_COMMAND_SCROLLBAR_UPDATED is now obsolete since we use wxEVT_SCROLL... events
684 wxEVT_COMMAND_SCROLLBAR_UPDATED,
685 wxEVT_COMMAND_VLBOX_SELECTED,
686 wxEVT_COMMAND_COMBOBOX_SELECTED,
687 wxEVT_COMMAND_TOOL_CLICKED,
688 wxEVT_COMMAND_TOOL_RCLICKED,
689 wxEVT_COMMAND_TOOL_ENTER,
693 /* Mouse event types */
707 // Non-client mouse events
708 wxEVT_NC_LEFT_DOWN = wxEVT_FIRST + 100,
710 wxEVT_NC_MIDDLE_DOWN,
715 wxEVT_NC_ENTER_WINDOW,
716 wxEVT_NC_LEAVE_WINDOW,
717 wxEVT_NC_LEFT_DCLICK,
718 wxEVT_NC_MIDDLE_DCLICK,
719 wxEVT_NC_RIGHT_DCLICK,
721 /* Character input event type */
725 * Scrollbar event identifiers
730 wxEVT_SCROLL_LINEDOWN,
732 wxEVT_SCROLL_PAGEDOWN,
733 wxEVT_SCROLL_THUMBTRACK,
735 wxEVT_SIZE = wxEVT_FIRST + 200,
739 wxEVT_QUERY_END_SESSION,
750 wxEVT_MOUSE_CAPTURE_CHANGED,
752 wxEVT_ERASE_BACKGROUND,
757 wxEVT_MENU_HIGHLIGHT,
758 wxEVT_POPUP_MENU_INIT,
760 wxEVT_SYS_COLOUR_CHANGED,
761 wxEVT_SETTING_CHANGED,
762 wxEVT_QUERY_NEW_PALETTE,
763 wxEVT_PALETTE_CHANGED,
764 wxEVT_JOY_BUTTON_DOWN,
776 /* Generic command events */
777 // Note: a click is a higher-level event
778 // than button down/up
779 wxEVT_COMMAND_LEFT_CLICK,
780 wxEVT_COMMAND_LEFT_DCLICK,
781 wxEVT_COMMAND_RIGHT_CLICK,
782 wxEVT_COMMAND_RIGHT_DCLICK,
783 wxEVT_COMMAND_SET_FOCUS,
784 wxEVT_COMMAND_KILL_FOCUS,
787 /* Tree control event types */
788 wxEVT_COMMAND_TREE_BEGIN_DRAG,
789 wxEVT_COMMAND_TREE_BEGIN_RDRAG,
790 wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT,
791 wxEVT_COMMAND_TREE_END_LABEL_EDIT,
792 wxEVT_COMMAND_TREE_DELETE_ITEM,
793 wxEVT_COMMAND_TREE_GET_INFO,
794 wxEVT_COMMAND_TREE_SET_INFO,
795 wxEVT_COMMAND_TREE_ITEM_EXPANDED,
796 wxEVT_COMMAND_TREE_ITEM_EXPANDING,
797 wxEVT_COMMAND_TREE_ITEM_COLLAPSED,
798 wxEVT_COMMAND_TREE_ITEM_COLLAPSING,
799 wxEVT_COMMAND_TREE_SEL_CHANGED,
800 wxEVT_COMMAND_TREE_SEL_CHANGING,
801 wxEVT_COMMAND_TREE_KEY_DOWN,
803 /* List control event types */
804 wxEVT_COMMAND_LIST_BEGIN_DRAG,
805 wxEVT_COMMAND_LIST_BEGIN_RDRAG,
806 wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT,
807 wxEVT_COMMAND_LIST_END_LABEL_EDIT,
808 wxEVT_COMMAND_LIST_DELETE_ITEM,
809 wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS,
810 wxEVT_COMMAND_LIST_GET_INFO,
811 wxEVT_COMMAND_LIST_SET_INFO,
812 wxEVT_COMMAND_LIST_ITEM_SELECTED,
813 wxEVT_COMMAND_LIST_ITEM_DESELECTED,
814 wxEVT_COMMAND_LIST_KEY_DOWN,
815 wxEVT_COMMAND_LIST_INSERT_ITEM,
816 wxEVT_COMMAND_LIST_COL_CLICK,
818 /* Tab and notebook control event types */
819 wxEVT_COMMAND_TAB_SEL_CHANGED,
820 wxEVT_COMMAND_TAB_SEL_CHANGING,
821 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED,
822 wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING
829 /////////////////////////////////////////////////////////////////////////////
832 // Revision 1.13 1999/04/30 03:29:18 RD
833 // wxPython 2.0b9, first phase (win32)
834 // Added gobs of stuff, see wxPython/README.txt for details
836 // Revision 1.12.4.2 1999/03/28 06:35:01 RD
839 // Python thread support
840 // various minor additions
841 // various minor fixes
843 // Revision 1.12.4.1 1999/03/27 23:29:13 RD
846 // Python thread support
847 // various minor additions
848 // various minor fixes
850 // Revision 1.12 1999/02/27 04:21:58 RD
852 // Added missing wxRA_SPECIFY_ROWS, wxRA_SPECIFY_COLS
854 // Revision 1.11 1999/02/20 09:02:54 RD
855 // Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
856 // window handle. If you can get the window handle into the python code,
857 // it should just work... More news on this later.
859 // Added wxImageList, wxToolTip.
861 // Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the
862 // wxRegConfig class.
864 // As usual, some bug fixes, tweaks, etc.
866 // Revision 1.10 1999/01/30 07:30:08 RD
868 // Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc.
870 // Various cleanup, tweaks, minor additions, etc. to maintain
871 // compatibility with the current wxWindows.
873 // Revision 1.9 1998/12/15 20:41:13 RD
874 // Changed the import semantics from "from wxPython import *" to "from
875 // wxPython.wx import *" This is for people who are worried about
876 // namespace pollution, they can use "from wxPython import wx" and then
877 // prefix all the wxPython identifiers with "wx."
879 // Added wxTaskbarIcon for wxMSW.
881 // Made the events work for wxGrid.
885 // Added wxMiniFrame for wxGTK, (untested.)
887 // Changed many of the args and return values that were pointers to gdi
888 // objects to references to reflect changes in the wxWindows API.
890 // Other assorted fixes and additions.
892 // Revision 1.8 1998/11/15 23:03:42 RD
893 // Removing some ifdef's for wxGTK
895 // Revision 1.7 1998/11/11 03:12:24 RD
897 // Additions for wxTreeCtrl
899 // Revision 1.6 1998/10/20 06:43:53 RD
900 // New wxTreeCtrl wrappers (untested)
901 // some changes in helpers
904 // Revision 1.5 1998/10/02 06:40:32 RD
906 // Version 0.4 of wxPython for MSW.
908 // Revision 1.4 1998/08/18 19:48:11 RD
909 // more wxGTK compatibility things.
911 // It builds now but there are serious runtime problems...
913 // Revision 1.3 1998/08/14 23:36:33 RD
914 // Beginings of wxGTK compatibility
916 // Revision 1.2 1998/08/14 03:16:35 RD
917 // removed some definitions that got removed from defs.h
919 // Revision 1.1 1998/08/09 08:25:49 RD