]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_defs.i
Added wxGetKeyState
[wxWidgets.git] / wxPython / src / _defs.i
index 754f84007f92793a59e0244b11582e37bd8e931c..85d6a8049aef9ed92f715b8ca9b9a7e01937fb48 100644 (file)
 /////////////////////////////////////////////////////////////////////////////
 
 
+// Globally turn on the autodoc feature
+%feature("autodoc", "1");  // 0 == no param types, 1 == show param types
+
 
 //---------------------------------------------------------------------------
-// Forward declares...
-
-class wxAcceleratorEntry;
-class wxAcceleratorTable;
-class wxActivateEvent;
-class wxBitmapButton;
-class wxBitmap;
-class wxBrush;
-class wxButton;
-class wxCalculateLayoutEvent;
-class wxCaret;
-class wxCheckBox;
-class wxCheckListBox;
-class wxChoice;
-class wxClientDC;
-class wxCloseEvent;
-class wxColourData;
-class wxColourDialog;
-class wxColour;
-class wxComboBox;
-class wxCommandEvent;
-class wxConfig;
-class wxControl;
-class wxCursor;
-class wxDC;
-class wxDialog;
-class wxDirDialog;
-class wxDropFilesEvent;
-class wxEraseEvent;
-class wxEvent;
-class wxEvtHandler;
-class wxFileDialog;
-class wxFocusEvent;
-class wxFontData;
-class wxFontDialog;
-class wxFont;
-class wxFrame;
-class wxGauge;
-class wxGridCell;
-class wxGridEvent;
-class wxGrid;
-class wxIconizeEvent;
-class wxIcon;
-class wxIdleEvent;
-class wxImageList;
-class wxIndividualLayoutConstraint;
-class wxInitDialogEvent;
-class wxJoystickEvent;
-class wxKeyEvent;
-class wxLayoutAlgorithm;
-class wxLayoutConstraints;
-class wxListBox;
-class wxListCtrl;
-class wxListEvent;
-class wxListItem;
-class wxMDIChildFrame;
-class wxMDIClientWindow;
-class wxMDIParentFrame;
-class wxMask;
-class wxMaximizeEvent;
-class wxMemoryDC;
-class wxMenuBar;
-class wxMenuEvent;
-class wxMenuItem;
-class wxMenu;
-class wxMessageDialog;
-class wxMetaFileDC;
-class wxMiniFrame;
-class wxMouseEvent;
-class wxMoveEvent;
-class wxNotebookEvent;
-class wxNotebook;
-class wxPageSetupData;
-class wxPageSetupDialog;
-class wxPaintDC;
-class wxPaintEvent;
-class wxPalette;
-class wxPanel;
-class wxPen;
-class wxPoint;
-class wxPostScriptDC;
-class wxPrintData;
-class wxPrintDialog;
-class wxPrinterDC;
-class wxQueryLayoutInfoEvent;
-class wxRadioBox;
-class wxRadioButton;
-class wxRealPoint;
-class wxRect;
-class wxRegionIterator;
-class wxRegion;
-class wxSashEvent;
-class wxSashLayoutWindow;
-class wxSashWindow;
-class wxScreenDC;
-class wxScrollBar;
-class wxScrollEvent;
-class wxScrollWinEvent;
-class wxScrolledWindow;
-class wxShowEvent;
-class wxSingleChoiceDialog;
-class wxSizeEvent;
-class wxSize;
-class wxSlider;
-class wxSpinButton;
-class wxSpinEvent;
-class wxSplitterWindow;
-class wxStaticBitmap;
-class wxStaticBox;
-class wxStaticText;
-class wxStatusBar;
-class wxSysColourChangedEvent;
-class wxTaskBarIcon;
-class wxTextCtrl;
-class wxTextEntryDialog;
-class wxTimer;
-class wxToolBarTool;
-class wxToolBar;
-class wxToolTip;
-class wxTreeCtrl;
-class wxTreeEvent;
-class wxTreeItemData;
-class wxTreeItemId;
-class wxUpdateUIEvent;
-class wxWindowDC;
-class wxWindow;
-class wxSizer;
-class wxBoxSizer;
-class wxStaticBoxSizer;
-
-class wxPyApp;
-class wxPyMenu;
-class wxPyTimer;
+// some type definitions to simplify things for SWIG
+
+// typedef int             wxWindowID;
+// typedef int             wxCoord;
+// typedef int             wxInt32;
+// typedef unsigned int    wxUint32;
+typedef int             wxEventType;
+typedef unsigned int    size_t;
+typedef unsigned int    time_t;
+typedef unsigned char   byte;
 
+#define wxWindowID      int
+#define wxCoord         int
+#define wxInt32         int
+#define wxUint32        unsigned int
+//#define wxEventType     int
+//#define size_t          unsigned int
+//#define time_t          unsigned int
+//#define byte            unsigned char
 
-//---------------------------------------------------------------------------
 
-// some definitions for SWIG only
-typedef unsigned char   byte;
-typedef short int       WXTYPE;
-typedef int             wxWindowID;
-typedef unsigned int    uint;
-typedef signed   int    EBool;
-typedef unsigned int    size_t
-typedef unsigned int    time_t
-typedef int             wxPrintQuality;
-typedef int             wxCoord;
-typedef char            wxChar;
+//----------------------------------------------------------------------
+// Various SWIG macros and such
+
+#define %addtofunc      %feature("addtofunc")
+#define %kwargs         %feature("kwargs")
+#define %nokwargs       %feature("nokwargs")
+
+#ifndef %shadow
+#define %shadow         %insert("shadow")
+#endif
+
+#ifndef %pythoncode
+#define %pythoncode     %insert("python")
+#endif
+
+#define WXUNUSED(x)     x
+
+
+// Given the name of a wxChar (or wxString) constant in C++, make
+// a static wxString for wxPython, and also let SWIG wrap it.
+%define MAKE_CONST_WXSTRING(strname)
+    %{ static const wxString wxPy##strname(wx##strname); %}
+    %immutable;
+    %name(strname) const wxString wxPy##strname;
+    %mutable;
+%enddef
+
+
+// Generate code in the module init for the event types, since they may not be
+// initialized yet when they are used in the static swig_const_table.
+%typemap(consttab) wxEventType; // TODO: how to prevent code inserted into the consttab?
+%typemap(constcode) wxEventType "PyDict_SetItemString(d, \"$symname\", PyInt_FromLong($value));";
+
+
+
+// Macros for the docstring and autodoc features of SWIG.
+
+// Set the docsring for the given full or partial declaration
+#define DocStr(decl, docstr)     %feature("docstring") decl docstr
+
+// Set the autodoc string for a full or partial declaration
+#define DocA(decl, astr)        %feature("autodoc") decl astr
+
+// Set both the autodoc and docstring for a full or partial declaration
+%define DocAStr(decl, astr, docstr)
+    %feature("autodoc") decl astr;
+    %feature("docstring") decl docstr
+%enddef
+
+// Set the detailed reference docs for full or partial declaration
+#define DocRef(decl, str)       %feature("docref") decl str
 
 
+
+    
+// Set the docstring for a decl and then define the decl too.  Must use the
+// full declaration of the item.
+%define DocDeclStr(type, decl, docstr)
+    %feature("docstring") decl docstr;
+    type decl
+%enddef
+
+// As above, but also give the decl a new %name    
+%define DocDeclStrName(type, decl, docstr, newname)
+    %feature("docstring") decl docstr;
+    %name(newname) type decl
+%enddef
+
+    
+// Set the autodoc string for a decl and then define the decl too.  Must use the
+// full declaration of the item.
+%define DocDeclA(type, decl, astr)
+    %feature("autodoc") decl astr;
+    type decl
+%enddef
+
+// As above, but also give the decl a new %name    
+%define DocDeclAName(type, decl, astr, newname)
+    %feature("autodoc") decl astr;
+    %name(newname) type decl
+%enddef
+
+
+
+// Set the autodoc and the docstring for a decl and then define the decl too.
+// Must use the full declaration of the item.
+%define DocDeclAStr(type, decl, astr, docstr)
+    %feature("autodoc") decl astr;
+    %feature("docstring") decl docstr;
+    type decl
+%enddef
+
+// As above, but also give the decl a new %name    
+%define DocDeclAStrName(type, decl, astr, docstr, newname)
+    %feature("autodoc") decl astr;
+    %feature("docstring") decl docstr;
+    %name(newname) type decl
+%enddef
+
+
+
+
+// Set the docstring for a constructor decl and then define the decl too.
+// Must use the full declaration of the item.
+%define DocCtorStr(decl, docstr)
+    %feature("docstring") decl docstr;
+    decl
+%enddef
+
+// As above, but also give the decl a new %name    
+%define DocCtorStrName(decl, docstr, newname)
+    %feature("docstring") decl docstr;
+    %name(newname) decl
+%enddef
+
+    
+// Set the autodoc string for a decl and then define the decl too.  Must use the
+// full declaration of the item.
+%define DocCtorA(decl, astr)
+    %feature("autodoc") decl astr;
+    decl
+%enddef
+
+// As above, but also give the decl a new %name    
+%define DocCtorAname(decl, astr, newname)
+    %feature("autodoc") decl astr;
+    %name(newname) decl
+%enddef
+
+
+
+// Set the autodoc and the docstring for a decl and then define the decl too.
+// Must use the full declaration of the item.
+%define DocCtorAStr(decl, astr, docstr)
+    %feature("autodoc") decl astr;
+    %feature("docstring") decl docstr;
+    decl
+%enddef
+
+// As above, but also give the decl a new %name    
+%define DocCtorAStrName(decl, astr, docstr, newname)
+    %feature("autodoc") decl astr;
+    %feature("docstring") decl docstr;
+    %name(newname) decl
+%enddef
+
+
+// A placeholder for the detailed reference docs.
+%define RefDoc(decl, docstr)
+%enddef        
+    
+    
+%define %newgroup
+%pythoncode {
+%#---------------------------------------------------------------------------
+}
+%enddef
+
 //---------------------------------------------------------------------------
 
 // General numeric #define's and etc.  Making them all enums makes SWIG use the
 // real macro when making the Python Int
 
 enum {
-    wxMAJOR_VERSION,
-    wxMINOR_VERSION,
-    wxRELEASE_NUMBER,
+//     wxMAJOR_VERSION,
+//     wxMINOR_VERSION,
+//     wxRELEASE_NUMBER,
 
     wxNOT_FOUND,
 
@@ -188,13 +220,10 @@ enum {
     wxNO_BORDER,
     wxUSER_COLOURS,
     wxNO_3D,
-//wxOVERRIDE_KEY_TRANSLATIONS,
+
     wxTAB_TRAVERSAL,
     wxWANTS_CHARS,
     wxPOPUP_WINDOW,
-    wxHORIZONTAL,
-    wxVERTICAL,
-    wxBOTH,
     wxCENTER_FRAME,
     wxCENTRE_ON_SCREEN,
     wxCENTER_ON_SCREEN,
@@ -203,6 +232,7 @@ enum {
     wxICONIZE,
     wxMINIMIZE,
     wxMAXIMIZE,
+    wxCLOSE_BOX,
     wxTHICK_FRAME,
     wxSYSTEM_MENU,
     wxMINIMIZE_BOX,
@@ -221,6 +251,7 @@ enum {
     wxFRAME_FLOAT_ON_PARENT,
     wxFRAME_NO_WINDOW_MENU,
     wxFRAME_NO_TASKBAR,
+    wxFRAME_SHAPED,
 
     wxED_CLIENT_MARGIN,
     wxED_BUTTONS_BOTTOM,
@@ -234,30 +265,8 @@ enum {
     wxRETAINED,
     wxBACKINGSTORE,
 
-    wxTB_HORIZONTAL,
-    wxTB_VERTICAL,
-    wxTB_3DBUTTONS,
-    wxTB_FLAT,
-    wxTB_DOCKABLE,
-    wxTB_NOICONS,
-    wxTB_TEXT,
-    wxTB_NODIVIDER,
-    wxTB_NOALIGN,
-
     wxCOLOURED,
     wxFIXED_LENGTH,
-    wxALIGN_LEFT,
-    wxALIGN_CENTER_HORIZONTAL,
-    wxALIGN_CENTRE_HORIZONTAL,
-    wxALIGN_RIGHT,
-    wxALIGN_BOTTOM,
-    wxALIGN_CENTER_VERTICAL,
-    wxALIGN_CENTRE_VERTICAL,
-    wxALIGN_TOP,
-    wxALIGN_CENTER,
-    wxALIGN_CENTRE,
-    wxSHAPED,
-    wxADJUST_MINSIZE,
 
     wxLB_NEEDED_SB,
     wxLB_ALWAYS_SB,
@@ -270,21 +279,6 @@ enum {
     wxPROCESS_ENTER,
     wxPASSWORD,
 
-    wxTE_READONLY,
-    wxTE_MULTILINE,
-    wxTE_PROCESS_TAB,
-    wxTE_RICH,
-    wxTE_RICH2,
-    wxTE_NO_VSCROLL,
-    wxTE_AUTO_SCROLL,
-    wxTE_PROCESS_ENTER,
-    wxTE_PASSWORD,
-    wxTE_AUTO_URL,
-    wxTE_NOHIDESEL,
-    wxTE_DONTWRAP,
-    wxTE_LINEWRAP,
-    wxTE_WORDWRAP,
-
     wxCB_SIMPLE,
     wxCB_DROPDOWN,
     wxCB_SORT,
@@ -294,10 +288,7 @@ enum {
     wxRA_SPECIFY_ROWS,
     wxRA_SPECIFY_COLS,
     wxRB_GROUP,
-    wxGA_PROGRESSBAR,
-    wxGA_HORIZONTAL,
-    wxGA_VERTICAL,
-    wxGA_SMOOTH,
+    wxRB_SINGLE,
     wxSL_HORIZONTAL,
     wxSL_VERTICAL,
     wxSL_AUTOTICKS,
@@ -312,21 +303,7 @@ enum {
     wxSB_VERTICAL,
     wxST_SIZEGRIP,
     wxST_NO_AUTORESIZE,
-    wxBU_AUTODRAW,
-    wxBU_NOAUTODRAW,
-    wxSP_VERTICAL,
-    wxSP_HORIZONTAL,
-    wxSP_ARROW_KEYS,
-    wxSP_WRAP,
-    wxSP_NOBORDER,
-    wxSP_3D,
-    wxSP_3DSASH,
-    wxSP_3DBORDER,
-    wxSP_FULLSASH,
-    wxSP_BORDER,
-    wxSP_LIVE_UPDATE,
-    wxSP_PERMIT_UNSPLIT,
-    //wxSP_SASH_AQUA,
+
     wxFLOOD_SURFACE,
     wxFLOOD_BORDER,
     wxODDEVEN_RULE,
@@ -360,8 +337,6 @@ enum {
     wxSETUP,
 
 
-    wxCENTRE,
-    wxCENTER,
     wxSIZE_AUTO_WIDTH,
     wxSIZE_AUTO_HEIGHT,
     wxSIZE_AUTO,
@@ -374,6 +349,10 @@ enum {
     wxPRINT_QUALITY_LOW,
     wxPRINT_QUALITY_DRAFT,
 
+    wxID_ANY,
+    wxID_SEPARATOR,
+
+    wxID_LOWEST,
     wxID_OPEN,
     wxID_CLOSE,
     wxID_NEW,
@@ -393,6 +372,7 @@ enum {
     wxID_HELP_PROCEDURES,
     wxID_HELP_CONTEXT,
     wxID_CLOSE_ALL,
+    wxID_PREFERENCES,
 
     wxID_CUT,
     wxID_COPY,
@@ -402,6 +382,20 @@ enum {
     wxID_DUPLICATE,
     wxID_SELECTALL,
 
+    wxID_DELETE,
+    wxID_REPLACE,
+    wxID_REPLACE_ALL,
+    wxID_PROPERTIES,
+
+    wxID_VIEW_DETAILS,
+    wxID_VIEW_LARGEICONS,
+    wxID_VIEW_SMALLICONS,
+    wxID_VIEW_LIST,
+    wxID_VIEW_SORTDATE,
+    wxID_VIEW_SORTNAME,
+    wxID_VIEW_SORTSIZE,
+    wxID_VIEW_SORTTYPE,
+
     wxID_FILE1,
     wxID_FILE2,
     wxID_FILE3,
@@ -431,6 +425,8 @@ enum {
     wxID_RETRY,
     wxID_IGNORE,
 
+    wxID_HIGHEST,
+
     wxOPEN,
     wxSAVE,
     wxHIDE_READONLY,
@@ -452,50 +448,25 @@ enum {
     wxPD_REMAINING_TIME,
 
     wxDD_NEW_DIR_BUTTON,
+    wxDD_DEFAULT_STYLE,
 
     wxMENU_TEAROFF,
     wxMB_DOCKABLE,
     wxNO_FULL_REPAINT_ON_RESIZE,
-
-    wxLEFT,
-    wxRIGHT,
-    wxUP,
-    wxDOWN,
-    wxALL,
-    wxTOP,
-    wxBOTTOM,
-
-    wxNORTH,
-    wxSOUTH,
-    wxEAST,
-    wxWEST,
-
-    wxSTRETCH_NOT,
-    wxSHRINK,
-    wxGROW,
-    wxEXPAND,
-
-    wxNB_FIXEDWIDTH,
-    wxNB_LEFT,
-    wxNB_RIGHT,
-    wxNB_BOTTOM,
-    wxNB_MULTILINE,
-
+    wxFULL_REPAINT_ON_RESIZE,
+    
     wxLI_HORIZONTAL,
     wxLI_VERTICAL,
 
-    wxJOYSTICK1,
-    wxJOYSTICK2,
-    wxJOY_BUTTON1,
-    wxJOY_BUTTON2,
-    wxJOY_BUTTON3,
-    wxJOY_BUTTON4,
-    wxJOY_BUTTON_ANY,
-
     wxWS_EX_VALIDATE_RECURSIVELY,
     wxWS_EX_BLOCK_EVENTS,
     wxWS_EX_TRANSIENT,
 
+    wxWS_EX_THEMED_BACKGROUND,
+    wxWS_EX_PROCESS_IDLE,
+    wxWS_EX_PROCESS_UI_UPDATES,
+
+
     // Mapping modes (as per Windows)
     wxMM_TEXT,
     wxMM_LOMETRIC,
@@ -508,6 +479,81 @@ enum {
     wxMM_POINTS,
     wxMM_METRIC,
 
+
+    // It looks like wxTabCtrl may rise from the dead.  Uncomment these if
+    // it gets an implementation for all platforms...
+//     wxTC_RIGHTJUSTIFY,
+//     wxTC_FIXEDWIDTH,
+//     wxTC_TOP,
+//     wxTC_LEFT,
+//     wxTC_RIGHT,
+//     wxTC_BOTTOM,
+//     wxTC_MULTILINE,
+//     wxTC_OWNERDRAW,
+
+};
+
+
+
+enum wxGeometryCentre
+{
+    wxCENTRE                  = 0x0001,
+    wxCENTER                  = wxCENTRE
+};
+
+
+enum wxOrientation
+{
+    wxHORIZONTAL,
+    wxVERTICAL,
+    wxBOTH
+};
+
+enum wxDirection
+{
+    wxLEFT,
+    wxRIGHT,
+    wxUP,
+    wxDOWN,
+
+    wxTOP,
+    wxBOTTOM,
+
+    wxNORTH,
+    wxSOUTH,
+    wxWEST,
+    wxEAST,
+
+    wxALL
+};
+
+enum wxAlignment
+{
+    wxALIGN_NOT,
+    wxALIGN_CENTER_HORIZONTAL,
+    wxALIGN_CENTRE_HORIZONTAL,
+    wxALIGN_LEFT,
+    wxALIGN_TOP,
+    wxALIGN_RIGHT,
+    wxALIGN_BOTTOM,
+    wxALIGN_CENTER_VERTICAL,
+    wxALIGN_CENTRE_VERTICAL,
+
+    wxALIGN_CENTER,
+    wxALIGN_CENTRE,
+
+    wxALIGN_MASK,
+};
+
+enum wxStretch
+{
+    wxSTRETCH_NOT,
+    wxSHRINK,
+    wxGROW,
+    wxEXPAND,
+    wxSHAPED,
+    wxADJUST_MINSIZE,
+    wxTILE,
 };
 
 
@@ -524,16 +570,6 @@ enum wxBorder
 };
 
 
-//  // Standard error codes
-//  enum  ErrCode
-//  {
-//    ERR_PARAM = (-4000),
-//    ERR_NODATA,
-//    ERR_CANCEL,
-//    ERR_SUCCESS = 0
-//  };
-
-
 enum {
   wxDEFAULT ,
   wxDECORATIVE,
@@ -697,85 +733,12 @@ enum wxKeyCode {
   WXK_NUMPAD_SEPARATOR,
   WXK_NUMPAD_SUBTRACT,
   WXK_NUMPAD_DECIMAL,
-  WXK_NUMPAD_DIVIDE
-
-};
-
-
-// Bitmap flags
-enum wxBitmapType
-{
-    wxBITMAP_TYPE_INVALID,          // should be == 0 for compatibility!
-    wxBITMAP_TYPE_BMP,
-    wxBITMAP_TYPE_BMP_RESOURCE,
-    wxBITMAP_TYPE_RESOURCE = wxBITMAP_TYPE_BMP_RESOURCE,
-    wxBITMAP_TYPE_ICO,
-    wxBITMAP_TYPE_ICO_RESOURCE,
-    wxBITMAP_TYPE_CUR,
-    wxBITMAP_TYPE_CUR_RESOURCE,
-    wxBITMAP_TYPE_XBM,
-    wxBITMAP_TYPE_XBM_DATA,
-    wxBITMAP_TYPE_XPM,
-    wxBITMAP_TYPE_XPM_DATA,
-    wxBITMAP_TYPE_TIF,
-    wxBITMAP_TYPE_TIF_RESOURCE,
-    wxBITMAP_TYPE_GIF,
-    wxBITMAP_TYPE_GIF_RESOURCE,
-    wxBITMAP_TYPE_PNG,
-    wxBITMAP_TYPE_PNG_RESOURCE,
-    wxBITMAP_TYPE_JPEG,
-    wxBITMAP_TYPE_JPEG_RESOURCE,
-    wxBITMAP_TYPE_PNM,
-    wxBITMAP_TYPE_PNM_RESOURCE,
-    wxBITMAP_TYPE_PCX,
-    wxBITMAP_TYPE_PCX_RESOURCE,
-    wxBITMAP_TYPE_PICT,
-    wxBITMAP_TYPE_PICT_RESOURCE,
-    wxBITMAP_TYPE_ICON,
-    wxBITMAP_TYPE_ICON_RESOURCE,
-    wxBITMAP_TYPE_ANI,
-    wxBITMAP_TYPE_IFF,
-    wxBITMAP_TYPE_MACCURSOR,
-    wxBITMAP_TYPE_MACCURSOR_RESOURCE,
-    wxBITMAP_TYPE_ANY = 50
-};
+  WXK_NUMPAD_DIVIDE,
 
+  WXK_WINDOWS_LEFT,
+  WXK_WINDOWS_RIGHT,
+  WXK_WINDOWS_MENU
 
-
-
-// Standard cursors
-enum wxStockCursor
-{
-    wxCURSOR_NONE,
-    wxCURSOR_ARROW,
-    wxCURSOR_RIGHT_ARROW,
-    wxCURSOR_BULLSEYE,
-    wxCURSOR_CHAR,
-    wxCURSOR_CROSS,
-    wxCURSOR_HAND,
-    wxCURSOR_IBEAM,
-    wxCURSOR_LEFT_BUTTON,
-    wxCURSOR_MAGNIFIER,
-    wxCURSOR_MIDDLE_BUTTON,
-    wxCURSOR_NO_ENTRY,
-    wxCURSOR_PAINT_BRUSH,
-    wxCURSOR_PENCIL,
-    wxCURSOR_POINT_LEFT,
-    wxCURSOR_POINT_RIGHT,
-    wxCURSOR_QUESTION_ARROW,
-    wxCURSOR_RIGHT_BUTTON,
-    wxCURSOR_SIZENESW,
-    wxCURSOR_SIZENS,
-    wxCURSOR_SIZENWSE,
-    wxCURSOR_SIZEWE,
-    wxCURSOR_SIZING,
-    wxCURSOR_SPRAYCAN,
-    wxCURSOR_WAIT,
-    wxCURSOR_WATCH,
-    wxCURSOR_BLANK,
-    wxCURSOR_DEFAULT,
-    wxCURSOR_ARROWWAIT,
-    wxCURSOR_MAX
 };
 
 
@@ -896,170 +859,38 @@ enum wxHitTest
 };
 
 
+%{
+#if ! wxUSE_HOTKEY
+enum wxHotkeyModifier
+{
+    wxMOD_NONE = 0,
+    wxMOD_ALT = 1,
+    wxMOD_CONTROL = 2,
+    wxMOD_SHIFT = 4,
+    wxMOD_WIN = 8
+};
+#define wxEVT_HOTKEY 9999
+#endif
+%}
 
-#define FALSE 0
-#define false 0
-#define TRUE 1
-#define true 1
-
-
-//---------------------------------------------------------------------------
-//---------------------------------------------------------------------------
+enum wxHotkeyModifier
+{
+    wxMOD_NONE = 0,
+    wxMOD_ALT = 1,
+    wxMOD_CONTROL = 2,
+    wxMOD_SHIFT = 4,
+    wxMOD_WIN = 8
+};
 
-/*
- * Event types
- *
- */
-enum wxEventType {
- wxEVT_NULL = 0,
- wxEVT_FIRST = 10000,
-
- // New names
- wxEVT_COMMAND_BUTTON_CLICKED,
- wxEVT_COMMAND_CHECKBOX_CLICKED,
- wxEVT_COMMAND_CHOICE_SELECTED,
- wxEVT_COMMAND_LISTBOX_SELECTED,
- wxEVT_COMMAND_LISTBOX_DOUBLECLICKED,
- wxEVT_COMMAND_CHECKLISTBOX_TOGGLED,
- wxEVT_COMMAND_SPINCTRL_UPDATED,
- wxEVT_COMMAND_TEXT_UPDATED,
- wxEVT_COMMAND_TEXT_ENTER,
- wxEVT_COMMAND_TEXT_URL,
- wxEVT_COMMAND_TEXT_MAXLEN,
- wxEVT_COMMAND_MENU_SELECTED,
- wxEVT_COMMAND_SLIDER_UPDATED,
- wxEVT_COMMAND_RADIOBOX_SELECTED,
- wxEVT_COMMAND_RADIOBUTTON_SELECTED,
-// wxEVT_COMMAND_SCROLLBAR_UPDATED is now obsolete since we use wxEVT_SCROLL... events
- wxEVT_COMMAND_SCROLLBAR_UPDATED,
- wxEVT_COMMAND_VLBOX_SELECTED,
- wxEVT_COMMAND_COMBOBOX_SELECTED,
- wxEVT_COMMAND_TOOL_CLICKED,
- wxEVT_COMMAND_TOOL_RCLICKED,
- wxEVT_COMMAND_TOOL_ENTER,
- wxEVT_SET_FOCUS,
- wxEVT_KILL_FOCUS,
- wxEVT_CHILD_FOCUS,
- wxEVT_MOUSEWHEEL,
-
-/* Mouse event types */
- wxEVT_LEFT_DOWN,
- wxEVT_LEFT_UP,
- wxEVT_MIDDLE_DOWN,
- wxEVT_MIDDLE_UP,
- wxEVT_RIGHT_DOWN,
- wxEVT_RIGHT_UP,
- wxEVT_MOTION,
- wxEVT_ENTER_WINDOW,
- wxEVT_LEAVE_WINDOW,
- wxEVT_LEFT_DCLICK,
- wxEVT_MIDDLE_DCLICK,
- wxEVT_RIGHT_DCLICK,
-
- wxEVT_MOUSE_CAPTURE_CHANGED,
-
- // Non-client mouse events
- wxEVT_NC_LEFT_DOWN,
- wxEVT_NC_LEFT_UP,
- wxEVT_NC_MIDDLE_DOWN,
- wxEVT_NC_MIDDLE_UP,
- wxEVT_NC_RIGHT_DOWN,
- wxEVT_NC_RIGHT_UP,
- wxEVT_NC_MOTION,
- wxEVT_NC_ENTER_WINDOW,
- wxEVT_NC_LEAVE_WINDOW,
- wxEVT_NC_LEFT_DCLICK,
- wxEVT_NC_MIDDLE_DCLICK,
- wxEVT_NC_RIGHT_DCLICK,
-
-/* Character input event type  */
- wxEVT_CHAR,
- wxEVT_KEY_DOWN,
- wxEVT_KEY_UP,
- wxEVT_CHAR_HOOK,
-
- /*
-  * Scrollbar event identifiers
-  */
- wxEVT_SCROLL_TOP,
- wxEVT_SCROLL_BOTTOM,
- wxEVT_SCROLL_LINEUP,
- wxEVT_SCROLL_LINEDOWN,
- wxEVT_SCROLL_PAGEUP,
- wxEVT_SCROLL_PAGEDOWN,
- wxEVT_SCROLL_THUMBTRACK,
- wxEVT_SCROLL_THUMBRELEASE,
-
- /*
-  * Scrolled Window
-  */
- wxEVT_SCROLLWIN_TOP,
- wxEVT_SCROLLWIN_BOTTOM,
- wxEVT_SCROLLWIN_LINEUP,
- wxEVT_SCROLLWIN_LINEDOWN,
- wxEVT_SCROLLWIN_PAGEUP,
- wxEVT_SCROLLWIN_PAGEDOWN,
- wxEVT_SCROLLWIN_THUMBTRACK,
- wxEVT_SCROLLWIN_THUMBRELEASE,
-
- wxEVT_SIZE = wxEVT_FIRST + 200,
- wxEVT_MOVE,
- wxEVT_CLOSE_WINDOW,
- wxEVT_END_SESSION,
- wxEVT_QUERY_END_SESSION,
- wxEVT_ACTIVATE_APP,
- wxEVT_POWER,
- wxEVT_ACTIVATE,
- wxEVT_CREATE,
- wxEVT_DESTROY,
- wxEVT_SHOW,
- wxEVT_ICONIZE,
- wxEVT_MAXIMIZE,
- wxEVT_MOUSE_CAPTURE_CHANGED,
- wxEVT_PAINT,
- wxEVT_ERASE_BACKGROUND,
- wxEVT_NC_PAINT,
- wxEVT_PAINT_ICON,
- wxEVT_MENU_OPEN,
- wxEVT_MENU_CLOSE,
- wxEVT_MENU_HIGHLIGHT,
- wxEVT_CONTEXT_MENU,
- wxEVT_SYS_COLOUR_CHANGED,
- wxEVT_DISPLAY_CHANGED,
- wxEVT_SETTING_CHANGED,
- wxEVT_QUERY_NEW_PALETTE,
- wxEVT_PALETTE_CHANGED,
- wxEVT_JOY_BUTTON_DOWN,
- wxEVT_JOY_BUTTON_UP,
- wxEVT_JOY_MOVE,
- wxEVT_JOY_ZMOVE,
- wxEVT_DROP_FILES,
- wxEVT_DRAW_ITEM,
- wxEVT_MEASURE_ITEM,
- wxEVT_COMPARE_ITEM,
- wxEVT_INIT_DIALOG,
- wxEVT_IDLE,
- wxEVT_UPDATE_UI,
-
-
- /* Generic command events */
- // Note: a click is a higher-level event
- // than button down/up
- wxEVT_COMMAND_LEFT_CLICK,
- wxEVT_COMMAND_LEFT_DCLICK,
- wxEVT_COMMAND_RIGHT_CLICK,
- wxEVT_COMMAND_RIGHT_DCLICK,
- wxEVT_COMMAND_SET_FOCUS,
- wxEVT_COMMAND_KILL_FOCUS,
- wxEVT_COMMAND_ENTER,
-
- wxEVT_NAVIGATION_KEY,
-
- wxEVT_TIMER,
 
+enum wxUpdateUI
+{
+    wxUPDATE_UI_NONE          = 0x0000,
+    wxUPDATE_UI_RECURSE       = 0x0001,
+    wxUPDATE_UI_FROMIDLE      = 0x0002 // Invoked from On(Internal)Idle
 };
 
 
 
+//---------------------------------------------------------------------------
 
-//----------------------------------------------------------------------