#--------------------------------------------------------------------------- # Name: etg/_grid.py # Author: Robin Dunn # # Created: 20-Dec-2012 # Copyright: (c) 2012-2020 by Total Control Software # License: wxWindows License #--------------------------------------------------------------------------- import etgtools import etgtools.tweaker_tools as tools PACKAGE = "wx" MODULE = "_grid" NAME = "_grid" # Base name of the file to generate to for this script DOCSTRING = """\ The Grid and related classes in this module provide functionality similar to a spreadsheet, where the application can display rows and columns of data of various types, which the user can edit and otherwise interact with. """ # The classes and/or the basename of the Doxygen XML files to be processed by # this script. ITEMS = [ ] # The list of other ETG scripts and back-end generator modules that are # included as part of this module. These items are in their own etg scripts # for easier maintainability, but their class and function definitions are # intended to be part of this module, not their own module. This also makes it # easier to promote one of these to module status later if desired, simply # remove it from this list of Includes, and change the MODULE value in the # promoted script to be the same as its NAME. INCLUDES = [ 'grid', ] # Separate the list into those that are generated from ETG scripts and the # rest. These lists can be used from setup.py for a list of sources and a list # of additional dependencies when building this extension module ETGFILES = ['etg/%s.py' % NAME] + tools.getEtgFiles(INCLUDES) DEPENDS = tools.getNonEtgFiles(INCLUDES) OTHERDEPS = [] #--------------------------------------------------------------------------- def run(): # Parse the XML file(s) building a collection of Extractor objects module = etgtools.ModuleDef(PACKAGE, MODULE, NAME, DOCSTRING, check4unittest=False) 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 ') module.addImport('_core') module.addPyCode("import wx", order=10) module.addInclude(INCLUDES) #----------------------------------------------------------------- tools.doCommonTweaks(module) tools.runGenerators(module) #--------------------------------------------------------------------------- if __name__ == '__main__': run()