SWIGged updates

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2003-09-19 16:46:57 +00:00
parent 36a73f1d03
commit 854e7dc332
6 changed files with 304 additions and 83 deletions

View File

@@ -2725,6 +2725,7 @@ static PyObject *_wrap_wxPyGridCellEditor_base_PaintBackground(PyObject *self, P
#define wxPyGridCellEditor_base_IsAcceptedKey(_swigobj,_swigarg0) (_swigobj->base_IsAcceptedKey(_swigarg0))
static PyObject *_wrap_wxPyGridCellEditor_base_IsAcceptedKey(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
bool _result;
wxPyGridCellEditor * _arg0;
wxKeyEvent * _arg1;
PyObject * _argo0 = 0;
@@ -2749,12 +2750,11 @@ static PyObject *_wrap_wxPyGridCellEditor_base_IsAcceptedKey(PyObject *self, PyO
}
{
PyThreadState* __tstate = wxPyBeginAllowThreads();
wxPyGridCellEditor_base_IsAcceptedKey(_arg0,*_arg1);
_result = (bool )wxPyGridCellEditor_base_IsAcceptedKey(_arg0,*_arg1);
wxPyEndAllowThreads(__tstate);
if (PyErr_Occurred()) return NULL;
} Py_INCREF(Py_None);
_resultobj = Py_None;
} _resultobj = Py_BuildValue("i",_result);
return _resultobj;
}

View File

@@ -318,15 +318,80 @@ public:
#ifdef __WXMSW__
#include <wx/msw/private.h>
#include <wx/dynload.h>
#endif
void wxDrawWindowOnDC(wxWindow* window, const wxDC& dc)
void wxDrawWindowOnDC(wxWindow* window, const wxDC& dc, int method)
{
#ifdef __WXMSW__
::SendMessage(GetHwndOf(window), WM_PAINT, (long)GetHdcOf(dc), 0);
// ::SendMessage(GetHwndOf(window), WM_PRINTCLIENT, (long)GetHdcOf(dc),
// PRF_CLIENT | PRF_NONCLIENT | PRF_CHILDREN );
switch (method)
{
case 1:
// This one only partially works. Appears to be an undocumented
// "standard" convention that not all widgets adhear to. For
// example, for some widgets backgrounds or non-client areas may
// not be painted.
::SendMessage(GetHwndOf(window), WM_PAINT, (long)GetHdcOf(dc), 0);
break;
case 2:
// This one works much better, except for on XP. On Win2k nearly
// all widgets and their children are captured correctly[**]. On
// XP with Themes activated most native widgets draw only
// partially, if at all. Without themes it works just like on
// Win2k.
//
// ** For example the radio buttons in a wxRadioBox are not its
// children by default, but you can capture it via the panel
// instead, or change RADIOBTN_PARENT_IS_RADIOBOX in radiobox.cpp.
::SendMessage(GetHwndOf(window), WM_PRINT, (long)GetHdcOf(dc),
PRF_CLIENT | PRF_NONCLIENT | PRF_CHILDREN |
PRF_ERASEBKGND | PRF_OWNED );
break;
case 3:
// This one is only defined in the latest SDK and is only
// available on XP. MSDN says it is similar to sending WM_PRINT
// so I expect that it will work similar to the above. Since it
// is avaialble only on XP, it can't be compiled like this and
// will have to be loaded dynamically.
// //::PrintWindow(GetHwndOf(window), GetHdcOf(dc), 0); //break;
// fall through
case 4:
// Use PrintWindow if available, or fallback to WM_PRINT
// otherwise. Unfortunately using PrintWindow is even worse than
// WM_PRINT. For most native widgets nothing is drawn to the dc
// at all, with or without Themes.
typedef BOOL (WINAPI *PrintWindow_t)(HWND, HDC, UINT);
static bool s_triedToLoad = false;
static PrintWindow_t pfnPrintWindow = NULL;
if ( !s_triedToLoad )
{
s_triedToLoad = true;
wxDynamicLibrary dllUser32(_T("user32.dll"));
if ( dllUser32.IsLoaded() )
{
wxLogNull nolog; // Don't report errors here
pfnPrintWindow = (PrintWindow_t)dllUser32.GetSymbol(_T("PrintWindow"));
}
}
if (pfnPrintWindow)
{
printf("Using PrintWindow\n");
pfnPrintWindow(GetHwndOf(window), GetHdcOf(dc), 0);
}
else
{
printf("Using WM_PRINT\n");
::SendMessage(GetHwndOf(window), WM_PRINT, (long)GetHdcOf(dc),
PRF_CLIENT | PRF_NONCLIENT | PRF_CHILDREN | PRF_ERASEBKGND | PRF_OWNED );
}
}
#endif
}
@@ -2303,12 +2368,13 @@ static PyObject *_wrap_wxDrawWindowOnDC(PyObject *self, PyObject *args, PyObject
PyObject * _resultobj;
wxWindow * _arg0;
wxDC * _arg1;
int _arg2;
PyObject * _argo0 = 0;
PyObject * _argo1 = 0;
char *_kwnames[] = { "window","dc", NULL };
char *_kwnames[] = { "window","dc","method", NULL };
self = self;
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxDrawWindowOnDC",_kwnames,&_argo0,&_argo1))
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOi:wxDrawWindowOnDC",_kwnames,&_argo0,&_argo1,&_arg2))
return NULL;
if (_argo0) {
if (_argo0 == Py_None) { _arg0 = NULL; }
@@ -2325,7 +2391,7 @@ static PyObject *_wrap_wxDrawWindowOnDC(PyObject *self, PyObject *args, PyObject
}
{
PyThreadState* __tstate = wxPyBeginAllowThreads();
wxDrawWindowOnDC(_arg0,*_arg1);
wxDrawWindowOnDC(_arg0,*_arg1,_arg2);
wxPyEndAllowThreads(__tstate);
if (PyErr_Occurred()) return NULL;

View File

@@ -1789,24 +1789,6 @@ static PyObject *_wrap_wxPyApp_SetAssertMode(PyObject *self, PyObject *args, PyO
return _resultobj;
}
static PyObject *_wrap_wxPyApp_GetMacDefaultEncodingIsPC(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
bool _result;
char *_kwnames[] = { NULL };
self = self;
if(!PyArg_ParseTupleAndKeywords(args,kwargs,":wxPyApp_GetMacDefaultEncodingIsPC",_kwnames))
return NULL;
{
PyThreadState* __tstate = wxPyBeginAllowThreads();
_result = (bool )wxPyApp::GetMacDefaultEncodingIsPC();
wxPyEndAllowThreads(__tstate);
if (PyErr_Occurred()) return NULL;
} _resultobj = Py_BuildValue("i",_result);
return _resultobj;
}
static PyObject *_wrap_wxPyApp_GetMacSupportPCMenuShortcuts(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
bool _result;
@@ -1906,27 +1888,6 @@ static PyObject *_wrap_wxPyApp_GetMacHelpMenuTitleName(PyObject *self, PyObject
return _resultobj;
}
static PyObject *_wrap_wxPyApp_SetMacDefaultEncodingIsPC(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
bool _arg0;
int tempbool0;
char *_kwnames[] = { "val", NULL };
self = self;
if(!PyArg_ParseTupleAndKeywords(args,kwargs,"i:wxPyApp_SetMacDefaultEncodingIsPC",_kwnames,&tempbool0))
return NULL;
_arg0 = (bool ) tempbool0;
{
PyThreadState* __tstate = wxPyBeginAllowThreads();
wxPyApp::SetMacDefaultEncodingIsPC(_arg0);
wxPyEndAllowThreads(__tstate);
if (PyErr_Occurred()) return NULL;
} Py_INCREF(Py_None);
_resultobj = Py_None;
return _resultobj;
}
static PyObject *_wrap_wxPyApp_SetMacSupportPCMenuShortcuts(PyObject *self, PyObject *args, PyObject *kwargs) {
PyObject * _resultobj;
bool _arg0;
@@ -2040,13 +2001,11 @@ static PyMethodDef wxcMethods[] = {
{ "wxPyApp_SetMacPreferencesMenuItemId", (PyCFunction) _wrap_wxPyApp_SetMacPreferencesMenuItemId, METH_VARARGS | METH_KEYWORDS },
{ "wxPyApp_SetMacAboutMenuItemId", (PyCFunction) _wrap_wxPyApp_SetMacAboutMenuItemId, METH_VARARGS | METH_KEYWORDS },
{ "wxPyApp_SetMacSupportPCMenuShortcuts", (PyCFunction) _wrap_wxPyApp_SetMacSupportPCMenuShortcuts, METH_VARARGS | METH_KEYWORDS },
{ "wxPyApp_SetMacDefaultEncodingIsPC", (PyCFunction) _wrap_wxPyApp_SetMacDefaultEncodingIsPC, METH_VARARGS | METH_KEYWORDS },
{ "wxPyApp_GetMacHelpMenuTitleName", (PyCFunction) _wrap_wxPyApp_GetMacHelpMenuTitleName, METH_VARARGS | METH_KEYWORDS },
{ "wxPyApp_GetMacExitMenuItemId", (PyCFunction) _wrap_wxPyApp_GetMacExitMenuItemId, METH_VARARGS | METH_KEYWORDS },
{ "wxPyApp_GetMacPreferencesMenuItemId", (PyCFunction) _wrap_wxPyApp_GetMacPreferencesMenuItemId, METH_VARARGS | METH_KEYWORDS },
{ "wxPyApp_GetMacAboutMenuItemId", (PyCFunction) _wrap_wxPyApp_GetMacAboutMenuItemId, METH_VARARGS | METH_KEYWORDS },
{ "wxPyApp_GetMacSupportPCMenuShortcuts", (PyCFunction) _wrap_wxPyApp_GetMacSupportPCMenuShortcuts, METH_VARARGS | METH_KEYWORDS },
{ "wxPyApp_GetMacDefaultEncodingIsPC", (PyCFunction) _wrap_wxPyApp_GetMacDefaultEncodingIsPC, METH_VARARGS | METH_KEYWORDS },
{ "wxPyApp_SetAssertMode", (PyCFunction) _wrap_wxPyApp_SetAssertMode, METH_VARARGS | METH_KEYWORDS },
{ "wxPyApp_GetAssertMode", (PyCFunction) _wrap_wxPyApp_GetAssertMode, METH_VARARGS | METH_KEYWORDS },
{ "wxPyApp_SetUseBestVisual", (PyCFunction) _wrap_wxPyApp_SetUseBestVisual, METH_VARARGS | METH_KEYWORDS },

View File

@@ -164,8 +164,6 @@ def wxGetApp(*_args, **_kwargs):
wxApp_CleanUp = wxc.wxApp_CleanUp
wxPyApp_GetMacDefaultEncodingIsPC = wxc.wxPyApp_GetMacDefaultEncodingIsPC
wxPyApp_GetMacSupportPCMenuShortcuts = wxc.wxPyApp_GetMacSupportPCMenuShortcuts
wxPyApp_GetMacAboutMenuItemId = wxc.wxPyApp_GetMacAboutMenuItemId
@@ -176,8 +174,6 @@ wxPyApp_GetMacExitMenuItemId = wxc.wxPyApp_GetMacExitMenuItemId
wxPyApp_GetMacHelpMenuTitleName = wxc.wxPyApp_GetMacHelpMenuTitleName
wxPyApp_SetMacDefaultEncodingIsPC = wxc.wxPyApp_SetMacDefaultEncodingIsPC
wxPyApp_SetMacSupportPCMenuShortcuts = wxc.wxPyApp_SetMacSupportPCMenuShortcuts
wxPyApp_SetMacAboutMenuItemId = wxc.wxPyApp_SetMacAboutMenuItemId
@@ -1942,13 +1938,11 @@ of your Mac."""
# change from wxPyApp_ to wxApp_
wxApp_GetMacDefaultEncodingIsPC = wxc.wxPyApp_GetMacDefaultEncodingIsPC
wxApp_GetMacSupportPCMenuShortcuts = wxc.wxPyApp_GetMacSupportPCMenuShortcuts
wxApp_GetMacAboutMenuItemId = wxc.wxPyApp_GetMacAboutMenuItemId
wxApp_GetMacPreferencesMenuItemId = wxc.wxPyApp_GetMacPreferencesMenuItemId
wxApp_GetMacExitMenuItemId = wxc.wxPyApp_GetMacExitMenuItemId
wxApp_GetMacHelpMenuTitleName = wxc.wxPyApp_GetMacHelpMenuTitleName
wxApp_SetMacDefaultEncodingIsPC = wxc.wxPyApp_SetMacDefaultEncodingIsPC
wxApp_SetMacSupportPCMenuShortcuts = wxc.wxPyApp_SetMacSupportPCMenuShortcuts
wxApp_SetMacAboutMenuItemId = wxc.wxPyApp_SetMacAboutMenuItemId
wxApp_SetMacPreferencesMenuItemId = wxc.wxPyApp_SetMacPreferencesMenuItemId