[PyKDE] kdevelop: c++,pyqt...sip?

Patrick Stinson ajole-1 at gci.net
Sat Oct 18 21:08:01 BST 2003


> The other thing I have in the works (really part of the same
> project) is a sip tutorial. That's about half done but also
> needs updating for Phil's change from %MemberCode to %MethodCode
> in the new sip version.

This is the best peice of your reply.

> It needs upgrading to accomodate changes Phil is making for
> sip-3.9/4.0, and needs some work for documentation generation
> and build system generation. I'd like to release it generally
> late this year/early next year. That'll still be an 'alpha'
> release, but should be reasonably complete.

This script you speak of is the most tasty peice for a hacker that is new 
enough to sip to be interested in that sort of thing. If I wasn't spending 
most of my brain cycles on my own [pyqt] app I'd jump on it ;)

> If I recall correctly, KDevelop has a "tools" interface that lets
> you call external tools, and presip would probably work there.
> You'd just need to create a project file (about 10 lines/module)
> for it.

I'm using kdevelop 2 for the real, C++ library and waiting for the release 
(and merry gentoo ebuild) of gideon's successor and kde3.2 to start using the 
newer one. Improving high-level sip usability in those relesases could be 
very beinificial to the community... hmmm

On Thursday 16 October 2003 08:45, Jim Bublitz wrote:
> On Wednesday October 15 2003 16:01, Patrick Stinson wrote:
> > At this point, just generate bindings. You know, when you jump
> > into a new tool like sip, you always think "All I want to do
> > is...". It took me a very long time to expose my C++ lib to
> > python with sip, and It seems like there is a general lack for
> > user-friendly interfaces for a great tool.
> >
> > So, I don't know very much about kdevelop archintecture, but
> > if you could make a simple project that could import a chunk
> > of c++ headers and generate a python module, that would be
> > significant.
>
> I took a similar approach originally - doing something "IDE-like"
> to generate sip files from h files. It's a pretty good approach
> and saves a lot of time, and actually isn't that hard to write.
>
> What I've switched to instead is a command-line based tool
> ('presip'), if for no other reason than it's not tied to a
> particular IDE (eg kdevelop, eric, idle, whatever), and in fact
> it's also not tied to PyKDE or PyQt. For the last few releases,
> PyKDE has been generated automatically except for handwritten
> code (%MemberCode, %MappedType, %C++Code,
> %ConvertToSubClassCode). It also takes care of versioning (%If
> statements).
>
> For the PyKDE upgrade for KDE-3.1.4 I actually could do:
>
> python presip.py pykde314.prj &&  python build.py && make
>
> and come back 30 minutes later and run 'make install', but that's
> only because there was no handwritten code for that version
> change, and because build.py was already written. It still
> would've worked if handwritten code was needed, but those
> methods that need %MemberCode or %MappedType would have been
> commented out (they're flagged and disabled until you write the
> code).
>
> It needs upgrading to accomodate changes Phil is making for
> sip-3.9/4.0, and needs some work for documentation generation
> and build system generation. I'd like to release it generally
> late this year/early next year. That'll still be an 'alpha'
> release, but should be reasonably complete.
>
> The other thing I have in the works (really part of the same
> project) is a sip tutorial. That's about half done but also
> needs updating for Phil's change from %MemberCode to %MethodCode
> in the new sip version.
>
> If I recall correctly, KDevelop has a "tools" interface that lets
> you call external tools, and presip would probably work there.
> You'd just need to create a project file (about 10 lines/module)
> for it.
>
> Jim
>
>
> _______________________________________________
> PyKDE mailing list    PyKDE at mats.imk.fraunhofer.de
> http://mats.imk.fraunhofer.de/mailman/listinfo/pykde




More information about the PyQt mailing list