X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/94d33c49d11788ae1939e9fffb0b28fe04693f47..3bdec81e147765682eda34adb84288a5eb9ab6c2:/wxPython/src/_defs.i diff --git a/wxPython/src/_defs.i b/wxPython/src/_defs.i index e8fce22cc3..7723185846 100644 --- a/wxPython/src/_defs.i +++ b/wxPython/src/_defs.i @@ -11,34 +11,121 @@ ///////////////////////////////////////////////////////////////////////////// +//--------------------------------------------------------------------------- + +// Globally turn on the autodoc feature +%feature("autodoc", "1"); // 0 == no param types, 1 == show param types + +// Turn on kwargs by default +%feature("kwargs", "1"); + +// Don't generate separate wrappers for each default args combination +%feature("compactdefaultargs"); + +#if SWIG_VERSION < 0x010328 +// Don't generate default ctors or dtors if the C++ doesn't have them +%feature("nodefault"); +#else +// This is the SWIG 1.3.28 way to do the above... +%feature("nodefaultctor"); +%feature("nodefaultdtor"); +#endif + +// For all items that don't have a %rename already, give them a %rename that +// removes the leading 'wx' (except for wxEVT_* items.) +%rename("%(wxpy)s") ""; + +// For now, just supress the warning about using Python keywords as parameter +// names. Will need to come back later and correct these rather than just +// hide them... +#pragma SWIG nowarn=314 + +//--------------------------------------------------------------------------- + +// Tell SWIG to wrap all the wrappers with our thread protection +%define %threadWrapperOn +%exception { + PyThreadState* __tstate = wxPyBeginAllowThreads(); + $action + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) SWIG_fail; +} +%enddef + +// This one will turn off the generation of the thread wrapper code +%define %threadWrapperOff +%exception { + $action + if (PyErr_Occurred()) SWIG_fail; +} +%enddef + +// Turn it on by default +%threadWrapperOn + +// This one can be used to add a check for an existing wxApp before the real +// work is done. An exception is raised if there isn't one. +%define MustHaveApp(name) +%exception name { + if (!wxPyCheckForApp()) SWIG_fail; + PyThreadState* __tstate = wxPyBeginAllowThreads(); + $action + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) SWIG_fail; +} +%enddef + +// This macro can be used to disable the releasing of the GIL when calling the +// C++ function. This is like using threadWrapperOff for just this function. +%define KeepGIL(name) +%exception name { + $action + if (PyErr_Occurred()) SWIG_fail; +} +%enddef + //--------------------------------------------------------------------------- // 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; +typedef unsigned long wxUIntPtr; + +#define wxWindowID int +#define wxCoord int +#define wxInt32 int +#define wxUint32 unsigned int //---------------------------------------------------------------------- // Various SWIG macros and such -#define %addtofunc %feature("addtofunc") +#define %pythonAppend %feature("pythonappend") +#define %pythonPrepend %feature("pythonprepend") +#define %noautodoc %feature("noautodoc") + +#if SWIG_VERSION >= 0x010327 +#undef %kwargs +#define %kwargs %feature("kwargs", "1") +#define %nokwargs %feature("kwargs", "0") +#else #define %kwargs %feature("kwargs") #define %nokwargs %feature("nokwargs") - -#ifndef %shadow -#define %shadow %insert("shadow") #endif +#define %disownarg(typespec) %typemap(in) typespec = SWIGTYPE* DISOWN +#define %cleardisown(typespec) %typemap(in) typespec + +#define %ref %feature("ref") +#define %unref %feature("unref") + + #ifndef %pythoncode #define %pythoncode %insert("python") -#endif +#endif #define WXUNUSED(x) x @@ -48,10 +135,22 @@ typedef unsigned char byte; %define MAKE_CONST_WXSTRING(strname) %{ static const wxString wxPy##strname(wx##strname); %} %immutable; - %name(strname) const wxString wxPy##strname; + %rename(strname) wxPy##strname; + const wxString wxPy##strname; + %mutable; +%enddef + +%define MAKE_CONST_WXSTRING2(strname, val) + %{ static const wxString wxPy##strname(val); %} + %immutable; + %rename(strname) wxPy##strname; + const wxString wxPy##strname; %mutable; %enddef +%define MAKE_CONST_WXSTRING_NOSWIG(strname) + %{ static const wxString wxPy##strname(wx##strname); %} +%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. @@ -59,14 +158,316 @@ typedef unsigned char byte; %typemap(constcode) wxEventType "PyDict_SetItemString(d, \"$symname\", PyInt_FromLong($value));"; +%define %property(NAME, STUFF...) + %pythoncode { NAME = property(STUFF) } +%enddef + + +%define setCallbackInfo(klass) + "klass._setCallbackInfo(self, self, klass)" +%enddef + + +//---------------------------------------------------------------------- +// Macros for the docstring and autodoc features of SWIG. These will +// help make the code look more readable, and pretty, as well as help +// reduce typing in some cases. + +// Set the docsring for the given full or partial declaration +#ifdef _DO_FULL_DOCS + %define DocStr(decl, docstr, details) + %feature("docstring") decl docstr details; + %enddef +#else + %define DocStr(decl, docstr, details) + %feature("docstring") decl docstr; + %enddef +#endif + + +// Set the autodoc string for a full or partial declaration +%define DocA(decl, astr) + %feature("autodoc") decl astr; +%enddef + + +// Set both the autodoc and docstring for a full or partial declaration +#ifdef _DO_FULL_DOCS + %define DocAStr(decl, astr, docstr, details) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr details + %enddef +#else + %define DocAStr(decl, astr, docstr, details) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr + %enddef +#endif + + + + +// Set the docstring for a decl and then define the decl too. Must use the +// full declaration of the item. +#ifdef _DO_FULL_DOCS + %define DocDeclStr(type, decl, docstr, details) + %feature("docstring") decl docstr details; + type decl + %enddef +#else + %define DocDeclStr(type, decl, docstr, details) + %feature("docstring") decl docstr; + type decl + %enddef +#endif + + + +// As above, but also give the decl a new %name +#ifdef _DO_FULL_DOCS + %define DocDeclStrName(type, decl, docstr, details, newname) + %feature("docstring") decl docstr details; + %rename(newname) decl; + type decl + %enddef +#else + %define DocDeclStrName(type, decl, docstr, details, newname) + %feature("docstring") decl docstr; + %rename(newname) decl; + type decl + %enddef +#endif + + +// 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; + %rename(newname) decl; + 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. +#ifdef _DO_FULL_DOCS + %define DocDeclAStr(type, decl, astr, docstr, details) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr details; + type decl + %enddef +#else + %define DocDeclAStr(type, decl, astr, docstr, details) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr; + type decl + %enddef +#endif + + +// As above, but also give the decl a new %name +#ifdef _DO_FULL_DOCS + %define DocDeclAStrName(type, decl, astr, docstr, details, newname) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr details; + %rename(newname) decl; + type decl + %enddef +#else + %define DocDeclAStrName(type, decl, astr, docstr, details, newname) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr; + %rename(newname) decl; + type decl + %enddef +#endif + + + +// Set the docstring for a constructor decl and then define the decl too. +// Must use the full declaration of the item. +#ifdef _DO_FULL_DOCS + %define DocCtorStr(decl, docstr, details) + %feature("docstring") decl docstr details; + decl + %enddef +#else + %define DocCtorStr(decl, docstr, details) + %feature("docstring") decl docstr; + decl + %enddef +#endif + + +// As above, but also give the decl a new %name +#ifdef _DO_FULL_DOCS + %define DocCtorStrName(decl, docstr, details, newname) + %feature("docstring") decl docstr details; + %rename(newname) decl; + decl + %enddef +#else + %define DocCtorStrName(decl, docstr, details, newname) + %feature("docstring") decl docstr; + %rename(newname) decl; + decl + %enddef +#endif + + +// Set the autodoc string for a constructor 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; + %rename(newname) decl; + decl +%enddef + + + +// Set the autodoc and the docstring for a constructor decl and then define +// the decl too. Must use the full declaration of the item. +#ifdef _DO_FULL_DOCS + %define DocCtorAStr(decl, astr, docstr, details) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr details; + decl + %enddef +#else + %define DocCtorAStr(decl, astr, docstr, details) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr; + decl + %enddef +#endif + + + +// As above, but also give the decl a new %name +#ifdef _DO_FULL_DOCS + %define DocCtorAStrName(decl, astr, docstr, details, newname) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr details; + %rename(newname) decl; + decl + %enddef +#else + %define DocCtorAStrName(decl, astr, docstr, details, newname) + %feature("autodoc") decl astr; + %feature("docstring") decl docstr; + %rename(newname) decl; + decl + %enddef +#endif + + + %define %newgroup %pythoncode { %#--------------------------------------------------------------------------- -} +} +%enddef + + +// A set of macros to make using %rename easier, since %name has been +// deprecated... +%define %Rename(newname, type, decl) + %rename(newname) decl; + type decl %enddef +%define %RenameCtor(newname, decl) + %rename(newname) decl; + decl +%enddef + +#ifdef _DO_FULL_DOCS + %define %RenameDocCtor(newname, docstr, details, decl) + %feature("docstring") decl docstr details; + %rename(newname) decl; + decl + %enddef +#else + %define %RenameDocCtor(newname, docstr, details, decl) + %feature("docstring") decl docstr; + %rename(newname) decl; + decl + %enddef +#endif + + +//--------------------------------------------------------------------------- +// Generates a base_On* method that just wraps a call to the On*, and mark it +// deprecated. We need this because there is no longer any need for a +// base_On* method to be able to call the C++ base class method, since our +// virtualization code can now sense when an attempt is being made to call +// the base class version from the derived class override. + +%define %MAKE_BASE_FUNC(Class, Method) + %pythoncode { + def base_##Method(*args, **kw): + return Class.Method(*args, **kw) + base_##Method = wx._deprecated(base_##Method, + "Please use Class.Method instead.") + } +%enddef + +//--------------------------------------------------------------------------- +// Forward declarations and %renames for some classes, so the autodoc strings +// will be able to use the right types even when the real class declaration is +// not in the module being processed or seen by %import's. + +#ifdef BUILDING_RENAMERS + #define FORWARD_DECLARE(wxName, Name) +#else + %define FORWARD_DECLARE(wxName, Name) + %rename(Name) wxName; + class wxName; + %enddef +#endif + +FORWARD_DECLARE(wxString, String); +FORWARD_DECLARE(wxBitmap, Bitmap); +FORWARD_DECLARE(wxDateTime, DateTime); +FORWARD_DECLARE(wxInputStream, InputStream); +FORWARD_DECLARE(wxDC, DC); +FORWARD_DECLARE(wxCursor, Cursor); +FORWARD_DECLARE(wxRegion, Region); +FORWARD_DECLARE(wxColour, Colour); +FORWARD_DECLARE(wxFont, Font); +FORWARD_DECLARE(wxCaret, Caret); +FORWARD_DECLARE(wxToolTip, ToolTip); +FORWARD_DECLARE(wxPyDropTarget, DropTarget); +FORWARD_DECLARE(wxImageList, ImageList); +FORWARD_DECLARE(wxMemoryDC, MemoryDC); +FORWARD_DECLARE(wxHtmlTagHandler, HtmlTagHandler); +FORWARD_DECLARE(wxConfigBase, ConfigBase); +FORWARD_DECLARE(wxIcon, Icon); +FORWARD_DECLARE(wxStaticBox, StaticBox); + + //--------------------------------------------------------------------------- +%{ +#if !WXWIN_COMPATIBILITY_2_4 + #define wxHIDE_READONLY 0 +#endif +%} + + // General numeric #define's and etc. Making them all enums makes SWIG use the // real macro when making the Python Int @@ -88,9 +489,9 @@ enum { wxSTATIC_BORDER, wxTRANSPARENT_WINDOW, wxNO_BORDER, - wxUSER_COLOURS, - wxNO_3D, - + wxDEFAULT_CONTROL_BORDER, + wxDEFAULT_STATUSBAR_STYLE, + wxTAB_TRAVERSAL, wxWANTS_CHARS, wxPOPUP_WINDOW, @@ -98,40 +499,13 @@ enum { wxCENTRE_ON_SCREEN, wxCENTER_ON_SCREEN, - wxSTAY_ON_TOP, - wxICONIZE, - wxMINIMIZE, - wxMAXIMIZE, - wxCLOSE_BOX, - wxTHICK_FRAME, - wxSYSTEM_MENU, - wxMINIMIZE_BOX, - wxMAXIMIZE_BOX, - wxTINY_CAPTION_HORIZ, - wxTINY_CAPTION_VERT, - wxRESIZE_BOX, - wxRESIZE_BORDER, - wxDIALOG_MODAL, - wxDIALOG_MODELESS, - wxDIALOG_NO_PARENT, - wxDEFAULT_FRAME_STYLE, - wxDEFAULT_DIALOG_STYLE, - - wxFRAME_TOOL_WINDOW, - wxFRAME_FLOAT_ON_PARENT, - wxFRAME_NO_WINDOW_MENU, - wxFRAME_NO_TASKBAR, - wxFRAME_SHAPED, - - wxED_CLIENT_MARGIN, - wxED_BUTTONS_BOTTOM, - wxED_BUTTONS_RIGHT, - wxED_STATIC_LINE, - wxEXT_DIALOG_STYLE, - wxCLIP_CHILDREN, wxCLIP_SIBLINGS, + wxWINDOW_STYLE_MASK, + + wxALWAYS_SHOW_SB, + wxRETAINED, wxBACKINGSTORE, @@ -157,23 +531,17 @@ enum { wxRA_VERTICAL, wxRA_SPECIFY_ROWS, wxRA_SPECIFY_COLS, + wxRA_USE_CHECKBOX, wxRB_GROUP, wxRB_SINGLE, - wxSL_HORIZONTAL, - wxSL_VERTICAL, - wxSL_AUTOTICKS, - wxSL_LABELS, - wxSL_LEFT, - wxSL_TOP, - wxSL_RIGHT, - wxSL_BOTTOM, - wxSL_BOTH, - wxSL_SELRANGE, wxSB_HORIZONTAL, wxSB_VERTICAL, + wxRB_USE_CHECKBOX, wxST_SIZEGRIP, wxST_NO_AUTORESIZE, - + wxST_DOTS_MIDDLE, + wxST_DOTS_END, + wxFLOOD_SURFACE, wxFLOOD_BORDER, wxODDEVEN_RULE, @@ -212,6 +580,7 @@ enum { wxSIZE_AUTO, wxSIZE_USE_EXISTING, wxSIZE_ALLOW_MINUS_ONE, + wxSIZE_FORCE, wxPORTRAIT, wxLANDSCAPE, wxPRINT_QUALITY_HIGH, @@ -221,6 +590,7 @@ enum { wxID_ANY, wxID_SEPARATOR, + wxID_NONE, wxID_LOWEST, wxID_OPEN, @@ -235,15 +605,19 @@ enum { wxID_HELP, wxID_PRINT, wxID_PRINT_SETUP, + wxID_PAGE_SETUP, wxID_PREVIEW, wxID_ABOUT, wxID_HELP_CONTENTS, wxID_HELP_COMMANDS, wxID_HELP_PROCEDURES, wxID_HELP_CONTEXT, + wxID_HELP_INDEX, + wxID_HELP_SEARCH, wxID_CLOSE_ALL, wxID_PREFERENCES, + wxID_EDIT, wxID_CUT, wxID_COPY, wxID_PASTE, @@ -266,6 +640,7 @@ enum { wxID_VIEW_SORTSIZE, wxID_VIEW_SORTTYPE, + wxID_FILE, wxID_FILE1, wxID_FILE2, wxID_FILE3, @@ -295,35 +670,39 @@ enum { wxID_RETRY, wxID_IGNORE, + wxID_ADD, + wxID_REMOVE, + + wxID_UP, + wxID_DOWN, + wxID_HOME, + wxID_REFRESH, + wxID_STOP, + wxID_INDEX, + + wxID_BOLD, + wxID_ITALIC, + wxID_JUSTIFY_CENTER, + wxID_JUSTIFY_FILL, + wxID_JUSTIFY_RIGHT, + wxID_JUSTIFY_LEFT, + wxID_UNDERLINE, + wxID_INDENT, + wxID_UNINDENT, + wxID_ZOOM_100, + wxID_ZOOM_FIT, + wxID_ZOOM_IN, + wxID_ZOOM_OUT, + wxID_UNDELETE, + wxID_REVERT_TO_SAVED, + wxID_HIGHEST, - - wxOPEN, - wxSAVE, - wxHIDE_READONLY, - wxOVERWRITE_PROMPT, - wxFILE_MUST_EXIST, - wxMULTIPLE, - wxCHANGE_DIR, - - wxACCEL_ALT, - wxACCEL_CTRL, - wxACCEL_SHIFT, - wxACCEL_NORMAL, - - wxPD_AUTO_HIDE, - wxPD_APP_MODAL, - wxPD_CAN_ABORT, - wxPD_ELAPSED_TIME, - wxPD_ESTIMATED_TIME, - wxPD_REMAINING_TIME, - - wxDD_NEW_DIR_BUTTON, - wxDD_DEFAULT_STYLE, wxMENU_TEAROFF, wxMB_DOCKABLE, wxNO_FULL_REPAINT_ON_RESIZE, - + wxFULL_REPAINT_ON_RESIZE, + wxLI_HORIZONTAL, wxLI_VERTICAL, @@ -421,8 +800,9 @@ enum wxStretch wxGROW, wxEXPAND, wxSHAPED, - wxADJUST_MINSIZE, + wxFIXED_MINSIZE, wxTILE, + wxADJUST_MINSIZE, }; @@ -439,6 +819,14 @@ enum wxBorder }; +enum wxBackgroundStyle +{ + wxBG_STYLE_SYSTEM, + wxBG_STYLE_COLOUR, + wxBG_STYLE_CUSTOM +}; + + enum { wxDEFAULT , wxDECORATIVE, @@ -462,6 +850,8 @@ enum { wxUSER_DASH, wxTRANSPARENT, wxSTIPPLE, + wxSTIPPLE_MASK, + wxSTIPPLE_MASK_OPAQUE, wxBDIAGONAL_HATCH, wxCROSSDIAG_HATCH, wxFDIAGONAL_HATCH, @@ -498,116 +888,139 @@ typedef enum { } form_ops_t; enum wxKeyCode { - WXK_BACK = 8, - WXK_TAB = 9, - WXK_RETURN = 13, - WXK_ESCAPE = 27, - WXK_SPACE = 32, - WXK_DELETE = 127, - - WXK_START = 300, - WXK_LBUTTON, - WXK_RBUTTON, - WXK_CANCEL, - WXK_MBUTTON, - WXK_CLEAR, - WXK_SHIFT, - WXK_ALT, - WXK_CONTROL, - WXK_MENU, - WXK_PAUSE, - WXK_CAPITAL, - WXK_PRIOR, /* Page up */ - WXK_NEXT, /* Page down */ - WXK_END, - WXK_HOME, - WXK_LEFT, - WXK_UP, - WXK_RIGHT, - WXK_DOWN, - WXK_SELECT, - WXK_PRINT, - WXK_EXECUTE, - WXK_SNAPSHOT, - WXK_INSERT, - WXK_HELP, - WXK_NUMPAD0, - WXK_NUMPAD1, - WXK_NUMPAD2, - WXK_NUMPAD3, - WXK_NUMPAD4, - WXK_NUMPAD5, - WXK_NUMPAD6, - WXK_NUMPAD7, - WXK_NUMPAD8, - WXK_NUMPAD9, - WXK_MULTIPLY, - WXK_ADD, - WXK_SEPARATOR, - WXK_SUBTRACT, - WXK_DECIMAL, - WXK_DIVIDE, - WXK_F1, - WXK_F2, - WXK_F3, - WXK_F4, - WXK_F5, - WXK_F6, - WXK_F7, - WXK_F8, - WXK_F9, - WXK_F10, - WXK_F11, - WXK_F12, - WXK_F13, - WXK_F14, - WXK_F15, - WXK_F16, - WXK_F17, - WXK_F18, - WXK_F19, - WXK_F20, - WXK_F21, - WXK_F22, - WXK_F23, - WXK_F24, - WXK_NUMLOCK, - WXK_SCROLL, - WXK_PAGEUP, - WXK_PAGEDOWN, - - WXK_NUMPAD_SPACE, - WXK_NUMPAD_TAB, - WXK_NUMPAD_ENTER, - WXK_NUMPAD_F1, - WXK_NUMPAD_F2, - WXK_NUMPAD_F3, - WXK_NUMPAD_F4, - WXK_NUMPAD_HOME, - WXK_NUMPAD_LEFT, - WXK_NUMPAD_UP, - WXK_NUMPAD_RIGHT, - WXK_NUMPAD_DOWN, - WXK_NUMPAD_PRIOR, - WXK_NUMPAD_PAGEUP, - WXK_NUMPAD_NEXT, - WXK_NUMPAD_PAGEDOWN, - WXK_NUMPAD_END, - WXK_NUMPAD_BEGIN, - WXK_NUMPAD_INSERT, - WXK_NUMPAD_DELETE, - WXK_NUMPAD_EQUAL, - WXK_NUMPAD_MULTIPLY, - WXK_NUMPAD_ADD, - WXK_NUMPAD_SEPARATOR, - WXK_NUMPAD_SUBTRACT, - WXK_NUMPAD_DECIMAL, - WXK_NUMPAD_DIVIDE, - - WXK_WINDOWS_LEFT, - WXK_WINDOWS_RIGHT, - WXK_WINDOWS_MENU - + WXK_BACK = 8, + WXK_TAB = 9, + WXK_RETURN = 13, + WXK_ESCAPE = 27, + WXK_SPACE = 32, + WXK_DELETE = 127, + + WXK_START = 300, + WXK_LBUTTON, + WXK_RBUTTON, + WXK_CANCEL, + WXK_MBUTTON, + WXK_CLEAR, + WXK_SHIFT, + WXK_ALT, + WXK_CONTROL, + WXK_MENU, + WXK_PAUSE, + WXK_CAPITAL, + WXK_PRIOR, /* Page up */ + WXK_NEXT, /* Page down */ + WXK_END, + WXK_HOME, + WXK_LEFT, + WXK_UP, + WXK_RIGHT, + WXK_DOWN, + WXK_SELECT, + WXK_PRINT, + WXK_EXECUTE, + WXK_SNAPSHOT, + WXK_INSERT, + WXK_HELP, + WXK_NUMPAD0, + WXK_NUMPAD1, + WXK_NUMPAD2, + WXK_NUMPAD3, + WXK_NUMPAD4, + WXK_NUMPAD5, + WXK_NUMPAD6, + WXK_NUMPAD7, + WXK_NUMPAD8, + WXK_NUMPAD9, + WXK_MULTIPLY, + WXK_ADD, + WXK_SEPARATOR, + WXK_SUBTRACT, + WXK_DECIMAL, + WXK_DIVIDE, + WXK_F1, + WXK_F2, + WXK_F3, + WXK_F4, + WXK_F5, + WXK_F6, + WXK_F7, + WXK_F8, + WXK_F9, + WXK_F10, + WXK_F11, + WXK_F12, + WXK_F13, + WXK_F14, + WXK_F15, + WXK_F16, + WXK_F17, + WXK_F18, + WXK_F19, + WXK_F20, + WXK_F21, + WXK_F22, + WXK_F23, + WXK_F24, + WXK_NUMLOCK, + WXK_SCROLL, + WXK_PAGEUP, + WXK_PAGEDOWN, + + WXK_NUMPAD_SPACE, + WXK_NUMPAD_TAB, + WXK_NUMPAD_ENTER, + WXK_NUMPAD_F1, + WXK_NUMPAD_F2, + WXK_NUMPAD_F3, + WXK_NUMPAD_F4, + WXK_NUMPAD_HOME, + WXK_NUMPAD_LEFT, + WXK_NUMPAD_UP, + WXK_NUMPAD_RIGHT, + WXK_NUMPAD_DOWN, + WXK_NUMPAD_PRIOR, + WXK_NUMPAD_PAGEUP, + WXK_NUMPAD_NEXT, + WXK_NUMPAD_PAGEDOWN, + WXK_NUMPAD_END, + WXK_NUMPAD_BEGIN, + WXK_NUMPAD_INSERT, + WXK_NUMPAD_DELETE, + WXK_NUMPAD_EQUAL, + WXK_NUMPAD_MULTIPLY, + WXK_NUMPAD_ADD, + WXK_NUMPAD_SEPARATOR, + WXK_NUMPAD_SUBTRACT, + WXK_NUMPAD_DECIMAL, + WXK_NUMPAD_DIVIDE, + + WXK_WINDOWS_LEFT, + WXK_WINDOWS_RIGHT, + WXK_WINDOWS_MENU, + + WXK_COMMAND, + + // Hardware-specific buttons + WXK_SPECIAL1 = 193, + WXK_SPECIAL2, + WXK_SPECIAL3, + WXK_SPECIAL4, + WXK_SPECIAL5, + WXK_SPECIAL6, + WXK_SPECIAL7, + WXK_SPECIAL8, + WXK_SPECIAL9, + WXK_SPECIAL10, + WXK_SPECIAL11, + WXK_SPECIAL12, + WXK_SPECIAL13, + WXK_SPECIAL14, + WXK_SPECIAL15, + WXK_SPECIAL16, + WXK_SPECIAL17, + WXK_SPECIAL18, + WXK_SPECIAL19, + WXK_SPECIAL20 }; @@ -680,8 +1093,59 @@ typedef enum { wxPAPER_B5_EXTRA, // B5 (ISO) Extra 201 x 276 mm wxPAPER_A2, // A2 420 x 594 mm wxPAPER_A3_TRANSVERSE, // A3 Transverse 297 x 420 mm - wxPAPER_A3_EXTRA_TRANSVERSE // A3 Extra Transverse 322 x 445 mm - + wxPAPER_A3_EXTRA_TRANSVERSE, // A3 Extra Transverse 322 x 445 mm + + wxPAPER_DBL_JAPANESE_POSTCARD,/* Japanese Double Postcard 200 x 148 mm */ + wxPAPER_A6, /* A6 105 x 148 mm */ + wxPAPER_JENV_KAKU2, /* Japanese Envelope Kaku #2 */ + wxPAPER_JENV_KAKU3, /* Japanese Envelope Kaku #3 */ + wxPAPER_JENV_CHOU3, /* Japanese Envelope Chou #3 */ + wxPAPER_JENV_CHOU4, /* Japanese Envelope Chou #4 */ + wxPAPER_LETTER_ROTATED, /* Letter Rotated 11 x 8 1/2 in */ + wxPAPER_A3_ROTATED, /* A3 Rotated 420 x 297 mm */ + wxPAPER_A4_ROTATED, /* A4 Rotated 297 x 210 mm */ + wxPAPER_A5_ROTATED, /* A5 Rotated 210 x 148 mm */ + wxPAPER_B4_JIS_ROTATED, /* B4 (JIS) Rotated 364 x 257 mm */ + wxPAPER_B5_JIS_ROTATED, /* B5 (JIS) Rotated 257 x 182 mm */ + wxPAPER_JAPANESE_POSTCARD_ROTATED,/* Japanese Postcard Rotated 148 x 100 mm */ + wxPAPER_DBL_JAPANESE_POSTCARD_ROTATED,/* Double Japanese Postcard Rotated 148 x 200 mm */ + wxPAPER_A6_ROTATED, /* A6 Rotated 148 x 105 mm */ + wxPAPER_JENV_KAKU2_ROTATED, /* Japanese Envelope Kaku #2 Rotated */ + wxPAPER_JENV_KAKU3_ROTATED, /* Japanese Envelope Kaku #3 Rotated */ + wxPAPER_JENV_CHOU3_ROTATED, /* Japanese Envelope Chou #3 Rotated */ + wxPAPER_JENV_CHOU4_ROTATED, /* Japanese Envelope Chou #4 Rotated */ + wxPAPER_B6_JIS, /* B6 (JIS) 128 x 182 mm */ + wxPAPER_B6_JIS_ROTATED, /* B6 (JIS) Rotated 182 x 128 mm */ + wxPAPER_12X11, /* 12 x 11 in */ + wxPAPER_JENV_YOU4, /* Japanese Envelope You #4 */ + wxPAPER_JENV_YOU4_ROTATED, /* Japanese Envelope You #4 Rotated */ + wxPAPER_P16K, /* PRC 16K 146 x 215 mm */ + wxPAPER_P32K, /* PRC 32K 97 x 151 mm */ + wxPAPER_P32KBIG, /* PRC 32K(Big) 97 x 151 mm */ + wxPAPER_PENV_1, /* PRC Envelope #1 102 x 165 mm */ + wxPAPER_PENV_2, /* PRC Envelope #2 102 x 176 mm */ + wxPAPER_PENV_3, /* PRC Envelope #3 125 x 176 mm */ + wxPAPER_PENV_4, /* PRC Envelope #4 110 x 208 mm */ + wxPAPER_PENV_5, /* PRC Envelope #5 110 x 220 mm */ + wxPAPER_PENV_6, /* PRC Envelope #6 120 x 230 mm */ + wxPAPER_PENV_7, /* PRC Envelope #7 160 x 230 mm */ + wxPAPER_PENV_8, /* PRC Envelope #8 120 x 309 mm */ + wxPAPER_PENV_9, /* PRC Envelope #9 229 x 324 mm */ + wxPAPER_PENV_10, /* PRC Envelope #10 324 x 458 mm */ + wxPAPER_P16K_ROTATED, /* PRC 16K Rotated */ + wxPAPER_P32K_ROTATED, /* PRC 32K Rotated */ + wxPAPER_P32KBIG_ROTATED, /* PRC 32K(Big) Rotated */ + wxPAPER_PENV_1_ROTATED, /* PRC Envelope #1 Rotated 165 x 102 mm */ + wxPAPER_PENV_2_ROTATED, /* PRC Envelope #2 Rotated 176 x 102 mm */ + wxPAPER_PENV_3_ROTATED, /* PRC Envelope #3 Rotated 176 x 125 mm */ + wxPAPER_PENV_4_ROTATED, /* PRC Envelope #4 Rotated 208 x 110 mm */ + wxPAPER_PENV_5_ROTATED, /* PRC Envelope #5 Rotated 220 x 110 mm */ + wxPAPER_PENV_6_ROTATED, /* PRC Envelope #6 Rotated 230 x 120 mm */ + wxPAPER_PENV_7_ROTATED, /* PRC Envelope #7 Rotated 230 x 160 mm */ + wxPAPER_PENV_8_ROTATED, /* PRC Envelope #8 Rotated 309 x 120 mm */ + wxPAPER_PENV_9_ROTATED, /* PRC Envelope #9 Rotated 324 x 229 mm */ + wxPAPER_PENV_10_ROTATED /* PRC Envelope #10 Rotated 458 x 324 m */ + } wxPaperSize ; typedef enum { @@ -695,13 +1159,14 @@ typedef enum { // menu and toolbar item kinds enum wxItemKind { - wxITEM_SEPARATOR = -1, + wxITEM_SEPARATOR, wxITEM_NORMAL, wxITEM_CHECK, wxITEM_RADIO, wxITEM_MAX }; + enum wxHitTest { wxHT_NOWHERE, @@ -728,27 +1193,18 @@ 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 -%} -enum wxHotkeyModifier +enum wxKeyModifier { - wxMOD_NONE = 0, - wxMOD_ALT = 1, - wxMOD_CONTROL = 2, - wxMOD_SHIFT = 4, - wxMOD_WIN = 8 + wxMOD_NONE, + wxMOD_ALT, + wxMOD_CONTROL, + wxMOD_ALTGR, + wxMOD_SHIFT, + wxMOD_META, + wxMOD_WIN, + wxMOD_CMD, + wxMOD_ALL }; @@ -760,6 +1216,14 @@ enum wxUpdateUI }; +enum wxLayoutDirection +{ + wxLayout_Default, + wxLayout_LeftToRight, + wxLayout_RightToLeft +}; + + //---------------------------------------------------------------------------