X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2f4e928794167715f19a3021d62b7c4f77611694..c5d11c71d791122ec50379c15887898a4d49f1af:/wxPython/src/_defs.i diff --git a/wxPython/src/_defs.i b/wxPython/src/_defs.i index 41f9c3e94d..46fcd11a0a 100644 --- a/wxPython/src/_defs.i +++ b/wxPython/src/_defs.i @@ -11,167 +11,391 @@ ///////////////////////////////////////////////////////////////////////////// - //--------------------------------------------------------------------------- -// 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; +// Globally turn on the autodoc feature + +%feature("autodoc", "1"); // 0 == no param types, 1 == show param types +//--------------------------------------------------------------------------- +// Tell SWIG to wrap all the wrappers with our thread protection by default + +%exception { + PyThreadState* __tstate = wxPyBeginAllowThreads(); + $action + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) SWIG_fail; +} + + +// 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 + + //--------------------------------------------------------------------------- +// some type definitions to simplify things for SWIG -// some definitions for SWIG only +typedef int wxEventType; +typedef unsigned int size_t; +typedef unsigned int time_t; 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; +typedef unsigned long wxUIntPtr; + +#define wxWindowID int +#define wxCoord int +#define wxInt32 int +#define wxUint32 unsigned int + + +//---------------------------------------------------------------------- +// Various SWIG macros and such + +#define %pythonAppend %feature("pythonappend") +#define %pythonPrepend %feature("pythonprepend") +#define %kwargs %feature("kwargs") +#define %nokwargs %feature("nokwargs") +#define %noautodoc %feature("noautodoc") + + +//#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; + %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. +%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. 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 + +//--------------------------------------------------------------------------- +// 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 enum { - wxMAJOR_VERSION, - wxMINOR_VERSION, - wxRELEASE_NUMBER, +// wxMAJOR_VERSION, +// wxMINOR_VERSION, +// wxRELEASE_NUMBER, wxNOT_FOUND, @@ -186,72 +410,26 @@ enum { wxSTATIC_BORDER, wxTRANSPARENT_WINDOW, wxNO_BORDER, - wxUSER_COLOURS, - wxNO_3D, -//wxOVERRIDE_KEY_TRANSLATIONS, + wxDEFAULT_CONTROL_BORDER, + wxDEFAULT_STATUSBAR_STYLE, + wxTAB_TRAVERSAL, wxWANTS_CHARS, wxPOPUP_WINDOW, - wxHORIZONTAL, - wxVERTICAL, - wxBOTH, wxCENTER_FRAME, wxCENTRE_ON_SCREEN, wxCENTER_ON_SCREEN, - wxSTAY_ON_TOP, - wxICONIZE, - wxMINIMIZE, - wxMAXIMIZE, - 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, - - wxED_CLIENT_MARGIN, - wxED_BUTTONS_BOTTOM, - wxED_BUTTONS_RIGHT, - wxED_STATIC_LINE, - wxEXT_DIALOG_STYLE, - wxCLIP_CHILDREN, wxCLIP_SIBLINGS, + wxALWAYS_SHOW_SB, + wxRETAINED, wxBACKINGSTORE, - wxTB_3DBUTTONS, - wxTB_HORIZONTAL, - wxTB_VERTICAL, - wxTB_FLAT, - wxTB_DOCKABLE, + 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, @@ -264,20 +442,6 @@ enum { wxPROCESS_ENTER, wxPASSWORD, - wxTE_READONLY, - wxTE_MULTILINE, - wxTE_PROCESS_TAB, - wxTE_RICH, - 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, @@ -286,39 +450,15 @@ enum { wxRA_VERTICAL, wxRA_SPECIFY_ROWS, wxRA_SPECIFY_COLS, + wxRA_USE_CHECKBOX, wxRB_GROUP, - wxGA_PROGRESSBAR, - wxGA_HORIZONTAL, - wxGA_VERTICAL, - wxGA_SMOOTH, - wxSL_HORIZONTAL, - wxSL_VERTICAL, - wxSL_AUTOTICKS, - wxSL_LABELS, - wxSL_LEFT, - wxSL_TOP, - wxSL_RIGHT, - wxSL_BOTTOM, - wxSL_BOTH, - wxSL_SELRANGE, + wxRB_SINGLE, wxSB_HORIZONTAL, wxSB_VERTICAL, + wxRB_USE_CHECKBOX, 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, + wxFLOOD_SURFACE, wxFLOOD_BORDER, wxODDEVEN_RULE, @@ -352,8 +492,6 @@ enum { wxSETUP, - wxCENTRE, - wxCENTER, wxSIZE_AUTO_WIDTH, wxSIZE_AUTO_HEIGHT, wxSIZE_AUTO, @@ -365,6 +503,11 @@ enum { wxPRINT_QUALITY_MEDIUM, wxPRINT_QUALITY_LOW, wxPRINT_QUALITY_DRAFT, + + wxID_ANY, + wxID_SEPARATOR, + + wxID_LOWEST, wxID_OPEN, wxID_CLOSE, wxID_NEW, @@ -383,6 +526,9 @@ enum { wxID_HELP_COMMANDS, wxID_HELP_PROCEDURES, wxID_HELP_CONTEXT, + wxID_CLOSE_ALL, + wxID_PREFERENCES, + wxID_CUT, wxID_COPY, wxID_PASTE, @@ -390,6 +536,21 @@ enum { wxID_FIND, 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, @@ -399,17 +560,53 @@ enum { wxID_FILE7, wxID_FILE8, wxID_FILE9, + wxID_OK, wxID_CANCEL, wxID_APPLY, wxID_YES, wxID_NO, wxID_STATIC, - wxID_SEPARATOR, wxID_FORWARD, wxID_BACKWARD, - wxID_SETUP, + wxID_DEFAULT, wxID_MORE, + wxID_SETUP, + wxID_RESET, + wxID_CONTEXT_HELP, + wxID_YESTOALL, + wxID_NOTOALL, + wxID_ABORT, + 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, @@ -430,51 +627,28 @@ enum { wxPD_ELAPSED_TIME, wxPD_ESTIMATED_TIME, wxPD_REMAINING_TIME, + wxPD_SMOOTH, + wxPD_CAN_SKIP, + + 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, - wxHW_SCROLLBAR_NEVER, - wxHW_SCROLLBAR_AUTO, - - 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, @@ -488,6 +662,82 @@ 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, + wxFIXED_MINSIZE, + wxTILE, + wxADJUST_MINSIZE, }; @@ -504,14 +754,12 @@ enum wxBorder }; -// // Standard error codes -// enum ErrCode -// { -// ERR_PARAM = (-4000), -// ERR_NODATA, -// ERR_CANCEL, -// ERR_SUCCESS = 0 -// }; +enum wxBackgroundStyle +{ + wxBG_STYLE_SYSTEM, + wxBG_STYLE_COLOUR, + wxBG_STYLE_CUSTOM +}; enum { @@ -573,192 +821,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 - -}; - - -// 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_MACCURSOR, - wxBITMAP_TYPE_MACCURSOR_RESOURCE, - wxBITMAP_TYPE_ANY = 50 -}; - - - - -// Standard cursors -enum wxStockCursor -{ - wxCURSOR_NONE, // should be 0 - wxCURSOR_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, -// // Not yet implemented for Windows -// wxCURSOR_CROSS_REVERSE, -// wxCURSOR_DOUBLE_ARROW, -// wxCURSOR_BASED_ARROW_UP, -// wxCURSOR_BASED_ARROW_DOWN, - - wxCURSOR_ARROWWAIT, - wxCURSOR_MAX + 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 }; @@ -843,166 +1038,75 @@ typedef enum { -#define FALSE 0 -#define false 0 -#define TRUE 1 -#define true 1 +// menu and toolbar item kinds +enum wxItemKind +{ + wxITEM_SEPARATOR, + wxITEM_NORMAL, + wxITEM_CHECK, + wxITEM_RADIO, + wxITEM_MAX +}; -const char* wxVERSION_STRING; -//--------------------------------------------------------------------------- -//--------------------------------------------------------------------------- +enum wxHitTest +{ + wxHT_NOWHERE, + + // scrollbar + wxHT_SCROLLBAR_FIRST = wxHT_NOWHERE, + wxHT_SCROLLBAR_ARROW_LINE_1, // left or upper arrow to scroll by line + wxHT_SCROLLBAR_ARROW_LINE_2, // right or down + wxHT_SCROLLBAR_ARROW_PAGE_1, // left or upper arrow to scroll by page + wxHT_SCROLLBAR_ARROW_PAGE_2, // right or down + wxHT_SCROLLBAR_THUMB, // on the thumb + wxHT_SCROLLBAR_BAR_1, // bar to the left/above the thumb + wxHT_SCROLLBAR_BAR_2, // bar to the right/below the thumb + wxHT_SCROLLBAR_LAST, + + // window + wxHT_WINDOW_OUTSIDE, // not in this window at all + wxHT_WINDOW_INSIDE, // in the client area + wxHT_WINDOW_VERT_SCROLLBAR, // on the vertical scrollbar + wxHT_WINDOW_HORZ_SCROLLBAR, // on the horizontal scrollbar + wxHT_WINDOW_CORNER, // on the corner between 2 scrollbars + + wxHT_MAX +}; -/* - * 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_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, - - // 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_CHAR, - wxEVT_MENU_INIT, - wxEVT_MENU_HIGHLIGHT, - wxEVT_POPUP_MENU_INIT, - wxEVT_SYS_COLOUR_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, +%{ +#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 +{ + wxMOD_NONE = 0, + wxMOD_ALT = 1, + wxMOD_CONTROL = 2, + wxMOD_SHIFT = 4, + wxMOD_WIN = 8 +}; + + +enum wxUpdateUI +{ + wxUPDATE_UI_NONE = 0x0000, + wxUPDATE_UI_RECURSE = 0x0001, + wxUPDATE_UI_FROMIDLE = 0x0002 // Invoked from On(Internal)Idle }; +//--------------------------------------------------------------------------- -//----------------------------------------------------------------------