From: Darren D. <dsd...@gm...> - 2009-04-28 16:56:18
|
On Tue, Apr 28, 2009 at 12:19 PM, Pierre Raybaut <co...@py...>wrote: > 2009/4/28 John Hunter <jd...@gm...>: > > > > > > On Tue, Apr 28, 2009 at 8:18 AM, Pierre Raybaut <co...@py...> > > 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 |