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.
wxPRINT_QUALITY_LOW,
wxPRINT_QUALITY_DRAFT,
+ wxID_ANY,
+ wxID_SEPARATOR,
+
wxID_OPEN,
wxID_CLOSE,
wxID_NEW,
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,
+
};
%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,
}
- 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);
}
//----------------------------------------------------------------------
+
+// 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.
}
- 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);
}
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);
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];
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));
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
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));
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));
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
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