From 274a4cf18e9b92faf9480deba65c1c0cd269cc0b Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Wed, 30 May 2012 03:24:16 +0000 Subject: [PATCH] Add wx.adv.SashWindow, wx.adv.SashLayoutWindow and friends git-svn-id: https://svn.wxwidgets.org/svn/wx/wxPython/Phoenix/trunk@71601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- etg/_adv.py | 4 +-- etg/laywin.py | 66 +++++++++++++++++++++++++++++++++++++++ etg/sashwin.py | 57 +++++++++++++++++++++++++++++++++ unittests/test_laywin.py | 41 ++++++++++++++++++++++++ unittests/test_sashwin.py | 36 +++++++++++++++++++++ 5 files changed, 202 insertions(+), 2 deletions(-) create mode 100644 etg/laywin.py create mode 100644 etg/sashwin.py create mode 100644 unittests/test_laywin.py create mode 100644 unittests/test_sashwin.py diff --git a/etg/_adv.py b/etg/_adv.py index def31750..d6e69e36 100644 --- a/etg/_adv.py +++ b/etg/_adv.py @@ -41,16 +41,16 @@ INCLUDES = [ 'editlbox', 'notifmsg', 'splash', + 'sashwin', + 'laywin', # TODOs - # These modules are also in the C++ adv lib and so should be included here: # #'bmpcbox', - #'laywin', #'odcombo', #'richtooltip', - #'sashwin', #'timectrl', #'treelist', #'wizard', diff --git a/etg/laywin.py b/etg/laywin.py new file mode 100644 index 00000000..dc8e9a99 --- /dev/null +++ b/etg/laywin.py @@ -0,0 +1,66 @@ +#--------------------------------------------------------------------------- +# Name: etg/laywin.py +# Author: Robin Dunn +# +# Created: 26-May-2012 +# Copyright: (c) 2012 by Total Control Software +# License: wxWindows License +#--------------------------------------------------------------------------- + +import etgtools +import etgtools.tweaker_tools as tools + +PACKAGE = "wx" +MODULE = "_adv" +NAME = "laywin" # Base name of the file to generate to for this script +DOCSTRING = "" + +# The classes and/or the basename of the Doxygen XML files to be processed by +# this script. +ITEMS = [ "wxLayoutAlgorithm", + "wxSashLayoutWindow", + "wxQueryLayoutInfoEvent", + "wxCalculateLayoutEvent", + "laywin_8h.xml", + ] + +#--------------------------------------------------------------------------- + +def run(): + # Parse the XML file(s) building a collection of Extractor objects + module = etgtools.ModuleDef(PACKAGE, MODULE, NAME, DOCSTRING) + etgtools.parseDoxyXML(module, ITEMS) + + #----------------------------------------------------------------- + # Tweak the parsed meta objects in the module object as needed for + # customizing the generated code and docstrings. + + module.addHeaderCode('#include ') + + c = module.find('wxSashLayoutWindow') + assert isinstance(c, etgtools.ClassDef) + tools.fixWindowClass(c) + + + c = module.find('wxQueryLayoutInfoEvent') + tools.fixEventClass(c) + + + c = module.find('wxCalculateLayoutEvent') + tools.fixEventClass(c) + + module.addPyCode("""\ + EVT_QUERY_LAYOUT_INFO = wx.PyEventBinder( wxEVT_QUERY_LAYOUT_INFO ) + EVT_CALCULATE_LAYOUT = wx.PyEventBinder( wxEVT_CALCULATE_LAYOUT ) + """) + + + #----------------------------------------------------------------- + tools.doCommonTweaks(module) + tools.runGenerators(module) + + +#--------------------------------------------------------------------------- +if __name__ == '__main__': + run() + diff --git a/etg/sashwin.py b/etg/sashwin.py new file mode 100644 index 00000000..df017f34 --- /dev/null +++ b/etg/sashwin.py @@ -0,0 +1,57 @@ +#--------------------------------------------------------------------------- +# Name: etg/sashwin.py +# Author: Robin Dunn +# +# Created: 26-May-2012 +# Copyright: (c) 2012 by Total Control Software +# License: wxWindows License +#--------------------------------------------------------------------------- + +import etgtools +import etgtools.tweaker_tools as tools + +PACKAGE = "wx" +MODULE = "_adv" +NAME = "sashwin" # Base name of the file to generate to for this script +DOCSTRING = "" + +# The classes and/or the basename of the Doxygen XML files to be processed by +# this script. +ITEMS = [ "wxSashWindow", + "wxSashEvent", + ] + +#--------------------------------------------------------------------------- + +def run(): + # Parse the XML file(s) building a collection of Extractor objects + module = etgtools.ModuleDef(PACKAGE, MODULE, NAME, DOCSTRING) + etgtools.parseDoxyXML(module, ITEMS) + + #----------------------------------------------------------------- + # Tweak the parsed meta objects in the module object as needed for + # customizing the generated code and docstrings. + + module.addHeaderCode('#include ') + + c = module.find('wxSashWindow') + assert isinstance(c, etgtools.ClassDef) + tools.fixWindowClass(c) + + c = module.find('wxSashEvent') + tools.fixEventClass(c) + + module.addPyCode("""\ + EVT_SASH_DRAGGED = wx.PyEventBinder( wxEVT_SASH_DRAGGED, 1 ) + EVT_SASH_DRAGGED_RANGE = wx.PyEventBinder( wxEVT_SASH_DRAGGED, 2 ) + """) + + #----------------------------------------------------------------- + tools.doCommonTweaks(module) + tools.runGenerators(module) + + +#--------------------------------------------------------------------------- +if __name__ == '__main__': + run() + diff --git a/unittests/test_laywin.py b/unittests/test_laywin.py new file mode 100644 index 00000000..5cab1d55 --- /dev/null +++ b/unittests/test_laywin.py @@ -0,0 +1,41 @@ +import imp_unittest, unittest +import wtc +import wx +import wx.adv + +#--------------------------------------------------------------------------- + +class laywin_Tests(wtc.WidgetTestCase): + + def test_laywin1(self): + wx.adv.LAYOUT_HORIZONTAL + wx.adv.LAYOUT_VERTICAL + wx.adv.LAYOUT_NONE + wx.adv.LAYOUT_TOP + wx.adv.LAYOUT_LEFT + wx.adv.LAYOUT_RIGHT + wx.adv.LAYOUT_BOTTOM + + wx.adv.wxEVT_QUERY_LAYOUT_INFO + wx.adv.wxEVT_CALCULATE_LAYOUT + wx.adv.EVT_QUERY_LAYOUT_INFO + wx.adv.EVT_CALCULATE_LAYOUT + + + def test_laywin2(self): + la = wx.adv.LayoutAlgorithm() + la.LayoutFrame(self.frame) + + def test_laywin3(self): + w = wx.adv.SashLayoutWindow(self.frame) + + def test_laywin4(self): + evt = wx.adv.QueryLayoutInfoEvent() + + def test_laywin5(self): + evt = wx.adv.CalculateLayoutEvent() + +#--------------------------------------------------------------------------- + +if __name__ == '__main__': + unittest.main() diff --git a/unittests/test_sashwin.py b/unittests/test_sashwin.py new file mode 100644 index 00000000..0b9dc9fb --- /dev/null +++ b/unittests/test_sashwin.py @@ -0,0 +1,36 @@ +import imp_unittest, unittest +import wtc +import wx +import wx.adv + +#--------------------------------------------------------------------------- + +class sashwin_Tests(wtc.WidgetTestCase): + + def test_sashwin1(self): + wx.adv.SW_NOBORDER + wx.adv.SW_BORDER + wx.adv.SW_3DSASH + wx.adv.SW_3DBORDER + wx.adv.SW_3D + wx.adv.SASH_TOP + wx.adv.SASH_RIGHT + wx.adv.SASH_BOTTOM + wx.adv.SASH_LEFT + wx.adv.SASH_NONE + wx.adv.SASH_STATUS_OK + wx.adv.SASH_STATUS_OUT_OF_RANGE + + wx.adv.wxEVT_SASH_DRAGGED + wx.adv.EVT_SASH_DRAGGED + + def test_sashwin2(self): + sw = wx.adv.SashWindow(self.frame) + + def test_sashwin3(self): + evt = wx.adv.SashEvent() + +#--------------------------------------------------------------------------- + +if __name__ == '__main__': + unittest.main()