Add SetBestSize, GetDefaultAttributes and fixed ShouldInheritColours
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
d474ed7b17
commit
1a10485f79
@ -2448,4 +2448,35 @@ extern wxPyApp *wxPythonApp;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define DEC_PYCALLBACK_VIZATTR_(CBNAME) \
|
||||
wxVisualAttributes CBNAME() const; \
|
||||
wxVisualAttributes base_##CBNAME()
|
||||
|
||||
|
||||
#define IMP_PYCALLBACK_VIZATTR_(CLASS, PCLASS, CBNAME) \
|
||||
wxVisualAttributes CLASS::CBNAME() const { \
|
||||
wxVisualAttributes rval; \
|
||||
bool found; \
|
||||
bool blocked = wxPyBeginBlockThreads(); \
|
||||
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
||||
PyObject* ro; \
|
||||
wxVisualAttributes* ptr; \
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()")); \
|
||||
if (ro) { \
|
||||
if (wxPyConvertSwigPtr(ro, (void **)&ptr, wxT("wxVisualAttributes"))) \
|
||||
rval = *ptr; \
|
||||
Py_DECREF(ro); \
|
||||
} \
|
||||
} \
|
||||
wxPyEndBlockThreads(blocked); \
|
||||
if (! found) \
|
||||
rval = PCLASS::CBNAME(); \
|
||||
return rval; \
|
||||
} \
|
||||
wxVisualAttributes CLASS::base_##CBNAME() { \
|
||||
return PCLASS::CBNAME(); \
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#endif
|
||||
|
@ -17,7 +17,6 @@
|
||||
%newgroup
|
||||
|
||||
|
||||
// TODO: Virtualize ShouldInheritColours
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
@ -35,6 +34,7 @@ public:
|
||||
const wxString& name = wxPyControlNameStr)
|
||||
: wxControl(parent, id, pos, size, style, validator, name) {}
|
||||
|
||||
void SetBestSize(const wxSize& size) { wxControl::SetBestSize(size); }
|
||||
|
||||
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
||||
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
||||
@ -60,8 +60,9 @@ public:
|
||||
DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
|
||||
DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
|
||||
|
||||
DEC_PYCALLBACK_BOOL_(ShouldInheritColours);
|
||||
DEC_PYCALLBACK_BOOL_const(ShouldInheritColours);
|
||||
DEC_PYCALLBACK__COLOUR(ApplyParentThemeBackground);
|
||||
DEC_PYCALLBACK_VIZATTR_(GetDefaultAttributes);
|
||||
|
||||
PYPRIVATE;
|
||||
};
|
||||
@ -92,8 +93,9 @@ IMP_PYCALLBACK_SIZE_const(wxPyControl, wxControl, GetMaxSize);
|
||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyControl, wxControl, AddChild);
|
||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyControl, wxControl, RemoveChild);
|
||||
|
||||
IMP_PYCALLBACK_BOOL_(wxPyControl, wxControl, ShouldInheritColours);
|
||||
IMP_PYCALLBACK_BOOL_const(wxPyControl, wxControl, ShouldInheritColours);
|
||||
IMP_PYCALLBACK__COLOUR(wxPyControl, wxControl, ApplyParentThemeBackground);
|
||||
IMP_PYCALLBACK_VIZATTR_(wxPyControl, wxControl, GetDefaultAttributes);
|
||||
%}
|
||||
|
||||
// And now the one for SWIG to see
|
||||
@ -114,6 +116,7 @@ public:
|
||||
|
||||
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
||||
|
||||
void SetBestSize(const wxSize& size);
|
||||
|
||||
void base_DoMoveWindow(int x, int y, int width, int height);
|
||||
void base_DoSetSize(int x, int y, int width, int height,
|
||||
@ -146,8 +149,9 @@ public:
|
||||
void base_AddChild(wxWindow* child);
|
||||
void base_RemoveChild(wxWindow* child);
|
||||
|
||||
bool base_ShouldInheritColours();
|
||||
bool base_ShouldInheritColours() const;
|
||||
void base_ApplyParentThemeBackground(const wxColour& c);
|
||||
wxVisualAttributes base_GetDefaultAttributes();
|
||||
};
|
||||
|
||||
|
||||
|
@ -47,8 +47,6 @@
|
||||
// Show
|
||||
|
||||
|
||||
// TODO: Virtualize ShouldInheritColours
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
|
||||
@ -65,6 +63,7 @@ public:
|
||||
const wxString& name = wxPyPanelNameStr)
|
||||
: wxWindow(parent, id, pos, size, style, name) {}
|
||||
|
||||
void SetBestSize(const wxSize& size) { wxWindow::SetBestSize(size); }
|
||||
|
||||
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
||||
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
||||
@ -90,8 +89,9 @@ public:
|
||||
DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
|
||||
DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
|
||||
|
||||
DEC_PYCALLBACK_BOOL_(ShouldInheritColours);
|
||||
DEC_PYCALLBACK_BOOL_const(ShouldInheritColours);
|
||||
DEC_PYCALLBACK__COLOUR(ApplyParentThemeBackground);
|
||||
DEC_PYCALLBACK_VIZATTR_(GetDefaultAttributes);
|
||||
|
||||
PYPRIVATE;
|
||||
};
|
||||
@ -122,8 +122,9 @@ IMP_PYCALLBACK_SIZE_const(wxPyWindow, wxWindow, GetMaxSize);
|
||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyWindow, wxWindow, AddChild);
|
||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyWindow, wxWindow, RemoveChild);
|
||||
|
||||
IMP_PYCALLBACK_BOOL_(wxPyWindow, wxWindow, ShouldInheritColours);
|
||||
IMP_PYCALLBACK_BOOL_const(wxPyWindow, wxWindow, ShouldInheritColours);
|
||||
IMP_PYCALLBACK__COLOUR(wxPyWindow, wxWindow, ApplyParentThemeBackground);
|
||||
IMP_PYCALLBACK_VIZATTR_(wxPyWindow, wxWindow, GetDefaultAttributes);
|
||||
|
||||
%}
|
||||
|
||||
@ -145,6 +146,8 @@ public:
|
||||
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
||||
|
||||
|
||||
void SetBestSize(const wxSize& size);
|
||||
|
||||
void base_DoMoveWindow(int x, int y, int width, int height);
|
||||
void base_DoSetSize(int x, int y, int width, int height,
|
||||
int sizeFlags = wxSIZE_AUTO);
|
||||
@ -176,8 +179,9 @@ public:
|
||||
void base_AddChild(wxWindow* child);
|
||||
void base_RemoveChild(wxWindow* child);
|
||||
|
||||
bool base_ShouldInheritColours();
|
||||
bool base_ShouldInheritColours() const;
|
||||
void base_ApplyParentThemeBackground(const wxColour& c);
|
||||
wxVisualAttributes base_GetDefaultAttributes();
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
@ -202,6 +206,8 @@ public:
|
||||
const wxString& name = wxPyPanelNameStr)
|
||||
: wxPanel(parent, id, pos, size, style, name) {}
|
||||
|
||||
void SetBestSize(const wxSize& size) { wxPanel::SetBestSize(size); }
|
||||
|
||||
|
||||
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
||||
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
||||
@ -227,8 +233,9 @@ public:
|
||||
DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
|
||||
DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
|
||||
|
||||
DEC_PYCALLBACK_BOOL_(ShouldInheritColours);
|
||||
DEC_PYCALLBACK_BOOL_const(ShouldInheritColours);
|
||||
DEC_PYCALLBACK__COLOUR(ApplyParentThemeBackground);
|
||||
DEC_PYCALLBACK_VIZATTR_(GetDefaultAttributes);
|
||||
|
||||
PYPRIVATE;
|
||||
};
|
||||
@ -259,9 +266,11 @@ IMP_PYCALLBACK_SIZE_const(wxPyPanel, wxPanel, GetMaxSize);
|
||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyPanel, wxPanel, AddChild);
|
||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyPanel, wxPanel, RemoveChild);
|
||||
|
||||
IMP_PYCALLBACK_BOOL_(wxPyPanel, wxPanel, ShouldInheritColours);
|
||||
IMP_PYCALLBACK_BOOL_const(wxPyPanel, wxPanel, ShouldInheritColours);
|
||||
IMP_PYCALLBACK__COLOUR(wxPyPanel, wxPanel, ApplyParentThemeBackground);
|
||||
%}
|
||||
IMP_PYCALLBACK_VIZATTR_(wxPyPanel, wxPanel, GetDefaultAttributes);
|
||||
|
||||
%}
|
||||
|
||||
// And now the one for SWIG to see
|
||||
class wxPyPanel : public wxPanel
|
||||
@ -280,6 +289,7 @@ public:
|
||||
|
||||
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
||||
|
||||
void SetBestSize(const wxSize& size);
|
||||
|
||||
void base_DoMoveWindow(int x, int y, int width, int height);
|
||||
void base_DoSetSize(int x, int y, int width, int height,
|
||||
@ -312,8 +322,9 @@ public:
|
||||
void base_AddChild(wxWindow* child);
|
||||
void base_RemoveChild(wxWindow* child);
|
||||
|
||||
bool base_ShouldInheritColours();
|
||||
bool base_ShouldInheritColours() const ;
|
||||
void base_ApplyParentThemeBackground(const wxColour& c);
|
||||
wxVisualAttributes base_GetDefaultAttributes();
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
@ -332,6 +343,7 @@ public:
|
||||
const wxString& name = wxPyPanelNameStr)
|
||||
: wxScrolledWindow(parent, id, pos, size, style, name) {}
|
||||
|
||||
void SetBestSize(const wxSize& size) { wxScrolledWindow::SetBestSize(size); }
|
||||
|
||||
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
||||
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
||||
@ -357,8 +369,9 @@ public:
|
||||
DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
|
||||
DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
|
||||
|
||||
DEC_PYCALLBACK_BOOL_(ShouldInheritColours);
|
||||
DEC_PYCALLBACK_BOOL_const(ShouldInheritColours);
|
||||
DEC_PYCALLBACK__COLOUR(ApplyParentThemeBackground);
|
||||
DEC_PYCALLBACK_VIZATTR_(GetDefaultAttributes);
|
||||
|
||||
PYPRIVATE;
|
||||
};
|
||||
@ -389,8 +402,10 @@ IMP_PYCALLBACK_SIZE_const(wxPyScrolledWindow, wxScrolledWindow, GetMaxSize);
|
||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyScrolledWindow, wxScrolledWindow, AddChild);
|
||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyScrolledWindow, wxScrolledWindow, RemoveChild);
|
||||
|
||||
IMP_PYCALLBACK_BOOL_(wxPyScrolledWindow, wxScrolledWindow, ShouldInheritColours);
|
||||
IMP_PYCALLBACK_BOOL_const(wxPyScrolledWindow, wxScrolledWindow, ShouldInheritColours);
|
||||
IMP_PYCALLBACK__COLOUR(wxPyScrolledWindow, wxScrolledWindow, ApplyParentThemeBackground);
|
||||
IMP_PYCALLBACK_VIZATTR_(wxPyScrolledWindow, wxScrolledWindow, GetDefaultAttributes);
|
||||
|
||||
%}
|
||||
|
||||
// And now the one for SWIG to see
|
||||
@ -410,6 +425,7 @@ public:
|
||||
|
||||
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
||||
|
||||
void SetBestSize(const wxSize& size);
|
||||
|
||||
void base_DoMoveWindow(int x, int y, int width, int height);
|
||||
void base_DoSetSize(int x, int y, int width, int height,
|
||||
@ -442,8 +458,9 @@ public:
|
||||
void base_AddChild(wxWindow* child);
|
||||
void base_RemoveChild(wxWindow* child);
|
||||
|
||||
bool base_ShouldInheritColours();
|
||||
bool base_ShouldInheritColours() const;
|
||||
void base_ApplyParentThemeBackground(const wxColour& c);
|
||||
wxVisualAttributes base_GetDefaultAttributes();
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user