[PyKDE] ANN: PyKDE-3.2.4
The next PyKDE release is *almost* ready. I'm doing a last compile overnight and will ship it off to Phil sometime tomorrow or Friday. Given the difference in time zones and other unforeseeable stuff, I expect it will be available sometime this weekend or shortly after. I've asked Phil to post to the list when the download is available. The release will be PyKDE-3.2.4. (no '2' and no 'beta') While there aren't any major changes for KDE versions < 3.0.0, I'd still recommend upgrading for the changes/enhancements to sip since sip 3.0. This version requires at least sip/PyQt 3.2 and has been most thoroughly tested against 3.2.4pre1, with the final 3.2.4 expected shortly. This version supports KDE 2.1.1 through KDE 3.0.0. Support for KDE 3.0beta2 has been dropped. The two other major changes in this release are in the build process and the docs. There is now only a single tarball (about 750K) that builds for any supported Qt/KDE/Python combination. The file size has been reduced from 3.5MB+ because you no longer get the C++ files in the tarball. The tail end of ./configure will run the 'build' script which will use sip to build the C++ files (and edit the Makefiles) for the versions of Qt/KDE/PyQt that configure detects on your system. From the users standpoint, the entire process is just the familiar './configure;make;make install'. The build process does not require you to have automake/autoconf, and in fact you'd have some trouble getting those to work with the new build system. I've been running this system for several weeks (I do a lot of compiles on three different systems) and it's run very smoothly for me. I expect some problems so PLEASE post here with any problems you encounter (or fixes you work out) and I'll try to get you running as quickly as possible. One of the other advantages (hopefully) of the new system is that small patches should be easy. Please read the README file for more info and complete install instructions. There are also new '--with' switches for configure that will hopefully solve most problems. The docs are pre-built and reside in the 'doc' directory in html and sgml. There is now a table of contents and the html file names are somewhat meaningful. There is only one set of docs for all versions. I've gone over the docs fairly carefully, but it requires reviewing a few hundred files. Please report any bugs/errors/omissions in the docs, however small. The Makefiles still include targets like 'install-doc', but it's unlikely that they'll do anything useful. This is pretty much the final form I expect PyKDE to have - I'm sure bug fixes will be required and the Makefiles still need some cleanup, but I'm not planning any new features or modules. The next release (other than fixes) will occur either when sip changes significantly or a major KDE release happens. I expect to maintain PyKDE (for all supported KDE versions) for the forseeable future. I'm always open to suggestions. Jim ___ PyKDE mailing list[EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde
[PyKDE] [cvs commit] "sip/siplib Makefile.am Makefile.in"
Update of /home/cvs/public/sip/siplib In directory valentine:/tmp/cvs-serv12236/siplib Modified Files: Makefile.am Makefile.in Log Message: Removed MacOS X support. ___ PyKDE mailing list[EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde
[PyKDE] [cvs commit] "sip ChangeLog NEWS configure configure.ac mkinstalldirs INSTALL.MacX"
Update of /home/cvs/public/sip In directory valentine:/tmp/cvs-serv12236 Modified Files: ChangeLog NEWS configure configure.ac mkinstalldirs Removed Files: INSTALL.MacX Log Message: Removed MacOS X support. ___ PyKDE mailing list[EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde
[PyKDE] [cvs commit] "PyQt/lib Makefile.am"
Update of /home/cvs/public/PyQt/lib In directory valentine:/tmp/cvs-serv12513/lib Modified Files: Makefile.am Log Message: Removed MacOS X support from the build process - until SIP v4. ___ PyKDE mailing list[EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde
[PyKDE] [cvs commit] "PyQt ChangeLog Makefile build.sh qtdocs.sip-in qtmod.sip-in qtpemod.sip-in qtsqlmod.sip-in qtxmlmod.sip-in subbuild.sip-in"
Update of /home/cvs/public/PyQt In directory valentine:/tmp/cvs-serv12513 Modified Files: ChangeLog Makefile build.sh qtdocs.sip-in qtmod.sip-in qtpemod.sip-in qtsqlmod.sip-in qtxmlmod.sip-in subbuild.sip-in Log Message: Removed MacOS X support from the build process - until SIP v4. ___ PyKDE mailing list[EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde
[PyKDE] Status of MacOS X Support
After much messing about I've come to the conclusion that PyQt cannot support MacOS X for the time being. SIP breaks the Python rules for extension modules in that it doesn't export a module's API the way it is supposed to. Windows and Unix can deal with this - MacOS appears to be a bit more picky. The solution will be SIP v4 which will export a module's API according to the Python rules. There is no ETA as yet for SIP v4. Thanks to those people who have been helping me out on this. Phil ___ PyKDE mailing list[EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde
Re: [PyKDE] rubberbanding a QCanvas (demo code)
Boudewijn Rempt: > I might not be how real GUI programmers do that -- I wouldn't > know either -- but it looks pretty smooth and easy to > comprehend. Thanks. I suspect though that mixins isn't the right approach. I'm going to rewrite it as a seperate class, which takes the QCanvasItem in the constructor. Thankfully, Python handles cycles now. In other words class MyView(QCanvasView): def __init__(self, *args): ... self._scroller = AutoScroller(self) def contentsMousePressEvent(self): ... self._scroller.startAutoScroll() > Looking at QIconView might be a good idea, or the code of > Killustrator^WKontour. Especially the file SelectTool.cc. My version of Kontour doesn't support autoscrolling. Though this is version 1.1.1 and it may be in a newer one. I also don't see lassoing, and the 1.1.1 source doesn't contain the word "lasso". QIconView's code is much simpler than mine for autoscrolling since all it does is say that the spot under where the mouse would be (if the window is big enough) needs to be visible. Andrew ___ PyKDE mailing list[EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde
[PyKDE] SEGV with SIP generated code.
I've got the following basic setup: class NAcctGrpVTSLCon { ... }; clas NAcctCon { %HeaderCode #include %End public: NAcctCon(); NAcctGrpVTSLCon* getAcctGrp(); }; and Python code that does: acct = NrxDataTypes.NAcctCon() acctGrp = acct.getAcctGrp() when it calls getAcctGrp() in the second line, it goes into the SIP generated method and then calls if (sipParseArgs(&sipArgsParsed,sipArgs,"m",sipThisObj,sipClass_NAcctCon,&s ipCpp)) which eventually calls "parsePass2", which in turn calls "sipGetCppPtr". This function is defined as const void *sipGetCppPtr(sipThisType *w,PyObject *toClass) { const void *ptr; if (sipIsAccessFunc(w)) { ptr = (*w -> u.afPtr)(); } else if (sipIsIndirect(w)) { printf("cppPtr: %d\n", (int)w->u.cppPtr); !!! ptr = *((const void **)w -> u.cppPtr); } else { ptr = w -> u.cppPtr; } if (checkPointer(ptr) < 0) return NULL; return (*w -> xType -> castfunc)(ptr,toClass); } (with braces added by me for debugging). At the !!! the printf outputs '6', and the following call (i.e. dereference) causes a SEGV/GPF. I'm guessing the this pointer for NAcctCon didn't get set or get overwritten somehow, but I can't figure out how... Any pointers? -- bjorn ___ PyKDE mailing list[EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde