[GRASS-dev] Some wxPython 3 issues

Markus Neteler neteler at osgeo.org
Sun Aug 30 11:48:28 PDT 2015


Hi,

I have migrated my laptop from Fedora21 to F22 which comes with
currently wxPython-3:

GRASS version: 7.1.svn
GRASS SVN revision: 66061M
Build date: 2015-08-29
Build platform: x86_64-unknown-linux-gnu
GDAL: 1.11.2
PROJ.4: 4.8.0
GEOS: 3.4.2
SQLite: 3.8.10.2
Python: 2.7.10
wxPython: 3.0.2.0

There are a few issues with the wxPython 3 compatibility (I suppose):

- GUI startup: the splash screen has a top window frame now including
a minimizer (I think that was suppressed in wxpython2)

- WHile the GUI comes up ok, the following warnings appear at startup time:
(wxgui.py:9918): GLib-GObject-WARNING **: The property
GtkImageMenuItem:use-stock is deprecated and shouldn't be used
anymore. It will be removed in a future version.
(wxgui.py:9918): GLib-GObject-WARNING **: The property
GtkSettings:gtk-menu-images is deprecated and shouldn't be used
anymore. It will be removed in a future version.
(wxgui.py:9918): GLib-GObject-WARNING **: The property
GtkImageMenuItem:accel-group is deprecated and shouldn't be used
anymore. It will be removed in a future version.
(wxgui.py:9918): GLib-GObject-WARNING **: The property
GtkSettings:gtk-button-images is deprecated and shouldn't be used
anymore. It will be removed in a future version.
(wxgui.py:9918): GLib-GObject-WARNING **: The property
GtkAlignment:xalign is deprecated and shouldn't be used anymore. It
will be removed in a future version.
(wxgui.py:9918): GLib-GObject-WARNING **: The property
GtkAlignment:yalign is deprecated and shouldn't be used anymore. It
will be removed in a future version.

- the left-side tabs in the module windows do not have any
shade/border to distinguish them (the tab titles look ok and they are
clickable).

- the 2D/3D/v-r-digitizer switch is twice as long as needed: in effect
it is not visible unless the map display window is widened up
significantly to make it appear.

- temporal: the graphical representation opens but then gives this error:

Traceback (most recent call last):
  File "/home/neteler/software/grass71/dist.x86_64-unknown-
linux-gnu/gui/wxpython/timeline/frame.py", line 354, in
OnRedraw

self._redraw()
  File "/home/neteler/software/grass71/dist.x86_64-unknown-
linux-gnu/gui/wxpython/timeline/frame.py", line 366, in
_redraw

self._draw2dFigure()
  File "/home/neteler/software/grass71/dist.x86_64-unknown-
linux-gnu/gui/wxpython/timeline/frame.py", line 336, in
_draw2dFigure

self.canvas.draw()
  File "/usr/lib64/python2.7/site-
packages/matplotlib/backends/backend_wxagg.py", line 46, in
draw

FigureCanvasAgg.draw(self)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/backends/backend_agg.py", line 469, in
draw

self.figure.draw(self.renderer)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/artist.py", line 59, in draw_wrapper

draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/figure.py", line 1085, in draw

func(*args)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/artist.py", line 59, in draw_wrapper

draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/axes/_base.py", line 2110, in draw

a.draw(renderer)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/artist.py", line 59, in draw_wrapper

draw(artist, renderer, *args, **kwargs)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/axis.py", line 1114, in draw

ticks_to_draw = self._update_ticks(renderer)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/axis.py", line 957, in _update_ticks

tick_tups = [t for t in self.iter_ticks()]
  File "/usr/lib64/python2.7/site-
packages/matplotlib/axis.py", line 901, in iter_ticks

majorLocs = self.major.locator()
  File "/usr/lib64/python2.7/site-
packages/matplotlib/dates.py", line 866, in __call__

self.refresh()
  File "/usr/lib64/python2.7/site-
packages/matplotlib/dates.py", line 883, in refresh

dmin, dmax = self.viewlim_to_dt()
  File "/usr/lib64/python2.7/site-
packages/matplotlib/dates.py", line 627, in viewlim_to_dt

return num2date(vmin, self.tz), num2date(vmax, self.tz)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/dates.py", line 345, in num2date

return _from_ordinalf(x, tz)
  File "/usr/lib64/python2.7/site-
packages/matplotlib/dates.py", line 225, in _from_ordinalf

dt = datetime.datetime.fromordinal(ix)
ValueError
:
ordinal must be >= 1

Let me know which of this I shall report as tickets. Unfortunately I
don't know how to fix these issues.

Markus


More information about the grass-dev mailing list