Here's the patch I mentioned in my previous comment.
Cheers,
Olly
diff -Nru grass-6.4.3/debian/changelog grass-6.4.3/debian/changelog
--- grass-6.4.3/debian/changelog 2013-12-17 00:51:16.000000000 +1300
+++ grass-6.4.3/debian/changelog 2014-08-16 16:05:18.000000000 +1200
@@ -1,3 +1,12 @@
+grass (6.4.3-3.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Update to depend on python-wxgtk3.0 rather than python-wxgtk2.8.
+ - new patch: wxpy3.0-compat.patch
+ * Drop "Build-Conflicts: wx2.6-headers" as wx2.6 was removed pre-wheezy.
+
+ -- Olly Betts <[email protected]> Sat, 16 Aug 2014 16:04:44 +1200
+
grass (6.4.3-3) unstable; urgency=medium
* Now b-d on current libgdal-dev.
diff -Nru grass-6.4.3/debian/control grass-6.4.3/debian/control
--- grass-6.4.3/debian/control 2013-12-17 00:51:16.000000000 +1300
+++ grass-6.4.3/debian/control 2014-08-07 14:51:24.000000000 +1200
@@ -27,17 +27,17 @@
libproj-dev, proj-bin,
libreadline-dev | libreadline6-dev,
libsqlite3-dev,
+ libwxgtk3.0-dev,
libxmu-dev,
#install optipng if compressing the PNG images in the programmers' manual
# optipng,
python (>= 2.6.6-3~),
- python-wxgtk2.8, libwxgtk2.8-dev,
+ python-wxgtk3.0,
python-dev,
tcl-dev (>= 8.5), tk-dev (>= 8.5),
unixodbc-dev,
hardening-includes
Standards-Version: 3.9.5
-Build-Conflicts: wx2.6-headers
Homepage: http://grass.osgeo.org/
Vcs-Browser: http://git.debian.org/?p=pkg-grass/grass.git
Vcs-Git: git://git.debian.org/git/pkg-grass/grass.git
@@ -109,7 +109,7 @@
Depends: ${shlibs:Depends},
grass-core,
${python:Depends},
- python-wxgtk2.8,
+ python-wxgtk3.0,
# pyGL needed for wxNviz
python-opengl,
xterm | x-terminal-emulator,
diff -Nru grass-6.4.3/debian/control.in grass-6.4.3/debian/control.in
--- grass-6.4.3/debian/control.in 2013-12-17 00:51:16.000000000 +1300
+++ grass-6.4.3/debian/control.in 2014-08-07 14:51:12.000000000 +1200
@@ -27,17 +27,17 @@
libproj-dev, proj-bin,
libreadline-dev | libreadline6-dev,
libsqlite3-dev,
+ libwxgtk3.0-dev,
libxmu-dev,
#install optipng if compressing the PNG images in the programmers' manual
# optipng,
python (>= 2.6.6-3~),
- python-wxgtk2.8, libwxgtk2.8-dev,
+ python-wxgtk3.0,
python-dev,
tcl-dev (>= 8.5), tk-dev (>= 8.5),
unixodbc-dev,
hardening-includes
Standards-Version: 3.9.5
-Build-Conflicts: wx2.6-headers
Homepage: http://grass.osgeo.org/
Vcs-Browser: http://git.debian.org/?p=pkg-grass/grass.git
Vcs-Git: git://git.debian.org/git/pkg-grass/grass.git
@@ -109,7 +109,7 @@
Depends: ${shlibs:Depends},
grass-core,
${python:Depends},
- python-wxgtk2.8,
+ python-wxgtk3.0,
# pyGL needed for wxNviz
python-opengl,
xterm | x-terminal-emulator,
diff -Nru grass-6.4.3/debian/patches/series grass-6.4.3/debian/patches/series
--- grass-6.4.3/debian/patches/series 2013-12-17 00:51:16.000000000 +1300
+++ grass-6.4.3/debian/patches/series 2014-08-07 15:40:42.000000000 +1200
@@ -7,3 +7,4 @@
barscale_ui
svn-any-version
fix_big-endian_issues
+wxpy3.0-compat.patch
diff -Nru grass-6.4.3/debian/patches/wxpy3.0-compat.patch grass-6.4.3/debian/patches/wxpy3.0-compat.patch
--- grass-6.4.3/debian/patches/wxpy3.0-compat.patch 1970-01-01 12:00:00.000000000 +1200
+++ grass-6.4.3/debian/patches/wxpy3.0-compat.patch 2014-08-16 18:01:04.000000000 +1200
@@ -0,0 +1,556 @@
+Description: Fix to work with wxPython 3.0
+Author: Olly Betts <[email protected]>
+Last-Update: 2014-08-16
+
+--- a/gui/wxpython/wxplot/profile.py
++++ b/gui/wxpython/wxplot/profile.py
+@@ -291,7 +291,7 @@
+ if len(self.seglist) > 0 :
+ self.ppoints = plot.PolyMarker(self.seglist,
+ legend = ' ' + self.properties['marker']['legend'],
+- colour = wx.Color(self.properties['marker']['color'][0],
++ colour = wx.Colour(self.properties['marker']['color'][0],
+ self.properties['marker']['color'][1],
+ self.properties['marker']['color'][2],
+ 255),
+@@ -302,7 +302,7 @@
+
+ # Add profile distance/elevation pairs to plot data list for each raster profiled
+ for r in self.rasterList:
+- col = wx.Color(self.raster[r]['pcolor'][0],
++ col = wx.Colour(self.raster[r]['pcolor'][0],
+ self.raster[r]['pcolor'][1],
+ self.raster[r]['pcolor'][2],
+ 255)
+@@ -332,7 +332,7 @@
+ dlg = wx.FileDialog(parent = self,
+ message = _("Choose prefix for file(s) where to save profile values..."),
+ defaultDir = os.getcwd(),
+- wildcard = _("Comma separated value (*.csv)|*.csv"), style = wx.SAVE)
++ wildcard = _("Comma separated value (*.csv)|*.csv"), style = wx.FD_SAVE)
+ pfile = []
+ if dlg.ShowModal() == wx.ID_OK:
+ path = dlg.GetPath()
+--- a/gui/wxpython/wxgui.py
++++ b/gui/wxpython/wxgui.py
+@@ -51,7 +54,6 @@
+
+ @return True
+ """
+- wx.InitAllImageHandlers()
+
+ # create splash screen
+ introImagePath = os.path.join(globalvar.ETCIMGDIR, "silesia_splash.png")
+--- a/gui/wxpython/wxplot/base.py
++++ b/gui/wxpython/wxplot/base.py
+@@ -110,7 +110,7 @@
+
+
+ def _createColorDict(self):
+- """!Create color dictionary to return wx.Color tuples
++ """!Create color dictionary to return wx.Colour tuples
+ for assigning colors to images in imagery groups"""
+
+ self.colorDict = {}
+@@ -287,7 +287,7 @@
+ #
+ self.client.SetEnableGrid(self.properties['grid']['enabled'])
+
+- self.client.SetGridColour(wx.Color(self.properties['grid']['color'][0],
++ self.client.SetGridColour(wx.Colour(self.properties['grid']['color'][0],
+ self.properties['grid']['color'][1],
+ self.properties['grid']['color'][2],
+ 255))
+--- a/gui/wxpython/vdigit/wxdisplay.py
++++ b/gui/wxpython/vdigit/wxdisplay.py
+@@ -909,7 +909,7 @@
+ subkey = 'value'))
+ continue
+
+- color = wx.Color(UserSettings.Get(group = 'vdigit', key = 'symbol',
++ color = wx.Colour(UserSettings.Get(group = 'vdigit', key = 'symbol',
+ subkey = [key, 'color'])[0],
+ UserSettings.Get(group = 'vdigit', key = 'symbol',
+ subkey = [key, 'color'])[1],
+--- a/gui/wxpython/psmap/utils.py
++++ b/gui/wxpython/psmap/utils.py
+@@ -149,7 +149,7 @@
+ color = (grass.parse_color(rgb)[0]*255,
+ grass.parse_color(rgb)[1]*255,
+ grass.parse_color(rgb)[2]*255)
+- color = wx.Color(*color)
++ color = wx.Colour(*color)
+ if color.IsOk():
+ return color
+ else:
+--- a/gui/wxpython/psmap/frame.py
++++ b/gui/wxpython/psmap/frame.py
+@@ -92,15 +92,15 @@
+ self.pen = {
+ 'paper': wx.Pen(colour = "BLACK", width = 1),
+ 'margins': wx.Pen(colour = "GREY", width = 1),
+- 'map': wx.Pen(colour = wx.Color(86, 122, 17), width = 2),
+- 'rasterLegend': wx.Pen(colour = wx.Color(219, 216, 4), width = 2),
+- 'vectorLegend': wx.Pen(colour = wx.Color(219, 216, 4), width = 2),
+- 'mapinfo': wx.Pen(colour = wx.Color(5, 184, 249), width = 2),
+- 'scalebar': wx.Pen(colour = wx.Color(150, 150, 150), width = 2),
+- 'image': wx.Pen(colour = wx.Color(255, 150, 50), width = 2),
+- 'northArrow': wx.Pen(colour = wx.Color(200, 200, 200), width = 2),
+- 'point': wx.Pen(colour = wx.Color(100, 100, 100), width = 2),
+- 'line': wx.Pen(colour = wx.Color(0, 0, 0), width = 2),
++ 'map': wx.Pen(colour = wx.Colour(86, 122, 17), width = 2),
++ 'rasterLegend': wx.Pen(colour = wx.Colour(219, 216, 4), width = 2),
++ 'vectorLegend': wx.Pen(colour = wx.Colour(219, 216, 4), width = 2),
++ 'mapinfo': wx.Pen(colour = wx.Colour(5, 184, 249), width = 2),
++ 'scalebar': wx.Pen(colour = wx.Colour(150, 150, 150), width = 2),
++ 'image': wx.Pen(colour = wx.Colour(255, 150, 50), width = 2),
++ 'northArrow': wx.Pen(colour = wx.Colour(200, 200, 200), width = 2),
++ 'point': wx.Pen(colour = wx.Colour(100, 100, 100), width = 2),
++ 'line': wx.Pen(colour = wx.Colour(0, 0, 0), width = 2),
+ 'box': wx.Pen(colour = 'RED', width = 2, style = wx.SHORT_DASH),
+ 'select': wx.Pen(colour = 'BLACK', width = 1, style = wx.SHORT_DASH),
+ 'resize': wx.Pen(colour = 'BLACK', width = 1)
+@@ -108,14 +108,14 @@
+ self.brush = {
+ 'paper': wx.WHITE_BRUSH,
+ 'margins': wx.TRANSPARENT_BRUSH,
+- 'map': wx.Brush(wx.Color(151, 214, 90)),
+- 'rasterLegend': wx.Brush(wx.Color(250, 247, 112)),
+- 'vectorLegend': wx.Brush(wx.Color(250, 247, 112)),
+- 'mapinfo': wx.Brush(wx.Color(127, 222, 252)),
+- 'scalebar': wx.Brush(wx.Color(200, 200, 200)),
+- 'image': wx.Brush(wx.Color(255, 200, 50)),
+- 'northArrow': wx.Brush(wx.Color(255, 255, 255)),
+- 'point': wx.Brush(wx.Color(200, 200, 200)),
++ 'map': wx.Brush(wx.Colour(151, 214, 90)),
++ 'rasterLegend': wx.Brush(wx.Colour(250, 247, 112)),
++ 'vectorLegend': wx.Brush(wx.Colour(250, 247, 112)),
++ 'mapinfo': wx.Brush(wx.Colour(127, 222, 252)),
++ 'scalebar': wx.Brush(wx.Colour(200, 200, 200)),
++ 'image': wx.Brush(wx.Colour(255, 200, 50)),
++ 'northArrow': wx.Brush(wx.Colour(255, 255, 255)),
++ 'point': wx.Brush(wx.Colour(200, 200, 200)),
+ 'line': wx.TRANSPARENT_BRUSH,
+ 'box': wx.TRANSPARENT_BRUSH,
+ 'select':wx.TRANSPARENT_BRUSH,
+@@ -392,7 +392,7 @@
+ filename = ''
+ dlg = wx.FileDialog(self, message = _("Save file as"), defaultDir = "",
+ defaultFile = mapName, wildcard = wildcard,
+- style = wx.CHANGE_DIR | wx.SAVE | wx.OVERWRITE_PROMPT)
++ style = wx.FD_CHANGE_DIR | wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
+ if dlg.ShowModal() == wx.ID_OK:
+ filename = dlg.GetPath()
+ suffix = suffix[dlg.GetFilterIndex()]
+@@ -417,7 +417,7 @@
+ filename = ''
+ dlg = wx.FileDialog(self, message = "Find instructions file", defaultDir = "",
+ defaultFile = '', wildcard = "All files (*.*)|*.*",
+- style = wx.CHANGE_DIR|wx.OPEN)
++ style = wx.FD_CHANGE_DIR|wx.FD_OPEN)
+ if dlg.ShowModal() == wx.ID_OK:
+ filename = dlg.GetPath()
+ dlg.Destroy()
+@@ -1953,7 +1953,7 @@
+ pdc.SetFont(font)
+ textExtent = dc.GetTextExtent(text)
+ textRect = wx.Rect(0, 0, *textExtent).CenterIn(bb)
+- pdc.SetTextForeground(wx.Color(100,100,100,200))
++ pdc.SetTextForeground(wx.Colour(100,100,100,200))
+ pdc.SetBackgroundMode(wx.TRANSPARENT)
+ pdc.DrawLabel(text = text, rect = textRect)
+
+@@ -2221,7 +2221,6 @@
+ gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
+
+ app = wx.PySimpleApp()
+- wx.InitAllImageHandlers()
+ frame = PsMapFrame()
+ frame.Show()
+
+--- a/gui/wxpython/psmap/dialogs.py
++++ b/gui/wxpython/psmap/dialogs.py
+@@ -1970,7 +1970,7 @@
+ self.epsFileCtrl = filebrowse.FileBrowseButton(panel, id = wx.ID_ANY, labelText = '',
+ buttonText = _("Browse"), toolTip = _("Type filename or click browse to choose file"),
+ dialogTitle = _("Choose a file"), startDirectory = '', initialValue = '',
+- fileMask = "Encapsulated PostScript (*.eps)|*.eps|All files (*.*)|*.*", fileMode = wx.OPEN)
++ fileMask = "Encapsulated PostScript (*.eps)|*.eps|All files (*.*)|*.*", fileMode = wx.FD_OPEN)
+ if not self.vPropertiesDict['eps']:
+ self.epsFileCtrl.SetValue('')
+ else: #eps chosen
+@@ -2159,7 +2159,7 @@
+ self.patFileCtrl = filebrowse.FileBrowseButton(panel, id = wx.ID_ANY, labelText = _("Choose pattern file:"),
+ buttonText = _("Browse"), toolTip = _("Type filename or click browse to choose file"),
+ dialogTitle = _("Choose a file"), startDirectory = self.patternPath, initialValue = '',
+- fileMask = "Encapsulated PostScript (*.eps)|*.eps|All files (*.*)|*.*", fileMode = wx.OPEN)
++ fileMask = "Encapsulated PostScript (*.eps)|*.eps|All files (*.*)|*.*", fileMode = wx.FD_OPEN)
+ self.patWidthText = wx.StaticText(panel, id = wx.ID_ANY, label = _("pattern line width (pts):"))
+ self.patWidthSpin = wx.SpinCtrl(panel, id = wx.ID_ANY, min = 1, max = 25, initial = 1)
+ self.patScaleText = wx.StaticText(panel, id = wx.ID_ANY, label = _("pattern scale factor:"))
+@@ -4346,7 +4346,7 @@
+ buffer = wx.EmptyBitmap(*self.previewSize)
+ dc = wx.MemoryDC()
+ dc.SelectObject(buffer)
+- dc.SetBrush(wx.Brush(wx.Color(250, 250, 250)))
++ dc.SetBrush(wx.Brush(wx.Colour(250, 250, 250)))
+ dc.Clear()
+ extent = dc.GetTextExtent(warning)
+ posX = self.previewSize[0] / 2 - extent[0] / 2
+--- a/gui/wxpython/nviz/tools.py
++++ b/gui/wxpython/nviz/tools.py
+@@ -520,7 +520,7 @@
+ self.mainPanelData.SetupScrolling(scroll_x = False)
+ ## style = fpb.CaptionBarStyle()
+ ## style.SetCaptionStyle(fpb.CAPTIONBAR_FILLED_RECTANGLE)
+-## style.SetFirstColour(wx.Color(250,250,250))
++## style.SetFirstColour(wx.Colour(250,250,250))
+ try:# wxpython <= 2.8.10
+ self.foldpanelData = fpb.FoldPanelBar(parent = self.mainPanelData, id = wx.ID_ANY,
+ style = fpb.FPB_DEFAULT_STYLE,
+@@ -3108,14 +3108,14 @@
+ return str(color[0]) + ':' + str(color[1]) + ':' + str(color[2])
+
+ def _getColorFromString(self, color, delim = ':'):
+- """!Convert color string (R:G:B) to wx.Color
++ """!Convert color string (R:G:B) to wx.Colour
+
+ @param color string
+ @param delim delimiter
+
+- @return wx.Color instance
++ @return wx.Colour instance
+ """
+- return wx.Color(*map(int, color.split(delim)))
++ return wx.Colour(*map(int, color.split(delim)))
+
+ def _get3dRange(self, name):
+ """!Gelper func for getting range of 3d map"""
+--- a/gui/wxpython/mapdisp/main.py
++++ b/gui/wxpython/mapdisp/main.py
+@@ -45,7 +45,6 @@
+
+ class MapApp(wx.App):
+ def OnInit(self):
+- wx.InitAllImageHandlers()
+ if __name__ == "__main__":
+ self.cmdTimeStamp = os.path.getmtime(monFile['cmd'])
+ self.Map = Map(cmdfile = monFile['cmd'], mapfile = monFile['map'],
+--- a/gui/wxpython/modules/colorrules.py
++++ b/gui/wxpython/modules/colorrules.py
+@@ -395,7 +395,7 @@
+ buttonText = _('Load'),
+ toolTip = _("Type filename or click to choose "
+ "file and load color table"),
+- startDirectory = os.getcwd(), fileMode = wx.OPEN,
++ startDirectory = os.getcwd(), fileMode = wx.FD_OPEN,
+ changeCallback = self.OnLoadRulesFile)
+ self.saveRules = filebrowse.FileBrowseButton(parent = parent, id = wx.ID_ANY, fileMask = '*',
+ size = globalvar.DIALOG_GSELECT_SIZE,
+@@ -404,7 +404,7 @@
+ toolTip = _("Type filename or click to choose "
+ "file and save color table"),
+ buttonText = _('Save'),
+- startDirectory = os.getcwd(), fileMode = wx.SAVE,
++ startDirectory = os.getcwd(), fileMode = wx.FD_SAVE,
+ changeCallback = self.OnSaveRulesFile)
+
+ default = wx.Button(parent = parent, id = wx.ID_ANY, label = _("Reload default table"))
+--- a/gui/wxpython/modules/histogram.py
++++ b/gui/wxpython/modules/histogram.py
+@@ -414,7 +414,7 @@
+ message = _("Choose a file name to save the image "
+ "(no need to add extension)"),
+ wildcard = filetype,
+- style=wx.SAVE | wx.FD_OVERWRITE_PROMPT)
++ style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
+
+ if dlg.ShowModal() == wx.ID_OK:
+ path = dlg.GetPath()
+--- a/gui/wxpython/modules/mcalc_builder.py
++++ b/gui/wxpython/modules/mcalc_builder.py
+@@ -515,7 +515,7 @@
+ dlg = wx.FileDialog(parent = self,
+ message = _("Choose a file name to save the expression"),
+ wildcard = _("Expression file (*)|*"),
+- style = wx.SAVE | wx.FD_OVERWRITE_PROMPT)
++ style = wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
+ if dlg.ShowModal() == wx.ID_OK:
+ path = dlg.GetPath()
+ if not path:
+@@ -536,7 +536,7 @@
+ dlg = wx.FileDialog(parent = self,
+ message = _("Choose a file name to load the expression"),
+ wildcard = _("Expression file (*)|*"),
+- style = wx.OPEN)
++ style = wx.FD_OPEN)
+ if dlg.ShowModal() == wx.ID_OK:
+ path = dlg.GetPath()
+ if not path:
+--- a/gui/wxpython/location_wizard/wizard.py
++++ b/gui/wxpython/location_wizard/wizard.py
+@@ -72,6 +72,8 @@
+ # main sizers
+ self.pagesizer = wx.BoxSizer(wx.VERTICAL)
+ self.sizer = wx.GridBagSizer(vgap = 0, hgap = 0)
++ self.sizer.SetCols(5)
++ self.sizer.SetRows(6)
+
+ def DoLayout(self):
+ """!Do page layout"""
+@@ -1169,7 +1171,7 @@
+ """!Choose file"""
+ dlg = wx.FileDialog(self,
+ _("Select georeferenced file"),
+- os.getcwd(), "", "*.*", wx.OPEN)
++ os.getcwd(), "", "*.*", wx.FD_OPEN)
+ if dlg.ShowModal() == wx.ID_OK:
+ path = dlg.GetPath()
+ self.tfile.SetValue(path)
+@@ -1242,7 +1244,7 @@
+ message = _("Select Well Known Text (WKT) .prj file"),
+ defaultDir = os.getcwd(),
+ wildcard = "PRJ files (*.prj)|*.prj|Files (*.*)|*.*",
+- style = wx.OPEN)
++ style = wx.FD_OPEN)
+
+ if dlg.ShowModal() == wx.ID_OK:
+ path = dlg.GetPath()
+@@ -1420,7 +1422,7 @@
+ path = os.getcwd()
+
+ dlg = wx.FileDialog(parent = self, message = _("Choose EPSG codes file"),
+- defaultDir = path, defaultFile = "", wildcard = "*", style = wx.OPEN)
++ defaultDir = path, defaultFile = "", wildcard = "*", style = wx.FD_OPEN)
+
+ if dlg.ShowModal() == wx.ID_OK:
+ path = dlg.GetPath()
+--- a/gui/wxpython/mapdisp/frame.py
++++ b/gui/wxpython/mapdisp/frame.py
+@@ -576,7 +576,7 @@
+ message = _("Choose a file name to save the image "
+ "(no need to add extension)"),
+ wildcard = filetype,
+- style = wx.SAVE | wx.FD_OVERWRITE_PROMPT)
++ style = wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
+
+ if dlg.ShowModal() == wx.ID_OK:
+ path = dlg.GetPath()
+--- a/gui/wxpython/gui_core/widgets.py
++++ b/gui/wxpython/gui_core/widgets.py
+@@ -182,7 +182,7 @@
+
+ dc = wx.MemoryDC()
+ dc.SelectObject(buffer)
+- maskColor = wx.Color(255, 255, 255)
++ maskColor = wx.Colour(255, 255, 255)
+ dc.SetBrush(wx.Brush(maskColor))
+ dc.Clear()
+
+@@ -202,23 +202,23 @@
+
+ def DrawRecord(self, dc, size):
+ """!Draw record symbol"""
+- dc.SetBrush(wx.Brush(wx.Color(255, 0, 0)))
++ dc.SetBrush(wx.Brush(wx.Colour(255, 0, 0)))
+ dc.DrawCircle(size[0]/2, size[1] / 2, size[0] / 2)
+
+ def DrawStop(self, dc, size):
+ """!Draw stop symbol"""
+- dc.SetBrush(wx.Brush(wx.Color(50, 50, 50)))
++ dc.SetBrush(wx.Brush(wx.Colour(50, 50, 50)))
+ dc.DrawRectangle(0, 0, size[0], size[1])
+
+ def DrawPlay(self, dc, size):
+ """!Draw play symbol"""
+- dc.SetBrush(wx.Brush(wx.Color(0, 255, 0)))
++ dc.SetBrush(wx.Brush(wx.Colour(0, 255, 0)))
+ points = (wx.Point(0, 0), wx.Point(0, size[1]), wx.Point(size[0], size[1] / 2))
+ dc.DrawPolygon(points)
+
+ def DrawPause(self, dc, size):
+ """!Draw pause symbol"""
+- dc.SetBrush(wx.Brush(wx.Color(50, 50, 50)))
++ dc.SetBrush(wx.Brush(wx.Colour(50, 50, 50)))
+ dc.DrawRectangle(0, 0, 2 * size[0] / 5, size[1])
+ dc.DrawRectangle(3 * size[0] / 5, 0, 2 * size[0] / 5, size[1])
+
+--- a/gui/wxpython/gui_core/ghelp.py
++++ b/gui/wxpython/gui_core/ghelp.py
+@@ -88,6 +88,7 @@
+ """!Do layout"""
+ sizer = wx.StaticBoxSizer(self.box, wx.HORIZONTAL)
+ gridSizer = wx.GridBagSizer(hgap = 3, vgap = 3)
++ gridSizer.SetCols(2)
+ gridSizer.AddGrowableCol(1)
+
+ gridSizer.Add(item = self.searchBy,
+@@ -397,6 +398,7 @@
+ infoTxt.SetupScrolling()
+ infoSizer = wx.BoxSizer(wx.VERTICAL)
+ infoGridSizer = wx.GridBagSizer(vgap = 5, hgap = 5)
++ infoGridSizer.SetCols(2)
+ infoGridSizer.AddGrowableCol(0)
+ infoGridSizer.AddGrowableCol(1)
+ logo = os.path.join(globalvar.ETCDIR, "gui", "icons", "grass-64x64.png")
+@@ -776,7 +778,6 @@
+ in the Panel.
+ """
+ self.parent = parent
+- wx.InitAllImageHandlers()
+ wx.html.HtmlWindow.__init__(self, parent = parent, **kwargs)
+
+ gisbase = os.getenv("GISBASE")
+--- a/gui/wxpython/gui_core/goutput.py
++++ b/gui/wxpython/gui_core/goutput.py
+@@ -662,7 +662,7 @@
+ defaultFile = "grass_cmd_output.txt",
+ wildcard = _("%(txt)s (*.txt)|*.txt|%(files)s (*)|*") %
+ {'txt': _("Text files"), 'files': _("Files")},
+- style = wx.SAVE | wx.FD_OVERWRITE_PROMPT)
++ style = wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
+
+ # Show the dialog and retrieve the user response. If it is the OK response,
+ # process the data.
+@@ -812,7 +812,7 @@
+ defaultFile = "grass_cmd_log.txt",
+ wildcard = _("%(txt)s (*.txt)|*.txt|%(files)s (*)|*") %
+ {'txt': _("Text files"), 'files': _("Files")},
+- style = wx.SAVE)
++ style = wx.FD_SAVE)
+ if dlg.ShowModal() == wx.ID_OK:
+ self.cmdFileProtocol = dlg.GetPath()
+ else:
+--- a/gui/wxpython/gui_core/forms.py
++++ b/gui/wxpython/gui_core/forms.py
+@@ -1296,9 +1296,9 @@
+ # file selector
+ elif p.get('prompt','') != 'color' and p.get('element', '') == 'file':
+ if p.get('age', 'new_file') == 'new_file':
+- fmode = wx.SAVE
++ fmode = wx.FD_SAVE
+ else:
+- fmode = wx.OPEN
++ fmode = wx.FD_OPEN
+ fbb = filebrowse.FileBrowseButton(parent = which_panel, id = wx.ID_ANY, fileMask = '*',
+ size = globalvar.DIALOG_GSELECT_SIZE, labelText = '',
+ dialogTitle = _('Choose %s') % \
+@@ -1549,7 +1549,7 @@
+ dlg = wx.FileDialog(parent = self,
+ message = _("Save input as..."),
+ defaultDir = os.getcwd(),
+- style = wx.SAVE | wx.FD_OVERWRITE_PROMPT)
++ style = wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
+
+ if dlg.ShowModal() == wx.ID_OK:
+ path = dlg.GetPath()
+--- a/gui/wxpython/gmodeler/model.py
++++ b/gui/wxpython/gmodeler/model.py
+@@ -901,7 +901,7 @@
+ color = UserSettings.Get(group='modeler', key='action',
+ subkey=('color', 'invalid'))
+
+- wxColor = wx.Color(color[0], color[1], color[2])
++ wxColor = wx.Colour(color[0], color[1], color[2])
+ self.SetBrush(wx.Brush(wxColor))
+
+ def _setPen(self):
+@@ -1203,7 +1203,7 @@
+ else:
+ color = UserSettings.Get(group = 'modeler', key = 'action',
+ subkey = ('color', 'invalid'))
+- wxColor = wx.Color(color[0], color[1], color[2])
++ wxColor = wx.Colour(color[0], color[1], color[2])
+ self.SetBrush(wx.Brush(wxColor))
+
+ def _setPen(self):
+@@ -1395,7 +1395,7 @@
+ color = UserSettings.Get(group='modeler', key='loop',
+ subkey=('color', 'valid'))
+
+- wxColor = wx.Color(color[0], color[1], color[2])
++ wxColor = wx.Colour(color[0], color[1], color[2])
+ self.SetBrush(wx.Brush(wxColor))
+
+ def Enable(self, enabled = True):
+--- a/gui/wxpython/gmodeler/frame.py
++++ b/gui/wxpython/gmodeler/frame.py
+@@ -551,7 +551,7 @@
+ defaultDir = "",
+ defaultFile = "",
+ wildcard = filetype,
+- style=wx.SAVE | wx.FD_OVERWRITE_PROMPT)
++ style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
+
+ if dlg.ShowModal() == wx.ID_OK:
+ path = dlg.GetPath()
+@@ -1656,7 +1656,6 @@
+ gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unicode = True)
+
+ app = wx.PySimpleApp()
+- wx.InitAllImageHandlers()
+ frame = ModelFrame(parent = None)
+ if len(sys.argv) > 1:
+ frame.LoadModelFile(sys.argv[1])
+--- a/gui/wxpython/gcp/mapdisplay.py
++++ b/gui/wxpython/gcp/mapdisplay.py
+@@ -456,7 +456,7 @@
+ message = _("Choose a file name to save the image "
+ "(no need to add extension)"),
+ wildcard = filetype,
+- style=wx.SAVE | wx.FD_OVERWRITE_PROMPT)
++ style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
+
+ if dlg.ShowModal() == wx.ID_OK:
+ path = dlg.GetPath()
+--- a/gui/wxpython/gis_set.py
++++ b/gui/wxpython/gis_set.py
+@@ -973,7 +973,6 @@
+ """!Start-up application"""
+
+ def OnInit(self):
+- wx.InitAllImageHandlers()
+ StartUp = GRASSStartup()
+ StartUp.CenterOnScreen()
+ self.SetTopWindow(StartUp)
+--- a/gui/wxpython/dbmgr/manager.py
++++ b/gui/wxpython/dbmgr/manager.py
+@@ -3102,9 +3102,6 @@
+ print >> sys.stderr, __doc__
+ sys.exit()
+
+- #some applications might require image handlers
+- wx.InitAllImageHandlers()
+-
+ app = wx.PySimpleApp()
+ f = AttributeManager(parent = None, id = wx.ID_ANY,
+ title = "%s - <%s>" % (_("GRASS GIS Attribute Table Manager"),
+--- a/gui/wxpython/core/globalvar.py
++++ b/gui/wxpython/core/globalvar.py
+@@ -32,7 +32,7 @@
+
+ def CheckWxVersion(version = [2, 8, 11, 0]):
+ """!Check wx version"""
+- ver = wx.version().split(' ')[0]
++ ver = wx.__version__
+ if map(int, ver.split('.')) < version:
+ return False
+
+@@ -44,7 +44,7 @@
+ return
+
+ minVersion = [2, 8, 1, 1]
+- unsupportedVersion = [2, 9, 0, 0]
++ unsupportedVersion = [3, 1, 0, 0]
+ try:
+ try:
+ import wxversion
+@@ -53,7 +53,7 @@
+ # wxversion.select(str(minVersion[0]) + '.' + str(minVersion[1]))
+ wxversion.ensureMinimal(str(minVersion[0]) + '.' + str(minVersion[1]))
+ import wx
+- version = wx.version().split(' ')[0]
++ version = wx.__version__
+
+ if map(int, version.split('.')) < minVersion:
+ raise ValueError('Your wxPython version is %s.%s.%s.%s' % tuple(version.split('.')))
_______________________________________________
Pkg-grass-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel