mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2025-12-16 01:30:07 +01:00
76 lines
2.7 KiB
Python
76 lines
2.7 KiB
Python
#---------------------------------------------------------------------------
|
|
# Name: etg/statbox.py
|
|
# Author: Robin Dunn
|
|
#
|
|
# Created: 29-Oct-2011
|
|
# Copyright: (c) 2011-2020 by Total Control Software
|
|
# License: wxWindows License
|
|
#---------------------------------------------------------------------------
|
|
|
|
import etgtools
|
|
import etgtools.tweaker_tools as tools
|
|
from etgtools import MethodDef, ParamDef
|
|
|
|
|
|
PACKAGE = "wx"
|
|
MODULE = "_core"
|
|
NAME = "statbox" # 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 = [ "wxStaticBox",
|
|
]
|
|
|
|
#---------------------------------------------------------------------------
|
|
|
|
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.
|
|
|
|
c = module.find('wxStaticBox')
|
|
assert isinstance(c, etgtools.ClassDef)
|
|
c.find('wxStaticBox.label').default = 'wxEmptyString'
|
|
c.find('Create.label').default = 'wxEmptyString'
|
|
tools.fixWindowClass(c)
|
|
|
|
# TODO: The window-label ctor is only available on MSW and GTK so disable
|
|
# for now. Maybe replace it with a factory function that returns None on
|
|
# OSX??
|
|
c.find('wxStaticBox').findOverload('wxWindow *label').ignore()
|
|
c.find('Create').findOverload('wxWindow *label').ignore()
|
|
|
|
# "unfix" the 2nd ctor and Create method so the required parameter lists
|
|
# are different enough for them to be overloaded.
|
|
#for name in ['wxStaticBox', 'Create']:
|
|
# m = c.find(name).findOverload('wxWindow *label')
|
|
# m.find('id').default = ''
|
|
|
|
|
|
# This is intentionally not documented, but I think it would be handy to
|
|
# use from wxPython.
|
|
meth = MethodDef(
|
|
name='GetBordersForSizer', isConst=True, isVirtual=True, type='void', protection='public',
|
|
briefDoc="Returns extra space that may be needed for borders within a StaticBox.",
|
|
items=[ParamDef(name='borderTop', type='int*', out=True),
|
|
ParamDef(name='borderOther', type='int*', out=True),
|
|
])
|
|
c.addItem(meth)
|
|
|
|
module.addGlobalStr('wxStaticBoxNameStr', c)
|
|
|
|
#-----------------------------------------------------------------
|
|
tools.doCommonTweaks(module)
|
|
tools.runGenerators(module)
|
|
|
|
|
|
#---------------------------------------------------------------------------
|
|
if __name__ == '__main__':
|
|
run()
|
|
|