X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/185d7c3ee4c6e4a9ddaf811ae38e57d68a0fdff3..dcb8fc74acabab73c16c9ddd8ff4110dd321e2e0:/wxPython/src/_defs.i diff --git a/wxPython/src/_defs.i b/wxPython/src/_defs.i index 45ba348cf1..d196575a2e 100644 --- a/wxPython/src/_defs.i +++ b/wxPython/src/_defs.i @@ -11,167 +11,379 @@ ///////////////////////////////////////////////////////////////////////////// - //--------------------------------------------------------------------------- -// 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 //--------------------------------------------------------------------------- +// 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,38 +398,14 @@ enum { wxSTATIC_BORDER, wxTRANSPARENT_WINDOW, wxNO_BORDER, - wxUSER_COLOURS, - wxNO_3D, -//wxOVERRIDE_KEY_TRANSLATIONS, + wxTAB_TRAVERSAL, wxWANTS_CHARS, - wxHORIZONTAL, - wxVERTICAL, - wxBOTH, + wxPOPUP_WINDOW, 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, - wxDEFAULT_FRAME_STYLE, - wxDEFAULT_DIALOG_STYLE, - - wxFRAME_TOOL_WINDOW, - wxFRAME_FLOAT_ON_PARENT, - wxFRAME_NO_WINDOW_MENU, wxED_CLIENT_MARGIN, wxED_BUTTONS_BOTTOM, wxED_BUTTONS_RIGHT, @@ -225,27 +413,16 @@ enum { 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, + wxLB_NEEDED_SB, wxLB_ALWAYS_SB, wxLB_SORT, @@ -256,14 +433,7 @@ enum { wxLB_HSCROLL, wxPROCESS_ENTER, wxPASSWORD, - wxTE_PROCESS_ENTER, - wxTE_PROCESS_TAB, - wxTE_PASSWORD, - wxTE_READONLY, - wxTE_RICH, - wxTE_MULTILINE, - wxTE_AUTO_SCROLL, - wxTE_NO_VSCROLL, + wxCB_SIMPLE, wxCB_DROPDOWN, wxCB_SORT, @@ -272,59 +442,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, - wxTR_HAS_BUTTONS, - wxTR_EDIT_LABELS, - wxTR_LINES_AT_ROOT, - wxTR_MULTIPLE, - wxTR_SINGLE, - wxTR_HAS_VARIABLE_ROW_HEIGHT, - wxLC_ICON, - wxLC_SMALL_ICON, - wxLC_LIST, - wxLC_REPORT, - wxLC_ALIGN_TOP, - wxLC_ALIGN_LEFT, - wxLC_AUTOARRANGE, - wxLC_USER_TEXT, - wxLC_EDIT_LABELS, - wxLC_NO_HEADER, - wxLC_NO_SORT_HEADER, - wxLC_SINGLE_SEL, - wxLC_SORT_ASCENDING, - wxLC_SORT_DESCENDING, - wxLC_MASK_TYPE, - wxLC_MASK_ALIGN, - wxLC_MASK_SORT, - wxSP_VERTICAL, - wxSP_HORIZONTAL, - wxSP_ARROW_KEYS, - wxSP_WRAP, - wxSP_NOBORDER, - wxSP_3D, - wxSP_BORDER, - wxSP_LIVE_UPDATE, - wxSP_PERMIT_UNSPLIT, + wxFLOOD_SURFACE, wxFLOOD_BORDER, wxODDEVEN_RULE, @@ -357,8 +483,7 @@ enum { wxMORE, wxSETUP, - wxCENTRE, - wxCENTER, + wxSIZE_AUTO_WIDTH, wxSIZE_AUTO_HEIGHT, wxSIZE_AUTO, @@ -370,6 +495,11 @@ enum { wxPRINT_QUALITY_MEDIUM, wxPRINT_QUALITY_LOW, wxPRINT_QUALITY_DRAFT, + + wxID_ANY, + wxID_SEPARATOR, + + wxID_LOWEST, wxID_OPEN, wxID_CLOSE, wxID_NEW, @@ -388,11 +518,31 @@ enum { wxID_HELP_COMMANDS, wxID_HELP_PROCEDURES, wxID_HELP_CONTEXT, + wxID_CLOSE_ALL, + wxID_PREFERENCES, + wxID_CUT, wxID_COPY, wxID_PASTE, wxID_CLEAR, 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, @@ -402,34 +552,53 @@ enum { wxID_FILE7, wxID_FILE8, wxID_FILE9, + wxID_OK, wxID_CANCEL, wxID_APPLY, wxID_YES, wxID_NO, wxID_STATIC, - wxID_SEPARATOR, - - wxBITMAP_TYPE_BMP, - 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_ANY, - wxBITMAP_TYPE_RESOURCE, - wxBITMAP_TYPE_JPEG, - wxBITMAP_TYPE_PCX, + wxID_FORWARD, + wxID_BACKWARD, + 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, @@ -437,6 +606,7 @@ enum { wxOVERWRITE_PROMPT, wxFILE_MUST_EXIST, wxMULTIPLE, + wxCHANGE_DIR, wxACCEL_ALT, wxACCEL_CTRL, @@ -449,59 +619,146 @@ 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, + wxFULL_REPAINT_ON_RESIZE, + + wxLI_HORIZONTAL, + wxLI_VERTICAL, + + 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, + wxMM_HIMETRIC, + wxMM_LOENGLISH, + wxMM_HIENGLISH, + wxMM_TWIPS, + wxMM_ISOTROPIC, + wxMM_ANISOTROPIC, + 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, + +}; + + +#ifdef __WXGTK__ +#define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP|wxFULL_REPAINT_ON_RESIZE +#else +#define wxDEFAULT_STATUSBAR_STYLE wxST_SIZEGRIP +#endif + + + +enum wxGeometryCentre +{ + wxCENTRE = 0x0001, + wxCENTER = wxCENTRE +}; + + +enum wxOrientation +{ + wxHORIZONTAL, + wxVERTICAL, + wxBOTH +}; +enum wxDirection +{ wxLEFT, wxRIGHT, wxUP, wxDOWN, - wxALL, + wxTOP, wxBOTTOM, wxNORTH, wxSOUTH, - wxEAST, 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, +}; - wxNB_FIXEDWIDTH, - wxNB_LEFT, - wxNB_RIGHT, - wxNB_BOTTOM, - - wxLI_HORIZONTAL, - wxLI_VERTICAL, - - wxHW_SCROLLBAR_NEVER, - wxHW_SCROLLBAR_AUTO, - - wxJOYSTICK1, - wxJOYSTICK2, - wxJOY_BUTTON1, - wxJOY_BUTTON2, - wxJOY_BUTTON3, - wxJOY_BUTTON4, - wxJOY_BUTTON_ANY, +enum wxBorder +{ + wxBORDER_DEFAULT, + wxBORDER_NONE, + wxBORDER_STATIC, + wxBORDER_SIMPLE, + wxBORDER_RAISED, + wxBORDER_SUNKEN, + wxBORDER_DOUBLE, + wxBORDER_MASK, }; -// // 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 { @@ -562,120 +819,118 @@ typedef enum { // wxSRC_AND // source _bitmap_ AND destination } form_ops_t; -enum _Virtual_keycodes { - 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_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 -}; +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 -typedef enum { - wxCURSOR_NONE = 0, - wxCURSOR_ARROW = 1, - 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 -// #ifndef __WXMSW__ -// /* Not yet implemented for Windows */ -// , wxCURSOR_CROSS_REVERSE, -// wxCURSOR_DOUBLE_ARROW, -// wxCURSOR_BASED_ARROW_UP, -// wxCURSOR_BASED_ARROW_DOWN -// #endif -} _standard_cursors_t; +}; @@ -759,216 +1014,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_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, - -/* 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_FIRST + 100, - 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_CONTEXT_MENU, - 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, - - /* Tree control event types */ - wxEVT_COMMAND_TREE_BEGIN_DRAG, - wxEVT_COMMAND_TREE_BEGIN_RDRAG, - wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT, - wxEVT_COMMAND_TREE_END_LABEL_EDIT, - wxEVT_COMMAND_TREE_DELETE_ITEM, - wxEVT_COMMAND_TREE_GET_INFO, - wxEVT_COMMAND_TREE_SET_INFO, - wxEVT_COMMAND_TREE_ITEM_EXPANDED, - wxEVT_COMMAND_TREE_ITEM_EXPANDING, - wxEVT_COMMAND_TREE_ITEM_COLLAPSED, - wxEVT_COMMAND_TREE_ITEM_COLLAPSING, - wxEVT_COMMAND_TREE_SEL_CHANGED, - wxEVT_COMMAND_TREE_SEL_CHANGING, - wxEVT_COMMAND_TREE_KEY_DOWN, - wxEVT_COMMAND_TREE_ITEM_ACTIVATED, - wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK, - wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK, - - /* List control event types */ - wxEVT_COMMAND_LIST_BEGIN_DRAG, - wxEVT_COMMAND_LIST_BEGIN_RDRAG, - wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT, - wxEVT_COMMAND_LIST_END_LABEL_EDIT, - wxEVT_COMMAND_LIST_DELETE_ITEM, - wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS, - wxEVT_COMMAND_LIST_GET_INFO, - wxEVT_COMMAND_LIST_SET_INFO, - wxEVT_COMMAND_LIST_ITEM_SELECTED, - wxEVT_COMMAND_LIST_ITEM_DESELECTED, - wxEVT_COMMAND_LIST_KEY_DOWN, - wxEVT_COMMAND_LIST_INSERT_ITEM, - wxEVT_COMMAND_LIST_COL_CLICK, - wxEVT_COMMAND_LIST_ITEM_ACTIVATED, - wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK, - wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK, - - - /* Tab and notebook control event types */ - wxEVT_COMMAND_TAB_SEL_CHANGED, - wxEVT_COMMAND_TAB_SEL_CHANGING, - wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, - wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, - - /* splitter window */ - wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING, - wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGED, - wxEVT_COMMAND_SPLITTER_UNSPLIT, - wxEVT_COMMAND_SPLITTER_DOUBLECLICKED, - - wxEVT_NAVIGATION_KEY, - - wxEVT_TIMER, - - wxEVT_END_PROCESS, +%{ +#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 +}; -//---------------------------------------------------------------------- + +//--------------------------------------------------------------------------- +