Hi Andreas, Thanks for notify me about this patch. I was a little off, so I haven't seen it. I have a branch of invesalius which works with wxpython3, at least in MacOSX. I'm going to test it in Debian and see if it works, and if works I'll generate a patch and create new debian package with this patch applied.
Best regards! On Wed, Sep 10, 2014 at 3:02 AM, Andreas Tille <andr...@an3as.eu> wrote: > Hi Thiago, > > in case you missed this partial patch. Please note that even if there > are about six weeks the Freeze for Jessie is approaching and we should > get this straight in the next couple of weeks. > > Kind regards > > Andreas. > > ----- Forwarded message from Olly Betts <o...@survex.com> ----- > > Date: Tue, 9 Sep 2014 21:19:21 -0300 > From: Olly Betts <o...@survex.com> > To: 759...@bugs.debian.org > Subject: Bug#759060: invesalius: Partial patch for wxPython 3.0 > X-Debian-PR-Message: followup 759060 > X-Debian-PR-Package: src:invesalius > X-Debian-PR-Keywords: jessie sid > X-Debian-PR-Source: invesalius > > I've had a look at updating invesalius for wxpython3.0, and made some > progress. > > However, the startup still isn't clean - the splash screen throws up > several errors - see invesalius.wxpy3.0.log - and once the app fires up, > there are clearly issues with the sizing of widgets, to the extent that > it isn't usable. I'm not sure if these are as a result of the splash > screen errors or not. > > The logic in the splashscreen code seems hard to follow, relying on > several different delayed callbacks. I wonder if it's just inherently > racy, and a timing difference causes the failures with wxpython 3.0. > > Anyway, I'm giving up on this one for the moment, but thought I should > at least send the patch I have so far to avoid duplicated effort if you > were also looking at it. > > Cheers, > Olly > > diff -Nru invesalius-3.0~b5/debian/changelog > invesalius-3.0~b5/debian/changelog > --- invesalius-3.0~b5/debian/changelog 2014-06-16 09:01:59.000000000 -0300 > +++ invesalius-3.0~b5/debian/changelog 2014-09-09 21:00:48.000000000 -0300 > @@ -1,3 +1,11 @@ > +invesalius (3.0~b5-3.1) unstable; urgency=medium > + > + * Non-maintainer upload. > + * Update for wxPython 3.0 (Closes: #759060): > + + New patch: wxpython3.0.patch > + > + -- Olly Betts <o...@survex.com> Wed, 10 Sep 2014 00:00:33 +0000 > + > invesalius (3.0~b5-3) unstable; urgency=low > > [ Thiago Franco de Moraes ] > diff -Nru invesalius-3.0~b5/debian/control invesalius-3.0~b5/debian/control > --- invesalius-3.0~b5/debian/control 2014-06-16 09:00:44.000000000 -0300 > +++ invesalius-3.0~b5/debian/control 2014-09-09 20:03:09.000000000 -0300 > @@ -22,7 +22,7 @@ > ${misc:Depends}, > python-numpy, > python-scipy, > - python-wxgtk2.8 (>= 2.8.12), > + python-wxgtk3.0, > python-imaging, > python-vtk, > python-gdcm, > diff -Nru invesalius-3.0~b5/debian/patches/series > invesalius-3.0~b5/debian/patches/series > --- invesalius-3.0~b5/debian/patches/series 2014-04-28 13:21:20.000000000 > -0300 > +++ invesalius-3.0~b5/debian/patches/series 2014-09-09 20:03:43.000000000 > -0300 > @@ -1,2 +1,3 @@ > 10_sample_path.patch > 10_import_mips.patch > +wxpython3.0.patch > diff -Nru invesalius-3.0~b5/debian/patches/wxpython3.0.patch > invesalius-3.0~b5/debian/patches/wxpython3.0.patch > --- invesalius-3.0~b5/debian/patches/wxpython3.0.patch 1969-12-31 > 21:00:00.000000000 -0300 > +++ invesalius-3.0~b5/debian/patches/wxpython3.0.patch 2014-09-09 > 21:00:03.000000000 -0300 > @@ -0,0 +1,114 @@ > +Description: Update for wxPython 3.0 > + These changes should remain compatible with wxPython 2.8, aside from the > + wxversion change in the last hunk. > + . > + We can't simply drop the wxversion.select() call and use > + . > + wxversion.ensureMinimal('2.8-unicode', optionsRequired=True) > + . > + because 3.0 is always Unicode, and the "-unicode" option has been dropped, > + but wxversion isn't smart enough to know to allow for this when matching > + options. > +Bug-Debian: https://bugs.debian.org/759060 > +Forwarded: no > +Last-Update: 2014-09-09 > + > +--- invesalius-3.0~b5.orig/invesalius/gui/dialogs.py > ++++ invesalius-3.0~b5/invesalius/gui/dialogs.py > +@@ -214,7 +214,7 @@ def ShowOpenProjectDialog(): > + dlg = wx.FileDialog(None, message=_("Open InVesalius 3 project..."), > + defaultDir="", > + defaultFile="", wildcard=WILDCARD_OPEN, > +- style=wx.OPEN|wx.CHANGE_DIR) > ++ style=wx.FD_OPEN|wx.FD_CHANGE_DIR) > + > + # inv3 filter is default > + dlg.SetFilterIndex(0) > +@@ -242,7 +242,7 @@ def ShowOpenAnalyzeDialog(): > + dlg = wx.FileDialog(None, message=_("Open Analyze file"), > + defaultDir="", > + defaultFile="", wildcard=WILDCARD_ANALYZE, > +- style=wx.OPEN|wx.CHANGE_DIR) > ++ style=wx.FD_OPEN|wx.FD_CHANGE_DIR) > + > + # inv3 filter is default > + dlg.SetFilterIndex(0) > +@@ -312,7 +312,7 @@ def ShowSaveAsProjectDialog(default_file > + "", # last used directory > + default_filename, > + _("InVesalius project (*.inv3)|*.inv3"), > +- wx.SAVE|wx.OVERWRITE_PROMPT) > ++ wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT) > + #dlg.SetFilterIndex(0) # default is VTI > + > + filename = None > +@@ -972,7 +972,7 @@ def ExportPicture(type_=""): > + "", # last used directory > + project_name, # filename > + WILDCARD_SAVE_PICTURE, > +- wx.SAVE|wx.OVERWRITE_PROMPT) > ++ wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT) > + dlg.SetFilterIndex(1) # default is VTI > + > + if dlg.ShowModal() == wx.ID_OK: > +--- invesalius-3.0~b5.orig/invesalius/gui/task_exporter.py > ++++ invesalius-3.0~b5/invesalius/gui/task_exporter.py > +@@ -276,7 +276,7 @@ class InnerTaskPanel(wx.Panel): > + "", # last used directory > + project_name, # filename > + WILDCARD_SAVE_MASK, > +- wx.SAVE|wx.OVERWRITE_PROMPT) > ++ wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT) > + dlg.SetFilterIndex(0) # default is VTI > + > + if dlg.ShowModal() == wx.ID_OK: > +@@ -312,7 +312,7 @@ class InnerTaskPanel(wx.Panel): > + "", # last used directory > + project_name, # filename > + WILDCARD_SAVE_3D, > +- wx.SAVE|wx.OVERWRITE_PROMPT) > ++ wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT) > + dlg.SetFilterIndex(3) # default is STL > + > + if dlg.ShowModal() == wx.ID_OK: > +--- invesalius-3.0~b5.orig/invesalius/gui/widgets/platebtn.py > ++++ invesalius-3.0~b5/invesalius/gui/widgets/platebtn.py > +@@ -626,7 +626,7 @@ class PlateButton(wx.PyControl): > + > + def SetPressColor(self, color): > + """Set the color used for highlighting the pressed state > +- @param color: wx.Color > ++ @param color: wx.Colour > + @note: also resets all text colours as necessary > + > + """ > +--- invesalius-3.0~b5.orig/invesalius/invesalius.py > ++++ invesalius-3.0~b5/invesalius/invesalius.py > +@@ -30,8 +30,7 @@ if sys.platform == 'win32': > + else: > + if sys.platform != 'darwin': > + import wxversion > +- wxversion.ensureMinimal('2.8-unicode', optionsRequired=True) > +- wxversion.select('2.8-unicode', optionsRequired=True) > ++ wxversion.ensureMinimal('3.0') > + > + import wx > + #from wx.lib.pubsub import setupv1 #new wx > +--- invesalius-3.0~b5.orig/invesalius/gui/frame.py > ++++ invesalius-3.0~b5/invesalius/gui/frame.py > +@@ -560,13 +560,13 @@ > + > + file_edit_item_undo = wx.MenuItem(file_edit, wx.ID_UNDO, > _("Undo\tCtrl+Z")) > + file_edit_item_undo.SetBitmap(self.BMP_UNDO) > +- file_edit_item_undo.Enable(False) > + file_edit.AppendItem(file_edit_item_undo) > ++ file_edit_item_undo.Enable(False) > + > + file_edit_item_redo = wx.MenuItem(file_edit, wx.ID_REDO, > _("Redo\tCtrl+Y")) > + file_edit_item_redo.SetBitmap(self.BMP_REDO) > +- file_edit_item_redo.Enable(False) > + file_edit.AppendItem(file_edit_item_redo) > ++ file_edit_item_redo.Enable(False) > + else: > + file_edit.Append(wx.ID_UNDO, _("Undo\tCtrl+Z")).Enable(False) > + file_edit.Append(wx.ID_REDO, _("Redo\tCtrl+Y")).Enable(False) > > Traceback (most recent call last): > File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_misc.py", line 1367, > in Notify > self.notify() > File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line > 16869, in Notify > self.result = self.callable(*self.args, **self.kwargs) > File "invesalius.py", line 177, in Startup > self.main = Frame(None) > File "/usr/share/invesalius/invesalius/gui/frame.py", line 85, in __init__ > self.__init_aui() > File "/usr/share/invesalius/invesalius/gui/frame.py", line 140, in > __init_aui > aui_manager.AddPane(viewers.Panel(self), wx.aui.AuiPaneInfo(). > File "/usr/share/invesalius/invesalius/gui/default_viewers.py", line 41, in > __init__ > self.__init_aui_manager() > File "/usr/share/invesalius/invesalius/gui/default_viewers.py", line 77, in > __init_aui_manager > p1 = slice_viewer.Viewer(self, "AXIAL") > File "/usr/share/invesalius/invesalius/data/viewer_slice.py", line 184, in > __init__ > self.__init_gui() > File "/usr/share/invesalius/invesalius/data/viewer_slice.py", line 205, in > __init_gui > self.interactor = wxVTKRenderWindowInteractor(self, -1, > size=self.GetSize()) > File "/usr/lib/pymodules/python2.7/vtk/wx/wxVTKRenderWindowInteractor.py", > line 175, in __init__ > attribList=attribList) > File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/glcanvas.py", line > 106, in __init__ > _glcanvas.GLCanvas_swiginit(self,_glcanvas.new_GLCanvas(*args, **kwargs)) > TypeError: Argument given by name ('attribList') and position (3) > Traceback (most recent call last): > File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_misc.py", line 1367, > in Notify > self.notify() > File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line > 16869, in Notify > self.result = self.callable(*self.args, **self.kwargs) > File "invesalius.py", line 81, in Startup2 > self.control = self.splash.control > AttributeError: 'SplashScreen' object has no attribute 'control' > Traceback (most recent call last): > File "invesalius.py", line 196, in OnClose > if self.fc.IsRunning(): > AttributeError: 'SplashScreen' object has no attribute 'fc' > > _______________________________________________ > Debian-med-packaging mailing list > debian-med-packag...@lists.alioth.debian.org > http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-packaging > > > ----- End forwarded message ----- > > -- > http://fam-tille.de -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org