2009/4/28 Dave Peterson <dpeter...@enthought.com>: > Darren Dale wrote: > > On Tue, Apr 28, 2009 at 12:19 PM, Pierre Raybaut <cont...@pythonxy.com> > wrote: >> >> 2009/4/28 John Hunter <jdh2...@gmail.com>: >> > >> > >> > On Tue, Apr 28, 2009 at 8:18 AM, Pierre Raybaut <cont...@pythonxy.com> >> > wrote: >> >> >> >> Hi all, >> >> >> >> I would like to contribute to matplotlib with this enhancement for the >> >> PyQt4 backend: the idea is to add a toolbar button to configure figure >> >> options (axes, curves, ...). >> >> >> >> It's based on a tiny module called formlayout to generate PyQt4 form >> >> dialog automatically. >> >> >> >> Some screenshots: >> >> http://code.google.com/p/formlayout/ >> >> >> >> So, if you're interested (all the following is GPL2): >> >> >> >> *matplotlib patch* >> >> >> >> In FigureManagerQT.__init__, added: >> >> self.canvas.axes = self.canvas.figure.add_subplot(111) >> >> >> >> In NavigationToolbar2QT._init_toolbar, added: >> >> a = self.addAction(self._icon("customize.png"), 'Customize', >> >> self.edit_parameters) >> >> a.setToolTip('Edit curves line and axes parameters') >> >> >> >> Added the following method in NavigationToolbar2QT: >> >> def edit_parameters(self): >> >> from figureoptions import figure_edit >> >> figure_edit(self.canvas, self) >> >> >> >> *additionnal modules and data* >> >> >> >> formlayout.py (http://code.google.com/p/formlayout/) >> >> figureoptions.py (http://code.google.com/p/PyQtShell/) >> >> customize.png (http://code.google.com/p/PyQtShell/) >> > >> > Hi Pierre -- this looks very nice (the last link is broken though , I >> > get a >> > 404 error). We would be happy to include this in matplotlib or as a >> >> Here is the last link: >> http://code.google.com/p/pyqtshell/ >> >> > toolkit. To contribute it to to mpl, the license needs to be >> > matplotlib >> > compatible >> > (http://matplotlib.sourceforge.net/devel/coding_guide.html#licenses) but >> > we >> > have more licensing flexibility in a toolkit, though we prefer to keep >> > everything BSD compatible where possible. And of course you would need >> > to >> > agree to maintain it :-) but I think many users would appreciate a GUI >> > plot >> > configuration dialog. >> >> I was not aware of this license restriction in matplotlib... I fully >> understand the motivation, of course, but still: I wrote all this on >> my free time which means no PyQt4 commercial license, so it can't be >> anything but GPL. Sorry... > > I think you have overlooked a subtlety of PyQt4's license. The author of > PyQt4 wrote on the enthought-dev mailing list: > > "PyQt is GPL but has exceptions that allow it to be used with BSD code - > hence it's Ok for TraitsBackendQt to be BSD. > > However, the exception imposes additional conditions which, to all intents > and purposes, infects the code with the GPL. To be fair to people that > should be made clear in any text. > > It's still a good idea for TraitsBackendQt to use a BSD license because it > allows commercial (ie. non-GPL) users to use it without problems." > > Darren > > I think it might be worth contacting the PyQt folks (Phil Thompson) about > this. I think there might be some differences here because Phil was the > author of TraitsBackendQt and thus his efforts didn't quite fall under the > "develop under a free license, your results needs to be GPL" clause Qt/PyQt > have in their licensing. > > -- Dave > >
Hi all, Dave, you are absolutely right. Last week-end, I found myself surfing on PyQt's website and I told to myself: what about re-reading the license? (always a pleasure) And surprisingly, I found out that anyone using the GPL version of PyQt can release source code under a very permissive license (like MIT or BSD) thanks to the PyQt-GPL Exception, as long as PyQt itself is not part of the distributed package (otherwise the whole package has to be licensed under GPL) - and with other little restrictions. It was a surprise because I've read here and there a lot of things on PyQt license and the general idea was "if you write PyQt code without the commercial license, your code *must* be licensed under GPL" - I can tell now that it's not true (to be absolutely certain about it, I even asked to Phil Thompson to confirm this, and he did). So, I switched all the code I was referring to in my original e-mail to MIT license. I guess now it could be integrated to matplotlib Qt4 backend? formlayout (generate option dialogs): http://code.google.com/p/formlayout/ pydee (IDE which integrates matplotlib and the option dialog): http://code.google.com/p/pydee/ Meanwhile, thanks to the brand new Google-code Mercurial support, you may browse the source code if you like: http://code.google.com/p/pydee/source/browse/pydeelib/widgets/figureoptions.py Cheers, Pierre ------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel