From: Robin Dunn Date: Wed, 3 Jul 2002 22:54:13 +0000 (+0000) Subject: Updates related to wxID_ANY and etc. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/3eb221f6ddaa07c971d1701d6e47627f16427ca9 Updates related to wxID_ANY and etc. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16028 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/wxPython/CHANGES.txt b/wxPython/CHANGES.txt index 92b0948b71..0964ceba0e 100644 --- a/wxPython/CHANGES.txt +++ b/wxPython/CHANGES.txt @@ -134,8 +134,13 @@ Fixed a boatload of reference leaks. Added a demo of using a sizer in a wxScrolledWindow, in effect creating a ScrolledPanel. -Added wxIEHtmlWin. +Added a sample to the demo that shows how to use radio menu items, and +other menu stuff. +Added wxIEHtmlWin. This is essentially the same as using IE with the +ActiveXWrapper already in the library, but it is implemented all in +C++ and therefore does not need any of the modules from win32 all and +so it is less fragile in the face of changes. diff --git a/wxPython/src/_defs.i b/wxPython/src/_defs.i index 1acff88052..e797b40591 100644 --- a/wxPython/src/_defs.i +++ b/wxPython/src/_defs.i @@ -380,6 +380,9 @@ enum { wxPRINT_QUALITY_LOW, wxPRINT_QUALITY_DRAFT, + wxID_ANY, + wxID_SEPARATOR, + wxID_OPEN, wxID_CLOSE, wxID_NEW, @@ -517,6 +520,14 @@ enum { wxTIMER_CONTINUOUS, wxTIMER_ONE_SHOT, + + // the symbolic names for the mouse buttons + wxMOUSE_BTN_ANY, + wxMOUSE_BTN_NONE, + wxMOUSE_BTN_LEFT, + wxMOUSE_BTN_MIDDLE, + wxMOUSE_BTN_RIGHT, + }; diff --git a/wxPython/src/gdi.i b/wxPython/src/gdi.i index fa57df3de3..a47f4a3362 100644 --- a/wxPython/src/gdi.i +++ b/wxPython/src/gdi.i @@ -110,7 +110,7 @@ public: %new wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1); %new wxBitmap* wxBitmapFromXPMData(PyObject* listOfStrings); %new wxBitmap* wxBitmapFromIcon(const wxIcon& icon); -%new wxBitmap* wxBitmapFromBits(char* bits, int width, int height, int depth = 1 ); +%new wxBitmap* wxBitmapFromBits(PyObject* bits, int width, int height, int depth = 1 ); // #ifdef __WXMSW__ // %new wxBitmap* wxBitmapFromData(PyObject* data, long type, @@ -162,8 +162,11 @@ public: } - wxBitmap* wxBitmapFromBits(char* bits, int width, int height, int depth = 1 ) { - return new wxBitmap(bits, width, height, depth); + wxBitmap* wxBitmapFromBits(PyObject* bits, int width, int height, int depth = 1 ) { + char* buf; + int length; + PyString_AsStringAndSize(bits, &buf, &length); + return new wxBitmap(buf, width, height, depth); } diff --git a/wxPython/src/misc2.i b/wxPython/src/misc2.i index 70ccce4f4a..22a8d2d7b7 100644 --- a/wxPython/src/misc2.i +++ b/wxPython/src/misc2.i @@ -844,6 +844,25 @@ long wxExecute(const wxString& command, //---------------------------------------------------------------------- + +// Which joystick? Same as Windows ids so no conversion necessary. +enum +{ + wxJOYSTICK1, + wxJOYSTICK2 +}; + +// Which button is down? +enum +{ + wxJOY_BUTTON_ANY, + wxJOY_BUTTON1, + wxJOY_BUTTON2, + wxJOY_BUTTON3, + wxJOY_BUTTON4, +}; + + %{ #if !wxUSE_JOYSTICK && !defined(__WXMSW__) // A C++ stub class for wxJoystick for platforms that don't have it. diff --git a/wxPython/src/msw/gdi.cpp b/wxPython/src/msw/gdi.cpp index d5d14a3c23..ad7b4cdf1a 100644 --- a/wxPython/src/msw/gdi.cpp +++ b/wxPython/src/msw/gdi.cpp @@ -136,8 +136,11 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { } - wxBitmap* wxBitmapFromBits(char* bits, int width, int height, int depth = 1 ) { - return new wxBitmap(bits, width, height, depth); + wxBitmap* wxBitmapFromBits(PyObject* bits, int width, int height, int depth = 1 ) { + char* buf; + int length; + PyString_AsStringAndSize(bits, &buf, &length); + return new wxBitmap(buf, width, height, depth); } @@ -370,16 +373,20 @@ static PyObject *_wrap_wxBitmapFromIcon(PyObject *self, PyObject *args, PyObject static PyObject *_wrap_wxBitmapFromBits(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxBitmap * _result; - char * _arg0; + PyObject * _arg0; int _arg1; int _arg2; int _arg3 = (int ) 1; + PyObject * _obj0 = 0; char *_kwnames[] = { "bits","width","height","depth", NULL }; char _ptemp[128]; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"sii|i:wxBitmapFromBits",_kwnames,&_arg0,&_arg1,&_arg2,&_arg3)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii|i:wxBitmapFromBits",_kwnames,&_obj0,&_arg1,&_arg2,&_arg3)) return NULL; +{ + _arg0 = _obj0; +} { PyThreadState* __tstate = wxPyBeginAllowThreads(); _result = (wxBitmap *)wxBitmapFromBits(_arg0,_arg1,_arg2,_arg3); diff --git a/wxPython/src/msw/misc2.cpp b/wxPython/src/msw/misc2.cpp index b26f3b1bdc..eca098bdaf 100644 --- a/wxPython/src/msw/misc2.cpp +++ b/wxPython/src/msw/misc2.cpp @@ -6465,7 +6465,7 @@ static void *SwigwxJoystickTowxObject(void *ptr) { static PyObject *_wrap_new_wxJoystick(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxJoystick * _result; - int _arg0 = (int ) wxJOYSTICK1; + int _arg0 = (int ) (wxJOYSTICK1); char *_kwnames[] = { "joystick", NULL }; char _ptemp[128]; @@ -10812,6 +10812,13 @@ SWIGEXPORT(void) initmisc2c() { PyDict_SetItemString(d,"wxEXEC_SYNC", PyInt_FromLong((long) wxEXEC_SYNC)); PyDict_SetItemString(d,"wxEXEC_NOHIDE", PyInt_FromLong((long) wxEXEC_NOHIDE)); PyDict_SetItemString(d,"wxEXEC_MAKE_GROUP_LEADER", PyInt_FromLong((long) wxEXEC_MAKE_GROUP_LEADER)); + PyDict_SetItemString(d,"wxJOYSTICK1", PyInt_FromLong((long) wxJOYSTICK1)); + PyDict_SetItemString(d,"wxJOYSTICK2", PyInt_FromLong((long) wxJOYSTICK2)); + PyDict_SetItemString(d,"wxJOY_BUTTON_ANY", PyInt_FromLong((long) wxJOY_BUTTON_ANY)); + PyDict_SetItemString(d,"wxJOY_BUTTON1", PyInt_FromLong((long) wxJOY_BUTTON1)); + PyDict_SetItemString(d,"wxJOY_BUTTON2", PyInt_FromLong((long) wxJOY_BUTTON2)); + PyDict_SetItemString(d,"wxJOY_BUTTON3", PyInt_FromLong((long) wxJOY_BUTTON3)); + PyDict_SetItemString(d,"wxJOY_BUTTON4", PyInt_FromLong((long) wxJOY_BUTTON4)); PyDict_SetItemString(d,"wxMAILCAP_STANDARD", PyInt_FromLong((long) wxMAILCAP_STANDARD)); PyDict_SetItemString(d,"wxMAILCAP_NETSCAPE", PyInt_FromLong((long) wxMAILCAP_NETSCAPE)); PyDict_SetItemString(d,"wxMAILCAP_KDE", PyInt_FromLong((long) wxMAILCAP_KDE)); diff --git a/wxPython/src/msw/misc2.py b/wxPython/src/msw/misc2.py index 317dc96768..26c88e98f2 100644 --- a/wxPython/src/msw/misc2.py +++ b/wxPython/src/msw/misc2.py @@ -1339,6 +1339,13 @@ wxEXEC_ASYNC = misc2c.wxEXEC_ASYNC wxEXEC_SYNC = misc2c.wxEXEC_SYNC wxEXEC_NOHIDE = misc2c.wxEXEC_NOHIDE wxEXEC_MAKE_GROUP_LEADER = misc2c.wxEXEC_MAKE_GROUP_LEADER +wxJOYSTICK1 = misc2c.wxJOYSTICK1 +wxJOYSTICK2 = misc2c.wxJOYSTICK2 +wxJOY_BUTTON_ANY = misc2c.wxJOY_BUTTON_ANY +wxJOY_BUTTON1 = misc2c.wxJOY_BUTTON1 +wxJOY_BUTTON2 = misc2c.wxJOY_BUTTON2 +wxJOY_BUTTON3 = misc2c.wxJOY_BUTTON3 +wxJOY_BUTTON4 = misc2c.wxJOY_BUTTON4 wxMAILCAP_STANDARD = misc2c.wxMAILCAP_STANDARD wxMAILCAP_NETSCAPE = misc2c.wxMAILCAP_NETSCAPE wxMAILCAP_KDE = misc2c.wxMAILCAP_KDE diff --git a/wxPython/src/msw/wx.cpp b/wxPython/src/msw/wx.cpp index a14f0f355f..252cf6cbec 100644 --- a/wxPython/src/msw/wx.cpp +++ b/wxPython/src/msw/wx.cpp @@ -2065,6 +2065,8 @@ SWIGEXPORT(void) initwxc() { PyDict_SetItemString(d,"wxPRINT_QUALITY_MEDIUM", PyInt_FromLong((long) wxPRINT_QUALITY_MEDIUM)); PyDict_SetItemString(d,"wxPRINT_QUALITY_LOW", PyInt_FromLong((long) wxPRINT_QUALITY_LOW)); PyDict_SetItemString(d,"wxPRINT_QUALITY_DRAFT", PyInt_FromLong((long) wxPRINT_QUALITY_DRAFT)); + PyDict_SetItemString(d,"wxID_ANY", PyInt_FromLong((long) wxID_ANY)); + PyDict_SetItemString(d,"wxID_SEPARATOR", PyInt_FromLong((long) wxID_SEPARATOR)); PyDict_SetItemString(d,"wxID_OPEN", PyInt_FromLong((long) wxID_OPEN)); PyDict_SetItemString(d,"wxID_CLOSE", PyInt_FromLong((long) wxID_CLOSE)); PyDict_SetItemString(d,"wxID_NEW", PyInt_FromLong((long) wxID_NEW)); @@ -2184,6 +2186,11 @@ SWIGEXPORT(void) initwxc() { PyDict_SetItemString(d,"wxMM_METRIC", PyInt_FromLong((long) wxMM_METRIC)); PyDict_SetItemString(d,"wxTIMER_CONTINUOUS", PyInt_FromLong((long) wxTIMER_CONTINUOUS)); PyDict_SetItemString(d,"wxTIMER_ONE_SHOT", PyInt_FromLong((long) wxTIMER_ONE_SHOT)); + PyDict_SetItemString(d,"wxMOUSE_BTN_ANY", PyInt_FromLong((long) wxMOUSE_BTN_ANY)); + PyDict_SetItemString(d,"wxMOUSE_BTN_NONE", PyInt_FromLong((long) wxMOUSE_BTN_NONE)); + PyDict_SetItemString(d,"wxMOUSE_BTN_LEFT", PyInt_FromLong((long) wxMOUSE_BTN_LEFT)); + PyDict_SetItemString(d,"wxMOUSE_BTN_MIDDLE", PyInt_FromLong((long) wxMOUSE_BTN_MIDDLE)); + PyDict_SetItemString(d,"wxMOUSE_BTN_RIGHT", PyInt_FromLong((long) wxMOUSE_BTN_RIGHT)); PyDict_SetItemString(d,"wxBORDER_DEFAULT", PyInt_FromLong((long) wxBORDER_DEFAULT)); PyDict_SetItemString(d,"wxBORDER_NONE", PyInt_FromLong((long) wxBORDER_NONE)); PyDict_SetItemString(d,"wxBORDER_STATIC", PyInt_FromLong((long) wxBORDER_STATIC)); diff --git a/wxPython/src/msw/wx.py b/wxPython/src/msw/wx.py index 148ac8b3ee..3ae0ac13d0 100644 --- a/wxPython/src/msw/wx.py +++ b/wxPython/src/msw/wx.py @@ -350,6 +350,8 @@ wxPRINT_QUALITY_HIGH = wxc.wxPRINT_QUALITY_HIGH wxPRINT_QUALITY_MEDIUM = wxc.wxPRINT_QUALITY_MEDIUM wxPRINT_QUALITY_LOW = wxc.wxPRINT_QUALITY_LOW wxPRINT_QUALITY_DRAFT = wxc.wxPRINT_QUALITY_DRAFT +wxID_ANY = wxc.wxID_ANY +wxID_SEPARATOR = wxc.wxID_SEPARATOR wxID_OPEN = wxc.wxID_OPEN wxID_CLOSE = wxc.wxID_CLOSE wxID_NEW = wxc.wxID_NEW @@ -469,6 +471,11 @@ wxMM_POINTS = wxc.wxMM_POINTS wxMM_METRIC = wxc.wxMM_METRIC wxTIMER_CONTINUOUS = wxc.wxTIMER_CONTINUOUS wxTIMER_ONE_SHOT = wxc.wxTIMER_ONE_SHOT +wxMOUSE_BTN_ANY = wxc.wxMOUSE_BTN_ANY +wxMOUSE_BTN_NONE = wxc.wxMOUSE_BTN_NONE +wxMOUSE_BTN_LEFT = wxc.wxMOUSE_BTN_LEFT +wxMOUSE_BTN_MIDDLE = wxc.wxMOUSE_BTN_MIDDLE +wxMOUSE_BTN_RIGHT = wxc.wxMOUSE_BTN_RIGHT wxBORDER_DEFAULT = wxc.wxBORDER_DEFAULT wxBORDER_NONE = wxc.wxBORDER_NONE wxBORDER_STATIC = wxc.wxBORDER_STATIC