[GRASS-dev] [GRASS GIS] #3780: Python3 + g.gui.animation: Traceback when clicking on the settings button

#3780: Python3 + g.gui.animation: Traceback when clicking on the settings button
-------------------------+-------------------------
Reporter: pmav99 | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone:
Component: wxGUI | Version: svn-trunk
Keywords: | CPU: Unspecified
Platform: Unspecified |
-------------------------+-------------------------
On Python 3, clicking on the "settings" button, throws an exception:
{{{
/home/feanor/Prog/git/grass-p3/repo/dist.x86_64-pc-linux-
gnu/gui/wxpython/animation/dialogs.py:2007: wxPyDeprecationWarning: Call
to deprecated item. Use SetToolTip instead.
   "Click and then press key up or down to preview "
Traceback (most recent call last):
   File "/home/feanor/Prog/git/grass-p3/repo/dist.x86_64-pc-linux-
gnu/gui/wxpython/animation/frame.py", line 316, in OnPreferences
     dlg = PreferencesDialog(parent=self, giface=self._giface)
   File "/home/feanor/Prog/git/grass-p3/repo/dist.x86_64-pc-linux-
gnu/gui/wxpython/animation/dialogs.py", line 1855, in __init__
     self._createTemporalPage(self.notebook)
   File "/home/feanor/Prog/git/grass-p3/repo/dist.x86_64-pc-linux-
gnu/gui/wxpython/animation/dialogs.py", line 2016, in _createTemporalPage
     link = wx.HyperlinkCtrl(
AttributeError: module 'wx' has no attribute 'HyperlinkCtrl'
}}}

PS. Have *not* tested this on python 2

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3780&gt;
GRASS GIS <https://grass.osgeo.org>

#3780: Python3 + g.gui.animation: Traceback when clicking on the settings button
--------------------------+-------------------------
  Reporter: pmav99 | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: normal | Milestone:
Component: wxGUI | Version: svn-trunk
Resolution: | Keywords:
       CPU: Unspecified | Platform: Unspecified
--------------------------+-------------------------

Comment (by veroandreo):

I confirm this error in python 3; works fine with python 2

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3780#comment:1&gt;
GRASS GIS <https://grass.osgeo.org>

#3780: Python3 + g.gui.animation: Traceback when clicking on the settings button
--------------------------+-------------------------
  Reporter: pmav99 | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: normal | Milestone:
Component: wxGUI | Version: svn-trunk
Resolution: | Keywords:
       CPU: Unspecified | Platform: Unspecified
--------------------------+-------------------------

Comment (by pmav99):

Just confirmed that this happens on Python2 too. It seems that this is an
issue related to wxPython 4+. On my end, both on Python 2 and Python 3:
{{{
pip freeze | grep wx
wxPython==4.0.4
}}}

It seems that the on wxPython4 they changed the namespace:
- wx 3:
http://xoomer.virgilio.it/infinity77/wxPython/Widgets/wx.HyperlinkCtrl.html
- wx 4: https://wxpython.org/Phoenix/docs/html/wx.adv.HyperlinkCtrl.html

Something like this should fix it:
{{{
import wx.adv
# ...
     link = wx.adv.HyperlinkCtrl(
}}}
but that would break compatibility with wxPython3 (not sure if we still
care for that).

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3780#comment:2&gt;
GRASS GIS <https://grass.osgeo.org>

#3780: Python3 + g.gui.animation: Traceback when clicking on the settings button
--------------------------+-------------------------
  Reporter: pmav99 | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: normal | Milestone:
Component: wxGUI | Version: svn-trunk
Resolution: fixed | Keywords:
       CPU: Unspecified | Platform: Unspecified
--------------------------+-------------------------
Changes (by annakrat):

* status: new => closed
* resolution: => fixed

Comment:

In [changeset:"74223" 74223]:
{{{
#!CommitTicketReference repository="" revision="74223"
wxGUI: fix #3780
}}}

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3780#comment:3&gt;
GRASS GIS <https://grass.osgeo.org>