[PySide] Proposal for "Visual tool to fast edit type system files" -- a Pyside idea
shoulderhigher at gmail.com
Tue Mar 27 17:24:13 CEST 2012
The following is my GSOC2012 proposal although in a very preliminary way, I
appreciate anyone can make some suggestions about this proposal.
Proposal for "Visual tool to fast edit type system files"
Typesystem file is an important XML file used by API Extractor of Pyside to
save information of how the API should be exported to the chosen target
To support different kinds of complex target languages, Pyside typesystem
must support many simple or complicated meta information, thus it's a
difficult for developers to edit these pure typesystem files, so it's very
to write a visual tool to fast edit typesystem files. We can develop an
to fast implement such kind tool.
Actually, Eclipse already has a very simple XML editor source code, which
highlight of the specified schema. To fast implement such kind tool, we can
source code and add all type system schemas which the typesystem files
API Extractor Type System contains about 8 parts, e.g. specifying types,
Object and Value Types, modifying functions, modifying arguments, etc. , so
support these features step by step. In the mean while, our tool should
insert code in a quick and intelligent way like Eclipse IDE.
What's more, in future, if our tool is developed in a good status, we can
feature to it -- we can import EMF framework to our tool, thus we can drag
and drop an
element to a panel, at the same time, generating corresponding snippets
code of the type
system to our typesystem file.
The following is my week-by-week plan:
Week 1: investigate current API Extractor and collect the detailed
what kind of tool should be implemented, from reading the source code, and
Week 2: investigate the Eclipse XML editor source code and make an initial
Week 3: easy beginning - support typesystem, load-typesystem,rejection,
Week 4: do more - support primitive-type, enum-type, namespace-type,
Week 5: support inject-code,
Week 6: support modify-argument,remove,access,rename
Week 7: support conversion-rule,remove-argument,rename to,
Week 8: support suppress-warning, extra-includes,inlude
Week 9: support template,insert-template,replace
Week 10: support conversion-rule,
Week 11: support inject-documentation,modify-documentation
Week 12-13: enhance this tool, submit source code, write documentations,
and so on.
I'm an undergraduate from China and I'm preparing for my computer science
bachelor degree in USTB (University of Science and Technology Beijing).
Java and Python
is the main programming language when I write programs and software.
During my coding days, I’m getting to know more and more about the
especially its spirits-share, collaborate, make friends. Every time I find
solution about some problems occurred to me, I become so excited and
learned a lot from
the process of problems finding-reporting-solving.
I joined gsoc2011 last year and took one Python idea as my summer project,
you can take a
look at what the project does via python wiki page :
and you also can know more through the my blog for gsoc:
# Name: Xu Dehai(You can call me with my English name-higery)
# Blog: http://higery.wordpress.com/
# IRC: higery on irc.freenode.net
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the PySide