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:
@@ -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
|
#endif
|
||||||
|
@@ -17,7 +17,6 @@
|
|||||||
%newgroup
|
%newgroup
|
||||||
|
|
||||||
|
|
||||||
// TODO: Virtualize ShouldInheritColours
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -35,6 +34,7 @@ public:
|
|||||||
const wxString& name = wxPyControlNameStr)
|
const wxString& name = wxPyControlNameStr)
|
||||||
: wxControl(parent, id, pos, size, style, validator, name) {}
|
: wxControl(parent, id, pos, size, style, validator, name) {}
|
||||||
|
|
||||||
|
void SetBestSize(const wxSize& size) { wxControl::SetBestSize(size); }
|
||||||
|
|
||||||
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
||||||
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
||||||
@@ -60,8 +60,9 @@ public:
|
|||||||
DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
|
DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
|
||||||
DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
|
DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
|
||||||
|
|
||||||
DEC_PYCALLBACK_BOOL_(ShouldInheritColours);
|
DEC_PYCALLBACK_BOOL_const(ShouldInheritColours);
|
||||||
DEC_PYCALLBACK__COLOUR(ApplyParentThemeBackground);
|
DEC_PYCALLBACK__COLOUR(ApplyParentThemeBackground);
|
||||||
|
DEC_PYCALLBACK_VIZATTR_(GetDefaultAttributes);
|
||||||
|
|
||||||
PYPRIVATE;
|
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, AddChild);
|
||||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyControl, wxControl, RemoveChild);
|
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__COLOUR(wxPyControl, wxControl, ApplyParentThemeBackground);
|
||||||
|
IMP_PYCALLBACK_VIZATTR_(wxPyControl, wxControl, GetDefaultAttributes);
|
||||||
%}
|
%}
|
||||||
|
|
||||||
// And now the one for SWIG to see
|
// And now the one for SWIG to see
|
||||||
@@ -114,6 +116,7 @@ public:
|
|||||||
|
|
||||||
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
||||||
|
|
||||||
|
void SetBestSize(const wxSize& size);
|
||||||
|
|
||||||
void base_DoMoveWindow(int x, int y, int width, int height);
|
void base_DoMoveWindow(int x, int y, int width, int height);
|
||||||
void base_DoSetSize(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_AddChild(wxWindow* child);
|
||||||
void base_RemoveChild(wxWindow* child);
|
void base_RemoveChild(wxWindow* child);
|
||||||
|
|
||||||
bool base_ShouldInheritColours();
|
bool base_ShouldInheritColours() const;
|
||||||
void base_ApplyParentThemeBackground(const wxColour& c);
|
void base_ApplyParentThemeBackground(const wxColour& c);
|
||||||
|
wxVisualAttributes base_GetDefaultAttributes();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@@ -47,8 +47,6 @@
|
|||||||
// Show
|
// Show
|
||||||
|
|
||||||
|
|
||||||
// TODO: Virtualize ShouldInheritColours
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
@@ -65,6 +63,7 @@ public:
|
|||||||
const wxString& name = wxPyPanelNameStr)
|
const wxString& name = wxPyPanelNameStr)
|
||||||
: wxWindow(parent, id, pos, size, style, name) {}
|
: wxWindow(parent, id, pos, size, style, name) {}
|
||||||
|
|
||||||
|
void SetBestSize(const wxSize& size) { wxWindow::SetBestSize(size); }
|
||||||
|
|
||||||
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
||||||
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
||||||
@@ -90,8 +89,9 @@ public:
|
|||||||
DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
|
DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
|
||||||
DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
|
DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
|
||||||
|
|
||||||
DEC_PYCALLBACK_BOOL_(ShouldInheritColours);
|
DEC_PYCALLBACK_BOOL_const(ShouldInheritColours);
|
||||||
DEC_PYCALLBACK__COLOUR(ApplyParentThemeBackground);
|
DEC_PYCALLBACK__COLOUR(ApplyParentThemeBackground);
|
||||||
|
DEC_PYCALLBACK_VIZATTR_(GetDefaultAttributes);
|
||||||
|
|
||||||
PYPRIVATE;
|
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, AddChild);
|
||||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyWindow, wxWindow, RemoveChild);
|
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__COLOUR(wxPyWindow, wxWindow, ApplyParentThemeBackground);
|
||||||
|
IMP_PYCALLBACK_VIZATTR_(wxPyWindow, wxWindow, GetDefaultAttributes);
|
||||||
|
|
||||||
%}
|
%}
|
||||||
|
|
||||||
@@ -145,6 +146,8 @@ public:
|
|||||||
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
||||||
|
|
||||||
|
|
||||||
|
void SetBestSize(const wxSize& size);
|
||||||
|
|
||||||
void base_DoMoveWindow(int x, int y, int width, int height);
|
void base_DoMoveWindow(int x, int y, int width, int height);
|
||||||
void base_DoSetSize(int x, int y, int width, int height,
|
void base_DoSetSize(int x, int y, int width, int height,
|
||||||
int sizeFlags = wxSIZE_AUTO);
|
int sizeFlags = wxSIZE_AUTO);
|
||||||
@@ -176,8 +179,9 @@ public:
|
|||||||
void base_AddChild(wxWindow* child);
|
void base_AddChild(wxWindow* child);
|
||||||
void base_RemoveChild(wxWindow* child);
|
void base_RemoveChild(wxWindow* child);
|
||||||
|
|
||||||
bool base_ShouldInheritColours();
|
bool base_ShouldInheritColours() const;
|
||||||
void base_ApplyParentThemeBackground(const wxColour& c);
|
void base_ApplyParentThemeBackground(const wxColour& c);
|
||||||
|
wxVisualAttributes base_GetDefaultAttributes();
|
||||||
};
|
};
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
@@ -202,6 +206,8 @@ public:
|
|||||||
const wxString& name = wxPyPanelNameStr)
|
const wxString& name = wxPyPanelNameStr)
|
||||||
: wxPanel(parent, id, pos, size, style, name) {}
|
: wxPanel(parent, id, pos, size, style, name) {}
|
||||||
|
|
||||||
|
void SetBestSize(const wxSize& size) { wxPanel::SetBestSize(size); }
|
||||||
|
|
||||||
|
|
||||||
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
||||||
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
||||||
@@ -227,8 +233,9 @@ public:
|
|||||||
DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
|
DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
|
||||||
DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
|
DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
|
||||||
|
|
||||||
DEC_PYCALLBACK_BOOL_(ShouldInheritColours);
|
DEC_PYCALLBACK_BOOL_const(ShouldInheritColours);
|
||||||
DEC_PYCALLBACK__COLOUR(ApplyParentThemeBackground);
|
DEC_PYCALLBACK__COLOUR(ApplyParentThemeBackground);
|
||||||
|
DEC_PYCALLBACK_VIZATTR_(GetDefaultAttributes);
|
||||||
|
|
||||||
PYPRIVATE;
|
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, AddChild);
|
||||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyPanel, wxPanel, RemoveChild);
|
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__COLOUR(wxPyPanel, wxPanel, ApplyParentThemeBackground);
|
||||||
%}
|
IMP_PYCALLBACK_VIZATTR_(wxPyPanel, wxPanel, GetDefaultAttributes);
|
||||||
|
|
||||||
|
%}
|
||||||
|
|
||||||
// And now the one for SWIG to see
|
// And now the one for SWIG to see
|
||||||
class wxPyPanel : public wxPanel
|
class wxPyPanel : public wxPanel
|
||||||
@@ -280,6 +289,7 @@ public:
|
|||||||
|
|
||||||
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
||||||
|
|
||||||
|
void SetBestSize(const wxSize& size);
|
||||||
|
|
||||||
void base_DoMoveWindow(int x, int y, int width, int height);
|
void base_DoMoveWindow(int x, int y, int width, int height);
|
||||||
void base_DoSetSize(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_AddChild(wxWindow* child);
|
||||||
void base_RemoveChild(wxWindow* child);
|
void base_RemoveChild(wxWindow* child);
|
||||||
|
|
||||||
bool base_ShouldInheritColours();
|
bool base_ShouldInheritColours() const ;
|
||||||
void base_ApplyParentThemeBackground(const wxColour& c);
|
void base_ApplyParentThemeBackground(const wxColour& c);
|
||||||
|
wxVisualAttributes base_GetDefaultAttributes();
|
||||||
};
|
};
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
@@ -332,6 +343,7 @@ public:
|
|||||||
const wxString& name = wxPyPanelNameStr)
|
const wxString& name = wxPyPanelNameStr)
|
||||||
: wxScrolledWindow(parent, id, pos, size, style, name) {}
|
: wxScrolledWindow(parent, id, pos, size, style, name) {}
|
||||||
|
|
||||||
|
void SetBestSize(const wxSize& size) { wxScrolledWindow::SetBestSize(size); }
|
||||||
|
|
||||||
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
||||||
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
||||||
@@ -357,8 +369,9 @@ public:
|
|||||||
DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
|
DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
|
||||||
DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
|
DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
|
||||||
|
|
||||||
DEC_PYCALLBACK_BOOL_(ShouldInheritColours);
|
DEC_PYCALLBACK_BOOL_const(ShouldInheritColours);
|
||||||
DEC_PYCALLBACK__COLOUR(ApplyParentThemeBackground);
|
DEC_PYCALLBACK__COLOUR(ApplyParentThemeBackground);
|
||||||
|
DEC_PYCALLBACK_VIZATTR_(GetDefaultAttributes);
|
||||||
|
|
||||||
PYPRIVATE;
|
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, AddChild);
|
||||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyScrolledWindow, wxScrolledWindow, RemoveChild);
|
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__COLOUR(wxPyScrolledWindow, wxScrolledWindow, ApplyParentThemeBackground);
|
||||||
|
IMP_PYCALLBACK_VIZATTR_(wxPyScrolledWindow, wxScrolledWindow, GetDefaultAttributes);
|
||||||
|
|
||||||
%}
|
%}
|
||||||
|
|
||||||
// And now the one for SWIG to see
|
// And now the one for SWIG to see
|
||||||
@@ -410,6 +425,7 @@ public:
|
|||||||
|
|
||||||
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
||||||
|
|
||||||
|
void SetBestSize(const wxSize& size);
|
||||||
|
|
||||||
void base_DoMoveWindow(int x, int y, int width, int height);
|
void base_DoMoveWindow(int x, int y, int width, int height);
|
||||||
void base_DoSetSize(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_AddChild(wxWindow* child);
|
||||||
void base_RemoveChild(wxWindow* child);
|
void base_RemoveChild(wxWindow* child);
|
||||||
|
|
||||||
bool base_ShouldInheritColours();
|
bool base_ShouldInheritColours() const;
|
||||||
void base_ApplyParentThemeBackground(const wxColour& c);
|
void base_ApplyParentThemeBackground(const wxColour& c);
|
||||||
|
wxVisualAttributes base_GetDefaultAttributes();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user