From d0d0f7b8e5becb867c92b3760f322a08a8e3e041 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Wed, 11 Jul 2012 04:25:25 +0000 Subject: [PATCH] Allow spacers to be set as a wx.Size git-svn-id: https://svn.wxwidgets.org/svn/wx/wxPython/Phoenix/trunk@72015 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- etg/sizer.py | 36 ++++++++++++++++++++++++++++ unittests/test_sizer.py | 52 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 87 insertions(+), 1 deletion(-) diff --git a/etg/sizer.py b/etg/sizer.py index 857057fa..8ca74f14 100644 --- a/etg/sizer.py +++ b/etg/sizer.py @@ -106,6 +106,42 @@ def run(): self.Add(*item) """) + c.addCppMethod('wxSizerItem*', 'Add', + '(const wxSize& size, int proportion=0, int flag=0, ' + 'int border=0, wxPyUserData* userData /Transfer/ = NULL)', + doc="Add a spacer using a Size object.", + body="return self->Add(size->x, size->y, proportion, flag, border, userData);") + + c.addCppMethod('wxSizerItem*', 'Prepend', + '(const wxSize& size, int proportion=0, int flag=0, ' + 'int border=0, wxPyUserData* userData /Transfer/ = NULL)', + doc="Prepend a spacer using a Size object.", + body="return self->Prepend(size->x, size->y, proportion, flag, border, userData);") + + c.addCppMethod('wxSizerItem*', 'Insert', + '(size_t index, const wxSize& size, int proportion=0, int flag=0, ' + 'int border=0, wxPyUserData* userData /Transfer/ = NULL)', + doc="Insert a spacer using a Size object.", + body="return self->Insert(index, size->x, size->y, proportion, flag, border, userData);") + + + c.addCppMethod('wxSizerItem*', 'Add', + '(const wxSize& size, const wxSizerFlags& flags)', + doc="Add a spacer using a Size object.", + body="return self->Add(size->x, size->y, *flags);") + + c.addCppMethod('wxSizerItem*', 'Prepend', + '(const wxSize& size, const wxSizerFlags& flags)', + doc="Prepend a spacer using a Size object.", + body="return self->Prepend(size->x, size->y, *flags);") + + c.addCppMethod('wxSizerItem*', 'Insert', + '(size_t index, const wxSize& size, const wxSizerFlags& flags)', + doc="Insert a spacer using a Size object.", + body="return self->Insert(index, size->x, size->y, *flags);") + + + #--------------------------------------------- c = module.find('wxBoxSizer') diff --git a/unittests/test_sizer.py b/unittests/test_sizer.py index 155d0ef7..569eeba1 100644 --- a/unittests/test_sizer.py +++ b/unittests/test_sizer.py @@ -51,7 +51,57 @@ class sizer_Tests(wtc.WidgetTestCase): self.assertTrue(items[0].IsWindow()) self.assertTrue(items[1].IsSpacer()) self.assertTrue(items[2].Border == 5) - + + + def test_sizerSpacers1(self): + bs = wx.BoxSizer() + w = 5 + h = 10 + bs.Add(w, h) + bs.Add( (w, h) ) + bs.Add(wx.Size(w,h)) + + def test_sizerSpacers2(self): + bs = wx.BoxSizer() + w = 5 + h = 10 + bs.Add(w, h, wx.SizerFlags(1)) + bs.Add( (w, h), wx.SizerFlags(2) ) + bs.Add(wx.Size(w,h), wx.SizerFlags(3)) + + def test_sizerSpacers3(self): + bs = wx.BoxSizer() + w = 5 + h = 10 + bs.Prepend(w, h) + bs.Prepend( (w, h) ) + bs.Prepend(wx.Size(w,h)) + + def test_sizerSpacers4(self): + bs = wx.BoxSizer() + w = 5 + h = 10 + bs.Prepend(w, h, wx.SizerFlags(1)) + bs.Prepend( (w, h), wx.SizerFlags(2) ) + bs.Prepend(wx.Size(w,h), wx.SizerFlags(3)) + + def test_sizerSpacers5(self): + bs = wx.BoxSizer() + w = 5 + h = 10 + bs.Insert(0, w, h) + bs.Insert(0, (w, h) ) + bs.Insert(0, wx.Size(w,h)) + + def test_sizerSpacers6(self): + bs = wx.BoxSizer() + w = 5 + h = 10 + bs.Insert(0, w, h, wx.SizerFlags(1)) + bs.Insert(0, (w, h), wx.SizerFlags(2) ) + bs.Insert(0, wx.Size(w,h), wx.SizerFlags(3)) + + #---------------------------------------------------------------------------