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()