瀏覽代碼

wxGUI: make GUI compatible with wxPython Phoenix 3.0.3

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@70145 15284696-431f-4ddb-bdfa-cd5b030d7da7
Anna Petrášová 8 年之前
父節點
當前提交
fea2d77921
共有 73 個文件被更改,包括 3158 次插入2721 次删除
  1. 64 64
      gui/wxpython/animation/dialogs.py
  2. 12 12
      gui/wxpython/animation/frame.py
  3. 4 3
      gui/wxpython/animation/mapwindow.py
  4. 21 2
      gui/wxpython/core/globalvar.py
  5. 7 4
      gui/wxpython/core/utils.py
  6. 2 2
      gui/wxpython/datacatalog/catalog.py
  7. 5 5
      gui/wxpython/datacatalog/dialogs.py
  8. 1 1
      gui/wxpython/datacatalog/frame.py
  9. 94 79
      gui/wxpython/dbmgr/base.py
  10. 23 23
      gui/wxpython/dbmgr/dialogs.py
  11. 15 8
      gui/wxpython/dbmgr/manager.py
  12. 46 46
      gui/wxpython/dbmgr/sqlbuilder.py
  13. 13 13
      gui/wxpython/dbmgr/vinfo.py
  14. 72 67
      gui/wxpython/gcp/manager.py
  15. 2 2
      gui/wxpython/gcp/statusbar.py
  16. 59 62
      gui/wxpython/gis_set.py
  17. 42 42
      gui/wxpython/gmodeler/dialogs.py
  18. 38 32
      gui/wxpython/gmodeler/frame.py
  19. 7 7
      gui/wxpython/gmodeler/model.py
  20. 87 87
      gui/wxpython/gmodeler/preferences.py
  21. 120 121
      gui/wxpython/gui_core/dialogs.py
  22. 109 100
      gui/wxpython/gui_core/forms.py
  23. 68 70
      gui/wxpython/gui_core/ghelp.py
  24. 31 32
      gui/wxpython/gui_core/goutput.py
  25. 96 79
      gui/wxpython/gui_core/gselect.py
  26. 9 8
      gui/wxpython/gui_core/menu.py
  27. 143 143
      gui/wxpython/gui_core/preferences.py
  28. 1 1
      gui/wxpython/gui_core/pyedit.py
  29. 8 8
      gui/wxpython/gui_core/query.py
  30. 2 1
      gui/wxpython/gui_core/toolbars.py
  31. 13 3
      gui/wxpython/gui_core/treeview.py
  32. 48 33
      gui/wxpython/gui_core/widgets.py
  33. 224 4
      gui/wxpython/gui_core/wrap.py
  34. 20 20
      gui/wxpython/iclass/dialogs.py
  35. 2 2
      gui/wxpython/iclass/plots.py
  36. 28 28
      gui/wxpython/iscatt/dialogs.py
  37. 8 8
      gui/wxpython/iscatt/frame.py
  38. 8 6
      gui/wxpython/lmgr/frame.py
  39. 10 16
      gui/wxpython/lmgr/layertree.py
  40. 9 8
      gui/wxpython/lmgr/pyshell.py
  41. 34 34
      gui/wxpython/location_wizard/dialogs.py
  42. 149 95
      gui/wxpython/location_wizard/wizard.py
  43. 2 1
      gui/wxpython/mapdisp/frame.py
  44. 5 5
      gui/wxpython/mapdisp/test_mapdisp.py
  45. 13 13
      gui/wxpython/mapswipe/dialogs.py
  46. 2 3
      gui/wxpython/mapswipe/mapwindow.py
  47. 7 6
      gui/wxpython/mapwin/base.py
  48. 22 17
      gui/wxpython/mapwin/buffered.py
  49. 40 40
      gui/wxpython/modules/colorrules.py
  50. 20 20
      gui/wxpython/modules/extensions.py
  51. 2 1
      gui/wxpython/modules/histogram.py
  52. 43 36
      gui/wxpython/modules/import_export.py
  53. 122 121
      gui/wxpython/modules/mcalc_builder.py
  54. 27 27
      gui/wxpython/modules/vclean.py
  55. 16 16
      gui/wxpython/modules/vkrige.py
  56. 16 16
      gui/wxpython/nviz/mapwindow.py
  57. 133 133
      gui/wxpython/nviz/preferences.py
  58. 326 326
      gui/wxpython/nviz/tools.py
  59. 9 3
      gui/wxpython/nviz/wxnviz.py
  60. 114 101
      gui/wxpython/psmap/dialogs.py
  61. 10 6
      gui/wxpython/psmap/frame.py
  62. 16 16
      gui/wxpython/rlisetup/frame.py
  63. 69 63
      gui/wxpython/rlisetup/wizard.py
  64. 29 29
      gui/wxpython/vdigit/dialogs.py
  65. 6 5
      gui/wxpython/vdigit/mapwindow.py
  66. 55 55
      gui/wxpython/vdigit/preferences.py
  67. 2 1
      gui/wxpython/vdigit/toolbars.py
  68. 73 73
      gui/wxpython/vnet/dialogs.py
  69. 1 2
      gui/wxpython/vnet/toolbars.py
  70. 13 7
      gui/wxpython/vnet/widgets.py
  71. 60 59
      gui/wxpython/web_services/dialogs.py
  72. 29 17
      gui/wxpython/web_services/widgets.py
  73. 122 122
      gui/wxpython/wxplot/dialogs.py

+ 64 - 64
gui/wxpython/animation/dialogs.py

@@ -36,7 +36,7 @@ from core.settings import UserSettings
 from core.utils import _
 from gui_core.gselect import Select
 from gui_core.widgets import FloatValidator
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 
 from animation.utils import TemporalMode, getRegisteredMaps, getNameAndLayer, getCpuCount
 from animation.data import AnimationData, AnimLayer
@@ -113,22 +113,22 @@ class SpeedDialog(wx.Dialog):
         # TODO total time
 
         gridSizer.Add(
-            item=labelDuration, pos=(0, 0),
+            labelDuration, pos=(0, 0),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT)
-        gridSizer.Add(item=self.spinDuration, pos=(0, 1), flag=wx.ALIGN_CENTER)
+        gridSizer.Add(self.spinDuration, pos=(0, 1), flag=wx.ALIGN_CENTER)
         gridSizer.Add(
-            item=labelUnits, pos=(0, 2),
+            labelUnits, pos=(0, 2),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT)
         gridSizer.AddGrowableCol(0)
 
         box.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             border=5,
             flag=wx.ALL | wx.EXPAND)
         self.nontemporalSizer = gridSizer
         mainSizer.Add(
-            item=box,
+            box,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=5)
@@ -153,29 +153,29 @@ class SpeedDialog(wx.Dialog):
         # TODO total time
 
         gridSizer.Add(
-            item=labelTimeUnit, pos=(0, 0),
+            labelTimeUnit, pos=(0, 0),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT)
-        gridSizer.Add(item=self.choiceUnits, pos=(0, 1),
+        gridSizer.Add(self.choiceUnits, pos=(0, 1),
                       flag=wx.ALIGN_CENTER | wx.EXPAND)
         gridSizer.Add(
-            item=labelDuration, pos=(1, 0),
+            labelDuration, pos=(1, 0),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT)
         gridSizer.Add(
-            item=self.spinDurationTemp, pos=(
+            self.spinDurationTemp, pos=(
                 1, 1), flag=wx.ALIGN_CENTER | wx.EXPAND)
         gridSizer.Add(
-            item=labelUnits, pos=(1, 2),
+            labelUnits, pos=(1, 2),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT)
         gridSizer.AddGrowableCol(1)
 
         self.temporalSizer = gridSizer
         box.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             border=5,
             flag=wx.ALL | wx.EXPAND)
         mainSizer.Add(
-            item=box,
+            box,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=5)
@@ -196,7 +196,7 @@ class SpeedDialog(wx.Dialog):
         btnStdSizer.AddButton(self.btnCancel)
         btnStdSizer.Realize()
 
-        mainSizer.Add(item=btnStdSizer, proportion=0,
+        mainSizer.Add(btnStdSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_RIGHT, border=5)
 
         self.SetSizer(mainSizer)
@@ -359,7 +359,7 @@ class InputDialog(wx.Dialog):
         btnStdSizer.AddButton(self.btnCancel)
         btnStdSizer.Realize()
 
-        sizer.Add(item=btnStdSizer, proportion=0,
+        sizer.Add(btnStdSizer, proportion=0,
                   flag=wx.EXPAND | wx.ALL | wx.ALIGN_RIGHT, border=5)
         self.SetSizer(sizer)
         sizer.Fit(self)
@@ -396,33 +396,33 @@ class InputDialog(wx.Dialog):
 
         gridSizer = wx.FlexGridSizer(cols=2, hgap=5, vgap=5)
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 panel,
                 id=wx.ID_ANY,
                 label=_("Name:")),
             flag=wx.ALIGN_CENTER_VERTICAL)
-        gridSizer.Add(item=self.nameCtrl, proportion=1, flag=wx.EXPAND)
+        gridSizer.Add(self.nameCtrl, proportion=1, flag=wx.EXPAND)
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 panel,
                 id=wx.ID_ANY,
                 label=_("Window position:")),
             flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=self.windowChoice,
+            self.windowChoice,
             proportion=1,
             flag=wx.ALIGN_RIGHT)
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 panel,
                 id=wx.ID_ANY,
                 label=_("View mode:")),
             flag=wx.ALIGN_CENTER_VERTICAL)
-        gridSizer.Add(item=self.nDChoice, proportion=1, flag=wx.ALIGN_RIGHT)
+        gridSizer.Add(self.nDChoice, proportion=1, flag=wx.ALIGN_RIGHT)
         gridSizer.AddGrowableCol(0, 1)
         gridSizer.AddGrowableCol(1, 1)
         mainSizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=5)
@@ -431,9 +431,9 @@ class InputDialog(wx.Dialog):
             "or one series of map layers.")
         self.warning3DLayers = wx.StaticText(panel, label=label)
         self.warning3DLayers.SetForegroundColour(
-            wx.SystemSettings_GetColour(wx.SYS_COLOUR_GRAYTEXT))
+            wx.SystemSettings.GetColour(wx.SYS_COLOUR_GRAYTEXT))
         mainSizer.Add(
-            item=self.warning3DLayers,
+            self.warning3DLayers,
             proportion=0,
             flag=wx.EXPAND | wx.LEFT,
             border=5)
@@ -441,12 +441,12 @@ class InputDialog(wx.Dialog):
         self.dataPanel = self._createDataPanel(panel)
         self.threeDPanel = self._create3DPanel(panel)
         mainSizer.Add(
-            item=self.dataPanel,
+            self.dataPanel,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=3)
         mainSizer.Add(
-            item=self.threeDPanel,
+            self.threeDPanel,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=3)
@@ -477,10 +477,10 @@ class InputDialog(wx.Dialog):
         self.legendBtn.Bind(wx.EVT_BUTTON, self.OnLegendProperties)
 
         hbox = wx.BoxSizer(wx.HORIZONTAL)
-        hbox.Add(item=self.legend, proportion=1, flag=wx.ALIGN_CENTER_VERTICAL)
-        hbox.Add(item=self.legendBtn, proportion=0, flag=wx.LEFT, border=5)
+        hbox.Add(self.legend, proportion=1, flag=wx.ALIGN_CENTER_VERTICAL)
+        hbox.Add(self.legendBtn, proportion=0, flag=wx.LEFT, border=5)
         slmgrSizer.Add(
-            item=hbox,
+            hbox,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=3)
@@ -519,23 +519,23 @@ class InputDialog(wx.Dialog):
 
         hbox = wx.BoxSizer(wx.HORIZONTAL)
         hbox.Add(
-            item=self.fileSelector,
+            self.fileSelector,
             proportion=1,
             flag=wx.EXPAND | wx.ALIGN_CENTER)
         dataBoxSizer.Add(
-            item=hbox,
+            hbox,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=3)
 
         hbox = wx.BoxSizer(wx.HORIZONTAL)
         hbox.Add(
-            item=self.paramLabel,
+            self.paramLabel,
             proportion=1,
             flag=wx.ALIGN_CENTER_VERTICAL)
-        hbox.Add(item=self.paramChoice, proportion=1, flag=wx.EXPAND)
+        hbox.Add(self.paramChoice, proportion=1, flag=wx.EXPAND)
         dataBoxSizer.Add(
-            item=hbox,
+            hbox,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=3)
@@ -795,7 +795,7 @@ class EditDialog(wx.Dialog):
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        mainSizer.Add(item=sizer, proportion=0,
+        mainSizer.Add(sizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL, border=5)
 
         # buttons
@@ -809,7 +809,7 @@ class EditDialog(wx.Dialog):
         btnStdSizer.AddButton(self.btnCancel)
         btnStdSizer.Realize()
 
-        mainSizer.Add(item=btnStdSizer, proportion=0,
+        mainSizer.Add(btnStdSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_RIGHT, border=5)
 
         self.SetSizer(mainSizer)
@@ -927,7 +927,7 @@ class ExportDialog(wx.Dialog):
         notebook.AddPage(
             page=self._createDecorationsPanel(notebook),
             text=_("Decorations"))
-        mainSizer.Add(item=notebook, proportion=0,
+        mainSizer.Add(notebook, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_RIGHT, border=5)
 
         self.btnExport = wx.Button(self, wx.ID_OK)
@@ -943,7 +943,7 @@ class ExportDialog(wx.Dialog):
         btnStdSizer.AddButton(self.btnCancel)
         btnStdSizer.Realize()
 
-        mainSizer.Add(item=btnStdSizer, proportion=0,
+        mainSizer.Add(btnStdSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_RIGHT, border=5)
         self.SetSizer(mainSizer)
 
@@ -1156,7 +1156,7 @@ class ExportDialog(wx.Dialog):
             lambda event: self.ChangeFormat(
                 event.GetSelection()))
         hSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 panel,
                 id=wx.ID_ANY,
                 label=_("Export to:")),
@@ -1164,12 +1164,12 @@ class ExportDialog(wx.Dialog):
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=2)
         hSizer.Add(
-            item=self.formatChoice,
+            self.formatChoice,
             proportion=1,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND | wx.ALL,
             border=2)
         borderSizer.Add(
-            item=hSizer,
+            hSizer,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=3)
@@ -1216,7 +1216,7 @@ class ExportDialog(wx.Dialog):
         dirGridSizer.Fit(imSeqPanel)
 
         self.formatPanelSizer.Add(
-            item=imSeqPanel,
+            imSeqPanel,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
@@ -1241,7 +1241,7 @@ class ExportDialog(wx.Dialog):
         gifGridSizer.Fit(gifPanel)
 
         self.formatPanelSizer.Add(
-            item=gifPanel,
+            gifPanel,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
@@ -1265,7 +1265,7 @@ class ExportDialog(wx.Dialog):
         swfGridSizer.Fit(swfPanel)
 
         self.formatPanelSizer.Add(
-            item=swfPanel,
+            swfPanel,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
@@ -1325,7 +1325,7 @@ class ExportDialog(wx.Dialog):
         aviGridSizer.Fit(aviPanel)
 
         self.formatPanelSizer.Add(
-            item=aviPanel,
+            aviPanel,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
@@ -1859,7 +1859,7 @@ class PreferencesDialog(PreferencesBaseDialog):
 
         row = 0
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 label=_("Background color:")),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
@@ -1876,11 +1876,11 @@ class PreferencesDialog(PreferencesBaseDialog):
         color.SetName('GetColour')
         self.winId['animation:bgcolor:color'] = color.GetId()
 
-        gridSizer.Add(item=color, pos=(row, 1), flag=wx.ALIGN_RIGHT)
+        gridSizer.Add(color, pos=(row, 1), flag=wx.ALIGN_RIGHT)
 
         row += 1
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 label=_("Number of parallel processes:")),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
@@ -1905,11 +1905,11 @@ class PreferencesDialog(PreferencesBaseDialog):
         nprocs.SetName('GetValue')
         self.winId['animation:nprocs:value'] = nprocs.GetId()
 
-        gridSizer.Add(item=nprocs, pos=(row, 1), flag=wx.ALIGN_RIGHT)
+        gridSizer.Add(nprocs, pos=(row, 1), flag=wx.ALIGN_RIGHT)
 
         row += 1
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 label=_("Text foreground color:")),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
@@ -1926,11 +1926,11 @@ class PreferencesDialog(PreferencesBaseDialog):
         color.SetName('GetColour')
         self.winId['animation:font:fgcolor'] = color.GetId()
 
-        gridSizer.Add(item=color, pos=(row, 1), flag=wx.ALIGN_RIGHT)
+        gridSizer.Add(color, pos=(row, 1), flag=wx.ALIGN_RIGHT)
 
         row += 1
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 label=_("Text background color:")),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
@@ -1947,15 +1947,15 @@ class PreferencesDialog(PreferencesBaseDialog):
         color.SetName('GetColour')
         self.winId['animation:font:bgcolor'] = color.GetId()
 
-        gridSizer.Add(item=color, pos=(row, 1), flag=wx.ALIGN_RIGHT)
+        gridSizer.Add(color, pos=(row, 1), flag=wx.ALIGN_RIGHT)
 
         gridSizer.AddGrowableCol(1)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=3)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
         panel.SetSizer(border)
 
         return panel
@@ -1972,7 +1972,7 @@ class PreferencesDialog(PreferencesBaseDialog):
 
         row = 0
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 label=_("Absolute time format:")),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
@@ -1983,7 +1983,7 @@ class PreferencesDialog(PreferencesBaseDialog):
         self.tempFormat.SetItems(self._timeFormats)
         self.tempFormat.SetValue(self._initFormat)
         self.winId['animation:temporal:format'] = self.tempFormat.GetId()
-        gridSizer.Add(item=self.tempFormat, pos=(row, 1), flag=wx.ALIGN_RIGHT)
+        gridSizer.Add(self.tempFormat, pos=(row, 1), flag=wx.ALIGN_RIGHT)
         self.infoTimeLabel = wx.StaticText(parent=panel)
         self.tempFormat.Bind(
             wx.EVT_COMBOBOX,
@@ -1998,7 +1998,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 "different date and time formats. "
                 "Type custom format string."))
         row += 1
-        gridSizer.Add(item=self.infoTimeLabel, pos=(row, 0), span=(1, 2),
+        gridSizer.Add(self.infoTimeLabel, pos=(row, 0), span=(1, 2),
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT)
         self._setTimeFormat(self.tempFormat.GetValue())
 
@@ -2009,12 +2009,12 @@ class PreferencesDialog(PreferencesBaseDialog):
             url="http://docs.python.org/2/library/datetime.html#"
             "strftime-and-strptime-behavior")
         link.SetNormalColour(
-            wx.SystemSettings_GetColour(
+            wx.SystemSettings.GetColour(
                 wx.SYS_COLOUR_GRAYTEXT))
         link.SetVisitedColour(
-            wx.SystemSettings_GetColour(
+            wx.SystemSettings.GetColour(
                 wx.SYS_COLOUR_GRAYTEXT))
-        gridSizer.Add(item=link, pos=(row, 0), span=(1, 2),
+        gridSizer.Add(link, pos=(row, 0), span=(1, 2),
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT)
 
         row += 2
@@ -2033,16 +2033,16 @@ class PreferencesDialog(PreferencesBaseDialog):
                     'nodata',
                     'enable']))
         self.winId['animation:temporal:nodata:enable'] = noDataCheck.GetId()
-        gridSizer.Add(item=noDataCheck, pos=(row, 0), span=(1, 2),
+        gridSizer.Add(noDataCheck, pos=(row, 0), span=(1, 2),
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT)
 
         gridSizer.AddGrowableCol(1)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=3)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
         panel.SetSizer(border)
 
         return panel

+ 12 - 12
gui/wxpython/animation/frame.py

@@ -344,11 +344,11 @@ class AnimationsPanel(wx.Panel):
         wx.Panel.__init__(self, parent, id=wx.ID_ANY, style=wx.NO_BORDER)
         self.shown = []
         self.count = initialCount
-        self.mainSizer = wx.FlexGridSizer(rows=2, hgap=0, vgap=0)
+        self.mainSizer = wx.FlexGridSizer(cols=2, hgap=0, vgap=0)
         for i in range(initialCount):
             w = AnimationWindow(self)
             windows.append(w)
-            self.mainSizer.Add(item=w, proportion=1, flag=wx.EXPAND)
+            self.mainSizer.Add(w, proportion=1, flag=wx.EXPAND)
 
         self.mainSizer.AddGrowableCol(0)
         self.mainSizer.AddGrowableCol(1)
@@ -478,12 +478,12 @@ class SimpleAnimationSlider(AnimationSliderBase):
 
     def _doLayout(self):
         hbox = wx.BoxSizer(wx.HORIZONTAL)
-        hbox.Add(item=self.indexField, proportion=0,
+        hbox.Add(self.indexField, proportion=0,
                  flag=wx.ALIGN_CENTER | wx.LEFT, border=5)
-        hbox.Add(item=self.label1, proportion=0,
+        hbox.Add(self.label1, proportion=0,
                  flag=wx.ALIGN_CENTER | wx.LEFT | wx.RIGHT, border=5)
         hbox.Add(
-            item=self.slider,
+            self.slider,
             proportion=1,
             flag=wx.ALIGN_CENTER | wx.EXPAND,
             border=0)
@@ -523,25 +523,25 @@ class TimeAnimationSlider(AnimationSliderBase):
     def _doLayout(self):
         vbox = wx.BoxSizer(wx.VERTICAL)
         hbox = wx.BoxSizer(wx.HORIZONTAL)
-        hbox.Add(item=self.label1, proportion=0,
+        hbox.Add(self.label1, proportion=0,
                  flag=wx.ALIGN_CENTER_VERTICAL, border=0)
         hbox.AddStretchSpacer()
-        hbox.Add(item=self.indexField, proportion=0,
+        hbox.Add(self.indexField, proportion=0,
                  flag=wx.ALIGN_CENTER_VERTICAL, border=0)
-        hbox.Add(item=self.label2, proportion=0,
+        hbox.Add(self.label2, proportion=0,
                  flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT, border=3)
         hbox.AddStretchSpacer()
-        hbox.Add(item=self.label3, proportion=0,
+        hbox.Add(self.label3, proportion=0,
                  flag=wx.ALIGN_CENTER_VERTICAL, border=0)
-        vbox.Add(item=hbox, proportion=0, flag=wx.EXPAND, border=0)
+        vbox.Add(hbox, proportion=0, flag=wx.EXPAND, border=0)
 
         hbox = wx.BoxSizer(wx.HORIZONTAL)
         hbox.Add(
-            item=self.slider,
+            self.slider,
             proportion=1,
             flag=wx.ALIGN_CENTER | wx.EXPAND,
             border=0)
-        vbox.Add(item=hbox, proportion=0, flag=wx.EXPAND, border=0)
+        vbox.Add(hbox, proportion=0, flag=wx.EXPAND, border=0)
 
         self._setTemporalType()
         self.SetSizerAndFit(vbox)

+ 4 - 3
gui/wxpython/animation/mapwindow.py

@@ -17,6 +17,7 @@ This program is free software under the GNU General Public License
 
 import wx
 from core.debug import Debug
+from gui_core.wrap import PseudoDC, EmptyBitmap
 from utils import ComputeScaledRect
 
 
@@ -70,7 +71,7 @@ class BufferedWindow(wx.Window):
         # Make new offscreen bitmap: this bitmap will always have the
         # current drawing in it, so it can be used to save the image to
         # a file, or whatever.
-        self._Buffer = wx.EmptyBitmap(*size)
+        self._Buffer = EmptyBitmap(*size)
         self.UpdateDrawing()
         # event.Skip()
 
@@ -105,9 +106,9 @@ class AnimationWindow(BufferedWindow):
                  wx.BORDER_RAISED):
         Debug.msg(2, "AnimationWindow.__init__()")
 
-        self.bitmap = wx.EmptyBitmap(1, 1)
+        self.bitmap = EmptyBitmap(1, 1)
         self.parent = parent
-        self._pdc = wx.PseudoDC()
+        self._pdc = PseudoDC()
         self._overlay = None
         self._tmpMousePos = None
         self.x = self.y = 0

+ 21 - 2
gui/wxpython/core/globalvar.py

@@ -46,6 +46,12 @@ except IOError:
 from grass.script.core import get_commands
 
 
+def CheckWxPhoenix():
+    if 'phoenix' in wx.version():
+        return True
+    return False
+
+
 def CheckWxVersion(version):
     """Check wx version"""
     ver = wx.__version__
@@ -66,9 +72,12 @@ def CheckForWx(forceVersion=os.getenv('GRASS_WXVERSION', None)):
     minVersion = [2, 8, 10, 1]
     try:
         try:
+            # Note that Phoenix doesn't have wxversion anymore
             import wxversion
         except ImportError as e:
-            raise ImportError(e)
+            # if there is no wx raises ImportError
+            import wx
+            return
         if forceVersion:
             wxversion.select(forceVersion)
         wxversion.ensureMinimal(str(minVersion[0]) + '.' + str(minVersion[1]))
@@ -94,7 +103,16 @@ def CheckForWx(forceVersion=os.getenv('GRASS_WXVERSION', None)):
 if not os.getenv("GRASS_WXBUNDLED"):
     CheckForWx()
 import wx
-import wx.lib.flatnotebook as FN
+
+if CheckWxPhoenix():
+    try:
+        import agw.flatnotebook as FN
+    except ImportError: # if it's not there locally, try the wxPython lib.
+        import wx.lib.agw.flatnotebook as FN
+else:
+    import wx.lib.flatnotebook as FN
+
+
 
 """
 Query layer (generated for example by selecting item in the Attribute Table Manager)
@@ -216,6 +234,7 @@ toolbarSize = (24, 24)
 """@Check version of wxPython, use agwStyle for 2.8.11+"""
 hasAgw = CheckWxVersion([2, 8, 11, 0])
 wxPython3 = CheckWxVersion([3, 0, 0, 0])
+wxPythonPhoenix = CheckWxPhoenix()
 
 gtk3 = True if 'gtk3' in wx.PlatformInfo else False
 

+ 7 - 4
gui/wxpython/core/utils.py

@@ -1070,10 +1070,10 @@ def PilImageToWxImage(pilImage, copyAlpha=True):
 
     Based on http://wiki.wxpython.org/WorkingWithImages
     """
-    import wx
+    from gui_core.wrap import EmptyImage
     hasAlpha = pilImage.mode[-1] == 'A'
     if copyAlpha and hasAlpha:  # Make sure there is an alpha layer copy.
-        wxImage = wx.EmptyImage(*pilImage.size)
+        wxImage = EmptyImage(*pilImage.size)
         pilImageCopyRGBA = pilImage.copy()
         pilImageCopyRGB = pilImageCopyRGBA.convert('RGB')    # RGBA --> RGB
         fn = getattr(
@@ -1091,10 +1091,13 @@ def PilImageToWxImage(pilImage, copyAlpha=True):
                 pilImageCopyRGBA,
                 "tostring"))
         # Create layer and insert alpha values.
-        wxImage.SetAlphaData(fn()[3::4])
+        if globalvar.wxPythonPhoenix:
+            wxImage.SetAlpha(fn()[3::4])
+        else:
+            wxImage.SetAlphaData(fn()[3::4])
 
     else:    # The resulting image will not have alpha.
-        wxImage = wx.EmptyImage(*pilImage.size)
+        wxImage = EmptyImage(*pilImage.size)
         pilImageCopy = pilImage.copy()
         # Discard any alpha from the PIL image.
         pilImageCopyRGB = pilImageCopy.convert('RGB')

+ 2 - 2
gui/wxpython/datacatalog/catalog.py

@@ -60,10 +60,10 @@ class DataCatalog(wx.Panel):
         """Do layout"""
         sizer = wx.BoxSizer(wx.VERTICAL)
 
-        sizer.Add(item=self.toolbar, proportion=0,
+        sizer.Add(self.toolbar, proportion=0,
                   flag=wx.EXPAND)
 
-        sizer.Add(item=self.tree.GetControl(), proportion=1,
+        sizer.Add(self.tree.GetControl(), proportion=1,
                   flag=wx.EXPAND)
 
         self.SetAutoLayout(True)

+ 5 - 5
gui/wxpython/datacatalog/dialogs.py

@@ -89,25 +89,25 @@ class CatalogReprojectionDialog(wx.Dialog):
 
         dialogSizer.Add(wx.StaticText(self.panel, label=_("The copied layer needs to be reprojected:")),
                         flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, border=5)
-        dialogSizer.Add(item=self.settingsPanel, proportion=1,
+        dialogSizer.Add(self.settingsPanel, proportion=1,
                         flag=wx.ALL | wx.EXPAND, border=5)
-        dialogSizer.Add(item=self.closeOnFinished, flag=wx.ALL | wx.EXPAND, border=5)
+        dialogSizer.Add(self.closeOnFinished, flag=wx.ALL | wx.EXPAND, border=5)
 
         #
         # buttons
         #
         btnsizer = wx.BoxSizer(orient=wx.HORIZONTAL)
 
-        btnsizer.Add(item=self.btn_close, proportion=0,
+        btnsizer.Add(self.btn_close, proportion=0,
                      flag=wx.LEFT | wx.RIGHT | wx.ALIGN_CENTER,
                      border=10)
 
-        btnsizer.Add(item=self.btn_run, proportion=0,
+        btnsizer.Add(self.btn_run, proportion=0,
                      flag=wx.RIGHT | wx.ALIGN_CENTER,
                      border=10)
 
         dialogSizer.Add(
-            item=btnsizer,
+            btnsizer,
             proportion=0,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT,
             border=5)

+ 1 - 1
gui/wxpython/datacatalog/frame.py

@@ -80,7 +80,7 @@ class DataCatalogFrame(wx.Frame):
         btnSizer.AddStretchSpacer()
         btnSizer.Add(self.btnClose)
 
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.ALL | wx.ALIGN_RIGHT | wx.EXPAND,
                   border=5)
 

+ 94 - 79
gui/wxpython/dbmgr/base.py

@@ -40,7 +40,14 @@ import math
 from core import globalvar
 import wx
 import wx.lib.mixins.listctrl as listmix
-import wx.lib.flatnotebook as FN
+
+if globalvar.wxPythonPhoenix:
+    try:
+        import agw.flatnotebook as FN
+    except ImportError: # if it's not there locally, try the wxPython lib.
+        import wx.lib.agw.flatnotebook as FN
+else:
+    import wx.lib.flatnotebook as FN
 import wx.lib.scrolledpanel as scrolled
 
 import grass.script as grass
@@ -53,7 +60,7 @@ from dbmgr.vinfo import VectorDBInfo, GetUnicodeValue, CreateDbInfoDesc
 from core.debug import Debug
 from dbmgr.dialogs import ModifyTableRecord, AddColumnDialog
 from core.settings import UserSettings
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 
 
 class Log:
@@ -109,10 +116,10 @@ class VirtualAttributeList(wx.ListCtrl,
         self.attr2.SetBackgroundColour("white")
         self.il = wx.ImageList(16, 16)
         self.sm_up = self.il.Add(
-            wx.ArtProvider_GetBitmap(
+            wx.ArtProvider.GetBitmap(
                 wx.ART_GO_UP, wx.ART_TOOLBAR, (16, 16)))
         self.sm_dn = self.il.Add(
-            wx.ArtProvider_GetBitmap(
+            wx.ArtProvider.GetBitmap(
                 wx.ART_GO_DOWN, wx.ART_TOOLBAR, (16, 16)))
         self.SetImageList(self.il, wx.IMAGE_LIST_SMALL)
 
@@ -233,16 +240,24 @@ class VirtualAttributeList(wx.ListCtrl,
 
         i = 0
         info = wx.ListItem()
-        info.m_mask = wx.LIST_MASK_TEXT | wx.LIST_MASK_IMAGE | wx.LIST_MASK_FORMAT
-        info.m_image = -1
-        info.m_format = 0
+        if globalvar.wxPythonPhoenix:
+            info.Mask = wx.LIST_MASK_TEXT | wx.LIST_MASK_IMAGE | wx.LIST_MASK_FORMAT
+            info.Image = -1
+            info.Format = 0
+        else:
+            info.m_mask = wx.LIST_MASK_TEXT | wx.LIST_MASK_IMAGE | wx.LIST_MASK_FORMAT
+            info.m_image = -1
+            info.m_format = 0
         for column in columns:
-            info.m_text = column
-            self.InsertColumnInfo(i, info)
+            if globalvar.wxPythonPhoenix:
+                info.Text = column
+                self.InsertColumn(i, info)
+            else:
+                info.m_text = column
+                self.InsertColumnInfo(i, info)
             i += 1
-
             if i >= 256:
-                self.log.write(_("Can display only 256 columns."))
+                    self.log.write(_("Can display only 256 columns."))
 
         i = 0
         outFile.seek(0)
@@ -1149,7 +1164,7 @@ class DbMgrBrowsePage(DbMgrNotebookBase):
             win.Bind(wx.EVT_LEFT_DCLICK, self.OnDataDrawSelected)
             win.Bind(wx.EVT_COMMAND_LEFT_DCLICK, self.OnDataDrawSelected)
 
-        listSizer.Add(item=win, proportion=1,
+        listSizer.Add(win, proportion=1,
                       flag=wx.EXPAND | wx.ALL,
                       border=3)
 
@@ -1232,24 +1247,24 @@ class DbMgrBrowsePage(DbMgrNotebookBase):
         sqlSimpleWhereSizer = wx.BoxSizer(wx.HORIZONTAL)
 
         sqlSimpleWhereSizer.Add(
-            item=sqlWhereColumn,
+            sqlWhereColumn,
             flag=wx.EXPAND | wx.ALIGN_CENTER_VERTICAL | wx.LEFT,
             border=3)
         sqlSimpleWhereSizer.Add(
-            item=sqlWhereCond,
+            sqlWhereCond,
             flag=wx.EXPAND | wx.ALIGN_CENTER_VERTICAL | wx.LEFT,
             border=3)
         sqlSimpleWhereSizer.Add(
-            item=sqlWhereValue,
+            sqlWhereValue,
             proportion=1,
             flag=wx.EXPAND | wx.ALIGN_CENTER_VERTICAL | wx.LEFT,
             border=3)
         whereSimpleSqlPanel.SetSizer(sqlSimpleWhereSizer)
-        simpleSqlSizer.Add(item=sqlLabel, border=5, pos=(0, 0),
+        simpleSqlSizer.Add(sqlLabel, border=5, pos=(0, 0),
                            flag=wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.LEFT)
-        simpleSqlSizer.Add(item=whereSimpleSqlPanel, border=5, pos=(0, 1),
+        simpleSqlSizer.Add(whereSimpleSqlPanel, border=5, pos=(0, 1),
                            flag=wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.EXPAND)
-        simpleSqlSizer.Add(item=btnApply, border=5, pos=(0, 2),
+        simpleSqlSizer.Add(btnApply, border=5, pos=(0, 2),
                            flag=wx.ALIGN_CENTER_VERTICAL | wx.TOP)
         simpleSqlSizer.AddGrowableCol(1)
 
@@ -1259,27 +1274,27 @@ class DbMgrBrowsePage(DbMgrNotebookBase):
         advancedSqlSizer = wx.FlexGridSizer(cols=2, hgap=5, vgap=5)
         advancedSqlSizer.AddGrowableCol(0)
 
-        advancedSqlSizer.Add(item=sqlStatement,
+        advancedSqlSizer.Add(sqlStatement,
                              flag=wx.EXPAND | wx.ALL, border=5)
         advancedSqlSizer.Add(
-            item=btnSqlBuilder,
+            btnSqlBuilder,
             flag=wx.ALIGN_RIGHT | wx.TOP | wx.RIGHT | wx.BOTTOM,
             border=5)
 
-        sqlSizer.Add(item=sqlNtb,
+        sqlSizer.Add(sqlNtb,
                      flag=wx.ALL | wx.EXPAND,
                      border=3)
 
         advancedSqlPanel.SetSizer(advancedSqlSizer)
 
-        pageSizer.Add(item=listSizer,
+        pageSizer.Add(listSizer,
                       proportion=1,
                       flag=wx.ALL | wx.EXPAND,
                       border=5)
 
         sqlQueryPanel.SetSizer(sqlSizer)
 
-        pageSizer.Add(item=sqlQueryPanel,
+        pageSizer.Add(sqlQueryPanel,
                       proportion=0,
                       flag=wx.BOTTOM | wx.LEFT | wx.RIGHT | wx.EXPAND,
                       border=5)
@@ -2261,7 +2276,7 @@ class DbMgrTablesPage(DbMgrNotebookBase):
                              label=" %s " % _("Database connection"))
         dbSizer = wx.StaticBoxSizer(dbBox, wx.VERTICAL)
         dbSizer.Add(
-            item=CreateDbInfoDesc(
+            CreateDbInfoDesc(
                 panel,
                 self.dbMgrData['mapDBInfo'],
                 layer),
@@ -2298,13 +2313,13 @@ class DbMgrTablesPage(DbMgrNotebookBase):
         column.Bind(wx.EVT_TEXT_ENTER, self.OnTableItemAdd)
         self.layerPage[layer]['addColName'] = column.GetId()
         addSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("Column")),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
             border=5)
-        addSizer.Add(item=column, proportion=1,
+        addSizer.Add(column, proportion=1,
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
                      border=5)
 
@@ -2317,29 +2332,29 @@ class DbMgrTablesPage(DbMgrNotebookBase):
         ctype.Bind(wx.EVT_CHOICE, self.OnTableChangeType)
         self.layerPage[layer]['addColType'] = ctype.GetId()
         addSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("Type")),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
             border=5)
-        addSizer.Add(item=ctype,
+        addSizer.Add(ctype,
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
                      border=5)
 
         length = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                             initial=250,
-                             min=1, max=1e6)
+                          initial=250,
+                          min=1, max=1e6)
         length.Enable(False)
         self.layerPage[layer]['addColLength'] = length.GetId()
         addSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("Length")),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
             border=5)
-        addSizer.Add(item=length,
+        addSizer.Add(length,
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
                      border=5)
 
@@ -2347,7 +2362,7 @@ class DbMgrTablesPage(DbMgrNotebookBase):
         btnAddCol.Bind(wx.EVT_BUTTON, self.OnTableItemAdd)
         btnAddCol.Enable(False)
         self.layerPage[layer]['addColButton'] = btnAddCol.GetId()
-        addSizer.Add(item=btnAddCol, flag=wx.ALL | wx.ALIGN_RIGHT | wx.EXPAND,
+        addSizer.Add(btnAddCol, flag=wx.ALL | wx.ALIGN_RIGHT | wx.EXPAND,
                      border=3)
 
         # manage columns (rename)
@@ -2362,13 +2377,13 @@ class DbMgrTablesPage(DbMgrNotebookBase):
         columnFrom.SetSelection(0)
         self.layerPage[layer]['renameCol'] = columnFrom.GetId()
         renameSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("Column")),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
             border=5)
-        renameSizer.Add(item=columnFrom, proportion=1,
+        renameSizer.Add(columnFrom, proportion=1,
                         flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
                         border=5)
 
@@ -2378,13 +2393,13 @@ class DbMgrTablesPage(DbMgrNotebookBase):
         columnTo.Bind(wx.EVT_TEXT_ENTER, self.OnTableItemChange)
         self.layerPage[layer]['renameColTo'] = columnTo.GetId()
         renameSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("To")),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
             border=5)
-        renameSizer.Add(item=columnTo, proportion=1,
+        renameSizer.Add(columnTo, proportion=1,
                         flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
                         border=5)
 
@@ -2396,30 +2411,30 @@ class DbMgrTablesPage(DbMgrNotebookBase):
         btnRenameCol.Enable(False)
         self.layerPage[layer]['renameColButton'] = btnRenameCol.GetId()
         renameSizer.Add(
-            item=btnRenameCol,
+            btnRenameCol,
             flag=wx.ALL | wx.ALIGN_RIGHT | wx.EXPAND,
             border=3)
 
-        tableSizer.Add(item=tlist,
+        tableSizer.Add(tlist,
                        flag=wx.ALL | wx.EXPAND,
                        proportion=1,
                        border=3)
 
-        pageSizer.Add(item=dbSizer,
+        pageSizer.Add(dbSizer,
                       flag=wx.ALL | wx.EXPAND,
                       proportion=0,
                       border=3)
 
-        pageSizer.Add(item=tableSizer,
+        pageSizer.Add(tableSizer,
                       flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
                       proportion=1,
                       border=3)
 
-        pageSizer.Add(item=addSizer,
+        pageSizer.Add(addSizer,
                       flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
                       proportion=0,
                       border=3)
-        pageSizer.Add(item=renameSizer,
+        pageSizer.Add(renameSizer,
                       flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
                       proportion=0,
                       border=3)
@@ -2759,12 +2774,12 @@ class DbMgrLayersPage(wx.Panel):
             self.OnLayerRightUp)  # wxMSW
         self.layerList.Bind(wx.EVT_RIGHT_UP, self.OnLayerRightUp)  # wxGTK
 
-        layerSizer.Add(item=self.layerList,
+        layerSizer.Add(self.layerList,
                        flag=wx.ALL | wx.EXPAND,
                        proportion=1,
                        border=3)
 
-        panelListSizer.Add(item=layerSizer,
+        panelListSizer.Add(layerSizer,
                            flag=wx.ALL | wx.EXPAND,
                            proportion=1,
                            border=3)
@@ -2783,13 +2798,13 @@ class DbMgrLayersPage(wx.Panel):
         if not self.dbMgrData['editable']:
             self.manageLayerBook.Enable(False)
 
-        manageSizer.Add(item=self.manageLayerBook,
+        manageSizer.Add(self.manageLayerBook,
                         proportion=1,
                         flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
                         border=5)
 
         panelSizer = wx.BoxSizer(wx.VERTICAL)
-        panelSizer.Add(item=splitterWin,
+        panelSizer.Add(splitterWin,
                        proportion=1,
                        flag=wx.EXPAND)
 
@@ -3057,8 +3072,8 @@ class LayerBook(wx.Notebook):
                                 (wx.StaticText(parent=self.addPanel, id=wx.ID_ANY,
                                                label='%s:' % _("Layer")),
                                  SpinCtrl(parent=self.addPanel, id=wx.ID_ANY, size=(65, -1),
-                                             initial=maxLayer + 1,
-                                             min=1, max=1e6)),
+                                          initial=maxLayer + 1,
+                                          min=1, max=1e6)),
                                 'driver':
                                     (wx.StaticText(parent=self.addPanel, id=wx.ID_ANY,
                                                    label='%s:' % _("Driver")),
@@ -3155,7 +3170,7 @@ class LayerBook(wx.Notebook):
                 span = (1, 2)
             else:
                 span = (1, 1)
-            dataSizer.Add(item=label,
+            dataSizer.Add(label,
                           flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0),
                           span=span)
 
@@ -3168,34 +3183,34 @@ class LayerBook(wx.Notebook):
             else:
                 style = wx.ALIGN_CENTER_VERTICAL | wx.EXPAND
 
-            dataSizer.Add(item=value,
+            dataSizer.Add(value,
                           flag=style, pos=(row, 1))
 
             row += 1
 
         dataSizer.AddGrowableCol(1)
-        layerSizer.Add(item=dataSizer,
+        layerSizer.Add(dataSizer,
                        proportion=1,
                        flag=wx.ALL | wx.EXPAND,
                        border=5)
 
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
-        btnSizer.Add(item=btnDefault,
+        btnSizer.Add(btnDefault,
                      proportion=0,
                      flag=wx.ALL | wx.ALIGN_LEFT,
                      border=5)
 
-        btnSizer.Add(item=(5, 5),
+        btnSizer.Add((5, 5),
                      proportion=1,
                      flag=wx.ALL | wx.EXPAND,
                      border=5)
 
-        btnSizer.Add(item=btnLayer,
+        btnSizer.Add(btnLayer,
                      proportion=0,
                      flag=wx.ALL | wx.ALIGN_RIGHT,
                      border=5)
 
-        layerSizer.Add(item=btnSizer,
+        layerSizer.Add(btnSizer,
                        proportion=0,
                        flag=wx.ALL | wx.EXPAND,
                        border=0)
@@ -3205,27 +3220,27 @@ class LayerBook(wx.Notebook):
         dataSizer.AddGrowableCol(1)
         for key in ['table', 'key']:
             label, value = self.tableWidgets[key]
-            dataSizer.Add(item=label,
+            dataSizer.Add(label,
                           flag=wx.ALIGN_CENTER_VERTICAL)
-            dataSizer.Add(item=value,
+            dataSizer.Add(value,
                           flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND)
 
-        tableSizer.Add(item=dataSizer,
+        tableSizer.Add(dataSizer,
                        proportion=1,
                        flag=wx.ALL | wx.EXPAND,
                        border=5)
 
-        tableSizer.Add(item=btnTable,
+        tableSizer.Add(btnTable,
                        proportion=0,
                        flag=wx.ALL | wx.ALIGN_BOTTOM | wx.ALIGN_RIGHT,
                        border=5)
 
-        pageSizer.Add(item=layerSizer,
+        pageSizer.Add(layerSizer,
                       proportion=3,
                       flag=wx.ALL | wx.EXPAND,
                       border=3)
 
-        pageSizer.Add(item=tableSizer,
+        pageSizer.Add(tableSizer,
                       proportion=2,
                       flag=wx.TOP | wx.BOTTOM | wx.RIGHT | wx.EXPAND,
                       border=3)
@@ -3284,27 +3299,27 @@ class LayerBook(wx.Notebook):
 
         flexSizer = wx.FlexGridSizer(cols=2, hgap=5, vgap=5)
 
-        flexSizer.Add(item=label,
+        flexSizer.Add(label,
                       flag=wx.ALIGN_CENTER_VERTICAL)
-        flexSizer.Add(item=self.deleteLayer,
+        flexSizer.Add(self.deleteLayer,
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
-        dataSizer.Add(item=flexSizer,
+        dataSizer.Add(flexSizer,
                       proportion=0,
                       flag=wx.ALL | wx.EXPAND,
                       border=1)
 
-        dataSizer.Add(item=self.deleteTable,
+        dataSizer.Add(self.deleteTable,
                       proportion=0,
                       flag=wx.ALL | wx.EXPAND,
                       border=1)
 
-        pageSizer.Add(item=dataSizer,
+        pageSizer.Add(dataSizer,
                       proportion=1,
                       flag=wx.ALL | wx.EXPAND,
                       border=5)
 
-        pageSizer.Add(item=btnDelete,
+        pageSizer.Add(btnDelete,
                       proportion=0,
                       flag=wx.ALL | wx.ALIGN_RIGHT,
                       border=5)
@@ -3404,21 +3419,21 @@ class LayerBook(wx.Notebook):
         dataSizer.AddGrowableCol(1)
         for key in ('layer', 'driver', 'database', 'table', 'key'):
             label, value = self.modifyLayerWidgets[key]
-            dataSizer.Add(item=label,
+            dataSizer.Add(label,
                           flag=wx.ALIGN_CENTER_VERTICAL)
             if key == 'layer':
-                dataSizer.Add(item=value,
+                dataSizer.Add(value,
                               flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT)
             else:
-                dataSizer.Add(item=value,
+                dataSizer.Add(value,
                               flag=wx.ALIGN_CENTER_VERTICAL)
 
-        pageSizer.Add(item=dataSizer,
+        pageSizer.Add(dataSizer,
                       proportion=1,
                       flag=wx.ALL | wx.EXPAND,
                       border=5)
 
-        pageSizer.Add(item=btnModify,
+        pageSizer.Add(btnModify,
                       proportion=0,
                       flag=wx.ALL | wx.ALIGN_RIGHT,
                       border=5)
@@ -3789,28 +3804,28 @@ class FieldStatistics(wx.Frame):
         txtSizer = wx.BoxSizer(wx.VERTICAL)
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
 
-        txtSizer.Add(item=self.text, proportion=1, flag=wx.EXPAND |
+        txtSizer.Add(self.text, proportion=1, flag=wx.EXPAND |
                      wx.ALIGN_CENTER_VERTICAL | wx.ALL, border=5)
 
         self.sp.SetSizer(txtSizer)
         self.sp.SetAutoLayout(True)
         self.sp.SetupScrolling()
 
-        sizer.Add(item=self.sp, proportion=1, flag=wx.GROW |
+        sizer.Add(self.sp, proportion=1, flag=wx.GROW |
                   wx.LEFT | wx.RIGHT | wx.BOTTOM, border=3)
 
         line = wx.StaticLine(parent=self.panel, id=wx.ID_ANY,
                              size=(20, -1), style=wx.LI_HORIZONTAL)
-        sizer.Add(item=line, proportion=0, flag=wx.GROW |
+        sizer.Add(line, proportion=0, flag=wx.GROW |
                   wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, border=3)
 
         # buttons
-        btnSizer.Add(item=self.btnClipboard, proportion=0,
+        btnSizer.Add(self.btnClipboard, proportion=0,
                      flag=wx.ALIGN_LEFT | wx.ALL, border=5)
-        btnSizer.Add(item=self.btnCancel, proportion=0,
+        btnSizer.Add(self.btnCancel, proportion=0,
                      flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
         sizer.Add(
-            item=btnSizer,
+            btnSizer,
             proportion=0,
             flag=wx.ALIGN_RIGHT | wx.ALL,
             border=5)

+ 23 - 23
gui/wxpython/dbmgr/dialogs.py

@@ -30,7 +30,7 @@ from core.debug import Debug
 from core.settings import UserSettings
 from dbmgr.vinfo import VectorDBInfo, GetUnicodeValue
 from gui_core.widgets import IntegerValidator, FloatValidator
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 
 
 class DisplayAttributesDialog(wx.Dialog):
@@ -140,27 +140,27 @@ class DisplayAttributesDialog(wx.Dialog):
         btnSizer.AddButton(btnSubmit)
         btnSizer.Realize()
 
-        mainSizer.Add(item=self.noFoundMsg, proportion=0,
+        mainSizer.Add(self.noFoundMsg, proportion=0,
                       flag=wx.EXPAND | wx.ALL, border=5)
-        mainSizer.Add(item=self.notebook, proportion=1,
+        mainSizer.Add(self.notebook, proportion=1,
                       flag=wx.EXPAND | wx.ALL, border=5)
         fidSizer = wx.BoxSizer(wx.HORIZONTAL)
-        fidSizer.Add(item=wx.StaticText(parent=self, id=wx.ID_ANY,
-                                        label=_("Feature id:")),
+        fidSizer.Add(wx.StaticText(parent=self, id=wx.ID_ANY,
+                                   label=_("Feature id:")),
                      proportion=0, border=5,
                      flag=wx.ALIGN_CENTER_VERTICAL)
-        fidSizer.Add(item=self.fidMulti, proportion=0,
+        fidSizer.Add(self.fidMulti, proportion=0,
                      flag=wx.EXPAND | wx.ALL, border=5)
-        fidSizer.Add(item=self.fidText, proportion=0,
+        fidSizer.Add(self.fidText, proportion=0,
                      flag=wx.EXPAND | wx.ALL, border=5)
-        mainSizer.Add(item=fidSizer, proportion=0,
+        mainSizer.Add(fidSizer, proportion=0,
                       flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
         mainSizer.Add(
-            item=self.closeDialog,
+            self.closeDialog,
             proportion=0,
             flag=wx.EXPAND | wx.LEFT | wx.RIGHT,
             border=5)
-        mainSizer.Add(item=btnSizer, proportion=0,
+        mainSizer.Add(btnSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         # bindigs
@@ -565,7 +565,7 @@ class DisplayAttributesDialog(wx.Dialog):
                         colValue.GetId())  # name, type, values, id
                 # for each attribute (including category) END
                 border.Add(
-                    item=flexSizer,
+                    flexSizer,
                     proportion=1,
                     flag=wx.ALL | wx.EXPAND,
                     border=5)
@@ -693,7 +693,7 @@ class ModifyTableRecord(wx.Dialog):
         dataSizer.Fit(self.dataPanel)
 
         if self.usebox:
-            self.boxSizer.Add(item=self.dataPanel, proportion=1,
+            self.boxSizer.Add(self.dataPanel, proportion=1,
                               flag=wx.EXPAND | wx.ALL, border=5)
 
         # buttons
@@ -703,13 +703,13 @@ class ModifyTableRecord(wx.Dialog):
         btnSizer.Realize()
 
         if not self.usebox:
-            sizer.Add(item=self.dataPanel, proportion=1,
+            sizer.Add(self.dataPanel, proportion=1,
                       flag=wx.EXPAND | wx.ALL, border=5)
         else:
-            sizer.Add(item=self.boxSizer, proportion=1,
+            sizer.Add(self.boxSizer, proportion=1,
                       flag=wx.EXPAND | wx.ALL, border=5)
 
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.EXPAND | wx.ALL, border=5)
 
         framewidth = self.GetBestSize()[0] + 25
@@ -782,39 +782,39 @@ class AddColumnDialog(wx.Dialog):
         addSizer = wx.BoxSizer(wx.HORIZONTAL)
 
         addSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 id=wx.ID_ANY,
                 label=_("Column")),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
             border=5)
-        addSizer.Add(item=self.data['addColName'], proportion=1,
+        addSizer.Add(self.data['addColName'], proportion=1,
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
                      border=5)
 
         addSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 id=wx.ID_ANY,
                 label=_("Type")),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
             border=5)
-        addSizer.Add(item=self.data['addColType'],
+        addSizer.Add(self.data['addColType'],
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
                      border=5)
 
         addSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 id=wx.ID_ANY,
                 label=_("Length")),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
             border=5)
-        addSizer.Add(item=self.data['addColLength'],
+        addSizer.Add(self.data['addColLength'],
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
                      border=5)
 
-        sizer.Add(item=addSizer, proportion=0,
+        sizer.Add(addSizer, proportion=0,
                   flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
 
         btnSizer = wx.StdDialogButtonSizer()
@@ -822,7 +822,7 @@ class AddColumnDialog(wx.Dialog):
         btnSizer.AddButton(self.btnOk)
         btnSizer.Realize()
 
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
 
         self.SetSizer(sizer)

+ 15 - 8
gui/wxpython/dbmgr/manager.py

@@ -26,11 +26,18 @@ import sys
 import os
 
 import wx
-import wx.lib.flatnotebook as FN
+from core import globalvar
+if globalvar.wxPythonPhoenix:
+    try:
+        import agw.flatnotebook as FN
+    except ImportError: # if it's not there locally, try the wxPython lib.
+        import wx.lib.agw.flatnotebook as FN
+else:
+    import wx.lib.flatnotebook as FN
 
 import grass.script as grass
 
-from core import globalvar
+
 from core.gcmd import GMessage
 from core.debug import Debug
 from core.utils import _
@@ -95,7 +102,7 @@ class AttributeManager(wx.Frame, DbMgrBase):
                     "'Manage layers' tab.") %
                 self.dbMgrData['vectName'])
 
-        busy = wx.BusyInfo(message=_("Please wait, loading attribute data..."),
+        busy = wx.BusyInfo(_("Please wait, loading attribute data..."),
                            parent=self.parent)
         wx.SafeYield()
         self.CreateStatusBar(number=1)
@@ -161,15 +168,15 @@ class AttributeManager(wx.Frame, DbMgrBase):
 
         # buttons
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
-        btnSizer.Add(item=self.btnReset, proportion=1,
+        btnSizer.Add(self.btnReset, proportion=1,
                      flag=wx.ALL | wx.ALIGN_RIGHT, border=5)
-        btnSizer.Add(item=self.btnReload, proportion=1,
+        btnSizer.Add(self.btnReload, proportion=1,
                      flag=wx.ALL | wx.ALIGN_RIGHT, border=5)
-        btnSizer.Add(item=self.btnClose, proportion=1,
+        btnSizer.Add(self.btnClose, proportion=1,
                      flag=wx.ALL | wx.ALIGN_RIGHT, border=5)
 
-        mainSizer.Add(item=self.notebook, proportion=1, flag=wx.EXPAND)
-        mainSizer.Add(item=btnSizer, flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
+        mainSizer.Add(self.notebook, proportion=1, flag=wx.EXPAND)
+        mainSizer.Add(btnSizer, flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
 
         self.panel.SetAutoLayout(True)
         self.panel.SetSizer(mainSizer)

+ 46 - 46
gui/wxpython/dbmgr/sqlbuilder.py

@@ -95,7 +95,7 @@ class SQLBuilder(wx.Frame):
                                    label=" %s " % _("Database connection"))
         databaseboxsizer = wx.StaticBoxSizer(databasebox, wx.VERTICAL)
         databaseboxsizer.Add(
-            item=CreateDbInfoDesc(
+            CreateDbInfoDesc(
                 self.panel,
                 self.dbInfo,
                 layer=self.layer),
@@ -118,7 +118,7 @@ class SQLBuilder(wx.Frame):
         self.text_sql.SetInsertionPointEnd()
         wx.CallAfter(self.text_sql.SetFocus)
 
-        sqlboxsizer.Add(item=self.text_sql, flag=wx.EXPAND)
+        sqlboxsizer.Add(self.text_sql, flag=wx.EXPAND)
 
         #
         # buttons
@@ -151,60 +151,60 @@ class SQLBuilder(wx.Frame):
             self.btn_logic[key].append(btn.GetId())
 
         self.buttonsizer = wx.FlexGridSizer(cols=4, hgap=5, vgap=5)
-        self.buttonsizer.Add(item=self.btn_clear)
-        self.buttonsizer.Add(item=self.btn_apply)
-        self.buttonsizer.Add(item=self.btn_close)
+        self.buttonsizer.Add(self.btn_clear)
+        self.buttonsizer.Add(self.btn_apply)
+        self.buttonsizer.Add(self.btn_close)
 
         btn_logicsizer = wx.GridBagSizer(5, 5)
         btn_logicsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_logic['is'][1]), pos=(
                 0, 0))
         btn_logicsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_logic['isnot'][1]), pos=(
                 1, 0))
         btn_logicsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_logic['like'][1]), pos=(
                 2, 0))
 
         btn_logicsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_logic['gt'][1]), pos=(
                 0, 1))
         btn_logicsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_logic['ge'][1]), pos=(
                 1, 1))
         btn_logicsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_logic['or'][1]), pos=(
                 2, 1))
 
         btn_logicsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_logic['lt'][1]), pos=(
                 0, 2))
         btn_logicsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_logic['le'][1]), pos=(
                 1, 2))
         btn_logicsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_logic['not'][1]), pos=(
                 2, 2))
 
         btn_logicsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_logic['brac'][1]), pos=(
                 0, 3))
         btn_logicsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_logic['prc'][1]), pos=(
                 1, 3))
         btn_logicsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_logic['and'][1]), pos=(
                 2, 3))
 
@@ -224,7 +224,7 @@ class SQLBuilder(wx.Frame):
             choices=self.dbInfo.GetColumns(
                 self.tablename),
             style=wx.LB_MULTIPLE)
-        columnsizer.Add(item=self.list_columns, proportion=1,
+        columnsizer.Add(self.list_columns, proportion=1,
                         flag=wx.EXPAND)
 
         modesizer = wx.BoxSizer(wx.VERTICAL)
@@ -236,7 +236,7 @@ class SQLBuilder(wx.Frame):
                                 majorDimension=1)
 
         self.mode.SetSelection(1)  # default 'values'
-        modesizer.Add(item=self.mode, proportion=1,
+        modesizer.Add(self.mode, proportion=1,
                       flag=wx.ALIGN_CENTER_HORIZONTAL | wx.EXPAND, border=5)
 
         # self.list_columns.SetMinSize((-1,130))
@@ -249,7 +249,7 @@ class SQLBuilder(wx.Frame):
         self.list_values = wx.ListBox(parent=self.valuespanel, id=wx.ID_ANY,
                                       choices=self.colvalues,
                                       style=wx.LB_MULTIPLE)
-        valuesizer.Add(item=self.list_values, proportion=1,
+        valuesizer.Add(self.list_values, proportion=1,
                        flag=wx.EXPAND)
         self.valuespanel.SetSizer(valuesizer)
 
@@ -265,12 +265,12 @@ class SQLBuilder(wx.Frame):
         self.btn_uniquesample.Enable(False)
 
         buttonsizer3 = wx.BoxSizer(wx.HORIZONTAL)
-        buttonsizer3.Add(item=self.btn_uniquesample, proportion=0,
+        buttonsizer3.Add(self.btn_uniquesample, proportion=0,
                          flag=wx.ALIGN_CENTER_HORIZONTAL | wx.RIGHT, border=5)
-        buttonsizer3.Add(item=self.btn_unique, proportion=0,
+        buttonsizer3.Add(self.btn_unique, proportion=0,
                          flag=wx.ALIGN_CENTER_HORIZONTAL)
 
-        valuesizer.Add(item=buttonsizer3, proportion=0,
+        valuesizer.Add(buttonsizer3, proportion=0,
                        flag=wx.TOP, border=5)
 
         # go to
@@ -279,45 +279,45 @@ class SQLBuilder(wx.Frame):
             parent=self.valuespanel,
             id=wx.ID_ANY,
             style=wx.TE_PROCESS_ENTER)
-        gotosizer.Add(item=wx.StaticText(parent=self.valuespanel, id=wx.ID_ANY,
-                                         label=_("Go to:")), proportion=0,
+        gotosizer.Add(wx.StaticText(parent=self.valuespanel, id=wx.ID_ANY,
+                                    label=_("Go to:")), proportion=0,
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, border=5)
-        gotosizer.Add(item=self.goto, proportion=1,
+        gotosizer.Add(self.goto, proportion=1,
                       flag=wx.EXPAND)
-        valuesizer.Add(item=gotosizer, proportion=0,
+        valuesizer.Add(gotosizer, proportion=0,
                        flag=wx.ALL | wx.EXPAND, border=5)
 
-        self.hsizer.Add(item=columnsizer, proportion=1,
+        self.hsizer.Add(columnsizer, proportion=1,
                         flag=wx.EXPAND)
-        self.hsizer.Add(item=self.valuespanel, proportion=1,
+        self.hsizer.Add(self.valuespanel, proportion=1,
                         flag=wx.EXPAND)
 
         self.close_onapply = wx.CheckBox(parent=self.panel, id=wx.ID_ANY,
                                          label=_("Close dialog on apply"))
         self.close_onapply.SetValue(True)
 
-        self.pagesizer.Add(item=databaseboxsizer,
+        self.pagesizer.Add(databaseboxsizer,
                            flag=wx.ALL | wx.EXPAND, border=5)
         self.pagesizer.Add(
-            item=modesizer,
+            modesizer,
             proportion=0,
             flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
             border=5)
         self.pagesizer.Add(
-            item=self.hsizer,
+            self.hsizer,
             proportion=1,
             flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
             border=5)
         # self.pagesizer.Add(self.btn_uniqe,0,wx.ALIGN_LEFT|wx.TOP,border=5)
         # self.pagesizer.Add(self.btn_uniqesample,0,wx.ALIGN_LEFT|wx.TOP,border=5)
-        self.pagesizer.Add(item=self.btn_logicpanel, proportion=0,
+        self.pagesizer.Add(self.btn_logicpanel, proportion=0,
                            flag=wx.ALIGN_CENTER_HORIZONTAL)
-        self.pagesizer.Add(item=sqlboxsizer, proportion=0,
+        self.pagesizer.Add(sqlboxsizer, proportion=0,
                            flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
-        self.pagesizer.Add(item=self.buttonsizer, proportion=0,
+        self.pagesizer.Add(self.buttonsizer, proportion=0,
                            flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
         self.pagesizer.Add(
-            item=self.close_onapply,
+            self.close_onapply,
             proportion=0,
             flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
             border=5)
@@ -491,7 +491,7 @@ class SQLBuilderSelect(SQLBuilder):
                                     label=_("Verify"))
         self.btn_verify.SetToolTipString(_("Verify SQL statement"))
 
-        self.buttonsizer.Insert(item=self.btn_verify, before=1)
+        self.buttonsizer.Insert(1, self.btn_verify)
 
         self.text_sql.Bind(wx.EVT_TEXT, self.OnText)
         self.btn_verify.Bind(wx.EVT_BUTTON, self.OnVerify)
@@ -656,35 +656,35 @@ class SQLBuilderUpdate(SQLBuilder):
         btn_arithmeticsizer = wx.GridBagSizer(hgap=5, vgap=5)
 
         btn_arithmeticsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_arithmetic['eq'][1]), pos=(
                 0, 0))
         btn_arithmeticsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_arithmetic['brac'][1]), pos=(
                 1, 0))
 
         btn_arithmeticsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_arithmetic['plus'][1]), pos=(
                 0, 1))
         btn_arithmeticsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_arithmetic['minus'][1]), pos=(
                 1, 1))
 
         btn_arithmeticsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_arithmetic['divide'][1]), pos=(
                 0, 2))
         btn_arithmeticsizer.Add(
-            item=self.FindWindowById(
+            self.FindWindowById(
                 self.btn_arithmetic['multiply'][1]), pos=(
                 1, 2))
 
         self.btn_arithmeticpanel.SetSizer(btn_arithmeticsizer)
 
-        self.pagesizer.Insert(item=self.btn_arithmeticpanel, before=3,
+        self.pagesizer.Insert(3, self.btn_arithmeticpanel,
                               proportion=0, flag=wx.ALIGN_CENTER_HORIZONTAL)
 
         self.funcpanel = wx.Panel(parent=self.panel, id=wx.ID_ANY)
@@ -696,12 +696,12 @@ class SQLBuilderUpdate(SQLBuilder):
                                     choices=self.sqlFuncs['sqlite'].keys(),
                                     style=wx.LB_SORT)
 
-        funcsizer.Add(item=self.list_func, proportion=1,
+        funcsizer.Add(self.list_func, proportion=1,
                       flag=wx.EXPAND)
 
         self.funcpanel.SetSizer(funcsizer)
 
-        self.hsizer.Insert(item=self.funcpanel, before=2,
+        self.hsizer.Insert(2, self.funcpanel,
                            proportion=1, flag=wx.EXPAND)
 
         self.list_func.Bind(wx.EVT_LISTBOX, self.OnAddFunc)

+ 13 - 13
gui/wxpython/dbmgr/vinfo.py

@@ -50,31 +50,31 @@ def CreateDbInfoDesc(panel, mapDBInfo, layer):
     infoFlexSizer = wx.FlexGridSizer(cols=2, hgap=1, vgap=1)
     infoFlexSizer.AddGrowableCol(1)
 
-    infoFlexSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label="Driver:"))
+    infoFlexSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label="Driver:"))
     infoFlexSizer.Add(
-        item=wx.StaticText(
+        wx.StaticText(
             parent=panel,
             id=wx.ID_ANY,
             label=mapDBInfo.layers[layer]['driver']))
-    infoFlexSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label="Database:"))
+    infoFlexSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label="Database:"))
     infoFlexSizer.Add(
-        item=wx.StaticText(
+        wx.StaticText(
             parent=panel,
             id=wx.ID_ANY,
             label=mapDBInfo.layers[layer]['database']))
-    infoFlexSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label="Table:"))
+    infoFlexSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label="Table:"))
     infoFlexSizer.Add(
-        item=wx.StaticText(
+        wx.StaticText(
             parent=panel,
             id=wx.ID_ANY,
             label=mapDBInfo.layers[layer]['table']))
-    infoFlexSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label="Key:"))
-    infoFlexSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=mapDBInfo.layers[layer]['key']))
+    infoFlexSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label="Key:"))
+    infoFlexSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=mapDBInfo.layers[layer]['key']))
 
     return infoFlexSizer
 

+ 72 - 67
gui/wxpython/gcp/manager.py

@@ -35,11 +35,16 @@ from copy import copy
 import wx
 from wx.lib.mixins.listctrl import CheckListCtrlMixin, ColumnSorterMixin, ListCtrlAutoWidthMixin
 import wx.lib.colourselect as csel
-import wx.wizard as wiz
+
+from core import globalvar
+if globalvar.wxPythonPhoenix:
+    from wx.adv import Wizard as wiz
+else:
+    import wx.wizard as wiz
 
 import grass.script as grass
 
-from core import globalvar
+
 from core import utils
 from core.render import Map
 from core.utils import _
@@ -49,7 +54,7 @@ from core.gcmd import RunCommand, GMessage, GError, GWarning, EncodeString
 from core.settings import UserSettings
 from gcp.mapdisplay import MapFrame
 from core.giface import Notification
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 
 from location_wizard.wizard import TitledPage as TitledPage
 
@@ -358,13 +363,13 @@ class LocationPage(TitledPage):
             parent=self, id=wx.ID_ANY, label=' %s ' %
             _("Map type to georectify"), choices=[
                 _('raster'), _('vector')], majorDimension=wx.RA_SPECIFY_COLS)
-        self.sizer.Add(item=self.rb_maptype,
+        self.sizer.Add(self.rb_maptype,
                        flag=wx.ALIGN_CENTER | wx.ALL | wx.EXPAND, border=5,
                        pos=(1, 1), span=(1, 2))
 
         # location
         self.sizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 id=wx.ID_ANY,
                 label=_('Select source location:')),
@@ -376,7 +381,7 @@ class LocationPage(TitledPage):
         self.cb_location = LocationSelect(
             parent=self, gisdbase=self.grassdatabase)
         self.sizer.Add(
-            item=self.cb_location,
+            self.cb_location,
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5,
             pos=(
@@ -385,7 +390,7 @@ class LocationPage(TitledPage):
 
         # mapset
         self.sizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 id=wx.ID_ANY,
                 label=_('Select source mapset:')),
@@ -396,7 +401,7 @@ class LocationPage(TitledPage):
                 1))
         self.cb_mapset = MapsetSelect(parent=self, gisdbase=self.grassdatabase,
                                       setItems=False)
-        self.sizer.Add(item=self.cb_mapset, flag=wx.ALIGN_LEFT |
+        self.sizer.Add(self.cb_mapset, flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL | wx.ALL, border=5, pos=(3, 2))
         self.sizer.AddGrowableCol(2)
 
@@ -498,7 +503,7 @@ class GroupPage(TitledPage):
         #
         # group
         self.sizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 id=wx.ID_ANY,
                 label=_('Select group:')),
@@ -510,12 +515,12 @@ class GroupPage(TitledPage):
         self.cb_group = wx.ComboBox(parent=self, id=wx.ID_ANY,
                                     choices=self.groupList, size=(350, -1),
                                     style=wx.CB_DROPDOWN | wx.CB_READONLY)
-        self.sizer.Add(item=self.cb_group, flag=wx.ALIGN_LEFT |
+        self.sizer.Add(self.cb_group, flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL | wx.ALL, border=5, pos=(1, 2))
 
         # create group
         self.sizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 id=wx.ID_ANY,
                 label=_('Create group if none exists')),
@@ -533,14 +538,14 @@ class GroupPage(TitledPage):
             parent=self,
             id=wx.ID_ANY,
             label=_("Add vector map to group..."))
-        btnSizer.Add(item=self.btn_mkgroup,
+        btnSizer.Add(self.btn_mkgroup,
                      flag=wx.RIGHT, border=5)
 
-        btnSizer.Add(item=self.btn_vgroup,
+        btnSizer.Add(self.btn_vgroup,
                      flag=wx.LEFT, border=5)
 
         self.sizer.Add(
-            item=btnSizer,
+            btnSizer,
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5,
             pos=(
@@ -549,7 +554,7 @@ class GroupPage(TitledPage):
 
         # extension
         self.sizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 id=wx.ID_ANY,
                 label=_('Extension for output maps:')),
@@ -562,7 +567,7 @@ class GroupPage(TitledPage):
             parent=self, id=wx.ID_ANY, value="", size=(
                 350, -1))
         self.ext_txt.SetValue(self.extension)
-        self.sizer.Add(item=self.ext_txt, flag=wx.ALIGN_LEFT |
+        self.sizer.Add(self.ext_txt, flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL | wx.ALL, border=5, pos=(3, 2))
 
         self.sizer.AddGrowableCol(2)
@@ -701,7 +706,7 @@ class DispMapPage(TitledPage):
         # layout
         #
         self.sizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 id=wx.ID_ANY,
                 label=_('Select source map to display:')),
@@ -719,7 +724,7 @@ class DispMapPage(TitledPage):
             updateOnPopup=False)
 
         self.sizer.Add(
-            item=self.srcselection,
+            self.srcselection,
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5,
             pos=(
@@ -727,7 +732,7 @@ class DispMapPage(TitledPage):
                 2))
 
         self.sizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 id=wx.ID_ANY,
                 label=_('Select target raster map to display:')),
@@ -742,7 +747,7 @@ class DispMapPage(TitledPage):
             type='raster', updateOnPopup=False)
 
         self.sizer.Add(
-            item=self.tgtrastselection,
+            self.tgtrastselection,
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5,
             pos=(
@@ -750,7 +755,7 @@ class DispMapPage(TitledPage):
                 2))
 
         self.sizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 id=wx.ID_ANY,
                 label=_('Select target vector map to display:')),
@@ -765,7 +770,7 @@ class DispMapPage(TitledPage):
             type='vector', updateOnPopup=False)
 
         self.sizer.Add(
-            item=self.tgtvectselection,
+            self.tgtvectselection,
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5,
             pos=(
@@ -2412,21 +2417,21 @@ class VectGroup(wx.Dialog):
 
         box = wx.BoxSizer(wx.HORIZONTAL)
         box.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 id=wx.ID_ANY,
                 label=_('Select vector map(s) to add to group:')),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.LEFT,
             border=5)
 
-        box.Add(item=self.listMap,
+        box.Add(self.listMap,
                 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.LEFT,
                 border=5)
 
         sizer.Add(box, flag=wx.ALIGN_RIGHT | wx.ALL,
                   border=3)
 
-        sizer.Add(item=line, proportion=0,
+        sizer.Add(line, proportion=0,
                   flag=wx.GROW | wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
                   border=5)
 
@@ -2436,7 +2441,7 @@ class VectGroup(wx.Dialog):
         btnSizer.AddButton(self.btnOK)
         btnSizer.Realize()
 
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER,
                   border=5)
 
@@ -2503,14 +2508,14 @@ class EditGCP(wx.Dialog):
                            (_("target N:"), self.ncoord)):
             label = wx.StaticText(parent=panel, id=wx.ID_ANY,
                                   label=label)
-            gridSizer.Add(item=label,
+            gridSizer.Add(label,
                           flag=wx.ALIGN_CENTER_VERTICAL,
                           pos=(row, col))
 
             col += 1
             win.SetValue(str(data[idx]))
 
-            gridSizer.Add(item=win,
+            gridSizer.Add(win,
                           pos=(row, col))
 
             col += 1
@@ -2520,10 +2525,10 @@ class EditGCP(wx.Dialog):
                 row += 1
                 col = 0
 
-        boxSizer.Add(item=gridSizer, proportion=1,
+        boxSizer.Add(gridSizer, proportion=1,
                      flag=wx.EXPAND | wx.ALL, border=5)
 
-        sizer.Add(item=boxSizer, proportion=1,
+        sizer.Add(boxSizer, proportion=1,
                   flag=wx.EXPAND | wx.ALL, border=5)
 
         #
@@ -2538,7 +2543,7 @@ class EditGCP(wx.Dialog):
         btnSizer.AddButton(self.btnOk)
         btnSizer.Realize()
 
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
 
         panel.SetSizer(sizer)
@@ -2622,11 +2627,11 @@ class GrSettingsDialog(wx.Dialog):
         # sizers
         mainSizer = wx.BoxSizer(wx.VERTICAL)
         mainSizer.Add(
-            item=notebook,
+            notebook,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        mainSizer.Add(item=btnSizer, proportion=0,
+        mainSizer.Add(btnSizer, proportion=0,
                       flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
         #              flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
@@ -2650,7 +2655,7 @@ class GrSettingsDialog(wx.Dialog):
         hh = UserSettings.Get(group='gcpman', key='rms', subkey='highestonly')
         self.highlighthighest.SetValue(hh)
         rmsgridSizer.Add(
-            item=self.highlighthighest,
+            self.highlighthighest,
             flag=wx.ALIGN_CENTER_VERTICAL,
             pos=(
                 0,
@@ -2667,7 +2672,7 @@ class GrSettingsDialog(wx.Dialog):
                     "mean + standard deviation * given factor. \n"
                     "Recommended values for this factor are between 1 and 2.")))
         rmsgridSizer.Add(
-            item=rmslabel,
+            rmslabel,
             flag=wx.ALIGN_CENTER_VERTICAL,
             pos=(
                 1,
@@ -2681,9 +2686,9 @@ class GrSettingsDialog(wx.Dialog):
             self.rmsWin.Disable()
 
         self.symbol['sdfactor'] = self.rmsWin.GetId()
-        rmsgridSizer.Add(item=self.rmsWin, flag=wx.ALIGN_RIGHT, pos=(1, 1))
+        rmsgridSizer.Add(self.rmsWin, flag=wx.ALIGN_RIGHT, pos=(1, 1))
         rmsgridSizer.AddGrowableCol(1)
-        sizer.Add(item=rmsgridSizer, flag=wx.EXPAND | wx.ALL, border=5)
+        sizer.Add(rmsgridSizer, flag=wx.EXPAND | wx.ALL, border=5)
 
         box = wx.StaticBox(parent=panel, id=wx.ID_ANY,
                            label=" %s " % _("Symbol settings"))
@@ -2695,7 +2700,7 @@ class GrSettingsDialog(wx.Dialog):
         #
         row = 0
         label = wx.StaticText(parent=panel, id=wx.ID_ANY, label=_("Color:"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
         col = UserSettings.Get(group='gcpman', key='symbol', subkey='color')
         colWin = csel.ColourSelect(parent=panel, id=wx.ID_ANY,
                                    colour=wx.Colour(col[0],
@@ -2703,7 +2708,7 @@ class GrSettingsDialog(wx.Dialog):
                                                     col[2],
                                                     255))
         self.symbol['color'] = colWin.GetId()
-        gridSizer.Add(item=colWin,
+        gridSizer.Add(colWin,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
 
@@ -2715,7 +2720,7 @@ class GrSettingsDialog(wx.Dialog):
             parent=panel,
             id=wx.ID_ANY,
             label=_("Color for high RMS error:"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
         hcol = UserSettings.Get(group='gcpman', key='symbol', subkey='hcolor')
         hcolWin = csel.ColourSelect(parent=panel, id=wx.ID_ANY,
                                     colour=wx.Colour(hcol[0],
@@ -2723,7 +2728,7 @@ class GrSettingsDialog(wx.Dialog):
                                                      hcol[2],
                                                      255))
         self.symbol['hcolor'] = hcolWin.GetId()
-        gridSizer.Add(item=hcolWin,
+        gridSizer.Add(hcolWin,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
 
@@ -2735,7 +2740,7 @@ class GrSettingsDialog(wx.Dialog):
             parent=panel,
             id=wx.ID_ANY,
             label=_("Color for selected GCP:"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
         scol = UserSettings.Get(group='gcpman', key='symbol', subkey='scolor')
         scolWin = csel.ColourSelect(parent=panel, id=wx.ID_ANY,
                                     colour=wx.Colour(scol[0],
@@ -2743,7 +2748,7 @@ class GrSettingsDialog(wx.Dialog):
                                                      scol[2],
                                                      255))
         self.symbol['scolor'] = scolWin.GetId()
-        gridSizer.Add(item=scolWin,
+        gridSizer.Add(scolWin,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
 
@@ -2755,7 +2760,7 @@ class GrSettingsDialog(wx.Dialog):
             parent=panel,
             id=wx.ID_ANY,
             label=_("Color for unused GCPs:"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
         ucol = UserSettings.Get(group='gcpman', key='symbol', subkey='ucolor')
         ucolWin = csel.ColourSelect(parent=panel, id=wx.ID_ANY,
                                     colour=wx.Colour(ucol[0],
@@ -2763,7 +2768,7 @@ class GrSettingsDialog(wx.Dialog):
                                                      ucol[2],
                                                      255))
         self.symbol['ucolor'] = ucolWin.GetId()
-        gridSizer.Add(item=ucolWin,
+        gridSizer.Add(ucolWin,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
 
@@ -2774,7 +2779,7 @@ class GrSettingsDialog(wx.Dialog):
         shuu = UserSettings.Get(group='gcpman', key='symbol', subkey='unused')
         self.showunused.SetValue(shuu)
         gridSizer.Add(
-            item=self.showunused,
+            self.showunused,
             flag=wx.ALIGN_CENTER_VERTICAL,
             pos=(
                 row,
@@ -2788,17 +2793,17 @@ class GrSettingsDialog(wx.Dialog):
             parent=panel,
             id=wx.ID_ANY,
             label=_("Symbol size:"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
         symsize = int(
             UserSettings.Get(
                 group='gcpman',
                 key='symbol',
                 subkey='size'))
         sizeWin = SpinCtrl(parent=panel, id=wx.ID_ANY,
-                              min=1, max=20)
+                           min=1, max=20)
         sizeWin.SetValue(symsize)
         self.symbol['size'] = sizeWin.GetId()
-        gridSizer.Add(item=sizeWin,
+        gridSizer.Add(sizeWin,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
 
@@ -2810,23 +2815,23 @@ class GrSettingsDialog(wx.Dialog):
             parent=panel,
             id=wx.ID_ANY,
             label=_("Line width:"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
         width = int(
             UserSettings.Get(
                 group='gcpman',
                 key='symbol',
                 subkey='width'))
         widWin = SpinCtrl(parent=panel, id=wx.ID_ANY,
-                             min=1, max=10)
+                          min=1, max=10)
         widWin.SetValue(width)
         self.symbol['width'] = widWin.GetId()
-        gridSizer.Add(item=widWin,
+        gridSizer.Add(widWin,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
         gridSizer.AddGrowableCol(1)
 
-        boxSizer.Add(item=gridSizer, flag=wx.EXPAND)
-        sizer.Add(item=boxSizer, flag=wx.EXPAND | wx.ALL, border=5)
+        boxSizer.Add(gridSizer, flag=wx.EXPAND)
+        sizer.Add(boxSizer, flag=wx.EXPAND | wx.ALL, border=5)
 
         #
         # maps to display
@@ -2858,7 +2863,7 @@ class GrSettingsDialog(wx.Dialog):
         self.tgtvectselection.GetElementList()
 
         sizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_('Select source map to display:')),
@@ -2866,13 +2871,13 @@ class GrSettingsDialog(wx.Dialog):
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5)
         sizer.Add(
-            item=self.srcselection,
+            self.srcselection,
             proportion=0,
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5)
         self.srcselection.SetValue(src_map)
         sizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_('Select target raster map to display:')),
@@ -2880,13 +2885,13 @@ class GrSettingsDialog(wx.Dialog):
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5)
         sizer.Add(
-            item=self.tgtrastselection,
+            self.tgtrastselection,
             proportion=0,
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5)
         self.tgtrastselection.SetValue(tgt_map['raster'])
         sizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_('Select target vector map to display:')),
@@ -2894,7 +2899,7 @@ class GrSettingsDialog(wx.Dialog):
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5)
         sizer.Add(
-            item=self.tgtvectselection,
+            self.tgtvectselection,
             proportion=0,
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5)
@@ -2930,14 +2935,14 @@ class GrSettingsDialog(wx.Dialog):
                 _('2nd order'),
                 _('3rd order')],
             majorDimension=wx.RA_SPECIFY_COLS)
-        sizer.Add(item=self.rb_grorder, proportion=0,
+        sizer.Add(self.rb_grorder, proportion=0,
                   flag=wx.EXPAND | wx.ALL, border=5)
         self.rb_grorder.SetSelection(self.parent.gr_order - 1)
 
         # interpolation method
         gridSizer = wx.GridBagSizer(vgap=5, hgap=5)
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_('Select interpolation method:')),
@@ -2948,22 +2953,22 @@ class GrSettingsDialog(wx.Dialog):
             border=5)
         self.grmethod = wx.Choice(parent=panel, id=wx.ID_ANY,
                                   choices=self.methods)
-        gridSizer.Add(item=self.grmethod, pos=(0, 1),
+        gridSizer.Add(self.grmethod, pos=(0, 1),
                       flag=wx.ALIGN_RIGHT, border=5)
         self.grmethod.SetStringSelection(self.parent.gr_method)
         gridSizer.AddGrowableCol(1)
-        sizer.Add(item=gridSizer, flag=wx.EXPAND | wx.ALL, border=5)
+        sizer.Add(gridSizer, flag=wx.EXPAND | wx.ALL, border=5)
 
         # clip to region
         self.check = wx.CheckBox(parent=panel, id=wx.ID_ANY, label=_(
             "clip to computational region in target location"))
-        sizer.Add(item=self.check, proportion=0,
+        sizer.Add(self.check, proportion=0,
                   flag=wx.EXPAND | wx.ALL, border=5)
         self.check.SetValue(self.parent.clip_to_region)
 
         # extension
         sizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_('Extension for output maps:')),
@@ -2975,7 +2980,7 @@ class GrSettingsDialog(wx.Dialog):
                 350, -1))
         self.ext_txt.SetValue(self.parent.extension)
         sizer.Add(
-            item=self.ext_txt,
+            self.ext_txt,
             proportion=0,
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5)

+ 2 - 2
gui/wxpython/gcp/statusbar.py

@@ -22,7 +22,7 @@ import wx
 from core.gcmd import GMessage
 from core.utils import _
 from mapdisp.statusbar import SbItem, SbTextItem
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 
 
 class SbGoToGCP(SbItem):
@@ -38,7 +38,7 @@ class SbGoToGCP(SbItem):
         self.label = _("Go to GCP No.")
 
         self.widget = SpinCtrl(parent=self.statusbar, id=wx.ID_ANY,
-                                  value="", min=0)
+                               value="", min=0)
         self.widget.Hide()
 
         self.widget.Bind(wx.EVT_TEXT_ENTER, self.OnGoToGCP)

+ 59 - 62
gui/wxpython/gis_set.py

@@ -40,6 +40,8 @@ from core.utils import GetListOfLocations, GetListOfMapsets
 from location_wizard.dialogs import RegionDef
 from gui_core.dialogs import TextEntryDialog
 from gui_core.widgets import GenericValidator, StaticWrapText
+from gui_core.wrap import Button
+from gui_core.wrap import ListCtrl
 
 sys.stderr = codecs.getwriter('utf8')(sys.stderr)
 
@@ -161,51 +163,48 @@ class GRASSStartup(wx.Frame):
         try:
             for label in [self.ldbase, self.llocation, self.lmapset]:
                 label.SetForegroundColour(
-                    wx.SystemSettings_GetColour(wx.SYS_COLOUR_GRAYTEXT))
+                    wx.SystemSettings.GetColour(wx.SYS_COLOUR_GRAYTEXT))
         except AttributeError:
             # for explanation of try-except see above
             pass
 
         # buttons
-        self.bstart = wx.Button(parent=self.panel, id=wx.ID_ANY,
-                                label=_("Start &GRASS session"))
+        self.bstart = Button(parent=self.panel, id=wx.ID_ANY,
+                             label=_("Start &GRASS session"))
         self.bstart.SetDefault()
-        self.bexit = wx.Button(parent=self.panel, id=wx.ID_EXIT)
+        self.bexit = Button(parent=self.panel, id=wx.ID_EXIT)
         self.bstart.SetMinSize((180, self.bexit.GetSize()[1]))
-        self.bhelp = wx.Button(parent=self.panel, id=wx.ID_HELP)
-        self.bbrowse = wx.Button(parent=self.gisdbase_panel, id=wx.ID_ANY,
-                                 label=_("&Browse"))
-        self.bmapset = wx.Button(parent=self.mapset_panel, id=wx.ID_ANY,
-                                 # GTC New mapset
-                                 label=_("&New"))
-        self.bmapset.SetToolTipString(
-            _("Create a new Mapset in selected Location"))
-        self.bwizard = wx.Button(parent=self.location_panel, id=wx.ID_ANY,
-                                 # GTC New location
-                                 label=_("N&ew"))
-        self.bwizard.SetToolTipString(
+        self.bhelp = Button(parent=self.panel, id=wx.ID_HELP)
+        self.bbrowse = Button(parent=self.gisdbase_panel, id=wx.ID_ANY,
+                              label=_("&Browse"))
+        self.bmapset = Button(parent=self.mapset_panel, id=wx.ID_ANY,
+                              # GTC New mapset
+                              label=_("&New"))
+        self.bmapset.SetToolTip(_("Create a new Mapset in selected Location"))
+        self.bwizard = Button(parent=self.location_panel, id=wx.ID_ANY,
+                              # GTC New location
+                              label=_("N&ew"))
+        self.bwizard.SetToolTip(
             _(
                 "Create a new location using location wizard."
                 " After location is created successfully,"
                 " GRASS session is started."))
-        self.rename_location_button = wx.Button(parent=self.location_panel, id=wx.ID_ANY,
-                                                # GTC Rename location
-                                                label=_("Ren&ame"))
-        self.rename_location_button.SetToolTipString(
-            _("Rename selected location"))
-        self.delete_location_button = wx.Button(parent=self.location_panel, id=wx.ID_ANY,
-                                                # GTC Delete location
-                                                label=_("De&lete"))
-        self.delete_location_button.SetToolTipString(
-            _("Delete selected location"))
-        self.rename_mapset_button = wx.Button(parent=self.mapset_panel, id=wx.ID_ANY,
-                                              # GTC Rename mapset
-                                              label=_("&Rename"))
-        self.rename_mapset_button.SetToolTipString(_("Rename selected mapset"))
-        self.delete_mapset_button = wx.Button(parent=self.mapset_panel, id=wx.ID_ANY,
-                                              # GTC Delete mapset
-                                              label=_("&Delete"))
-        self.delete_mapset_button.SetToolTipString(_("Delete selected mapset"))
+        self.rename_location_button = Button(parent=self.location_panel, id=wx.ID_ANY,
+                                             # GTC Rename location
+                                             label=_("Ren&ame"))
+        self.rename_location_button.SetToolTip(_("Rename selected location"))
+        self.delete_location_button = Button(parent=self.location_panel, id=wx.ID_ANY,
+                                             # GTC Delete location
+                                             label=_("De&lete"))
+        self.delete_location_button.SetToolTip(_("Delete selected location"))
+        self.rename_mapset_button = Button(parent=self.mapset_panel, id=wx.ID_ANY,
+                                           # GTC Rename mapset
+                                           label=_("&Rename"))
+        self.rename_mapset_button.SetToolTip(_("Rename selected mapset"))
+        self.delete_mapset_button = Button(parent=self.mapset_panel, id=wx.ID_ANY,
+                                           # GTC Delete mapset
+                                           label=_("&Delete"))
+        self.delete_mapset_button.SetToolTip(_("Delete selected mapset"))
 
         # textinputs
         self.tgisdbase = wx.TextCtrl(
@@ -255,7 +254,7 @@ class GRASSStartup(wx.Frame):
                              wx.BITMAP_TYPE_ICO))
 
         self.bstart.SetForegroundColour(wx.Colour(35, 142, 35))
-        self.bstart.SetToolTipString(_("Enter GRASS session"))
+        self.bstart.SetToolTip(_("Enter GRASS session"))
         self.bstart.Enable(False)
         self.bmapset.Enable(False)
         # this all was originally a choice, perhaps just mapset needed
@@ -333,21 +332,21 @@ class GRASSStartup(wx.Frame):
 
         # gis data directory
 
-        gisdbase_boxsizer.Add(item=self.gisdbase_panel, proportion=1,
+        gisdbase_boxsizer.Add(self.gisdbase_panel, proportion=1,
                               flag=wx.EXPAND | wx.ALL,
                               border=1)
 
-        gisdbase_panel_sizer.Add(item=dbase_sizer, proportion=1,
+        gisdbase_panel_sizer.Add(dbase_sizer, proportion=1,
                                  flag=wx.EXPAND | wx.ALL,
                                  border=1)
-        gisdbase_panel_sizer.Add(item=self.ldbase, proportion=0,
+        gisdbase_panel_sizer.Add(self.ldbase, proportion=0,
                                  flag=wx.EXPAND | wx.ALL,
                                  border=1)
 
-        dbase_sizer.Add(item=self.tgisdbase, proportion=1,
+        dbase_sizer.Add(self.tgisdbase, proportion=1,
                         flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                         border=1)
-        dbase_sizer.Add(item=self.bbrowse, proportion=0,
+        dbase_sizer.Add(self.bbrowse, proportion=0,
                         flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                         border=1)
 
@@ -364,25 +363,23 @@ class GRASSStartup(wx.Frame):
             panel.SetSizer(panel_sizer)
             panel_sizer.Fit(panel)
 
-            main_sizer.Add(item=list_box, proportion=1,
+            main_sizer.Add(list_box, proportion=1,
                            flag=wx.EXPAND | wx.ALL,
                            border=1)
-            main_sizer.Add(item=buttons_sizer, proportion=0,
+            main_sizer.Add(buttons_sizer, proportion=0,
                            flag=wx.ALIGN_CENTER_HORIZONTAL | wx.ALL,
                            border=1)
             for button in buttons:
-                buttons_sizer.Add(
-                    item=button,
-                    proportion=0,
-                    flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
-                    border=3)
-            box_sizer.Add(item=panel, proportion=1,
+                buttons_sizer.Add(button, proportion=0,
+                                  flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
+                                  border=3)
+            box_sizer.Add(panel, proportion=1,
                           flag=wx.EXPAND | wx.ALL,
                           border=1)
-            panel_sizer.Add(item=main_sizer, proportion=1,
+            panel_sizer.Add(main_sizer, proportion=1,
                             flag=wx.EXPAND | wx.ALL,
                             border=1)
-            panel_sizer.Add(item=description, proportion=0,
+            panel_sizer.Add(description, proportion=0,
                             flag=wx.EXPAND | wx.ALL,
                             border=1)
             return box_sizer
@@ -403,51 +400,51 @@ class GRASSStartup(wx.Frame):
             description=self.lmapset)
 
         # location and mapset sizer
-        location_mapset_sizer.Add(item=location_boxsizer, proportion=1,
+        location_mapset_sizer.Add(location_boxsizer, proportion=1,
                                   flag=wx.LEFT | wx.RIGHT | wx.EXPAND,
                                   border=3)
-        location_mapset_sizer.Add(item=mapset_boxsizer, proportion=1,
+        location_mapset_sizer.Add(mapset_boxsizer, proportion=1,
                                   flag=wx.RIGHT | wx.EXPAND,
                                   border=3)
 
         # buttons
-        btns_sizer.Add(item=self.bstart, proportion=0,
+        btns_sizer.Add(self.bstart, proportion=0,
                        flag=wx.ALIGN_CENTER_HORIZONTAL |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL,
                        border=5)
-        btns_sizer.Add(item=self.bexit, proportion=0,
+        btns_sizer.Add(self.bexit, proportion=0,
                        flag=wx.ALIGN_CENTER_HORIZONTAL |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL,
                        border=5)
-        btns_sizer.Add(item=self.bhelp, proportion=0,
+        btns_sizer.Add(self.bhelp, proportion=0,
                        flag=wx.ALIGN_CENTER_HORIZONTAL |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL,
                        border=5)
 
         # main sizer
-        sizer.Add(item=self.hbitmap,
+        sizer.Add(self.hbitmap,
                   proportion=0,
                   flag=wx.ALIGN_CENTER_VERTICAL |
                   wx.ALIGN_CENTER_HORIZONTAL |
                   wx.ALL,
                   border=3)  # image
-        sizer.Add(item=gisdbase_boxsizer, proportion=0,
+        sizer.Add(gisdbase_boxsizer, proportion=0,
                   flag=wx.ALIGN_CENTER_HORIZONTAL |
                   wx.RIGHT | wx.LEFT | wx.TOP | wx.EXPAND,
                   border=3)  # GISDBASE setting
 
         # warning/error message
-        sizer.Add(item=self.lmessage,
+        sizer.Add(self.lmessage,
                   proportion=0,
                   flag=wx.ALIGN_CENTER_VERTICAL |
                   wx.ALIGN_LEFT | wx.ALL | wx.EXPAND, border=5)
-        sizer.Add(item=location_mapset_sizer, proportion=1,
+        sizer.Add(location_mapset_sizer, proportion=1,
                   flag=wx.RIGHT | wx.LEFT | wx.EXPAND,
                   border=1)
-        sizer.Add(item=btns_sizer, proportion=0,
+        sizer.Add(btns_sizer, proportion=0,
                   flag=wx.ALIGN_CENTER_VERTICAL |
                   wx.ALIGN_CENTER_HORIZONTAL |
                   wx.RIGHT | wx.LEFT,
@@ -1098,13 +1095,13 @@ class GRASSStartup(wx.Frame):
         GError(parent=self, message=message, caption=_("Invalid name"))
 
 
-class GListBox(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin):
+class GListBox(ListCtrl, listmix.ListCtrlAutoWidthMixin):
     """Use wx.ListCtrl instead of wx.ListBox, different style for
     non-selectable items (e.g. mapsets with denied permission)"""
 
     def __init__(self, parent, id, size,
                  choices, disabled=[]):
-        wx.ListCtrl.__init__(
+        ListCtrl.__init__(
             self, parent, id, size=size, style=wx.LC_REPORT | wx.LC_NO_HEADER |
             wx.LC_SINGLE_SEL | wx.BORDER_SUNKEN)
 

+ 42 - 42
gui/wxpython/gmodeler/dialogs.py

@@ -99,17 +99,17 @@ class ModelDataDialog(SimpleDialog):
         """Do layout"""
         if self.etype:
             self.dataSizer.Add(
-                item=wx.StaticText(
+                wx.StaticText(
                     parent=self.panel,
                     id=wx.ID_ANY,
                     label=_("Type of element:")),
                 proportion=0,
                 flag=wx.ALL,
                 border=1)
-            self.dataSizer.Add(item=self.typeSelect,
+            self.dataSizer.Add(self.typeSelect,
                                proportion=0, flag=wx.ALL, border=1)
-        self.dataSizer.Add(item=wx.StaticText(parent=self.panel, id=wx.ID_ANY,
-                                              label=_("Name of element:")),
+        self.dataSizer.Add(wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+                                         label=_("Name of element:")),
                            proportion=0, flag=wx.ALL, border=1)
         self.dataSizer.Add(self.element, proportion=0,
                            flag=wx.EXPAND | wx.ALL, border=1)
@@ -227,21 +227,21 @@ class ModelSearchDialog(wx.Dialog):
 
     def _layout(self):
         cmdSizer = wx.StaticBoxSizer(self.cmdBox, wx.VERTICAL)
-        cmdSizer.Add(item=self.cmd_prompt, proportion=1,
+        cmdSizer.Add(self.cmd_prompt, proportion=1,
                      flag=wx.EXPAND)
         labelSizer = wx.StaticBoxSizer(self.labelBox, wx.VERTICAL)
         gridSizer = wx.GridBagSizer(hgap=5, vgap=5)
-        gridSizer.Add(item=wx.StaticText(parent=self.panel, id=wx.ID_ANY,
-                                         label=_("Label:")),
+        gridSizer.Add(wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+                                    label=_("Label:")),
                       flag=wx.ALIGN_CENTER_VERTICAL, pos=(0, 0))
-        gridSizer.Add(item=self.label, pos=(0, 1), flag=wx.EXPAND)
-        gridSizer.Add(item=wx.StaticText(parent=self.panel, id=wx.ID_ANY,
-                                         label=_("Comment:")),
+        gridSizer.Add(self.label, pos=(0, 1), flag=wx.EXPAND)
+        gridSizer.Add(wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+                                    label=_("Comment:")),
                       flag=wx.ALIGN_CENTER_VERTICAL, pos=(1, 0))
-        gridSizer.Add(item=self.comment, pos=(1, 1), flag=wx.EXPAND)
+        gridSizer.Add(self.comment, pos=(1, 1), flag=wx.EXPAND)
         gridSizer.AddGrowableRow(1)
         gridSizer.AddGrowableCol(1)
-        labelSizer.Add(item=gridSizer, proportion=1, flag=wx.EXPAND)
+        labelSizer.Add(gridSizer, proportion=1, flag=wx.EXPAND)
 
         btnSizer = wx.StdDialogButtonSizer()
         btnSizer.AddButton(self.btnCancel)
@@ -249,13 +249,13 @@ class ModelSearchDialog(wx.Dialog):
         btnSizer.Realize()
 
         mainSizer = wx.BoxSizer(wx.VERTICAL)
-        mainSizer.Add(item=self.search, proportion=0,
+        mainSizer.Add(self.search, proportion=0,
                       flag=wx.EXPAND | wx.ALL, border=3)
-        mainSizer.Add(item=cmdSizer, proportion=1,
+        mainSizer.Add(cmdSizer, proportion=1,
                       flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, border=3)
-        mainSizer.Add(item=labelSizer, proportion=1,
+        mainSizer.Add(labelSizer, proportion=1,
                       flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, border=3)
-        mainSizer.Add(item=btnSizer, proportion=0,
+        mainSizer.Add(btnSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         self.panel.SetSizer(mainSizer)
@@ -382,11 +382,11 @@ class ModelRelationDialog(wx.Dialog):
         btnSizer.AddButton(self.btnOk)
         btnSizer.Realize()
 
-        mainSizer.Add(item=fromSizer, proportion=0,
+        mainSizer.Add(fromSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL, border=5)
-        mainSizer.Add(item=toSizer, proportion=0, flag=wx.EXPAND |
+        mainSizer.Add(toSizer, proportion=0, flag=wx.EXPAND |
                       wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5)
-        mainSizer.Add(item=btnSizer, proportion=0,
+        mainSizer.Add(btnSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         self.panel.SetSizer(mainSizer)
@@ -397,25 +397,25 @@ class ModelRelationDialog(wx.Dialog):
 
     def _layoutShape(self, shape, sizer):
         if isinstance(shape, ModelData):
-            sizer.Add(item=wx.StaticText(parent=self.panel, id=wx.ID_ANY,
-                                         label=_("Data: %s") % shape.GetLog()),
+            sizer.Add(wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+                                    label=_("Data: %s") % shape.GetLog()),
                       proportion=1, flag=wx.EXPAND | wx.ALL,
                       border=5)
         elif isinstance(shape, ModelAction):
             gridSizer = wx.GridBagSizer(hgap=5, vgap=5)
-            gridSizer.Add(item=wx.StaticText(parent=self.panel, id=wx.ID_ANY,
-                                             label=_("Command:")),
+            gridSizer.Add(wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+                                        label=_("Command:")),
                           pos=(0, 0))
-            gridSizer.Add(item=wx.StaticText(parent=self.panel, id=wx.ID_ANY,
-                                             label=shape.GetLabel()),
+            gridSizer.Add(wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+                                        label=shape.GetLabel()),
                           pos=(0, 1))
-            gridSizer.Add(item=wx.StaticText(parent=self.panel, id=wx.ID_ANY,
-                                             label=_("Option:")),
+            gridSizer.Add(wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+                                        label=_("Option:")),
                           flag=wx.ALIGN_CENTER_VERTICAL,
                           pos=(1, 0))
-            gridSizer.Add(item=self.option,
+            gridSizer.Add(self.option,
                           pos=(1, 1))
-            sizer.Add(item=gridSizer,
+            sizer.Add(gridSizer,
                       proportion=1, flag=wx.EXPAND | wx.ALL,
                       border=5)
 
@@ -535,13 +535,13 @@ class ModelLoopDialog(ModelItemDialog):
         sizer = wx.BoxSizer(wx.VERTICAL)
 
         condSizer = wx.StaticBoxSizer(self.condBox, wx.HORIZONTAL)
-        condSizer.Add(item=self.condText, proportion=1,
+        condSizer.Add(self.condText, proportion=1,
                       flag=wx.ALL, border=3)
-        condSizer.Add(item=self.btnSeries, proportion=0,
+        condSizer.Add(self.btnSeries, proportion=0,
                       flag=wx.EXPAND)
 
         listSizer = wx.StaticBoxSizer(self.listBox, wx.VERTICAL)
-        listSizer.Add(item=self.itemList, proportion=1,
+        listSizer.Add(self.itemList, proportion=1,
                       flag=wx.EXPAND | wx.ALL, border=3)
 
         btnSizer = wx.StdDialogButtonSizer()
@@ -549,11 +549,11 @@ class ModelLoopDialog(ModelItemDialog):
         btnSizer.AddButton(self.btnOk)
         btnSizer.Realize()
 
-        sizer.Add(item=condSizer, proportion=0,
+        sizer.Add(condSizer, proportion=0,
                   flag=wx.EXPAND | wx.ALL, border=3)
-        sizer.Add(item=listSizer, proportion=1,
+        sizer.Add(listSizer, proportion=1,
                   flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=3)
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         self.panel.SetSizer(sizer)
@@ -616,14 +616,14 @@ class ModelConditionDialog(ModelItemDialog):
         sizer = wx.BoxSizer(wx.VERTICAL)
 
         condSizer = wx.StaticBoxSizer(self.condBox, wx.VERTICAL)
-        condSizer.Add(item=self.condText, proportion=1,
+        condSizer.Add(self.condText, proportion=1,
                       flag=wx.EXPAND)
 
         listIfSizer = wx.StaticBoxSizer(self.listBoxIf, wx.VERTICAL)
-        listIfSizer.Add(item=self.itemListIf, proportion=1,
+        listIfSizer.Add(self.itemListIf, proportion=1,
                         flag=wx.EXPAND)
         listElseSizer = wx.StaticBoxSizer(self.listBoxElse, wx.VERTICAL)
-        listElseSizer.Add(item=self.itemListElse, proportion=1,
+        listElseSizer.Add(self.itemListElse, proportion=1,
                           flag=wx.EXPAND)
 
         btnSizer = wx.StdDialogButtonSizer()
@@ -631,13 +631,13 @@ class ModelConditionDialog(ModelItemDialog):
         btnSizer.AddButton(self.btnOk)
         btnSizer.Realize()
 
-        sizer.Add(item=condSizer, proportion=0,
+        sizer.Add(condSizer, proportion=0,
                   flag=wx.EXPAND | wx.ALL, border=3)
-        sizer.Add(item=listIfSizer, proportion=1,
+        sizer.Add(listIfSizer, proportion=1,
                   flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=3)
-        sizer.Add(item=listElseSizer, proportion=1,
+        sizer.Add(listElseSizer, proportion=1,
                   flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=3)
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         self.panel.SetSizer(sizer)

+ 38 - 32
gui/wxpython/gmodeler/frame.py

@@ -30,9 +30,15 @@ import random
 
 import wx
 from wx.lib import ogl
-import wx.lib.flatnotebook as FN
-
 from core import globalvar
+if globalvar.wxPythonPhoenix:
+    try:
+        import agw.flatnotebook as FN
+    except ImportError: # if it's not there locally, try the wxPython lib.
+        import wx.lib.agw.flatnotebook as FN
+else:
+    import wx.lib.flatnotebook as FN
+
 from core.utils import _
 from gui_core.widgets import GNotebook
 from core.gconsole        import GConsole, \
@@ -181,7 +187,7 @@ class ModelFrame(wx.Frame):
         """Do layout"""
         sizer = wx.BoxSizer(wx.VERTICAL)
 
-        sizer.Add(item=self.notebook, proportion=1,
+        sizer.Add(self.notebook, proportion=1,
                   flag=wx.EXPAND)
 
         self.SetAutoLayout(True)
@@ -1673,48 +1679,48 @@ class VariablePanel(wx.Panel):
     def _layout(self):
         """Layout dialog"""
         listSizer = wx.StaticBoxSizer(self.listBox, wx.VERTICAL)
-        listSizer.Add(item=self.list, proportion=1,
+        listSizer.Add(self.list, proportion=1,
                       flag=wx.EXPAND)
 
         addSizer = wx.StaticBoxSizer(self.addBox, wx.VERTICAL)
         gridSizer = wx.GridBagSizer(hgap=5, vgap=5)
-        gridSizer.Add(item=wx.StaticText(parent=self, id=wx.ID_ANY,
-                                         label="%s:" % _("Name")),
+        gridSizer.Add(wx.StaticText(parent=self, id=wx.ID_ANY,
+                                    label="%s:" % _("Name")),
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(0, 0))
-        gridSizer.Add(item=self.name,
+        gridSizer.Add(self.name,
                       pos=(0, 1),
                       flag=wx.EXPAND)
-        gridSizer.Add(item=wx.StaticText(parent=self, id=wx.ID_ANY,
-                                         label="%s:" % _("Data type")),
+        gridSizer.Add(wx.StaticText(parent=self, id=wx.ID_ANY,
+                                    label="%s:" % _("Data type")),
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(0, 2))
-        gridSizer.Add(item=self.type,
+        gridSizer.Add(self.type,
                       pos=(0, 3))
-        gridSizer.Add(item=wx.StaticText(parent=self, id=wx.ID_ANY,
-                                         label="%s:" % _("Default value")),
+        gridSizer.Add(wx.StaticText(parent=self, id=wx.ID_ANY,
+                                    label="%s:" % _("Default value")),
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(1, 0))
-        gridSizer.Add(item=self.value,
+        gridSizer.Add(self.value,
                       pos=(1, 1), span=(1, 3),
                       flag=wx.EXPAND)
-        gridSizer.Add(item=wx.StaticText(parent=self, id=wx.ID_ANY,
-                                         label="%s:" % _("Description")),
+        gridSizer.Add(wx.StaticText(parent=self, id=wx.ID_ANY,
+                                    label="%s:" % _("Description")),
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(2, 0))
-        gridSizer.Add(item=self.desc,
+        gridSizer.Add(self.desc,
                       pos=(2, 1), span=(1, 3),
                       flag=wx.EXPAND)
         gridSizer.AddGrowableCol(1)
-        addSizer.Add(item=gridSizer,
+        addSizer.Add(gridSizer,
                      flag=wx.EXPAND)
-        addSizer.Add(item=self.btnAdd, proportion=0,
+        addSizer.Add(self.btnAdd, proportion=0,
                      flag=wx.TOP | wx.ALIGN_RIGHT, border=5)
 
         mainSizer = wx.BoxSizer(wx.VERTICAL)
-        mainSizer.Add(item=listSizer, proportion=1,
+        mainSizer.Add(listSizer, proportion=1,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
-        mainSizer.Add(item=addSizer, proportion=0,
+        mainSizer.Add(addSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALIGN_CENTER |
                       wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5)
 
@@ -1810,20 +1816,20 @@ class ItemPanel(wx.Panel):
     def _layout(self):
         """Layout dialog"""
         listSizer = wx.StaticBoxSizer(self.listBox, wx.VERTICAL)
-        listSizer.Add(item=self.list, proportion=1,
+        listSizer.Add(self.list, proportion=1,
                       flag=wx.EXPAND)
 
         manageSizer = wx.BoxSizer(wx.VERTICAL)
-        manageSizer.Add(item=self.btnMoveUp, border=5, flag=wx.ALL)
-        manageSizer.Add(item=self.btnMoveDown, border=5,
+        manageSizer.Add(self.btnMoveUp, border=5, flag=wx.ALL)
+        manageSizer.Add(self.btnMoveDown, border=5,
                         flag=wx.LEFT | wx.RIGHT | wx.BOTTOM)
-        manageSizer.Add(item=self.btnRefresh, border=5,
+        manageSizer.Add(self.btnRefresh, border=5,
                         flag=wx.LEFT | wx.RIGHT)
 
         mainSizer = wx.BoxSizer(wx.HORIZONTAL)
-        mainSizer.Add(item=listSizer, proportion=1,
+        mainSizer.Add(listSizer, proportion=1,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=3)
-        mainSizer.Add(item=manageSizer, proportion=0,
+        mainSizer.Add(manageSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=3)
 
         self.SetSizer(mainSizer)
@@ -1902,20 +1908,20 @@ class PythonPanel(wx.Panel):
         bodySizer = wx.StaticBoxSizer(self.bodyBox, wx.HORIZONTAL)
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
 
-        bodySizer.Add(item=self.body, proportion=1,
+        bodySizer.Add(self.body, proportion=1,
                       flag=wx.EXPAND | wx.ALL, border=3)
 
-        btnSizer.Add(item=self.btnRefresh, proportion=0,
+        btnSizer.Add(self.btnRefresh, proportion=0,
                      flag=wx.LEFT | wx.RIGHT, border=5)
         btnSizer.AddStretchSpacer()
-        btnSizer.Add(item=self.btnSaveAs, proportion=0,
+        btnSizer.Add(self.btnSaveAs, proportion=0,
                      flag=wx.RIGHT | wx.ALIGN_RIGHT, border=5)
-        btnSizer.Add(item=self.btnRun, proportion=0,
+        btnSizer.Add(self.btnRun, proportion=0,
                      flag=wx.RIGHT | wx.ALIGN_RIGHT, border=5)
 
-        sizer.Add(item=bodySizer, proportion=1,
+        sizer.Add(bodySizer, proportion=1,
                   flag=wx.EXPAND | wx.ALL, border=3)
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.EXPAND | wx.ALL, border=3)
 
         sizer.Fit(self)

+ 7 - 7
gui/wxpython/gmodeler/model.py

@@ -1133,7 +1133,7 @@ class ModelAction(ModelObject, ogl.DividedShape):
         if self.regionComment is None:
             self.regionComment = ogl.ShapeRegion()
             self.regionComment.SetFormatMode(ogl.FORMAT_CENTRE_HORIZ)
-            font = wx.SystemSettings_GetFont(wx.SYS_DEFAULT_GUI_FONT)
+            font = wx.SystemSettings.GetFont(wx.SYS_DEFAULT_GUI_FONT)
             font.SetStyle(wx.ITALIC)
             self.regionComment.SetFont(font)
 
@@ -1803,7 +1803,7 @@ class ModelComment(ModelObject, ogl.RectangleShape):
             self.SetCanvas(parent)
             self.SetX(x)
             self.SetY(y)
-            font = wx.SystemSettings_GetFont(wx.SYS_DEFAULT_GUI_FONT)
+            font = wx.SystemSettings.GetFont(wx.SYS_DEFAULT_GUI_FONT)
             font.SetStyle(wx.ITALIC)
             self.SetFont(font)
             self._setPen()
@@ -2824,18 +2824,18 @@ class ModelParamDialog(wx.Dialog):
         btnSizer.Realize()
 
         mainSizer = wx.BoxSizer(wx.VERTICAL)
-        mainSizer.Add(item=self.notebook, proportion=1,
+        mainSizer.Add(self.notebook, proportion=1,
                       flag=wx.EXPAND)
         if self.interData.IsShown():
-            mainSizer.Add(item=self.interData, proportion=0,
+            mainSizer.Add(self.interData, proportion=0,
                           flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
-            mainSizer.Add(item=wx.StaticLine(parent=self, id=wx.ID_ANY,
-                                             style=wx.LI_HORIZONTAL),
+            mainSizer.Add(wx.StaticLine(parent=self, id=wx.ID_ANY,
+                                        style=wx.LI_HORIZONTAL),
                           proportion=0,
                           flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
 
-        mainSizer.Add(item=btnSizer, proportion=0,
+        mainSizer.Add(btnSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         self.SetSizer(mainSizer)

+ 87 - 87
gui/wxpython/gmodeler/preferences.py

@@ -22,7 +22,7 @@ from core import globalvar
 from gui_core.preferences import PreferencesBaseDialog
 from core.settings import UserSettings
 from core.utils import _
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 
 
 class PreferencesDialog(PreferencesBaseDialog):
@@ -62,8 +62,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
 
         row = 0
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Disabled:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Disabled:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -78,18 +78,18 @@ class PreferencesDialog(PreferencesBaseDialog):
         rColor.SetName('GetColour')
         self.winId['modeler:disabled:color'] = rColor.GetId()
 
-        gridSizer.Add(item=rColor,
+        gridSizer.Add(rColor,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         panel.SetSizer(border)
@@ -110,8 +110,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
 
         row = 0
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Valid:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Valid:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -122,14 +122,14 @@ class PreferencesDialog(PreferencesBaseDialog):
         vColor.SetName('GetColour')
         self.winId['modeler:action:color:valid'] = vColor.GetId()
 
-        gridSizer.Add(item=vColor,
+        gridSizer.Add(vColor,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Invalid:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Invalid:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -140,14 +140,14 @@ class PreferencesDialog(PreferencesBaseDialog):
         iColor.SetName('GetColour')
         self.winId['modeler:action:color:invalid'] = iColor.GetId()
 
-        gridSizer.Add(item=iColor,
+        gridSizer.Add(iColor,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Running:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Running:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -158,18 +158,18 @@ class PreferencesDialog(PreferencesBaseDialog):
         rColor.SetName('GetColour')
         self.winId['modeler:action:color:running'] = rColor.GetId()
 
-        gridSizer.Add(item=rColor,
+        gridSizer.Add(rColor,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         # size
@@ -180,8 +180,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
 
         row = 0
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Width:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Width:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -200,14 +200,14 @@ class PreferencesDialog(PreferencesBaseDialog):
         width.SetName('GetValue')
         self.winId['modeler:action:size:width'] = width.GetId()
 
-        gridSizer.Add(item=width,
+        gridSizer.Add(width,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Height:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Height:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -226,18 +226,18 @@ class PreferencesDialog(PreferencesBaseDialog):
         height.SetName('GetValue')
         self.winId['modeler:action:size:height'] = height.GetId()
 
-        gridSizer.Add(item=height,
+        gridSizer.Add(height,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         panel.SetSizer(border)
@@ -258,8 +258,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
 
         row = 0
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Raster:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Raster:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -270,14 +270,14 @@ class PreferencesDialog(PreferencesBaseDialog):
         rColor.SetName('GetColour')
         self.winId['modeler:data:color:raster'] = rColor.GetId()
 
-        gridSizer.Add(item=rColor,
+        gridSizer.Add(rColor,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("3D raster:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("3D raster:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -288,14 +288,14 @@ class PreferencesDialog(PreferencesBaseDialog):
         r3Color.SetName('GetColour')
         self.winId['modeler:data:color:raster3d'] = r3Color.GetId()
 
-        gridSizer.Add(item=r3Color,
+        gridSizer.Add(r3Color,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Vector:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Vector:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -306,14 +306,14 @@ class PreferencesDialog(PreferencesBaseDialog):
         vColor.SetName('GetColour')
         self.winId['modeler:data:color:vector'] = vColor.GetId()
 
-        gridSizer.Add(item=vColor,
+        gridSizer.Add(vColor,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Table:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Table:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -324,18 +324,18 @@ class PreferencesDialog(PreferencesBaseDialog):
         tColor.SetName('GetColour')
         self.winId['modeler:data:color:dbtable'] = tColor.GetId()
 
-        gridSizer.Add(item=tColor,
+        gridSizer.Add(tColor,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         # size
@@ -346,8 +346,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
 
         row = 0
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Width:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Width:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -366,14 +366,14 @@ class PreferencesDialog(PreferencesBaseDialog):
         width.SetName('GetValue')
         self.winId['modeler:data:size:width'] = width.GetId()
 
-        gridSizer.Add(item=width,
+        gridSizer.Add(width,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Height:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Height:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -392,18 +392,18 @@ class PreferencesDialog(PreferencesBaseDialog):
         height.SetName('GetValue')
         self.winId['modeler:data:size:height'] = height.GetId()
 
-        gridSizer.Add(item=height,
+        gridSizer.Add(height,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         panel.SetSizer(border)
@@ -424,8 +424,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
 
         row = 0
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Valid:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Valid:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -436,18 +436,18 @@ class PreferencesDialog(PreferencesBaseDialog):
         vColor.SetName('GetColour')
         self.winId['modeler:loop:color:valid'] = vColor.GetId()
 
-        gridSizer.Add(item=vColor,
+        gridSizer.Add(vColor,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         # size
@@ -458,8 +458,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
 
         row = 0
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Width:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Width:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -478,14 +478,14 @@ class PreferencesDialog(PreferencesBaseDialog):
         width.SetName('GetValue')
         self.winId['modeler:loop:size:width'] = width.GetId()
 
-        gridSizer.Add(item=width,
+        gridSizer.Add(width,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Height:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Height:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -504,18 +504,18 @@ class PreferencesDialog(PreferencesBaseDialog):
         height.SetName('GetValue')
         self.winId['modeler:loop:size:height'] = height.GetId()
 
-        gridSizer.Add(item=height,
+        gridSizer.Add(height,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         panel.SetSizer(border)
@@ -536,8 +536,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
 
         row = 0
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Valid:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Valid:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -552,18 +552,18 @@ class PreferencesDialog(PreferencesBaseDialog):
         vColor.SetName('GetColour')
         self.winId['modeler:comment:color'] = vColor.GetId()
 
-        gridSizer.Add(item=vColor,
+        gridSizer.Add(vColor,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         # size
@@ -574,8 +574,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
 
         row = 0
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Width:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Width:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -594,14 +594,14 @@ class PreferencesDialog(PreferencesBaseDialog):
         width.SetName('GetValue')
         self.winId['modeler:comment:size:width'] = width.GetId()
 
-        gridSizer.Add(item=width,
+        gridSizer.Add(width,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Height:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Height:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -620,18 +620,18 @@ class PreferencesDialog(PreferencesBaseDialog):
         height.SetName('GetValue')
         self.winId['modeler:comment:size:height'] = height.GetId()
 
-        gridSizer.Add(item=height,
+        gridSizer.Add(height,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         panel.SetSizer(border)
@@ -702,39 +702,39 @@ class PropertiesDialog(wx.Dialog):
     def _layout(self):
         metaSizer = wx.StaticBoxSizer(self.metaBox, wx.VERTICAL)
         gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
-        gridSizer.Add(item=wx.StaticText(parent=self, id=wx.ID_ANY,
-                                         label=_("Name:")),
+        gridSizer.Add(wx.StaticText(parent=self, id=wx.ID_ANY,
+                                    label=_("Name:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(0, 0))
-        gridSizer.Add(item=self.name,
+        gridSizer.Add(self.name,
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                       pos=(0, 1))
-        gridSizer.Add(item=wx.StaticText(parent=self, id=wx.ID_ANY,
-                                         label=_("Description:")),
+        gridSizer.Add(wx.StaticText(parent=self, id=wx.ID_ANY,
+                                    label=_("Description:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(1, 0))
-        gridSizer.Add(item=self.desc,
+        gridSizer.Add(self.desc,
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                       pos=(1, 1))
-        gridSizer.Add(item=wx.StaticText(parent=self, id=wx.ID_ANY,
-                                         label=_("Author(s):")),
+        gridSizer.Add(wx.StaticText(parent=self, id=wx.ID_ANY,
+                                    label=_("Author(s):")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(2, 0))
-        gridSizer.Add(item=self.author,
+        gridSizer.Add(self.author,
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                       pos=(2, 1))
         gridSizer.AddGrowableCol(1)
         gridSizer.AddGrowableRow(1)
-        metaSizer.Add(item=gridSizer, proportion=1, flag=wx.EXPAND)
+        metaSizer.Add(gridSizer, proportion=1, flag=wx.EXPAND)
 
         cmdSizer = wx.StaticBoxSizer(self.cmdBox, wx.VERTICAL)
-        cmdSizer.Add(item=self.overwrite,
+        cmdSizer.Add(self.overwrite,
                      flag=wx.EXPAND | wx.ALL, border=3)
 
         btnStdSizer = wx.StdDialogButtonSizer()
@@ -743,14 +743,14 @@ class PropertiesDialog(wx.Dialog):
         btnStdSizer.Realize()
 
         mainSizer = wx.BoxSizer(wx.VERTICAL)
-        mainSizer.Add(item=metaSizer, proportion=1,
+        mainSizer.Add(metaSizer, proportion=1,
                       flag=wx.EXPAND | wx.ALL, border=5)
         mainSizer.Add(
-            item=cmdSizer,
+            cmdSizer,
             proportion=0,
             flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
             border=5)
-        mainSizer.Add(item=btnStdSizer, proportion=0,
+        mainSizer.Add(btnStdSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_RIGHT, border=5)
 
         self.SetSizer(mainSizer)

+ 120 - 121
gui/wxpython/gui_core/dialogs.py

@@ -47,7 +47,7 @@ from gui_core.widgets import SingleSymbolPanel, GListCtrl, SimpleValidator, MapV
 from core.utils import _
 from core.settings import UserSettings
 from core.debug import Debug
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 
 
 class SimpleDialog(wx.Dialog):
@@ -84,11 +84,11 @@ class SimpleDialog(wx.Dialog):
         btnSizer.AddButton(self.btnOK)
         btnSizer.Realize()
 
-        self.sizer.Add(item=self.dataSizer, proportion=1,
+        self.sizer.Add(self.dataSizer, proportion=1,
                        flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         # self.sizer.Add(item = self.informLabel, proportion = 0, flag = wx.ALL, border = 5)
-        self.sizer.Add(item=btnSizer, proportion=0,
+        self.sizer.Add(btnSizer, proportion=0,
                        flag=wx.EXPAND | wx.ALL, border=5)
 
     def ValidatorCallback(self, win):
@@ -126,7 +126,7 @@ class LocationDialog(SimpleDialog):
     def _layout(self):
         """Do layout"""
         self.dataSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self.panel,
                 id=wx.ID_ANY,
                 label=_("Name of GRASS location:")),
@@ -196,8 +196,8 @@ class MapsetDialog(SimpleDialog):
 
     def _layout(self):
         """Do layout"""
-        self.dataSizer.Add(item=wx.StaticText(parent=self.panel, id=wx.ID_ANY,
-                                              label=_("Name of mapset:")),
+        self.dataSizer.Add(wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+                                         label=_("Name of mapset:")),
                            proportion=0, flag=wx.ALL, border=1)
         self.dataSizer.Add(self.element, proportion=0,
                            flag=wx.EXPAND | wx.ALL, border=1)
@@ -235,10 +235,10 @@ class VectorDialog(SimpleDialog):
 
     def _layout(self):
         """Do layout"""
-        self.dataSizer.Add(item=wx.StaticText(parent=self.panel, id=wx.ID_ANY,
-                                              label=_("Name of vector map:")),
+        self.dataSizer.Add(wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+                                         label=_("Name of vector map:")),
                            proportion=0, flag=wx.ALL, border=1)
-        self.dataSizer.Add(item=self.element, proportion=0,
+        self.dataSizer.Add(self.element, proportion=0,
                            flag=wx.EXPAND | wx.ALL, border=1)
 
         self.panel.SetSizer(self.sizer)
@@ -326,40 +326,40 @@ class NewVectorDialog(VectorDialog):
     def _layout(self):
         """Do layout"""
         self.dataSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self.panel,
                 id=wx.ID_ANY,
                 label=_("Name for new vector map:")),
             proportion=0,
             flag=wx.ALL,
             border=1)
-        self.dataSizer.Add(item=self.element, proportion=0,
+        self.dataSizer.Add(self.element, proportion=0,
                            flag=wx.EXPAND | wx.ALL, border=1)
         if self.ftype:
             self.dataSizer.AddSpacer(1)
-            self.dataSizer.Add(item=self.ftype, proportion=0,
+            self.dataSizer.Add(self.ftype, proportion=0,
                                flag=wx.EXPAND | wx.ALL, border=1)
 
-        self.dataSizer.Add(item=self.table, proportion=0,
+        self.dataSizer.Add(self.table, proportion=0,
                            flag=wx.EXPAND | wx.ALL, border=1)
 
         if self.keycol:
             keySizer = wx.BoxSizer(wx.HORIZONTAL)
             keySizer.Add(
-                item=wx.StaticText(
+                wx.StaticText(
                     parent=self.panel,
                     label=_("Key column:")),
                 proportion=0,
                 flag=wx.ALIGN_CENTER_VERTICAL)
             keySizer.AddSpacer(10)
-            keySizer.Add(item=self.keycol, proportion=0,
+            keySizer.Add(self.keycol, proportion=0,
                          flag=wx.ALIGN_RIGHT)
-            self.dataSizer.Add(item=keySizer, proportion=1,
+            self.dataSizer.Add(keySizer, proportion=1,
                                flag=wx.EXPAND | wx.ALL, border=1)
 
         self.dataSizer.AddSpacer(5)
 
-        self.dataSizer.Add(item=self.addbox, proportion=0,
+        self.dataSizer.Add(self.addbox, proportion=0,
                            flag=wx.EXPAND | wx.ALL, border=1)
 
         self.panel.SetSizer(self.sizer)
@@ -553,7 +553,7 @@ class SavedRegion(wx.Dialog):
         box = wx.BoxSizer(wx.HORIZONTAL)
         label = wx.StaticText(parent=self, id=wx.ID_ANY)
         box.Add(
-            item=label,
+            label,
             proportion=0,
             flag=wx.ALIGN_CENTRE | wx.ALL,
             border=5)
@@ -574,20 +574,20 @@ class SavedRegion(wx.Dialog):
                 fullyQualified=False)
 
         box.Add(
-            item=self._selection,
+            self._selection,
             proportion=0,
             flag=wx.ALIGN_CENTRE | wx.ALL,
             border=5)
         self._selection.SetFocus()
         self._selection.Bind(wx.EVT_TEXT, self.OnRegion)
 
-        sizer.Add(item=box, proportion=0, flag=wx.GROW |
+        sizer.Add(box, proportion=0, flag=wx.GROW |
                   wx.ALIGN_CENTER_VERTICAL | wx.ALL, border=5)
 
         line = wx.StaticLine(
             parent=self, id=wx.ID_ANY, size=(
                 20, -1), style=wx.LI_HORIZONTAL)
-        sizer.Add(item=line, proportion=0, flag=wx.GROW |
+        sizer.Add(line, proportion=0, flag=wx.GROW |
                   wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, border=5)
 
         btnsizer = wx.StdDialogButtonSizer()
@@ -601,7 +601,7 @@ class SavedRegion(wx.Dialog):
         btnsizer.Realize()
 
         sizer.Add(
-            item=btnsizer,
+            btnsizer,
             proportion=0,
             flag=wx.ALIGN_RIGHT | wx.ALL,
             border=5)
@@ -685,13 +685,13 @@ class GroupDialog(wx.Dialog):
         btnSizer.Realize()
 
         mainSizer = wx.BoxSizer(wx.VERTICAL)
-        mainSizer.Add(item=self.bodySizer, proportion=1,
+        mainSizer.Add(self.bodySizer, proportion=1,
                       flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10)
-        mainSizer.Add(item=wx.StaticLine(parent=self, id=wx.ID_ANY,
-                                         style=wx.LI_HORIZONTAL), proportion=0,
+        mainSizer.Add(wx.StaticLine(parent=self, id=wx.ID_ANY,
+                                    style=wx.LI_HORIZONTAL), proportion=0,
                       flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=10)
 
-        mainSizer.Add(item=btnSizer, proportion=0, flag=wx.LEFT |
+        mainSizer.Add(btnSizer, proportion=0, flag=wx.LEFT |
                       wx.RIGHT | wx.BOTTOM | wx.ALIGN_RIGHT, border=10)
 
         self.SetSizer(mainSizer)
@@ -715,28 +715,28 @@ class GroupDialog(wx.Dialog):
                            " and '$' for the end.")
 
         # group selection
-        bodySizer.Add(item=wx.StaticText(parent=self, id=wx.ID_ANY,
-                                         label=_("Select existing group or "
-                                                 "enter name of new group:")),
+        bodySizer.Add(wx.StaticText(parent=self, id=wx.ID_ANY,
+                                    label=_("Select existing group or "
+                                            "enter name of new group:")),
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.TOP, border=10)
         self.groupSelect = Select(parent=self, type='group',
                                   mapsets=[grass.gisenv()['MAPSET']],
                                   size=globalvar.DIALOG_GSELECT_SIZE,
                                   fullyQualified=False)  # searchpath?
 
-        bodySizer.Add(item=self.groupSelect, flag=wx.TOP | wx.EXPAND, border=5)
+        bodySizer.Add(self.groupSelect, flag=wx.TOP | wx.EXPAND, border=5)
 
         self.subg_chbox = wx.CheckBox(parent=self, id=wx.ID_ANY,
                                       label=_("Edit/create subgroup"))
 
-        bodySizer.Add(item=self.subg_chbox,
+        bodySizer.Add(self.subg_chbox,
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.TOP, border=10)
 
         self.subg_panel = wx.Panel(self)
         subg_sizer = wx.BoxSizer(wx.VERTICAL)
 
         subg_sizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self.subg_panel,
                 id=wx.ID_ANY,
                 label=_(
@@ -747,13 +747,13 @@ class GroupDialog(wx.Dialog):
         self.subGroupSelect = SubGroupSelect(parent=self.subg_panel)
 
         subg_sizer.Add(
-            item=self.subGroupSelect,
+            self.subGroupSelect,
             flag=wx.EXPAND | wx.TOP,
             border=5)
 
         self.subg_panel.SetSizer(subg_sizer)
 
-        bodySizer.Add(item=self.subg_panel, flag=wx.TOP | wx.EXPAND, border=5)
+        bodySizer.Add(self.subg_panel, flag=wx.TOP | wx.EXPAND, border=5)
 
         bodySizer.AddSpacer(10)
 
@@ -767,12 +767,12 @@ class GroupDialog(wx.Dialog):
         self.g_sel_all = wx.CheckBox(parent=self.gListPanel, id=wx.ID_ANY,
                                      label=_("Select all"))
 
-        gListSizer.Add(item=self.g_sel_all,
+        gListSizer.Add(self.g_sel_all,
                        flag=wx.ALIGN_CENTER_VERTICAL,
                        pos=(0, 1))
 
         gListSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self.gListPanel,
                 label=_("Pattern:")),
             flag=wx.ALIGN_CENTER_VERTICAL,
@@ -785,12 +785,12 @@ class GroupDialog(wx.Dialog):
                                    size=(250, -1))
         self.gfilter.SetToolTipString(filter_tooltip)
 
-        gListSizer.Add(item=self.gfilter,
+        gListSizer.Add(self.gfilter,
                        flag=wx.EXPAND,
                        pos=(1, 1))
 
         gListSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self.gListPanel,
                 label=_("List of maps:")),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM,
@@ -804,25 +804,25 @@ class GroupDialog(wx.Dialog):
         self.gLayerBox = wx.ListBox(
             parent=self.gListPanel, id=wx.ID_ANY, size=(-1, 150),
             style=wx.LB_MULTIPLE | wx.LB_NEEDED_SB)
-        sizer.Add(item=self.gLayerBox, proportion=1, flag=wx.EXPAND)
+        sizer.Add(self.gLayerBox, proportion=1, flag=wx.EXPAND)
 
         self.addLayer = wx.Button(self.gListPanel, id=wx.ID_ADD)
         self.addLayer.SetToolTipString(
             _("Select map layers and add them to the list."))
-        buttonSizer.Add(item=self.addLayer, flag=wx.BOTTOM, border=10)
+        buttonSizer.Add(self.addLayer, flag=wx.BOTTOM, border=10)
 
         self.removeLayer = wx.Button(self.gListPanel, id=wx.ID_REMOVE)
         self.removeLayer.SetToolTipString(
             _("Remove selected layer(s) from list."))
-        buttonSizer.Add(item=self.removeLayer)
-        sizer.Add(item=buttonSizer, flag=wx.LEFT, border=5)
+        buttonSizer.Add(self.removeLayer)
+        sizer.Add(buttonSizer, flag=wx.LEFT, border=5)
 
-        gListSizer.Add(item=sizer, flag=wx.EXPAND, pos=(2, 1))
+        gListSizer.Add(sizer, flag=wx.EXPAND, pos=(2, 1))
         gListSizer.AddGrowableCol(1)
         gListSizer.AddGrowableRow(2)
 
         self.gListPanel.SetSizer(gListSizer)
-        bodySizer.Add(item=self.gListPanel, proportion=1, flag=wx.EXPAND)
+        bodySizer.Add(self.gListPanel, proportion=1, flag=wx.EXPAND)
 
         # layers in subgroup
         self.subgListPanel = wx.Panel(self)
@@ -835,12 +835,12 @@ class GroupDialog(wx.Dialog):
             id=wx.ID_ANY,
             label=_("Select all"))
 
-        subgListSizer.Add(item=self.subg_sel_all,
+        subgListSizer.Add(self.subg_sel_all,
                           flag=wx.ALIGN_CENTER_VERTICAL,
                           pos=(0, 1))
 
         subgListSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self.subgListPanel,
                 label=_("Pattern:")),
             flag=wx.ALIGN_CENTER_VERTICAL,
@@ -853,12 +853,12 @@ class GroupDialog(wx.Dialog):
                                       size=(250, -1))
         self.subgfilter.SetToolTipString(filter_tooltip)
 
-        subgListSizer.Add(item=self.subgfilter,
+        subgListSizer.Add(self.subgfilter,
                           flag=wx.EXPAND,
                           pos=(1, 1))
 
         subgListSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self.subgListPanel,
                 label=_("List of maps:")),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM,
@@ -872,16 +872,16 @@ class GroupDialog(wx.Dialog):
         self.subgListBox.SetToolTipString(
             _("Check maps from group to be included into subgroup."))
 
-        subgListSizer.Add(item=self.subgListBox, flag=wx.EXPAND, pos=(2, 1))
+        subgListSizer.Add(self.subgListBox, flag=wx.EXPAND, pos=(2, 1))
         subgListSizer.AddGrowableCol(1)
         subgListSizer.AddGrowableRow(2)
 
         self.subgListPanel.SetSizer(subgListSizer)
-        bodySizer.Add(item=self.subgListPanel, proportion=1, flag=wx.EXPAND)
+        bodySizer.Add(self.subgListPanel, proportion=1, flag=wx.EXPAND)
 
         self.infoLabel = wx.StaticText(parent=self, id=wx.ID_ANY)
         bodySizer.Add(
-            item=self.infoLabel,
+            self.infoLabel,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.TOP | wx.BOTTOM,
             border=5)
 
@@ -1384,7 +1384,7 @@ class MapLayersDialogBase(wx.Dialog):
 
         # dialog body
         self.bodySizer = self._createDialogBody()
-        self.mainSizer.Add(item=self.bodySizer, proportion=1,
+        self.mainSizer.Add(self.bodySizer, proportion=1,
                            flag=wx.EXPAND | wx.ALL, border=5)
 
         # update list of layer to be loaded
@@ -1407,7 +1407,7 @@ class MapLayersDialogBase(wx.Dialog):
         self._addApplyButton()
         self.btnSizer.Realize()
 
-        self.mainSizer.Add(item=self.btnSizer, proportion=0,
+        self.mainSizer.Add(self.btnSizer, proportion=0,
                            flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         self.SetSizer(self.mainSizer)
@@ -1435,7 +1435,7 @@ class MapLayersDialogBase(wx.Dialog):
             parent=self, id=wx.ID_ANY,
             label=_("Use fully-qualified map names"))
         self.fullyQualified.SetValue(True)
-        self.mainSizer.Add(item=self.fullyQualified, proportion=0,
+        self.mainSizer.Add(self.fullyQualified, proportion=0,
                            flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
 
     def _useFullyQualifiedNames(self):
@@ -1459,7 +1459,7 @@ class MapLayersDialogBase(wx.Dialog):
         bodySizer = wx.GridBagSizer(vgap=3, hgap=3)
 
         # layer type
-        bodySizer.Add(item=wx.StaticText(parent=self, label=_("Map type:")),
+        bodySizer.Add(wx.StaticText(parent=self, label=_("Map type:")),
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(0, 0))
 
@@ -1468,7 +1468,7 @@ class MapLayersDialogBase(wx.Dialog):
 
         self.layerType.SetSelection(0)
 
-        bodySizer.Add(item=self.layerType,
+        bodySizer.Add(self.layerType,
                       pos=(0, 1))
         self.layerType.Bind(wx.EVT_CHOICE, self.OnChangeParams)
 
@@ -1476,29 +1476,29 @@ class MapLayersDialogBase(wx.Dialog):
         self.toggle = wx.CheckBox(parent=self, id=wx.ID_ANY,
                                   label=_("Select toggle"))
         self.toggle.SetValue(self._selectAll())
-        bodySizer.Add(item=self.toggle,
+        bodySizer.Add(self.toggle,
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(0, 2))
 
         # mapset filter
-        bodySizer.Add(item=wx.StaticText(parent=self, label=_("Mapset:")),
+        bodySizer.Add(wx.StaticText(parent=self, label=_("Mapset:")),
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(1, 0))
 
         self.mapset = MapsetSelect(parent=self, searchPath=True)
         self.mapset.SetStringSelection(grass.gisenv()['MAPSET'])
-        bodySizer.Add(item=self.mapset,
+        bodySizer.Add(self.mapset,
                       pos=(1, 1), span=(1, 2))
 
         # map name filter
-        bodySizer.Add(item=wx.StaticText(parent=self, label=_("Pattern:")),
+        bodySizer.Add(wx.StaticText(parent=self, label=_("Pattern:")),
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(2, 0))
 
         self.filter = wx.TextCtrl(parent=self, id=wx.ID_ANY,
                                   value="",
                                   size=(250, -1))
-        bodySizer.Add(item=self.filter,
+        bodySizer.Add(self.filter,
                       flag=wx.EXPAND,
                       pos=(2, 1), span=(1, 2))
 
@@ -1513,7 +1513,7 @@ class MapLayersDialogBase(wx.Dialog):
 
         # layer list
         bodySizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 label=_("List of maps:")),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_TOP,
@@ -1523,7 +1523,7 @@ class MapLayersDialogBase(wx.Dialog):
         self.layers = wx.CheckListBox(parent=self, id=wx.ID_ANY,
                                       size=(250, 100),
                                       choices=[])
-        bodySizer.Add(item=self.layers,
+        bodySizer.Add(self.layers,
                       flag=wx.EXPAND,
                       pos=(3, 1), span=(1, 2))
 
@@ -1620,7 +1620,7 @@ class MapLayersDialogBase(wx.Dialog):
 
     def OnToggle(self, event):
         """Select toggle (check or uncheck all layers)"""
-        check = event.Checked()
+        check = event.IsChecked()
         for item in range(self.layers.GetCount()):
             self.layers.Check(item, check)
 
@@ -1719,7 +1719,7 @@ class MapLayersDialogForModeler(MapLayersDialogBase):
         self.dseries = wx.CheckBox(parent=self, id=wx.ID_ANY,
                                    label=_("Dynamic series (%s)") % 'g.list')
         self.dseries.SetValue(False)
-        self.mainSizer.Add(item=self.dseries, proportion=0,
+        self.mainSizer.Add(self.dseries, proportion=0,
                            flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
 
     def GetDSeries(self):
@@ -1772,22 +1772,22 @@ class SetOpacityDialog(wx.Dialog):
             style=wx.SL_HORIZONTAL | wx.SL_AUTOTICKS | wx.SL_TOP | wx.SL_LABELS,
             minValue=0, maxValue=100, size=(350, -1))
 
-        box.Add(item=self.value,
+        box.Add(self.value,
                 flag=wx.ALIGN_CENTRE, pos=(0, 0), span=(1, 2))
-        box.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                   label=_("transparent")),
+        box.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                              label=_("transparent")),
                 pos=(1, 0))
-        box.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                   label=_("opaque")),
+        box.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                              label=_("opaque")),
                 flag=wx.ALIGN_RIGHT,
                 pos=(1, 1))
 
-        sizer.Add(item=box, proportion=0,
+        sizer.Add(box, proportion=0,
                   flag=wx.EXPAND | wx.ALIGN_CENTER_VERTICAL | wx.ALL, border=5)
 
         line = wx.StaticLine(parent=panel, id=wx.ID_ANY,
                              style=wx.LI_HORIZONTAL)
-        sizer.Add(item=line, proportion=0,
+        sizer.Add(line, proportion=0,
                   flag=wx.EXPAND | wx.ALIGN_CENTER_VERTICAL | wx.ALL, border=5)
 
         # buttons
@@ -1805,7 +1805,7 @@ class SetOpacityDialog(wx.Dialog):
         btnsizer.AddButton(btnApply)
         btnsizer.Realize()
 
-        sizer.Add(item=btnsizer, proportion=0,
+        sizer.Add(btnsizer, proportion=0,
                   flag=wx.EXPAND | wx.ALIGN_CENTER_VERTICAL | wx.ALL, border=5)
 
         panel.SetSizer(sizer)
@@ -1895,12 +1895,12 @@ class ImageSizeDialog(wx.Dialog):
 
         size = self.parent.GetWindow().GetClientSize()
         self.width = SpinCtrl(parent=self.panel, id=wx.ID_ANY,
-                                 style=wx.SP_ARROW_KEYS)
+                              style=wx.SP_ARROW_KEYS)
         self.width.SetRange(20, 1e6)
         self.width.SetValue(size.width)
         wx.CallAfter(self.width.SetFocus)
         self.height = SpinCtrl(parent=self.panel, id=wx.ID_ANY,
-                                  style=wx.SP_ARROW_KEYS)
+                               style=wx.SP_ARROW_KEYS)
         self.height.SetRange(20, 1e6)
         self.height.SetValue(size.height)
         self.template = wx.Choice(parent=self.panel, id=wx.ID_ANY,
@@ -1929,22 +1929,22 @@ class ImageSizeDialog(wx.Dialog):
         # body
         box = wx.StaticBoxSizer(self.box, wx.HORIZONTAL)
         fbox = wx.FlexGridSizer(cols=2, vgap=5, hgap=5)
-        fbox.Add(item=wx.StaticText(parent=self.panel, id=wx.ID_ANY,
-                                    label=_("Width:")),
+        fbox.Add(wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+                               label=_("Width:")),
                  flag=wx.ALIGN_CENTER_VERTICAL)
-        fbox.Add(item=self.width)
-        fbox.Add(item=wx.StaticText(parent=self.panel, id=wx.ID_ANY,
-                                    label=_("Height:")),
+        fbox.Add(self.width)
+        fbox.Add(wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+                               label=_("Height:")),
                  flag=wx.ALIGN_CENTER_VERTICAL)
-        fbox.Add(item=self.height)
-        fbox.Add(item=wx.StaticText(parent=self.panel, id=wx.ID_ANY,
-                                    label=_("Template:")),
+        fbox.Add(self.height)
+        fbox.Add(wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+                               label=_("Template:")),
                  flag=wx.ALIGN_CENTER_VERTICAL)
-        fbox.Add(item=self.template)
+        fbox.Add(self.template)
 
-        box.Add(item=fbox, proportion=1,
+        box.Add(fbox, proportion=1,
                 flag=wx.EXPAND | wx.ALL, border=5)
-        sizer.Add(item=box, proportion=1,
+        sizer.Add(box, proportion=1,
                   flag=wx.EXPAND | wx.ALL, border=3)
 
         # buttons
@@ -1953,7 +1953,7 @@ class ImageSizeDialog(wx.Dialog):
         btnsizer.AddButton(self.btnCancel)
         btnsizer.Realize()
 
-        sizer.Add(item=btnsizer, proportion=0,
+        sizer.Add(btnsizer, proportion=0,
                   flag=wx.EXPAND | wx.ALIGN_RIGHT | wx.ALL, border=5)
 
         self.panel.SetSizer(sizer)
@@ -2012,7 +2012,7 @@ class SqlQueryFrame(wx.Frame):
         sizer = wx.BoxSizer(wx.VERTICAL)
 
         sqlSizer = wx.StaticBoxSizer(self.sqlBox, wx.HORIZONTAL)
-        sqlSizer.Add(item=self.sql, proportion=1,
+        sqlSizer.Add(self.sql, proportion=1,
                      flag=wx.EXPAND)
 
         btnSizer = wx.StdDialogButtonSizer()
@@ -2020,9 +2020,9 @@ class SqlQueryFrame(wx.Frame):
         btnSizer.AddButton(self.btnCancel)
         btnSizer.Realize()
 
-        sizer.Add(item=sqlSizer, proportion=1,
+        sizer.Add(sqlSizer, proportion=1,
                   flag=wx.EXPAND | wx.ALL, border=5)
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5)
 
         self.panel.SetSizer(sizer)
@@ -2074,14 +2074,14 @@ class SymbolDialog(wx.Dialog):
         self.folderChoice.Bind(wx.EVT_CHOICE, self.OnFolderSelect)
 
         fgSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 mainPanel,
                 id=wx.ID_ANY,
                 label=_("Symbol directory:")),
             proportion=0,
             flag=wx.ALIGN_CENTER_VERTICAL)
 
-        fgSizer.Add(item=self.folderChoice, proportion=0,
+        fgSizer.Add(self.folderChoice, proportion=0,
                     flag=wx.ALIGN_CENTER, border=0)
 
         self.infoLabel = wx.StaticText(mainPanel, id=wx.ID_ANY)
@@ -2110,7 +2110,7 @@ class SymbolDialog(wx.Dialog):
         btnSizer.AddButton(self.btnCancel)
         btnSizer.AddButton(self.btnOK)
         btnSizer.Realize()
-        mainSizer.Add(item=btnSizer, proportion=0,
+        mainSizer.Add(btnSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL, border=5)
 
         # show panel with the largest number of images and fit size
@@ -2162,7 +2162,7 @@ class SymbolDialog(wx.Dialog):
             for img in images:
                 iP = SingleSymbolPanel(parent=panel, symbolPath=img)
                 iP.symbolSelectionChanged.connect(self.SelectionChanged)
-                sizer.Add(item=iP, proportion=0, flag=wx.ALIGN_CENTER)
+                sizer.Add(iP, proportion=0, flag=wx.ALIGN_CENTER)
                 symbolPanels.append(iP)
 
             panel.SetSizerAndFit(sizer)
@@ -2245,7 +2245,7 @@ class TextEntryDialog(wx.Dialog):
         vbox = wx.BoxSizer(wx.VERTICAL)
 
         stline = wx.StaticText(self, id=wx.ID_ANY, label=message)
-        vbox.Add(item=stline, proportion=0, flag=wx.EXPAND | wx.ALL, border=10)
+        vbox.Add(stline, proportion=0, flag=wx.EXPAND | wx.ALL, border=10)
 
         self._textCtrl = wx.TextCtrl(
             self,
@@ -2257,14 +2257,14 @@ class TextEntryDialog(wx.Dialog):
         wx.CallAfter(self._textCtrl.SetFocus)
 
         vbox.Add(
-            item=self._textCtrl,
+            self._textCtrl,
             proportion=0,
             flag=wx.EXPAND | wx.LEFT | wx.RIGHT,
             border=10)
         self._textCtrl.SetFocus()
 
         sizer = self.CreateSeparatedButtonSizer(style)
-        vbox.Add(item=sizer, proportion=1, flag=wx.EXPAND | wx.ALL, border=10)
+        vbox.Add(sizer, proportion=1, flag=wx.EXPAND | wx.ALL, border=10)
 
         self.SetSizerAndFit(vbox)
 
@@ -2296,7 +2296,7 @@ class HyperlinkDialog(wx.Dialog):
 
         label = wx.StaticText(self, label=message)
         sizer.Add(
-            item=label,
+            label,
             proportion=0,
             flag=wx.ALIGN_CENTRE | wx.ALL,
             border=10)
@@ -2305,14 +2305,14 @@ class HyperlinkDialog(wx.Dialog):
             self, id=wx.ID_ANY, label=hyperlinkLabel, url=hyperlink,
             style=wx.HL_ALIGN_LEFT | wx.HL_CONTEXTMENU)
         sizer.Add(
-            item=hyperlinkCtrl,
+            hyperlinkCtrl,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=10)
 
         btnsizer = self.CreateSeparatedButtonSizer(style)
         sizer.Add(
-            item=btnsizer,
+            btnsizer,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=10)
@@ -2333,9 +2333,8 @@ class QuitDialog(wx.Dialog):
         self.panel = wx.Panel(parent=self, id=wx.ID_ANY)
 
         self._icon = wx.StaticBitmap(
-            parent=self.panel,
-            id=wx.ID_ANY,
-            bitmap=wx.ArtProvider().GetBitmap(
+            self.panel, wx.ID_ANY,
+            wx.ArtProvider().GetBitmap(
                 wx.ART_QUESTION,
                 client=wx.ART_MESSAGE_BOX))
 
@@ -2361,17 +2360,17 @@ class QuitDialog(wx.Dialog):
         sizer = wx.BoxSizer(wx.VERTICAL)
 
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
-        btnSizer.Add(item=self.btnCancel, flag=wx.RIGHT, border=5)
-        btnSizer.Add(item=self.btnClose, flag=wx.RIGHT, border=5)
-        btnSizer.Add(item=self.btnQuit, flag=wx.RIGHT, border=5)
+        btnSizer.Add(self.btnCancel, flag=wx.RIGHT, border=5)
+        btnSizer.Add(self.btnClose, flag=wx.RIGHT, border=5)
+        btnSizer.Add(self.btnQuit, flag=wx.RIGHT, border=5)
 
         bodySizer = wx.BoxSizer(wx.HORIZONTAL)
-        bodySizer.Add(item=self._icon, flag=wx.RIGHT, border=10)
-        bodySizer.Add(item=self.informLabel, proportion=1, flag=wx.EXPAND)
+        bodySizer.Add(self._icon, flag=wx.RIGHT, border=10)
+        bodySizer.Add(self.informLabel, proportion=1, flag=wx.EXPAND)
 
-        sizer.Add(item=bodySizer, proportion=1,
+        sizer.Add(bodySizer, proportion=1,
                   flag=wx.EXPAND | wx.ALL, border=15)
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.ALL | wx.ALIGN_RIGHT, border=5)
 
         self.panel.SetSizer(sizer)
@@ -2419,7 +2418,7 @@ class DefaultFontDialog(wx.Dialog):
 
         label = wx.StaticText(parent=panel, id=wx.ID_ANY,
                               label=_("Select font:"))
-        gridSizer.Add(item=label,
+        gridSizer.Add(label,
                       flag=wx.ALIGN_TOP,
                       pos=(0, 0))
 
@@ -2432,11 +2431,11 @@ class DefaultFontDialog(wx.Dialog):
         self.Bind(wx.EVT_LISTBOX, self.EvtListBox, self.fontlb)
         self.Bind(wx.EVT_LISTBOX_DCLICK, self.EvtListBoxDClick, self.fontlb)
 
-        gridSizer.Add(item=self.fontlb,
+        gridSizer.Add(self.fontlb,
                       flag=wx.EXPAND, pos=(1, 0))
 
-        self.renderfont = wx.StaticBitmap(panel, bitmap=wx.EmptyBitmapRGBA(100, 50, 255, 255, 255))
-        gridSizer.Add(item=self.renderfont,
+        self.renderfont = wx.StaticBitmap(panel, -1, wx.EmptyBitmapRGBA(100, 50, 255, 255, 255))
+        gridSizer.Add(self.renderfont,
                       flag=wx.EXPAND, pos=(2, 0))
 
         if self.type == 'font':
@@ -2450,13 +2449,13 @@ class DefaultFontDialog(wx.Dialog):
 
             label = wx.StaticText(parent=panel, id=wx.ID_ANY,
                                   label=_("Character encoding:"))
-            gridSizer.Add(item=label,
+            gridSizer.Add(label,
                           flag=wx.ALIGN_CENTER_VERTICAL,
                           pos=(3, 0))
 
             self.textentry = wx.TextCtrl(parent=panel, id=wx.ID_ANY,
                                          value=self.encoding)
-            gridSizer.Add(item=self.textentry,
+            gridSizer.Add(self.textentry,
                           flag=wx.EXPAND, pos=(4, 0))
 
             self.textentry.Bind(wx.EVT_TEXT, self.OnEncoding)
@@ -2468,7 +2467,7 @@ class DefaultFontDialog(wx.Dialog):
                                               key='outputfont', subkey='size')
             label = wx.StaticText(parent=panel, id=wx.ID_ANY,
                                   label=_("Font size:"))
-            gridSizer.Add(item=label,
+            gridSizer.Add(label,
                           flag=wx.ALIGN_CENTER_VERTICAL,
                           pos=(2, 0))
 
@@ -2477,7 +2476,7 @@ class DefaultFontDialog(wx.Dialog):
                 self.spin.SetValue(int(self.fontsize))
             self.spin.Bind(wx.EVT_SPINCTRL, self.OnSizeSpin)
             self.spin.Bind(wx.EVT_TEXT, self.OnSizeSpin)
-            gridSizer.Add(item=self.spin,
+            gridSizer.Add(self.spin,
                           flag=wx.ALIGN_CENTER_VERTICAL,
                           pos=(3, 0))
 
@@ -2488,11 +2487,11 @@ class DefaultFontDialog(wx.Dialog):
             self.fontlb.SetStringSelection(fontdict_reverse[self.font], True)
 
         gridSizer.AddGrowableCol(0)
-        sizer.Add(item=gridSizer, proportion=1,
+        sizer.Add(gridSizer, proportion=1,
                   flag=wx.EXPAND | wx.ALL,
                   border=5)
 
-        border.Add(item=sizer, proportion=1,
+        border.Add(sizer, proportion=1,
                    flag=wx.ALL | wx.EXPAND, border=3)
 
         btnsizer = wx.StdDialogButtonSizer()
@@ -2505,7 +2504,7 @@ class DefaultFontDialog(wx.Dialog):
         btnsizer.AddButton(btn)
         btnsizer.Realize()
 
-        border.Add(item=btnsizer, proportion=0,
+        border.Add(btnsizer, proportion=0,
                    flag=wx.EXPAND | wx.ALIGN_RIGHT | wx.ALL, border=5)
 
         panel.SetAutoLayout(True)

+ 109 - 100
gui/wxpython/gui_core/forms.py

@@ -98,7 +98,7 @@ from core.settings import UserSettings
 from gui_core.widgets import FloatValidator, GNotebook, FormNotebook, FormListbook
 from core.giface import Notification
 from gui_core.widgets import LayersList
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import BitmapFromImage, Button, StaticText, StaticBox, SpinCtrl
 
 wxUpdateDialog, EVT_DIALOG_UPDATE = NewEvent()
 
@@ -497,13 +497,13 @@ class TaskFrame(wx.Frame):
 
         # GRASS logo
         self.logo = wx.StaticBitmap(
-            parent=self.panel,
-            bitmap=wx.Bitmap(
+            self.panel, -1,
+            wx.Bitmap(
                 name=os.path.join(
                     globalvar.IMGDIR,
                     'grass_form.png'),
                 type=wx.BITMAP_TYPE_PNG))
-        topsizer.Add(item=self.logo, proportion=0, border=3,
+        topsizer.Add(self.logo, proportion=0, border=3,
                      flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL)
 
         # add module description
@@ -514,10 +514,10 @@ class TaskFrame(wx.Frame):
 
         self.description = StaticWrapText(parent=self.panel,
                                           label=module_desc)
-        topsizer.Add(item=self.description, proportion=1, border=5,
+        topsizer.Add(self.description, proportion=1, border=5,
                      flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND)
 
-        guisizer.Add(item=topsizer, proportion=0, flag=wx.EXPAND)
+        guisizer.Add(topsizer, proportion=0, flag=wx.EXPAND)
 
         self.panel.SetSizerAndFit(guisizer)
         self.Layout()
@@ -539,7 +539,7 @@ class TaskFrame(wx.Frame):
                 lambda message: self.SetStatusText(message))
 
         self.notebookpanel.OnUpdateValues = self.updateValuesHook
-        guisizer.Add(item=self.notebookpanel, proportion=1, flag=wx.EXPAND)
+        guisizer.Add(self.notebookpanel, proportion=1, flag=wx.EXPAND)
 
         # status bar
         status_text = _("Enter parameters for '") + self.task.name + "'"
@@ -554,13 +554,13 @@ class TaskFrame(wx.Frame):
         # cancel
         if sys.platform == 'darwin':
             # stock id automatically adds ctrl-c shortcut to close dialog
-            self.btn_cancel = wx.Button(parent=self.panel, label=_("Close"))
+            self.btn_cancel = Button(parent=self.panel, label=_("Close"))
         else:
-            self.btn_cancel = wx.Button(parent=self.panel, id=wx.ID_CLOSE)
-        self.btn_cancel.SetToolTipString(
+            self.btn_cancel = Button(parent=self.panel, id=wx.ID_CLOSE)
+        self.btn_cancel.SetToolTip(
             _("Close this window without executing the command (Ctrl+Q)"))
         btnsizer.Add(
-            item=self.btn_cancel,
+            self.btn_cancel,
             proportion=0,
             flag=wx.ALL | wx.ALIGN_CENTER,
             border=10)
@@ -572,14 +572,14 @@ class TaskFrame(wx.Frame):
         # TODO: bind Ctrl-t for tile windows here (trac #2004)
 
         if self.get_dcmd is not None:  # A callback has been set up
-            btn_apply = wx.Button(parent=self.panel, id=wx.ID_APPLY)
-            btn_ok = wx.Button(parent=self.panel, id=wx.ID_OK)
+            btn_apply = Button(parent=self.panel, id=wx.ID_APPLY)
+            btn_ok = Button(parent=self.panel, id=wx.ID_OK)
             btn_ok.SetDefault()
 
-            btnsizer.Add(item=btn_apply, proportion=0,
+            btnsizer.Add(btn_apply, proportion=0,
                          flag=wx.ALL | wx.ALIGN_CENTER,
                          border=10)
-            btnsizer.Add(item=btn_ok, proportion=0,
+            btnsizer.Add(btn_ok, proportion=0,
                          flag=wx.ALL | wx.ALIGN_CENTER,
                          border=10)
 
@@ -587,13 +587,13 @@ class TaskFrame(wx.Frame):
             btn_ok.Bind(wx.EVT_BUTTON, self.OnOK)
         else:  # We're standalone
             # run
-            self.btn_run = wx.Button(
+            self.btn_run = Button(
                 parent=self.panel, id=wx.ID_OK, label=_("&Run"))
-            self.btn_run.SetToolTipString(_("Run the command (Ctrl+R)"))
+            self.btn_run.SetToolTip(_("Run the command (Ctrl+R)"))
             self.btn_run.SetDefault()
             self.btn_run.SetForegroundColour(wx.Colour(35, 142, 35))
 
-            btnsizer.Add(item=self.btn_run, proportion=0,
+            btnsizer.Add(self.btn_run, proportion=0,
                          flag=wx.ALL | wx.ALIGN_CENTER,
                          border=10)
 
@@ -604,19 +604,19 @@ class TaskFrame(wx.Frame):
         # copy
         if sys.platform == 'darwin':
             # stock id automatically adds ctrl-c shortcut to copy command
-            self.btn_clipboard = wx.Button(parent=self.panel, label=_("Copy"))
+            self.btn_clipboard = Button(parent=self.panel, label=_("Copy"))
         else:
-            self.btn_clipboard = wx.Button(parent=self.panel, id=wx.ID_COPY)
-        self.btn_clipboard.SetToolTipString(
+            self.btn_clipboard = Button(parent=self.panel, id=wx.ID_COPY)
+        self.btn_clipboard.SetToolTip(
             _("Copy the current command string to the clipboard"))
-        btnsizer.Add(item=self.btn_clipboard, proportion=0,
+        btnsizer.Add(self.btn_clipboard, proportion=0,
                      flag=wx.ALL | wx.ALIGN_CENTER,
                      border=10)
         self.btn_clipboard.Bind(wx.EVT_BUTTON, self.OnCopy)
 
         # help
-        self.btn_help = wx.Button(parent=self.panel, id=wx.ID_HELP)
-        self.btn_help.SetToolTipString(
+        self.btn_help = Button(parent=self.panel, id=wx.ID_HELP)
+        self.btn_help.SetToolTip(
             _("Show manual page of the command (Ctrl+H)"))
         self.btn_help.Bind(wx.EVT_BUTTON, self.OnHelp)
         self.Bind(wx.EVT_MENU, self.OnHelp, id=wx.ID_HELP)
@@ -627,13 +627,13 @@ class TaskFrame(wx.Frame):
 
         # add help button
         btnsizer.Add(
-            item=self.btn_help,
+            self.btn_help,
             proportion=0,
             flag=wx.ALL | wx.ALIGN_CENTER,
             border=10)
 
         guisizer.Add(
-            item=btnsizer,
+            btnsizer,
             proportion=0,
             flag=wx.ALIGN_CENTER | wx.LEFT | wx.RIGHT,
             border=30)
@@ -663,7 +663,7 @@ class TaskFrame(wx.Frame):
                         group='cmd',
                         key='addNewLayer',
                         subkey='enabled'))
-                guisizer.Add(item=self.addbox, proportion=0,
+                guisizer.Add(self.addbox, proportion=0,
                              flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
                              border=5)
 
@@ -688,7 +688,7 @@ class TaskFrame(wx.Frame):
                 _(
                     "Close dialog when command is successfully finished. "
                     "Change this settings in Preferences dialog ('Command' tab)."))
-            guisizer.Add(item=self.closebox, proportion=0,
+            guisizer.Add(self.closebox, proportion=0,
                          flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
                          border=5)
         # bindings
@@ -723,7 +723,7 @@ class TaskFrame(wx.Frame):
         self.Layout()
 
         # keep initial window size limited for small screens
-        width, height = self.GetSizeTuple()
+        width, height = self.GetSize()
         self.SetSize(wx.Size(min(width, 650),
                              min(height, 500)))
 
@@ -731,6 +731,15 @@ class TaskFrame(wx.Frame):
         if self.goutput:
             self.goutput.SetSashPosition(int(self.GetSize()[1] * .75))
 
+    def MakeModal(self, modal=True):
+        if globalvar.wxPythonPhoenix:
+            if modal and not hasattr(self, '_disabler'):
+                self._disabler = wx.WindowDisabler(self)
+            if not modal and hasattr(self, '_disabler'):
+                del self._disabler
+        else:
+            super(TaskFrame, self).MakeModal(modal)
+
     def updateValuesHook(self, event=None):
         """Update status bar data"""
         self.SetStatusText(
@@ -1015,8 +1024,8 @@ class CmdPanel(wx.Panel):
                 title = text_beautify(f['description'])
                 tooltip = None
             title_sizer = wx.BoxSizer(wx.HORIZONTAL)
-            rtitle_txt = wx.StaticText(parent=which_panel,
-                                       label='(' + f['name'] + ')')
+            rtitle_txt = StaticText(parent=which_panel,
+                                    label='(' + f['name'] + ')')
             chk = wx.CheckBox(
                 parent=which_panel,
                 label=title,
@@ -1025,12 +1034,12 @@ class CmdPanel(wx.Panel):
             if tooltip:
                 chk.SetToolTipString(tooltip)
             chk.SetValue(f.get('value', False))
-            title_sizer.Add(item=chk, proportion=1,
+            title_sizer.Add(chk, proportion=1,
                             flag=wx.EXPAND)
-            title_sizer.Add(item=rtitle_txt, proportion=0,
+            title_sizer.Add(rtitle_txt, proportion=0,
                             flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL)
             which_sizer.Add(
-                item=title_sizer,
+                title_sizer,
                 proportion=0,
                 flag=wx.EXPAND | wx.TOP | wx.LEFT | wx.RIGHT,
                 border=5)
@@ -1048,7 +1057,7 @@ class CmdPanel(wx.Panel):
                 else:
                     f['wxId'] = [parChk.GetId()]
                 parChk.Bind(wx.EVT_CHECKBOX, self.OnSetValue)
-                which_sizer.Add(item=parChk, proportion=0,
+                which_sizer.Add(parChk, proportion=0,
                                 flag=wx.LEFT, border=20)
 
             if f['name'] in ('verbose', 'quiet'):
@@ -1097,34 +1106,34 @@ class CmdPanel(wx.Panel):
                     p.get('multiple', False) and \
                     p.get('gisprompt', False) == False and \
                     p.get('type', '') == 'string':
-                title_txt = wx.StaticBox(parent=which_panel, id=wx.ID_ANY)
+                title_txt = StaticBox(parent=which_panel, id=wx.ID_ANY)
             else:
                 title_sizer = wx.BoxSizer(wx.HORIZONTAL)
-                title_txt = wx.StaticText(parent=which_panel)
+                title_txt = StaticText(parent=which_panel)
                 if p['key_desc']:
                     ltype = ','.join(p['key_desc'])
                 else:
                     ltype = p['type']
                 # red star for required options
                 if p.get('required', False):
-                    required_txt = wx.StaticText(parent=which_panel, label="*")
+                    required_txt = StaticText(parent=which_panel, label="*")
                     required_txt.SetForegroundColour(wx.RED)
-                    required_txt.SetToolTipString(_("This option is required"))
+                    required_txt.SetToolTip(_("This option is required"))
                 else:
-                    required_txt = wx.StaticText(parent=which_panel, label="")
-                rtitle_txt = wx.StaticText(
+                    required_txt = StaticText(parent=which_panel, label="")
+                rtitle_txt = StaticText(
                     parent=which_panel,
                     label='(' + p['name'] + '=' + ltype + ')')
-                title_sizer.Add(item=title_txt, proportion=0,
+                title_sizer.Add(title_txt, proportion=0,
                                 flag=wx.LEFT | wx.TOP | wx.EXPAND, border=5)
-                title_sizer.Add(item=required_txt, proportion=1,
+                title_sizer.Add(required_txt, proportion=1,
                                 flag=wx.EXPAND, border=0)
                 title_sizer.Add(
-                    item=rtitle_txt,
+                    rtitle_txt,
                     proportion=0,
                     flag=wx.ALIGN_RIGHT | wx.RIGHT | wx.TOP,
                     border=5)
-                which_sizer.Add(item=title_sizer, proportion=0,
+                which_sizer.Add(title_sizer, proportion=0,
                                 flag=wx.EXPAND)
             self.label_id.append(title_txt.GetId())
 
@@ -1147,7 +1156,7 @@ class CmdPanel(wx.Panel):
                     stSizer = wx.StaticBoxSizer(
                         box=title_txt, orient=wx.VERTICAL)
                     if valuelist_desc:
-                        hSizer = wx.FlexGridSizer(cols=1, vgap=1)
+                        hSizer = wx.FlexGridSizer(cols=1, vgap=1, hgap=1)
                     else:
                         hSizer = wx.FlexGridSizer(cols=6, vgap=1, hgap=1)
                     isEnabled = {}
@@ -1172,15 +1181,15 @@ class CmdPanel(wx.Panel):
                         p['wxId'].append(chkbox.GetId())
                         if val in isEnabled:
                             chkbox.SetValue(True)
-                        hSizer.Add(item=chkbox, proportion=0)
+                        hSizer.Add(chkbox, proportion=0)
                         chkbox.Bind(wx.EVT_CHECKBOX, self.OnUpdateSelection)
                         chkbox.Bind(wx.EVT_CHECKBOX, self.OnCheckBoxMulti)
                         idx += 1
 
-                    stSizer.Add(item=hSizer, proportion=0,
+                    stSizer.Add(hSizer, proportion=0,
                                 flag=wx.ADJUST_MINSIZE | wx.ALL, border=1)
                     which_sizer.Add(
-                        item=stSizer,
+                        stSizer,
                         proportion=0,
                         flag=wx.EXPAND | wx.TOP | wx.RIGHT | wx.LEFT,
                         border=5)
@@ -1222,7 +1231,7 @@ class CmdPanel(wx.Panel):
                             else:
                                 txt2.SetValue(value)
 
-                        which_sizer.Add(item=txt2, proportion=0,
+                        which_sizer.Add(txt2, proportion=0,
                                         flag=style, border=5)
 
                         p['wxId'] = [txt2.GetId(), ]
@@ -1239,7 +1248,7 @@ class CmdPanel(wx.Panel):
                                     value) + '.png')
                             bb = wx.BitmapButton(
                                 parent=which_panel, id=wx.ID_ANY, bitmap=bitmap)
-                            iconLabel = wx.StaticText(
+                            iconLabel = StaticText(
                                 parent=which_panel, id=wx.ID_ANY)
                             iconLabel.SetLabel(value)
                             p['value'] = value
@@ -1247,14 +1256,14 @@ class CmdPanel(wx.Panel):
                             bb.Bind(wx.EVT_BUTTON, self.OnSetSymbol)
                             this_sizer = wx.BoxSizer(wx.HORIZONTAL)
                             this_sizer.Add(
-                                item=bb, proportion=0, flag=wx.ADJUST_MINSIZE |
+                                bb, proportion=0, flag=wx.ADJUST_MINSIZE |
                                 wx.BOTTOM | wx.LEFT, border=5)
                             this_sizer.Add(
-                                item=iconLabel,
+                                iconLabel,
                                 proportion=0,
                                 flag=wx.ADJUST_MINSIZE | wx.BOTTOM | wx.LEFT | wx.ALIGN_CENTER_VERTICAL,
                                 border=5)
-                            which_sizer.Add(item=this_sizer, proportion=0,
+                            which_sizer.Add(this_sizer, proportion=0,
                                             flag=wx.ADJUST_MINSIZE, border=0)
                         else:
                             # list of values (combo)
@@ -1266,7 +1275,7 @@ class CmdPanel(wx.Panel):
                             if value:
                                 cb.SetValue(value)  # parameter previously set
                             which_sizer.Add(
-                                item=cb, proportion=0, flag=wx.ADJUST_MINSIZE |
+                                cb, proportion=0, flag=wx.ADJUST_MINSIZE |
                                 wx.BOTTOM | wx.LEFT, border=5)
                             p['wxId'] = [cb.GetId(), ]
                             cb.Bind(wx.EVT_COMBOBOX, self.OnSetValue)
@@ -1298,19 +1307,19 @@ class CmdPanel(wx.Panel):
                     win.Bind(wx.EVT_TEXT, self.OnSetValue)
                     style = wx.EXPAND | wx.BOTTOM | wx.LEFT | wx.RIGHT
                     if p.get('name', '') == 'font':
-                        font_btn = wx.Button(parent=which_panel, label=_("Select font"))
+                        font_btn = Button(parent=which_panel, label=_("Select font"))
                         font_btn.Bind(wx.EVT_BUTTON, self.OnSelectFont)
                         font_sizer = wx.BoxSizer(wx.HORIZONTAL)
-                        font_sizer.Add(item=win, proportion=1,
+                        font_sizer.Add(win, proportion=1,
                                        flag=style, border=5)
-                        font_sizer.Add(item=font_btn, proportion=0,
+                        font_sizer.Add(font_btn, proportion=0,
                                        flag=style, border=5)
                         
-                        which_sizer.Add(item=font_sizer, proportion=0,
+                        which_sizer.Add(font_sizer, proportion=0,
                                         flag=style, border=5)
                         p['wxId'].append(font_btn.GetId())
                     else:
-                        which_sizer.Add(item=win, proportion=0,
+                        which_sizer.Add(win, proportion=0,
                                         flag=style, border=5)
 
                 elif p.get('type', '') == 'integer':
@@ -1331,14 +1340,14 @@ class CmdPanel(wx.Panel):
                         win.Bind(wx.EVT_SPINCTRL, self.OnSetValue)
 
                     style = wx.BOTTOM | wx.LEFT | wx.RIGHT
-                    which_sizer.Add(item=win, proportion=0,
+                    which_sizer.Add(win, proportion=0,
                                     flag=style, border=5)
                 else:  # float
                     win = wx.TextCtrl(
                         parent=which_panel, value=p.get(
                             'default', ''), validator=FloatValidator())
                     style = wx.EXPAND | wx.BOTTOM | wx.LEFT | wx.RIGHT
-                    which_sizer.Add(item=win, proportion=0,
+                    which_sizer.Add(win, proportion=0,
                                     flag=style, border=5)
 
                     value = self._getValue(p)
@@ -1494,7 +1503,7 @@ class CmdPanel(wx.Panel):
                         #         p['wxId'].append(win.GetId())
                         # else:
                         which_sizer.Add(
-                            item=selection,
+                            selection,
                             proportion=0,
                             flag=wx.ADJUST_MINSIZE | wx.BOTTOM | wx.LEFT | wx.RIGHT | wx.TOP | wx.ALIGN_CENTER_VERTICAL,
                             border=5)
@@ -1503,7 +1512,7 @@ class CmdPanel(wx.Panel):
                         win.Bind(wx.EVT_TEXT, self.OnUpdateSelection)
                         win.Bind(wx.EVT_TEXT, self.OnSetValue)
                         which_sizer.Add(
-                            item=selection,
+                            selection,
                             proportion=0,
                             flag=wx.ADJUST_MINSIZE | wx.BOTTOM | wx.LEFT | wx.RIGHT | wx.TOP | wx.ALIGN_CENTER_VERTICAL,
                             border=5)
@@ -1534,19 +1543,19 @@ class CmdPanel(wx.Panel):
 
                             hSizer = wx.BoxSizer(wx.HORIZONTAL)
                             hSizer.Add(
-                                item=selection,
+                                selection,
                                 proportion=0,
                                 flag=wx.ADJUST_MINSIZE | wx.BOTTOM | wx.LEFT | wx.RIGHT | wx.TOP | wx.ALIGN_CENTER_VERTICAL,
                                 border=5)
                             hSizer.Add(
-                                item=bb,
+                                bb,
                                 proportion=0,
                                 flag=wx.EXPAND | wx.BOTTOM | wx.RIGHT | wx.TOP | wx.ALIGN_CENTER_VERTICAL,
                                 border=5)
                             which_sizer.Add(hSizer)
                         else:
                             which_sizer.Add(
-                                item=selection,
+                                selection,
                                 proportion=0,
                                 flag=wx.ADJUST_MINSIZE | wx.BOTTOM | wx.LEFT | wx.RIGHT | wx.TOP | wx.ALIGN_CENTER_VERTICAL,
                                 border=5)
@@ -1558,7 +1567,7 @@ class CmdPanel(wx.Panel):
                     selection.Bind(wx.EVT_TEXT, self.OnUpdateSelection)
                     selection.Bind(wx.EVT_TEXT, self.OnSetValue)
                     which_sizer.Add(
-                        item=selection,
+                        selection,
                         proportion=0,
                         flag=wx.ADJUST_MINSIZE | wx.BOTTOM | wx.LEFT | wx.RIGHT | wx.TOP | wx.ALIGN_CENTER_VERTICAL,
                         border=5)
@@ -1571,7 +1580,7 @@ class CmdPanel(wx.Panel):
                     selection.Bind(wx.EVT_TEXT, self.OnSetValue)
                     selection.Bind(wx.EVT_COMBOBOX, self.OnSetValue)
                     which_sizer.Add(
-                        item=selection,
+                        selection,
                         proportion=0,
                         flag=wx.ADJUST_MINSIZE | wx.BOTTOM | wx.LEFT | wx.RIGHT | wx.TOP | wx.ALIGN_CENTER_VERTICAL,
                         border=5)
@@ -1585,7 +1594,7 @@ class CmdPanel(wx.Panel):
                     win.Bind(wx.EVT_TEXT, self.OnSetValue)
                     win.Bind(wx.EVT_COMBOBOX, self.OnSetValue)
                     which_sizer.Add(
-                        item=win,
+                        win,
                         proportion=0,
                         flag=wx.ADJUST_MINSIZE | wx.BOTTOM | wx.LEFT | wx.RIGHT | wx.TOP | wx.ALIGN_CENTER_VERTICAL,
                         border=5)
@@ -1704,7 +1713,7 @@ class CmdPanel(wx.Panel):
                     flags = wx.BOTTOM | wx.LEFT | wx.RIGHT
                     if prompt == 'dbname':
                         flags |= wx.EXPAND
-                    which_sizer.Add(item=win, proportion=0,
+                    which_sizer.Add(win, proportion=0,
                                     flag=flags, border=5)
                 # color entry
                 elif prompt == 'color':
@@ -1732,7 +1741,7 @@ class CmdPanel(wx.Panel):
                     if p.get('multiple', False):
                         txt = wx.TextCtrl(parent=which_panel, id=wx.ID_ANY)
                         this_sizer.Add(
-                            item=txt,
+                            txt,
                             proportion=1,
                             flag=wx.ADJUST_MINSIZE | wx.LEFT | wx.TOP,
                             border=5)
@@ -1750,7 +1759,7 @@ class CmdPanel(wx.Panel):
                         colour=default_color, pos=wx.DefaultPosition,
                         size=(colorSize, 32))
                     this_sizer.Add(
-                        item=btn_colour,
+                        btn_colour,
                         proportion=0,
                         flag=wx.ADJUST_MINSIZE | wx.BOTTOM | wx.LEFT,
                         border=5)
@@ -1765,7 +1774,7 @@ class CmdPanel(wx.Panel):
                         else:
                             none_check.SetValue(False)
                         this_sizer.Add(
-                            item=none_check, proportion=0,
+                            none_check, proportion=0,
                             flag=wx.ADJUST_MINSIZE | wx.LEFT | wx.RIGHT | wx.TOP,
                             border=5)
                         which_sizer.Add(this_sizer)
@@ -1806,7 +1815,7 @@ class CmdPanel(wx.Panel):
                     value = self._getValue(p)
                     if value:
                         fbb.SetValue(value)  # parameter previously set
-                    which_sizer.Add(item=fbb, proportion=0,
+                    which_sizer.Add(fbb, proportion=0,
                                     flag=wx.EXPAND | wx.RIGHT, border=5)
 
                     # A file browse button is a combobox with two children:
@@ -1829,41 +1838,41 @@ class CmdPanel(wx.Panel):
 
                         ifbb.Bind(wx.EVT_TEXT, self.OnFileText)
 
-                        btnLoad = wx.Button(
+                        btnLoad = Button(
                             parent=which_panel, id=wx.ID_ANY, label=_("&Load"))
-                        btnLoad.SetToolTipString(
+                        btnLoad.SetToolTip(
                             _("Load and edit content of a file"))
                         btnLoad.Bind(wx.EVT_BUTTON, self.OnFileLoad)
-                        btnSave = wx.Button(
+                        btnSave = Button(
                             parent=which_panel, id=wx.ID_ANY, label=_("&Save as"))
-                        btnSave.SetToolTipString(
+                        btnSave.SetToolTip(
                             _("Save content to a file for further use"))
                         btnSave.Bind(wx.EVT_BUTTON, self.OnFileSave)
 
-                        fileContentLabel = wx.StaticText(
+                        fileContentLabel = StaticText(
                             parent=which_panel, id=wx.ID_ANY,
                             label=_('or enter values directly:'))
-                        fileContentLabel.SetToolTipString(
+                        fileContentLabel.SetToolTip(
                             _("Enter file content directly instead of specifying"
                               " a file."
                               " Temporary file will be automatically created."))
                         which_sizer.Add(
-                            item=fileContentLabel,
+                            fileContentLabel,
                             proportion=0,
                             flag=wx.EXPAND | wx.RIGHT | wx.LEFT | wx.BOTTOM,
                             border=5)
                         which_sizer.Add(
-                            item=ifbb,
+                            ifbb,
                             proportion=1,
                             flag=wx.EXPAND | wx.RIGHT | wx.LEFT,
                             border=5)
                         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
-                        btnSizer.Add(item=btnLoad, proportion=0,
+                        btnSizer.Add(btnLoad, proportion=0,
                                      flag=wx.ALIGN_RIGHT | wx.RIGHT, border=10)
-                        btnSizer.Add(item=btnSave, proportion=0,
+                        btnSizer.Add(btnSave, proportion=0,
                                      flag=wx.ALIGN_RIGHT)
                         which_sizer.Add(
-                            item=btnSizer,
+                            btnSizer,
                             proportion=0,
                             flag=wx.ALIGN_RIGHT | wx.RIGHT | wx.TOP,
                             border=5)
@@ -1889,7 +1898,7 @@ class CmdPanel(wx.Panel):
                     value = self._getValue(p)
                     if value:
                         fbb.SetValue(value)  # parameter previously set
-                    which_sizer.Add(item=fbb, proportion=0,
+                    which_sizer.Add(fbb, proportion=0,
                                     flag=wx.EXPAND | wx.RIGHT, border=5)
 
                     # A file browse button is a combobox with two children:
@@ -1918,7 +1927,7 @@ class CmdPanel(wx.Panel):
                         win.Bind(wx.EVT_TEXT, self.OnSetValue)
 
                     which_sizer.Add(
-                        item=win,
+                        win,
                         proportion=0,
                         flag=wx.EXPAND | wx.BOTTOM | wx.LEFT | wx.RIGHT,
                         border=5)
@@ -1945,7 +1954,7 @@ class CmdPanel(wx.Panel):
                         win.Bind(wx.EVT_TEXT, self.OnSetValue)
 
                     which_sizer.Add(
-                        item=win,
+                        win,
                         proportion=0,
                         flag=wx.EXPAND | wx.BOTTOM | wx.LEFT | wx.RIGHT,
                         border=5)
@@ -1971,7 +1980,7 @@ class CmdPanel(wx.Panel):
                     if value:
                         cb.SetValue(value)  # parameter previously set
                     which_sizer.Add(
-                        item=cb,
+                        cb,
                         proportion=0,
                         flag=wx.ADJUST_MINSIZE | wx.BOTTOM | wx.LEFT,
                         border=5)
@@ -1995,7 +2004,7 @@ class CmdPanel(wx.Panel):
                     if value:
                         win.fileWidgets['browse'].GetChildren()[1].SetValue(
                             value)  # parameter previously set
-                    which_sizer.Add(item=win, proportion=0,
+                    which_sizer.Add(win, proportion=0,
                                     flag=wx.EXPAND)
 
                 elif prompt == 'datasource_layer':
@@ -2006,7 +2015,7 @@ class CmdPanel(wx.Panel):
                             _('Layer name'),
                             _('Feature type'),
                             _('Projection match')])
-                    which_sizer.Add(item=self.win1, proportion=0,
+                    which_sizer.Add(self.win1, proportion=0,
                                     flag=wx.EXPAND | wx.ALL, border=3)
                     porf = self.task.get_param(
                         'input', element='name', raiseError=False)
@@ -2039,7 +2048,7 @@ class CmdPanel(wx.Panel):
                 else:
                     p['wxId'] = [parChk.GetId()]
                 parChk.Bind(wx.EVT_CHECKBOX, self.OnSetValue)
-                which_sizer.Add(item=parChk, proportion=0,
+                which_sizer.Add(parChk, proportion=0,
                                 flag=wx.LEFT, border=20)
 
             if title_txt is not None:
@@ -2055,7 +2064,7 @@ class CmdPanel(wx.Panel):
                                 p['values_desc'][i] + os.linesep
                     tooltip.strip(os.linesep)
                 if tooltip:
-                    title_txt.SetToolTipString(tooltip)
+                    title_txt.SetToolTip(tooltip)
 
             if p == first_param:
                 if 'wxId' in p and len(p['wxId']) > 0:
@@ -2247,7 +2256,7 @@ class CmdPanel(wx.Panel):
 
         self.notebook.SetSelection(0)
 
-        panelsizer.Add(item=self.notebook, proportion=1, flag=wx.EXPAND)
+        panelsizer.Add(self.notebook, proportion=1, flag=wx.EXPAND)
         self.SetSizer(panelsizer)
         panelsizer.Fit(self.notebook)
 
@@ -2396,7 +2405,7 @@ class CmdPanel(wx.Panel):
             self.hsizer.Remove(winOgr)
 
             self.hsizer.Add(
-                item=winNative,
+                winNative,
                 flag=wx.ADJUST_MINSIZE | wx.BOTTOM | wx.LEFT | wx.RIGHT | wx.TOP | wx.ALIGN_TOP,
                 border=5)
             winNative.Show()
@@ -2408,16 +2417,16 @@ class CmdPanel(wx.Panel):
             winNative.Hide()
             self.hsizer.Remove(winNative)
 
-            sizer.Add(item=winOgr)
+            sizer.Add(winOgr)
             winOgr.Show()
             p['value'] = winOgr.GetDsn()
 
             self.hsizer.Add(
-                item=sizer,
+                sizer,
                 flag=wx.ADJUST_MINSIZE | wx.BOTTOM | wx.LEFT | wx.RIGHT | wx.TOP | wx.ALIGN_TOP,
                 border=5)
 
-        self.hsizer.Add(item=rbox,
+        self.hsizer.Add(rbox,
                         flag=wx.ADJUST_MINSIZE | wx.BOTTOM | wx.LEFT |
                         wx.RIGHT | wx.ALIGN_TOP,
                         border=5)
@@ -2741,7 +2750,7 @@ class CmdPanel(wx.Panel):
             image = wx.Image(
                 iconSectionDict[section]).Scale(
                 16, 16, wx.IMAGE_QUALITY_HIGH)
-            idx = imageList.Add(wx.BitmapFromImage(image))
+            idx = imageList.Add(BitmapFromImage(image))
             return idx
 
         return -1

+ 68 - 70
gui/wxpython/gui_core/ghelp.py

@@ -93,14 +93,14 @@ class AboutWindow(wx.Frame):
 
     def _doLayout(self):
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
-        btnSizer.Add(item=self.btnClose, proportion=0,
+        btnSizer.Add(self.btnClose, proportion=0,
                      flag=wx.ALL | wx.ALIGN_RIGHT,
                      border=5)
 
         sizer = wx.BoxSizer(wx.VERTICAL)
-        sizer.Add(item=self.aboutNotebook, proportion=1,
+        sizer.Add(self.aboutNotebook, proportion=1,
                   flag=wx.EXPAND | wx.ALL, border=1)
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.ALL | wx.ALIGN_RIGHT, border=1)
 
         self.SetMinSize((400, 400))
@@ -123,10 +123,9 @@ class AboutWindow(wx.Frame):
         infoSizer = wx.BoxSizer(wx.VERTICAL)
         infoGridSizer = wx.GridBagSizer(vgap=5, hgap=5)
         logo = os.path.join(globalvar.ICONDIR, "grass-64x64.png")
-        logoBitmap = wx.StaticBitmap(parent=infoTxt, id=wx.ID_ANY,
-                                     bitmap=wx.Bitmap(name=logo,
-                                                      type=wx.BITMAP_TYPE_PNG))
-        infoSizer.Add(item=logoBitmap, proportion=0,
+        logoBitmap = wx.StaticBitmap(infoTxt, wx.ID_ANY,
+                                     wx.Bitmap(name=logo, type=wx.BITMAP_TYPE_PNG))
+        infoSizer.Add(logoBitmap, proportion=0,
                       flag=wx.ALL | wx.ALIGN_CENTER, border=20)
 
         infoLabel = 'GRASS GIS %s' % vInfo.get('version', _('unknown version'))
@@ -136,43 +135,43 @@ class AboutWindow(wx.Frame):
                              label=infoLabel + os.linesep)
         info.SetFont(wx.Font(13, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
         info.SetForegroundColour(wx.Colour(35, 142, 35))
-        infoSizer.Add(item=info, proportion=0,
+        infoSizer.Add(info, proportion=0,
                       flag=wx.BOTTOM | wx.ALIGN_CENTER, border=1)
 
         team = wx.StaticText(parent=infoTxt, label=_grassDevTeam(1999) + '\n')
-        infoSizer.Add(item=team, proportion=0,
+        infoSizer.Add(team, proportion=0,
                       flag=wx.BOTTOM | wx.ALIGN_CENTER, border=1)
 
         row = 0
-        infoGridSizer.Add(item=wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
-                                             label=_('Official GRASS site:')),
+        infoGridSizer.Add(wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
+                                        label=_('Official GRASS site:')),
                           pos=(row, 0),
                           flag=wx.ALIGN_RIGHT)
 
-        infoGridSizer.Add(item=HyperLinkCtrl(parent=infoTxt, id=wx.ID_ANY,
-                                             label='http://grass.osgeo.org'),
+        infoGridSizer.Add(HyperLinkCtrl(parent=infoTxt, id=wx.ID_ANY,
+                                        label='http://grass.osgeo.org'),
                           pos=(row, 1),
                           flag=wx.ALIGN_LEFT)
 
         row += 2
-        infoGridSizer.Add(item=wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
-                                             label='%s:' % _('Code Revision')),
+        infoGridSizer.Add(wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
+                                        label='%s:' % _('Code Revision')),
                           pos=(row, 0),
                           flag=wx.ALIGN_RIGHT)
 
-        infoGridSizer.Add(item=wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
-                                             label=vInfo.get('revision', '?')),
+        infoGridSizer.Add(wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
+                                        label=vInfo.get('revision', '?')),
                           pos=(row, 1),
                           flag=wx.ALIGN_LEFT)
 
         row += 1
-        infoGridSizer.Add(item=wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
-                                             label='%s:' % _('Build Date')),
+        infoGridSizer.Add(wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
+                                        label='%s:' % _('Build Date')),
                           pos=(row, 0),
                           flag=wx.ALIGN_RIGHT)
 
         infoGridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=infoTxt, id=wx.ID_ANY, label=vInfo.get(
                     'build_date', '?')), pos=(
                 row, 1), flag=wx.ALIGN_LEFT)
@@ -191,37 +190,37 @@ class AboutWindow(wx.Frame):
         #                   flag = wx.ALIGN_LEFT)
 
         row += 2
-        infoGridSizer.Add(item=wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
-                                             label='Python:'),
+        infoGridSizer.Add(wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
+                                        label='Python:'),
                           pos=(row, 0),
                           flag=wx.ALIGN_RIGHT)
 
-        infoGridSizer.Add(item=wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
-                                             label=platform.python_version()),
+        infoGridSizer.Add(wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
+                                        label=platform.python_version()),
                           pos=(row, 1),
                           flag=wx.ALIGN_LEFT)
 
         row += 1
-        infoGridSizer.Add(item=wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
-                                             label='wxPython:'),
+        infoGridSizer.Add(wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
+                                        label='wxPython:'),
                           pos=(row, 0),
                           flag=wx.ALIGN_RIGHT)
 
-        infoGridSizer.Add(item=wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
-                                             label=wx.__version__),
+        infoGridSizer.Add(wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
+                                        label=wx.__version__),
                           pos=(row, 1),
                           flag=wx.ALIGN_LEFT)
 
         infoGridSizer.AddGrowableCol(0)
         infoGridSizer.AddGrowableCol(1)
         infoSizer.Add(
-            item=infoGridSizer,
+            infoGridSizer,
             proportion=1,
             flag=wx.EXPAND | wx.ALIGN_CENTER | wx.ALIGN_CENTER_VERTICAL)
 
         row += 2
-        infoGridSizer.Add(item=wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
-                                             label="%s:" % _('Language')),
+        infoGridSizer.Add(wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
+                                        label="%s:" % _('Language')),
                           pos=(row, 0),
                           flag=wx.ALIGN_RIGHT)
         self.langUsed = grass.gisenv().get('LANG', None)
@@ -232,8 +231,8 @@ class AboutWindow(wx.Frame):
                 self.langUsed = _('unknown')
             else:
                 self.langUsed = u'%s.%s' % (loc[0], loc[1])
-        infoGridSizer.Add(item=wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
-                                             label=self.langUsed),
+        infoGridSizer.Add(wx.StaticText(parent=infoTxt, id=wx.ID_ANY,
+                                        label=self.langUsed),
                           pos=(row, 1),
                           flag=wx.ALIGN_LEFT)
 
@@ -259,7 +258,7 @@ class AboutWindow(wx.Frame):
         style=wx.TE_MULTILINE | wx.TE_READONLY)
         copyrightwin.SetAutoLayout(True)
         copyrightwin.sizer = wx.BoxSizer(wx.VERTICAL)
-        copyrightwin.sizer.Add(item=copyrighttxt, proportion=1,
+        copyrightwin.sizer.Add(copyrighttxt, proportion=1,
                                flag=wx.EXPAND | wx.ALL, border=3)
         copyrightwin.SetSizer(copyrightwin.sizer)
         copyrightwin.Layout()
@@ -283,7 +282,7 @@ class AboutWindow(wx.Frame):
         style=wx.TE_MULTILINE | wx.TE_READONLY)
         licensewin.SetAutoLayout(True)
         licensewin.sizer = wx.BoxSizer(wx.VERTICAL)
-        licensewin.sizer.Add(item=licensetxt, proportion=1,
+        licensewin.sizer.Add(licensetxt, proportion=1,
                              flag=wx.EXPAND | wx.ALL, border=3)
         licensewin.SetSizer(licensewin.sizer)
         licensewin.Layout()
@@ -309,7 +308,7 @@ class AboutWindow(wx.Frame):
         style=wx.TE_MULTILINE | wx.TE_READONLY)
         window.SetAutoLayout(True)
         window.sizer = wx.BoxSizer(wx.VERTICAL)
-        window.sizer.Add(item=stat_text, proportion=1,
+        window.sizer.Add(stat_text, proportion=1,
                          flag=wx.EXPAND | wx.ALL, border=3)
         window.SetSizer(window.sizer)
         window.Layout()
@@ -334,7 +333,7 @@ class AboutWindow(wx.Frame):
         authorwin.SetAutoLayout(True)
         authorwin.SetupScrolling()
         authorwin.sizer = wx.BoxSizer(wx.VERTICAL)
-        authorwin.sizer.Add(item=authortxt, proportion=1,
+        authorwin.sizer.Add(authortxt, proportion=1,
                             flag=wx.EXPAND | wx.ALL, border=3)
         authorwin.SetSizer(authorwin.sizer)
         authorwin.Layout()
@@ -391,7 +390,7 @@ class AboutWindow(wx.Frame):
                 id=wx.ID_ANY,
                 label=_('%s file missing') %
                 contribfile)
-            contribwin.sizer.Add(item=contribtxt, proportion=1,
+            contribwin.sizer.Add(contribtxt, proportion=1,
                                  flag=wx.EXPAND | wx.ALL, border=3)
         else:
             if extra:
@@ -410,15 +409,15 @@ class AboutWindow(wx.Frame):
                         wx.BOLD,
                         0,
                         ""))
-                contribBox.Add(item=text)
+                contribBox.Add(text)
             for vals in sorted(contribs, key=lambda x: x[0]):
                 for item in vals:
                     contribBox.Add(
-                        item=wx.StaticText(
+                        wx.StaticText(
                             parent=contribwin,
                             id=wx.ID_ANY,
                             label=item))
-            contribwin.sizer.Add(item=contribBox, proportion=1,
+            contribwin.sizer.Add(contribBox, proportion=1,
                                  flag=wx.EXPAND | wx.ALL, border=3)
 
         contribwin.SetSizer(contribwin.sizer)
@@ -465,7 +464,7 @@ class AboutWindow(wx.Frame):
                 id=wx.ID_ANY,
                 label=_('%s file missing') %
                 'translators.csv')
-            translatorswin.sizer.Add(item=translatorstxt, proportion=1,
+            translatorswin.sizer.Add(translatorstxt, proportion=1,
                                      flag=wx.EXPAND | wx.ALL, border=3)
         else:
             translatorsBox = wx.FlexGridSizer(cols=4, vgap=5, hgap=5)
@@ -473,36 +472,36 @@ class AboutWindow(wx.Frame):
             tname = wx.StaticText(parent=translatorswin, id=wx.ID_ANY,
                                   label=_('Name'))
             tname.SetFont(wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
-            translatorsBox.Add(item=tname)
+            translatorsBox.Add(tname)
             temail = wx.StaticText(parent=translatorswin, id=wx.ID_ANY,
                                    label=_('E-mail'))
             temail.SetFont(wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
-            translatorsBox.Add(item=temail)
+            translatorsBox.Add(temail)
             tlang = wx.StaticText(parent=translatorswin, id=wx.ID_ANY,
                                   label=_('Language'))
             tlang.SetFont(wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
-            translatorsBox.Add(item=tlang)
+            translatorsBox.Add(tlang)
             tnat = wx.StaticText(parent=translatorswin, id=wx.ID_ANY,
                                  label=_('Nation'))
             tnat.SetFont(wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
-            translatorsBox.Add(item=tnat)
+            translatorsBox.Add(tnat)
             for lang in languages:
                 for translator in translators[lang]:
                     name, email = translator
                     translatorsBox.Add(
-                        item=wx.StaticText(
+                        wx.StaticText(
                             parent=translatorswin,
                             id=wx.ID_ANY,
                             label=unicode(
                                 name,
                                 "utf-8")))
                     translatorsBox.Add(
-                        item=wx.StaticText(
+                        wx.StaticText(
                             parent=translatorswin,
                             id=wx.ID_ANY,
                             label=email))
                     translatorsBox.Add(
-                        item=wx.StaticText(
+                        wx.StaticText(
                             parent=translatorswin,
                             id=wx.ID_ANY,
                             label=lang))
@@ -510,18 +509,17 @@ class AboutWindow(wx.Frame):
                         globalvar.ICONDIR, "flags", "%s.png" %
                         lang.lower())
                     if os.path.exists(flag):
-                        flagBitmap = wx.StaticBitmap(
-                            parent=translatorswin, id=wx.ID_ANY, bitmap=wx.Bitmap(
-                                name=flag, type=wx.BITMAP_TYPE_PNG))
-                        translatorsBox.Add(item=flagBitmap)
+                        flagBitmap = wx.StaticBitmap(translatorswin, wx.ID_ANY, wx.Bitmap(
+                                                     name=flag, type=wx.BITMAP_TYPE_PNG))
+                        translatorsBox.Add(flagBitmap)
                     else:
                         translatorsBox.Add(
-                            item=wx.StaticText(
+                            wx.StaticText(
                                 parent=translatorswin,
                                 id=wx.ID_ANY,
                                 label=lang))
 
-            translatorswin.sizer.Add(item=translatorsBox, proportion=1,
+            translatorswin.sizer.Add(translatorsBox, proportion=1,
                                      flag=wx.EXPAND | wx.ALL, border=3)
 
         translatorswin.SetSizer(translatorswin.sizer)
@@ -551,34 +549,34 @@ class AboutWindow(wx.Frame):
         langBox = wx.FlexGridSizer(cols=4, vgap=5, hgap=5)
         tkey = wx.StaticText(parent=par, id=wx.ID_ANY,
                              label=k.upper())
-        langBox.Add(item=tkey)
+        langBox.Add(tkey)
         try:
             tgood = wx.StaticText(parent=par, id=wx.ID_ANY,
                                   label=_("%d translated" % v['good']))
             tgood.SetForegroundColour(wx.Colour(35, 142, 35))
-            langBox.Add(item=tgood)
+            langBox.Add(tgood)
         except:
             tgood = wx.StaticText(parent=par, id=wx.ID_ANY,
                                   label="")
-            langBox.Add(item=tgood)
+            langBox.Add(tgood)
         try:
             tfuzzy = wx.StaticText(parent=par, id=wx.ID_ANY,
                                    label=_("   %d fuzzy" % v['fuzzy']))
             tfuzzy.SetForegroundColour(wx.Colour(255, 142, 0))
-            langBox.Add(item=tfuzzy)
+            langBox.Add(tfuzzy)
         except:
             tfuzzy = wx.StaticText(parent=par, id=wx.ID_ANY,
                                    label="")
-            langBox.Add(item=tfuzzy)
+            langBox.Add(tfuzzy)
         try:
             tbad = wx.StaticText(parent=par, id=wx.ID_ANY,
                                  label=_("   %d untranslated" % v['bad']))
             tbad.SetForegroundColour(wx.Colour(255, 0, 0))
-            langBox.Add(item=tbad)
+            langBox.Add(tbad)
         except:
             tbad = wx.StaticText(parent=par, id=wx.ID_ANY,
                                  label="")
-            langBox.Add(item=tbad)
+            langBox.Add(tbad)
         return langBox
 
     def _langPanel(self, lang, js):
@@ -598,7 +596,7 @@ class AboutWindow(wx.Frame):
         for k, v in js.iteritems():
             if k != 'total' and k != 'name':
                 box = self._langBox(win, k, v)
-                pageSizer.Add(item=box, proportion=1,
+                pageSizer.Add(box, proportion=1,
                               flag=wx.EXPAND | wx.ALL, border=3)
 
         win.SetSizer(pageSizer)
@@ -630,7 +628,7 @@ class AboutWindow(wx.Frame):
             statsSizer = wx.BoxSizer(wx.VERTICAL)
             statstext = wx.StaticText(self.statswin, id=wx.ID_ANY,
                                       label=_('%s file missing') % fname)
-            statsSizer.Add(item=statstext, proportion=1,
+            statsSizer.Add(statstext, proportion=1,
                            flag=wx.EXPAND | wx.ALL, border=3)
         else:
             languages = sorted(jsStats['langs'].keys())
@@ -675,7 +673,7 @@ class HelpFrame(wx.Dialog):
         content = HelpPanel(parent=self)
         content.LoadPage(file)
 
-        sizer.Add(item=content, proportion=1, flag=wx.EXPAND)
+        sizer.Add(content, proportion=1, flag=wx.EXPAND)
 
         self.SetAutoLayout(True)
         self.SetSizer(sizer)
@@ -815,15 +813,15 @@ class HelpPanel(wx.Panel):
         sizer = wx.BoxSizer(wx.VERTICAL)
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
 
-        btnSizer.Add(item=self.btnPrev, proportion=0,
+        btnSizer.Add(self.btnPrev, proportion=0,
                      flag=wx.ALL, border=5)
-        btnSizer.Add(item=wx.Size(1, 1), proportion=1)
-        btnSizer.Add(item=self.btnNext, proportion=0,
+        btnSizer.Add(wx.Size(1, 1), proportion=1)
+        btnSizer.Add(self.btnNext, proportion=0,
                      flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
 
-        sizer.Add(item=self.content, proportion=1,
+        sizer.Add(self.content, proportion=1,
                   flag=wx.EXPAND)
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.EXPAND)
 
         self.SetSizer(sizer)

+ 31 - 32
gui/wxpython/gui_core/goutput.py

@@ -37,6 +37,7 @@ from core.gconsole   import GConsole, \
     EVT_CMD_OUTPUT, EVT_CMD_PROGRESS, EVT_CMD_RUN, EVT_CMD_DONE, \
     Notification
 from gui_core.prompt import GPromptSTC
+from gui_core.wrap import Button, ToggleButton
 from core.settings import UserSettings
 from core.utils import _
 from gui_core.widgets import SearchModuleWidget
@@ -154,23 +155,23 @@ class GConsoleWindow(wx.SplitterWindow):
                                        label=" %s " % cmdLabel)
 
         # buttons
-        self.btnOutputClear = wx.Button(
+        self.btnOutputClear = Button(
             parent=self.panelOutput, id=wx.ID_CLEAR)
-        self.btnOutputClear.SetToolTipString(_("Clear output window content"))
-        self.btnCmdClear = wx.Button(parent=self.panelOutput, id=wx.ID_CLEAR)
-        self.btnCmdClear.SetToolTipString(_("Clear command prompt content"))
-        self.btnOutputSave = wx.Button(parent=self.panelOutput, id=wx.ID_SAVE)
-        self.btnOutputSave.SetToolTipString(
+        self.btnOutputClear.SetToolTip(_("Clear output window content"))
+        self.btnCmdClear = Button(parent=self.panelOutput, id=wx.ID_CLEAR)
+        self.btnCmdClear.SetToolTip(_("Clear command prompt content"))
+        self.btnOutputSave = Button(parent=self.panelOutput, id=wx.ID_SAVE)
+        self.btnOutputSave.SetToolTip(
             _("Save output window content to the file"))
-        self.btnCmdAbort = wx.Button(parent=self.panelProgress, id=wx.ID_STOP)
-        self.btnCmdAbort.SetToolTipString(_("Abort running command"))
-        self.btnCmdProtocol = wx.ToggleButton(
+        self.btnCmdAbort = Button(parent=self.panelProgress, id=wx.ID_STOP)
+        self.btnCmdAbort.SetToolTip(_("Abort running command"))
+        self.btnCmdProtocol = ToggleButton(
             parent=self.panelOutput,
             id=wx.ID_ANY,
             label=_("&Log file"),
             size=self.btnCmdClear.GetSize())
-        self.btnCmdProtocol.SetToolTipString(_("Toggle to save list of executed commands into "
-                                               "a file; content saved when switching off."))
+        self.btnCmdProtocol.SetToolTip(_("Toggle to save list of executed commands into "
+                                         "a file; content saved when switching off."))
 
         if not self._gcstyle & GC_PROMPT:
             self.btnCmdClear.Hide()
@@ -198,24 +199,22 @@ class GConsoleWindow(wx.SplitterWindow):
 
         if self._gcstyle & GC_PROMPT:
             promptSizer = wx.BoxSizer(wx.VERTICAL)
-            promptSizer.Add(
-                item=self.cmdPrompt,
-                proportion=1,
-                flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP,
-                border=3)
+            promptSizer.Add(self.cmdPrompt, proportion=1,
+                            flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP,
+                            border=3)
             helpText = wx.StaticText(
                 self.panelPrompt, id=wx.ID_ANY,
                 label="Press Tab to display command help, Ctrl+Space to autocomplete")
             helpText.SetForegroundColour(
-                wx.SystemSettings_GetColour(
+                wx.SystemSettings.GetColour(
                     wx.SYS_COLOUR_GRAYTEXT))
-            promptSizer.Add(item=helpText,
+            promptSizer.Add(helpText,
                             proportion=0, flag=wx.EXPAND | wx.LEFT, border=5)
 
         if self._gcstyle & GC_SEARCH:
-            self.outputSizer.Add(item=self.searchPane, proportion=0,
+            self.outputSizer.Add(self.searchPane, proportion=0,
                                  flag=wx.EXPAND | wx.ALL, border=3)
-        self.outputSizer.Add(item=self.cmdOutput, proportion=1,
+        self.outputSizer.Add(self.cmdOutput, proportion=1,
                              flag=wx.EXPAND | wx.ALL, border=3)
         if self._gcstyle & GC_PROMPT:
             proportion = 1
@@ -224,25 +223,25 @@ class GConsoleWindow(wx.SplitterWindow):
             outBtnSizer.AddStretchSpacer()
 
         outBtnSizer.Add(
-            item=self.btnOutputClear,
+            self.btnOutputClear,
             proportion=proportion,
             flag=wx.ALIGN_LEFT | wx.LEFT | wx.RIGHT | wx.BOTTOM,
             border=5)
 
-        outBtnSizer.Add(item=self.btnOutputSave, proportion=proportion,
+        outBtnSizer.Add(self.btnOutputSave, proportion=proportion,
                         flag=wx.ALIGN_RIGHT | wx.RIGHT | wx.BOTTOM, border=5)
 
         cmdBtnSizer.Add(
-            item=self.btnCmdProtocol,
+            self.btnCmdProtocol,
             proportion=1,
             flag=wx.ALIGN_CENTER | wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT | wx.BOTTOM,
             border=5)
-        cmdBtnSizer.Add(item=self.btnCmdClear, proportion=1,
+        cmdBtnSizer.Add(self.btnCmdClear, proportion=1,
                         flag=wx.ALIGN_CENTER | wx.RIGHT | wx.BOTTOM, border=5)
-        progressSizer.Add(item=self.btnCmdAbort, proportion=0,
+        progressSizer.Add(self.btnCmdAbort, proportion=0,
                           flag=wx.ALL | wx.ALIGN_CENTER, border=5)
         progressSizer.Add(
-            item=self.progressbar,
+            self.progressbar,
             proportion=1,
             flag=wx.ALIGN_CENTER | wx.RIGHT | wx.TOP | wx.BOTTOM,
             border=5)
@@ -250,16 +249,16 @@ class GConsoleWindow(wx.SplitterWindow):
         self.panelProgress.SetSizer(progressSizer)
         progressSizer.Fit(self.panelProgress)
 
-        btnSizer.Add(item=outBtnSizer, proportion=1,
+        btnSizer.Add(outBtnSizer, proportion=1,
                      flag=wx.ALL | wx.ALIGN_CENTER, border=5)
         btnSizer.Add(
-            item=cmdBtnSizer,
+            cmdBtnSizer,
             proportion=1,
             flag=wx.ALIGN_CENTER | wx.TOP | wx.BOTTOM | wx.RIGHT,
             border=5)
-        self.outputSizer.Add(item=self.panelProgress, proportion=0,
+        self.outputSizer.Add(self.panelProgress, proportion=0,
                              flag=wx.EXPAND)
-        self.outputSizer.Add(item=btnSizer, proportion=0,
+        self.outputSizer.Add(btnSizer, proportion=0,
                              flag=wx.EXPAND)
 
         self.outputSizer.Fit(self)
@@ -299,7 +298,7 @@ class GConsoleWindow(wx.SplitterWindow):
 
         self.search.showNotification.connect(self.showNotification)
 
-        border.Add(item=self.search, proportion=0,
+        border.Add(self.search, proportion=0,
                    flag=wx.EXPAND | wx.ALL, border=1)
 
         pane.SetSizer(border)
@@ -805,7 +804,7 @@ class GConsoleFrame(wx.Frame):
 
         mainSizer = wx.BoxSizer(wx.VERTICAL)
         mainSizer.Add(
-            item=self.goutput,
+            self.goutput,
             proportion=1,
             flag=wx.EXPAND,
             border=0)

+ 96 - 79
gui/wxpython/gui_core/gselect.py

@@ -46,11 +46,19 @@ import glob
 import copy
 
 import wx
-import wx.combo
+
+from core import globalvar
+if globalvar.wxPythonPhoenix:
+    ComboPopup = wx.ComboPopup
+    ComboCtrl = wx.ComboCtrl
+else:
+    import wx.combo
+    ComboPopup = wx.combo.ComboPopup
+    ComboCtrl = wx.combo.ComboCtrl
 import wx.lib.buttons as buttons
 import wx.lib.filebrowsebutton as filebrowse
 
-from core import globalvar
+
 
 import grass.script as grass
 from grass.script import task as gtask
@@ -71,11 +79,12 @@ from core.utils import GetVectorNumberOfLayers, _
 from core.settings import UserSettings
 from core.debug import Debug
 from gui_core.vselect import VectorSelectBase
+from gui_core.wrap import TreeCtrl
 
 from grass.pydispatch.signal import Signal
 
 
-class Select(wx.combo.ComboCtrl):
+class Select(ComboCtrl):
 
     def __init__(
             self, parent, id=wx.ID_ANY, size=globalvar.DIALOG_GSELECT_SIZE,
@@ -100,7 +109,7 @@ class Select(wx.combo.ComboCtrl):
         :param layerTree: show only elements from given layer tree if not None
         :param validator: validator for TextCtrl
         """
-        wx.combo.ComboCtrl.__init__(
+        ComboCtrl.__init__(
             self,
             parent=parent,
             id=id,
@@ -192,7 +201,7 @@ class VectorSelect(Select):
         return True
 
 
-class ListCtrlComboPopup(wx.combo.ComboPopup):
+class ListCtrlComboPopup(ComboPopup):
     """Create a list ComboBox using TreeCtrl with hidden root.
 
     .. todo::
@@ -213,12 +222,12 @@ class ListCtrlComboPopup(wx.combo.ComboPopup):
         # see layerTree parameter
 
     def Create(self, parent):
-        self.seltree = wx.TreeCtrl(parent, style=wx.TR_HIDE_ROOT
-                                   | wx.TR_HAS_BUTTONS
-                                   | wx.TR_SINGLE
-                                   | wx.TR_LINES_AT_ROOT
-                                   | wx.SIMPLE_BORDER
-                                   | wx.TR_FULL_ROW_HIGHLIGHT)
+        self.seltree = TreeCtrl(parent, style=wx.TR_HIDE_ROOT |
+                                wx.TR_HAS_BUTTONS |
+                                wx.TR_SINGLE |
+                                wx.TR_LINES_AT_ROOT |
+                                wx.SIMPLE_BORDER |
+                                wx.TR_FULL_ROW_HIGHLIGHT)
         self.seltree.Bind(wx.EVT_MOTION, self.OnMotion)
         self.seltree.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown)
         # the following dummy handler are needed to keep tree events
@@ -241,9 +250,17 @@ class ListCtrlComboPopup(wx.combo.ComboPopup):
             self.seltree.Bind(wx.EVT_TREE_ITEM_ACTIVATED, lambda x: None)
             self.seltree.Bind(wx.EVT_KEY_UP, self.OnKeyUp)
 
+        return True
+
     def GetControl(self):
         return self.seltree
 
+    def GetComboCtrl(self):
+        if globalvar.wxPythonPhoenix:
+            return super(ListCtrlComboPopup, self).GetComboCtrl()
+        else:
+            return self.GetCombo()
+
     def GetStringValue(self):
         """Get value as a string separated by commas
         """
@@ -254,7 +271,7 @@ class ListCtrlComboPopup(wx.combo.ComboPopup):
         root = self.seltree.GetRootItem()
         if not root:
             return
-        winValue = self.GetCombo().GetValue().strip(',')
+        winValue = self.GetComboCtrl().GetValue().strip(',')
         self.value = []
         if winValue:
             self.value = winValue.split(',')
@@ -266,7 +283,7 @@ class ListCtrlComboPopup(wx.combo.ComboPopup):
             return
 
         # selects map starting according to written text
-        inputText = self.GetCombo().GetValue().strip()
+        inputText = self.GetComboCtrl().GetValue().strip()
         if inputText:
             root = self.seltree.GetRootItem()
             match = self.FindItem(root, inputText, startLetters=True)
@@ -626,7 +643,7 @@ class TreeCtrlComboPopup(ListCtrlComboPopup):
         data = {'node': node, 'mapset': mapset}
 
         item = self.seltree.AppendItem(
-            parent, text=value, data=wx.TreeItemData(data))
+            parent, text=value, data=data)
         return item
 
     def OnKeyUp(self, event):
@@ -1029,7 +1046,7 @@ class TableSelect(wx.ComboBox):
         self.SetValue('')
 
 
-class ColumnSelect(wx.combo.ComboCtrl):
+class ColumnSelect(ComboCtrl):
     """Creates combo box for selecting columns in the attribute table
     for a vector map.
 
@@ -1052,7 +1069,7 @@ class ColumnSelect(wx.combo.ComboCtrl):
         self.param = param
         self.columns = []
 
-        wx.combo.ComboCtrl.__init__(self, parent, id, size=size, **kwargs)
+        ComboCtrl.__init__(self, parent, id, size=size, **kwargs)
         self.GetChildren()[0].SetName("ColumnSelect")
         self.GetChildren()[0].type = type
 
@@ -1206,7 +1223,7 @@ class LocationSelect(wx.ComboBox):
             self.SetItems([])
 
 
-class MapsetSelect(wx.combo.ComboCtrl):
+class MapsetSelect(ComboCtrl):
     """Widget for selecting GRASS mapset"""
 
     def __init__(self, parent, id=wx.ID_ANY,
@@ -1218,8 +1235,8 @@ class MapsetSelect(wx.combo.ComboCtrl):
         # if not new and not multiple:
         ###     style = wx.CB_READONLY
 
-        wx.combo.ComboCtrl.__init__(self, parent, id, size=size,
-                                    style=style, **kwargs)
+        ComboCtrl.__init__(self, parent, id, size=size,
+                           style=style, **kwargs)
         self.searchPath = searchPath
         self.skipCurrent = skipCurrent
         self.SetName("MapsetSelect")
@@ -1677,17 +1694,17 @@ class GdalSelect(wx.Panel):
         # file
         paddingSizer = wx.BoxSizer(wx.VERTICAL)
         sizer = wx.GridBagSizer(vgap=5, hgap=10)
-        paddingSizer.Add(item=self.fileWidgets['browse'],
+        paddingSizer.Add(self.fileWidgets['browse'],
                          flag=wx.BOTTOM | wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                          border=30)
-        sizer.Add(item=paddingSizer, flag=wx.EXPAND, pos=(0, 0), span=(1, 2))
+        sizer.Add(paddingSizer, flag=wx.EXPAND, pos=(0, 0), span=(1, 2))
         sizer.AddGrowableCol(0)
         if self.dest:
-            sizer.Add(item=wx.StaticText(parent=self.filePanel,
-                                         label=_("Creation options:")),
+            sizer.Add(wx.StaticText(parent=self.filePanel,
+                                    label=_("Creation options:")),
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(1, 0))
-            sizer.Add(item=self.fileWidgets['options'],
+            sizer.Add(self.fileWidgets['options'],
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                       pos=(1, 1))
 
@@ -1697,33 +1714,33 @@ class GdalSelect(wx.Panel):
 
         # directory
         sizer = wx.GridBagSizer(vgap=3, hgap=10)
-        sizer.Add(item=wx.StaticText(parent=self.dirPanel,
-                                     label=_("Format:")),
+        sizer.Add(wx.StaticText(parent=self.dirPanel,
+                                label=_("Format:")),
                   flag=wx.ALIGN_CENTER_VERTICAL,
                   pos=(0, 0))
-        sizer.Add(item=self.dirWidgets['format'],
+        sizer.Add(self.dirWidgets['format'],
                   flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                   pos=(0, 1))
-        sizer.Add(item=self.dirWidgets['extensionLabel'],
+        sizer.Add(self.dirWidgets['extensionLabel'],
                   flag=wx.ALIGN_CENTER_VERTICAL,
                   pos=(0, 2))
-        sizer.Add(item=self.dirWidgets['extension'],
+        sizer.Add(self.dirWidgets['extension'],
                   flag=wx.ALIGN_CENTER_VERTICAL,
                   pos=(0, 3))
-        sizer.Add(item=self.dirWidgets['browse'],
+        sizer.Add(self.dirWidgets['browse'],
                   flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                   pos=(1, 0), span=(1, 4))
         if self.dest:
-            sizer.Add(item=wx.StaticText(parent=self.dirPanel,
-                                         label=_("Creation options:")),
+            sizer.Add(wx.StaticText(parent=self.dirPanel,
+                                    label=_("Creation options:")),
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(2, 0))
-            sizer.Add(item=self.dirWidgets['options'],
+            sizer.Add(self.dirWidgets['options'],
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                       pos=(2, 1))
             helpBtn = wx.Button(parent=self.dirPanel, id=wx.ID_HELP)
             helpBtn.Bind(wx.EVT_BUTTON, self.OnHelp)
-            sizer.Add(item=helpBtn,
+            sizer.Add(helpBtn,
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                       pos=(2, 2))
 
@@ -1736,47 +1753,47 @@ class GdalSelect(wx.Panel):
 
         # database
         sizer = wx.GridBagSizer(vgap=1, hgap=5)
-        sizer.Add(item=wx.StaticText(parent=self.dbPanel,
-                                     label=_("Format:")),
+        sizer.Add(wx.StaticText(parent=self.dbPanel,
+                                label=_("Format:")),
                   flag=wx.ALIGN_CENTER_VERTICAL,
                   pos=(0, 0))
-        sizer.Add(item=self.dbWidgets['format'],
+        sizer.Add(self.dbWidgets['format'],
                   flag=wx.ALIGN_CENTER_VERTICAL,
                   pos=(0, 1))
-        sizer.Add(item=self.dbWidgets['textLabel1'],
+        sizer.Add(self.dbWidgets['textLabel1'],
                   flag=wx.ALIGN_CENTER_VERTICAL,
                   pos=(1, 0))
-        sizer.Add(item=self.dbWidgets['text'],
+        sizer.Add(self.dbWidgets['text'],
                   flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                   pos=(1, 1), span=(1, 2))
-        sizer.Add(item=self.dbWidgets['browse'],
+        sizer.Add(self.dbWidgets['browse'],
                   flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                   pos=(2, 0), span=(1, 3))
-        sizer.Add(item=self.dbWidgets['dirbrowse'],
+        sizer.Add(self.dbWidgets['dirbrowse'],
                   flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                   pos=(3, 0), span=(1, 2))
-        sizer.Add(item=self.dbWidgets['textLabel2'],
+        sizer.Add(self.dbWidgets['textLabel2'],
                   flag=wx.ALIGN_CENTER_VERTICAL,
                   pos=(4, 0))
-        sizer.Add(item=self.dbWidgets['choice'],
+        sizer.Add(self.dbWidgets['choice'],
                   flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                   pos=(4, 1), span=(1, 2))
         if self.dest:
-            sizer.Add(item=self.dbWidgets['featType'],
+            sizer.Add(self.dbWidgets['featType'],
                       pos=(0, 2), flag=wx.EXPAND)
 
-            sizer.Add(item=wx.StaticText(parent=self.dbPanel,
-                                         label=_("Creation options:")),
+            sizer.Add(wx.StaticText(parent=self.dbPanel,
+                                    label=_("Creation options:")),
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(5, 0))
-            sizer.Add(item=self.dbWidgets['options'],
+            sizer.Add(self.dbWidgets['options'],
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                       pos=(5, 1), span=(1, 2))
 
             # help button
             helpBtn = wx.Button(parent=self.dbPanel, id=wx.ID_HELP)
             helpBtn.Bind(wx.EVT_BUTTON, self.OnHelp)
-            sizer.Add(item=helpBtn,
+            sizer.Add(helpBtn,
                       pos=(5, 3))
 
         else:
@@ -1788,26 +1805,26 @@ class GdalSelect(wx.Panel):
 
         # protocol
         sizer = wx.GridBagSizer(vgap=3, hgap=3)
-        sizer.Add(item=wx.StaticText(parent=self.protocolPanel,
-                                     label=_("Format:")),
+        sizer.Add(wx.StaticText(parent=self.protocolPanel,
+                                label=_("Format:")),
                   flag=wx.ALIGN_CENTER_VERTICAL,
                   pos=(0, 0))
-        sizer.Add(item=self.protocolWidgets['format'],
+        sizer.Add(self.protocolWidgets['format'],
                   flag=wx.ALIGN_CENTER_VERTICAL,
                   pos=(0, 1))
-        sizer.Add(item=wx.StaticText(parent=self.protocolPanel,
-                                     label=_("Protocol:")),
+        sizer.Add(wx.StaticText(parent=self.protocolPanel,
+                                label=_("Protocol:")),
                   flag=wx.ALIGN_CENTER_VERTICAL,
                   pos=(1, 0))
-        sizer.Add(item=self.protocolWidgets['text'],
+        sizer.Add(self.protocolWidgets['text'],
                   flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                   pos=(1, 1))
         if self.dest:
-            sizer.Add(item=wx.StaticText(parent=self.protocolPanel,
-                                         label=_("Creation options:")),
+            sizer.Add(wx.StaticText(parent=self.protocolPanel,
+                                    label=_("Creation options:")),
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(2, 0))
-            sizer.Add(item=self.protocolWidgets['options'],
+            sizer.Add(self.protocolWidgets['options'],
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                       pos=(2, 1))
 
@@ -1818,8 +1835,8 @@ class GdalSelect(wx.Panel):
 
         # native
         sizer = wx.BoxSizer(wx.VERTICAL)
-        sizer.Add(item=wx.StaticText(parent=self.nativePanel,
-                                     label=_("No settings available")),
+        sizer.Add(wx.StaticText(parent=self.nativePanel,
+                                label=_("No settings available")),
                   flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL | wx.EXPAND, border=5)
         self.nativePanel.SetSizer(sizer)
 
@@ -1827,12 +1844,12 @@ class GdalSelect(wx.Panel):
                       self.dirPanel, self.dbPanel,
                       self.protocolPanel):
 
-            self.changingSizer.Add(item=panel, proportion=1,
+            self.changingSizer.Add(panel, proportion=1,
                                    flag=wx.EXPAND)
 
-        self.mainSizer.Add(item=self.source, proportion=0,
+        self.mainSizer.Add(self.source, proportion=0,
                            flag=wx.LEFT | wx.RIGHT | wx.EXPAND, border=5)
-        self.mainSizer.Add(item=self.changingSizer, proportion=1,
+        self.mainSizer.Add(self.changingSizer, proportion=1,
                            flag=wx.ALL | wx.EXPAND, border=5)
         self.SetSizer(self.mainSizer)
         self.mainSizer.Fit(self)
@@ -1850,16 +1867,16 @@ class GdalSelect(wx.Panel):
         Does not switch radioboxes."""
         self._sourceType = sourceType
         self.changingSizer.Show(
-            item=self.filePanel, show=(
-                sourceType == 'file'))
+            self.filePanel, show=(
+            sourceType == 'file'))
         self.changingSizer.Show(
-            item=self.nativePanel, show=(
-                sourceType == 'native'))
-        self.changingSizer.Show(item=self.dirPanel, show=(sourceType == 'dir'))
+            self.nativePanel, show=(
+            sourceType == 'native'))
+        self.changingSizer.Show(self.dirPanel, show=(sourceType == 'dir'))
         self.changingSizer.Show(
-            item=self.protocolPanel, show=(
-                sourceType == 'pro'))
-        self.changingSizer.Show(item=self.dbPanel, show=(sourceType is 'db'))
+            self.protocolPanel, show=(
+            sourceType == 'pro'))
+        self.changingSizer.Show(self.dbPanel, show=(sourceType is 'db'))
 
         self.changingSizer.Layout()
 
@@ -1932,7 +1949,7 @@ class GdalSelect(wx.Panel):
         self.settsManager.settingsSaving.connect(self.OnSettingsSaving)
 
         # do layout
-        self.mainSizer.Insert(0, item=self.settsManager,
+        self.mainSizer.Insert(0, self.settsManager,
                               flag=wx.ALL | wx.EXPAND, border=5)
 
     def OnSettingsSaving(self, name):
@@ -2328,13 +2345,13 @@ class OgrTypeSelect(wx.Panel):
     def _layout(self):
         """Do layout"""
         sizer = wx.BoxSizer(wx.HORIZONTAL)
-        sizer.Add(item=wx.StaticText(parent=self,
-                                     id=wx.ID_ANY,
-                                     label=_("Feature type:")),
+        sizer.Add(wx.StaticText(parent=self,
+                                id=wx.ID_ANY,
+                                label=_("Feature type:")),
                   proportion=1,
                   flag=wx.ALIGN_CENTER_VERTICAL,
                   border=5)
-        sizer.Add(item=self.ftype,
+        sizer.Add(self.ftype,
                   proportion=0,
                   flag=wx.EXPAND | wx.ALIGN_RIGHT)
 
@@ -2397,10 +2414,10 @@ class CoordinatesSelect(wx.Panel):
 
     def _doLayout(self):
         self.dialogSizer = wx.BoxSizer(wx.HORIZONTAL)
-        self.dialogSizer.Add(item=self.coordsField,
+        self.dialogSizer.Add(self.coordsField,
                              proportion=1,
                              flag=wx.EXPAND)
-        self.dialogSizer.Add(item=self.buttonInsCoords)
+        self.dialogSizer.Add(self.buttonInsCoords)
         self.SetSizer(self.dialogSizer)
 
     def _onClick(self, event):
@@ -2632,11 +2649,11 @@ class VectorCategorySelect(wx.Panel):
 
     def _layout(self):
         self.dialogSizer = wx.BoxSizer(wx.HORIZONTAL)
-        self.dialogSizer.Add(item=self.catsField,
+        self.dialogSizer.Add(self.catsField,
                              proportion=1,
                              flag=wx.EXPAND)
 
-        self.dialogSizer.Add(item=self.buttonVecSelect)
+        self.dialogSizer.Add(self.buttonVecSelect)
         self.SetSizer(self.dialogSizer)
 
 

+ 9 - 8
gui/wxpython/gui_core/menu.py

@@ -27,6 +27,7 @@ from core.gcmd import EncodeString
 from core.utils import _
 from gui_core.widgets import SearchModuleWidget
 from gui_core.treeview import CTreeView
+from gui_core.wrap import Menu as MenuWidget
 from icons.icon import MetaIcon
 
 from grass.pydispatch.signal import Signal
@@ -47,7 +48,7 @@ class Menu(wx.MenuBar):
 
     def _createMenu(self, node):
         """Creates menu"""
-        menu = wx.Menu()
+        menu = MenuWidget()
         for child in node.children:
             if child.children:
                 label = child.label
@@ -163,7 +164,7 @@ class SearchModuleWindow(wx.Panel):
             parent=self, id=wx.ID_ANY,
             label="Press Enter for next match, Ctrl+Enter to run command")
         self._helpText.SetForegroundColour(
-            wx.SystemSettings_GetColour(
+            wx.SystemSettings.GetColour(
                 wx.SYS_COLOUR_GRAYTEXT))
 
         # buttons
@@ -187,23 +188,23 @@ class SearchModuleWindow(wx.Panel):
 
         # body
         dataSizer = wx.BoxSizer(wx.HORIZONTAL)
-        dataSizer.Add(item=self._tree, proportion=1,
+        dataSizer.Add(self._tree, proportion=1,
                       flag=wx.EXPAND)
 
         # buttons
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
-        btnSizer.Add(item=self._btnRun, proportion=0)
+        btnSizer.Add(self._btnRun, proportion=0)
 
-        sizer.Add(item=dataSizer, proportion=1,
+        sizer.Add(dataSizer, proportion=1,
                   flag=wx.EXPAND | wx.ALL, border=5)
 
-        sizer.Add(item=self._search, proportion=0,
+        sizer.Add(self._search, proportion=0,
                   flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5)
 
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.ALIGN_RIGHT | wx.BOTTOM | wx.RIGHT, border=5)
 
-        sizer.Add(item=self._helpText,
+        sizer.Add(self._helpText,
                   proportion=0, flag=wx.EXPAND | wx.LEFT, border=5)
 
         sizer.Fit(self)

+ 143 - 143
gui/wxpython/gui_core/preferences.py

@@ -50,7 +50,7 @@ from core.settings import UserSettings
 from gui_core.dialogs import SymbolDialog, DefaultFontDialog
 from gui_core.widgets import IntegerValidator, ColorTablesComboBox
 from core.debug import Debug
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl, Button
 
 
 class PreferencesBaseDialog(wx.Dialog):
@@ -80,25 +80,25 @@ class PreferencesBaseDialog(wx.Dialog):
         # create notebook pages
 
         # buttons
-        self.btnDefault = wx.Button(self, wx.ID_ANY, _("Set to default"))
-        self.btnSave = wx.Button(self, wx.ID_SAVE)
-        self.btnApply = wx.Button(self, wx.ID_APPLY)
-        self.btnCancel = wx.Button(self, wx.ID_CANCEL)
+        self.btnDefault = Button(self, wx.ID_ANY, _("Set to default"))
+        self.btnSave = Button(self, wx.ID_SAVE)
+        self.btnApply = Button(self, wx.ID_APPLY)
+        self.btnCancel = Button(self, wx.ID_CANCEL)
         self.btnSave.SetDefault()
 
         # bindigs
         self.btnDefault.Bind(wx.EVT_BUTTON, self.OnDefault)
-        self.btnDefault.SetToolTipString(_("Revert settings to default"))
+        self.btnDefault.SetToolTip(_("Revert settings to default"))
         self.btnApply.Bind(wx.EVT_BUTTON, self.OnApply)
-        self.btnApply.SetToolTipString(
+        self.btnApply.SetToolTip(
             _("Apply changes for the current session only and close"))
         self.btnApply.SetLabel(_("Save for this session only"))
         self.btnSave.Bind(wx.EVT_BUTTON, self.OnSave)
-        self.btnSave.SetToolTipString(
+        self.btnSave.SetToolTip(
             _("Apply and save changes to user settings file (default for next sessions)"))
         self.btnSave.SetDefault()
         self.btnCancel.Bind(wx.EVT_BUTTON, self.OnCancel)
-        self.btnCancel.SetToolTipString(_("Close dialog and ignore changes"))
+        self.btnCancel.SetToolTip(_("Close dialog and ignore changes"))
 
         self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
 
@@ -108,7 +108,7 @@ class PreferencesBaseDialog(wx.Dialog):
         """Layout window"""
         # sizers
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
-        btnSizer.Add(item=self.btnDefault, proportion=1,
+        btnSizer.Add(self.btnDefault, proportion=1,
                      flag=wx.ALL, border=5)
         btnStdSizer = wx.StdDialogButtonSizer()
         btnStdSizer.AddButton(self.btnCancel)
@@ -118,13 +118,13 @@ class PreferencesBaseDialog(wx.Dialog):
 
         mainSizer = wx.BoxSizer(wx.VERTICAL)
         mainSizer.Add(
-            item=self.notebook,
+            self.notebook,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        mainSizer.Add(item=btnSizer, proportion=0,
+        mainSizer.Add(btnSizer, proportion=0,
                       flag=wx.EXPAND, border=0)
-        mainSizer.Add(item=btnStdSizer, proportion=0,
+        mainSizer.Add(btnStdSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_RIGHT, border=5)
 
         self.SetSizer(mainSizer)
@@ -306,7 +306,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='enabled'))
         self.winId['manager:askOnRemoveLayer:enabled'] = askOnRemoveLayer.GetId()
 
-        gridSizer.Add(item=askOnRemoveLayer,
+        gridSizer.Add(askOnRemoveLayer,
                       pos=(row, 0), span=(1, 2))
 
         row += 1
@@ -319,7 +319,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='enabled'))
         self.winId['manager:askOnQuit:enabled'] = askOnQuit.GetId()
 
-        gridSizer.Add(item=askOnQuit,
+        gridSizer.Add(askOnQuit,
                       pos=(row, 0), span=(1, 2))
 
         row += 1
@@ -336,7 +336,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='search'))
         self.winId['manager:hideTabs:search'] = hideSearch.GetId()
 
-        gridSizer.Add(item=hideSearch,
+        gridSizer.Add(hideSearch,
                       pos=(row, 0), span=(1, 2))
 
         row += 1
@@ -353,7 +353,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='pyshell'))
         self.winId['manager:hideTabs:pyshell'] = hidePyShell.GetId()
 
-        gridSizer.Add(item=hidePyShell,
+        gridSizer.Add(hidePyShell,
                       pos=(row, 0), span=(1, 2))
 
         #
@@ -373,16 +373,16 @@ class PreferencesDialog(PreferencesBaseDialog):
         self.winId[
             'manager:copySelectedTextToClipboard:enabled'] = copySelectedTextToClipboard.GetId()
 
-        gridSizer.Add(item=copySelectedTextToClipboard,
+        gridSizer.Add(copySelectedTextToClipboard,
                       pos=(row, 0), span=(1, 2))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
 
         #
         # workspace
@@ -408,7 +408,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                     'enabled']))
         self.winId['general:workspace:posDisplay:enabled'] = posDisplay.GetId()
 
-        gridSizer.Add(item=posDisplay,
+        gridSizer.Add(posDisplay,
                       pos=(row, 0), span=(1, 2))
 
         row += 1
@@ -424,7 +424,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                     'enabled']))
         self.winId['general:workspace:posManager:enabled'] = posManager.GetId()
 
-        gridSizer.Add(item=posManager,
+        gridSizer.Add(posManager,
                       pos=(row, 0), span=(1, 2))
 
         row += 1
@@ -442,16 +442,16 @@ class PreferencesDialog(PreferencesBaseDialog):
                     "Map Display window(s) and use as default for next sessions.")))
         self.winId['general:defWindowPos:enabled'] = defaultPos.GetId()
 
-        gridSizer.Add(item=defaultPos,
+        gridSizer.Add(defaultPos,
                       pos=(row, 0), span=(1, 2))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
 
         panel.SetSizer(border)
 
@@ -478,21 +478,21 @@ class PreferencesDialog(PreferencesBaseDialog):
         # font settings
         #
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
 
         row = 0
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Font for command output:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Font for command output:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
         outfontButton = wx.Button(parent=panel, id=wx.ID_ANY,
                                   label=_("Set font"))
-        gridSizer.Add(item=outfontButton,
+        gridSizer.Add(outfontButton,
                       flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
         gridSizer.AddGrowableCol(0)
@@ -509,15 +509,15 @@ class PreferencesDialog(PreferencesBaseDialog):
 
         gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
 
         row = 0
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("Choose language (requires to save and GRASS restart):")),
@@ -541,7 +541,7 @@ class PreferencesDialog(PreferencesBaseDialog):
             elementList.SetStringSelection('system')
         self.winId['language:locale:lc_all'] = elementList.GetId()
 
-        gridSizer.Add(item=elementList,
+        gridSizer.Add(elementList,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
@@ -562,8 +562,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         # element list
         #
         row = 0
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Element list:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Element list:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -580,7 +580,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='selection'))
         self.winId['appearance:elementListExpand:selection'] = elementList.GetId()
 
-        gridSizer.Add(item=elementList,
+        gridSizer.Add(elementList,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
@@ -590,7 +590,7 @@ class PreferencesDialog(PreferencesBaseDialog):
         #
         row += 1
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("Menu style (requires to save and GUI restart):")),
@@ -615,7 +615,7 @@ class PreferencesDialog(PreferencesBaseDialog):
 
         self.winId['appearance:menustyle:selection'] = menuItemText.GetId()
 
-        gridSizer.Add(item=menuItemText,
+        gridSizer.Add(menuItemText,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
 
@@ -625,7 +625,7 @@ class PreferencesDialog(PreferencesBaseDialog):
         row += 1
 
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("Height of map selection popup window (in pixels):")),
@@ -656,7 +656,7 @@ class PreferencesDialog(PreferencesBaseDialog):
         self.winId[
             'appearance:gSelectPopupHeight:value'] = popupHeightSpin.GetId()
 
-        gridSizer.Add(item=popupHeightSpin,
+        gridSizer.Add(popupHeightSpin,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
 
@@ -665,7 +665,7 @@ class PreferencesDialog(PreferencesBaseDialog):
         #
         row += 1
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("Icon theme (requires GUI restart):")),
@@ -686,7 +686,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='type'))
         self.winId['appearance:iconTheme:type'] = iconTheme.GetId()
 
-        gridSizer.Add(item=iconTheme,
+        gridSizer.Add(iconTheme,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
@@ -694,8 +694,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         # command dialog style
         #
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Module dialog style:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Module dialog style:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -712,18 +712,18 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='selection'))
         self.winId['appearance:commandNotebook:selection'] = styleList.GetId()
 
-        gridSizer.Add(item=styleList,
+        gridSizer.Add(styleList,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         panel.SetSizer(border)
@@ -759,7 +759,7 @@ class PreferencesDialog(PreferencesBaseDialog):
         #
         row = 0
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("Default font for GRASS displays:")),
@@ -769,18 +769,18 @@ class PreferencesDialog(PreferencesBaseDialog):
                 0))
         fontButton = wx.Button(parent=panel, id=wx.ID_ANY,
                                label=_("Set font"))
-        gridSizer.Add(item=fontButton,
+        gridSizer.Add(fontButton,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
 
         #
         # display settings
@@ -798,8 +798,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         # display driver
         #
         row = 0
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Display driver:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Display driver:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -816,7 +816,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='type'))
         self.winId['display:driver:type'] = driver.GetId()
 
-        gridSizer.Add(item=driver,
+        gridSizer.Add(driver,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
 
@@ -824,8 +824,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         # Statusbar mode
         #
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Statusbar mode:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Statusbar mode:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -844,7 +844,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='selection'))
         self.winId['display:statusbarMode:selection'] = statusbarMode.GetId()
 
-        gridSizer.Add(item=statusbarMode,
+        gridSizer.Add(statusbarMode,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
 
@@ -852,8 +852,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         # Background color
         #
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Background color:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Background color:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -868,7 +868,7 @@ class PreferencesDialog(PreferencesBaseDialog):
         bgColor.SetName('GetColour')
         self.winId['display:bgcolor:color'] = bgColor.GetId()
 
-        gridSizer.Add(item=bgColor,
+        gridSizer.Add(bgColor,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
 
@@ -885,7 +885,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='enabled'))
         self.winId['display:alignExtent:enabled'] = alignExtent.GetId()
 
-        gridSizer.Add(item=alignExtent,
+        gridSizer.Add(alignExtent,
                       pos=(row, 0), span=(1, 2))
 
         #
@@ -901,7 +901,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='enabled'))
         self.winId['display:compResolution:enabled'] = compResolution.GetId()
 
-        gridSizer.Add(item=compResolution,
+        gridSizer.Add(compResolution,
                       pos=(row, 0), span=(1, 2))
 
         #
@@ -918,7 +918,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='enabled'))
         self.winId['display:autoRendering:enabled'] = autoRendering.GetId()
 
-        gridSizer.Add(item=autoRendering,
+        gridSizer.Add(autoRendering,
                       pos=(row, 0), span=(1, 2))
 
         #
@@ -934,15 +934,15 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='enabled'))
         self.winId['display:autoZooming:enabled'] = autoZooming.GetId()
 
-        gridSizer.Add(item=autoZooming,
+        gridSizer.Add(autoZooming,
                       pos=(row, 0), span=(1, 2))
 
         #
         # mouse wheel zoom
         #
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Mouse wheel action:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Mouse wheel action:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -960,12 +960,12 @@ class PreferencesDialog(PreferencesBaseDialog):
                 key='mouseWheelZoom',
                 subkey='selection'))
         self.winId['display:mouseWheelZoom:selection'] = zoomAction.GetId()
-        gridSizer.Add(item=zoomAction,
+        gridSizer.Add(zoomAction,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
         row += 1
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("Mouse scrolling direction:")),
@@ -987,17 +987,17 @@ class PreferencesDialog(PreferencesBaseDialog):
                 key='scrollDirection',
                 subkey='selection'))
         self.winId['display:scrollDirection:selection'] = scrollDir.GetId()
-        gridSizer.Add(item=scrollDir,
+        gridSizer.Add(scrollDir,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         #
@@ -1015,7 +1015,7 @@ class PreferencesDialog(PreferencesBaseDialog):
             gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
             row = 0
             gridSizer.Add(
-                item=wx.StaticText(
+                wx.StaticText(
                     parent=panel,
                     id=wx.ID_ANY,
                     label=_("3D view depth buffer (possible values are 16, 24, 32):")),
@@ -1034,19 +1034,19 @@ class PreferencesDialog(PreferencesBaseDialog):
                 validator=IntegerValidator(),
                 name='GetValue')
             self.winId['display:nvizDepthBuffer:value'] = textCtrl.GetId()
-            gridSizer.Add(item=textCtrl,
+            gridSizer.Add(textCtrl,
                           flag=wx.ALIGN_RIGHT |
                           wx.ALIGN_CENTER_VERTICAL,
                           pos=(row, 1))
 
             gridSizer.AddGrowableCol(0)
             sizer.Add(
-                item=gridSizer,
+                gridSizer,
                 proportion=1,
                 flag=wx.ALL | wx.EXPAND,
                 border=5)
             border.Add(
-                item=sizer,
+                sizer,
                 proportion=0,
                 flag=wx.ALL | wx.EXPAND,
                 border=3)
@@ -1092,7 +1092,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='enabled'))
         self.winId['cmd:overwrite:enabled'] = overwrite.GetId()
 
-        gridSizer.Add(item=overwrite,
+        gridSizer.Add(overwrite,
                       pos=(row, 0), span=(1, 2))
         row += 1
         # close
@@ -1107,7 +1107,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='enabled'))
         self.winId['cmd:closeDlg:enabled'] = close.GetId()
 
-        gridSizer.Add(item=close,
+        gridSizer.Add(close,
                       pos=(row, 0), span=(1, 2))
         row += 1
         # add layer
@@ -1121,7 +1121,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='enabled'))
         self.winId['cmd:addNewLayer:enabled'] = add.GetId()
 
-        gridSizer.Add(item=add,
+        gridSizer.Add(add,
                       pos=(row, 0), span=(1, 2))
 
         row += 1
@@ -1135,13 +1135,13 @@ class PreferencesDialog(PreferencesBaseDialog):
                 key='interactiveInput',
                 subkey='enabled'))
         self.winId['cmd:interactiveInput:enabled'] = interactive.GetId()
-        gridSizer.Add(item=interactive,
+        gridSizer.Add(interactive,
                       pos=(row, 0), span=(1, 2))
 
         row += 1
         # verbosity
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Verbosity level:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Verbosity level:")),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
@@ -1158,16 +1158,16 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='selection'))
         self.winId['cmd:verbosity:selection'] = verbosity.GetId()
 
-        gridSizer.Add(item=verbosity,
+        gridSizer.Add(verbosity,
                       pos=(row, 1), flag=wx.ALIGN_RIGHT)
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
 
         panel.SetSizer(border)
 
@@ -1206,7 +1206,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 subkey='enabled'))
         self.winId['rasterLayer:opaque:enabled'] = rasterOpaque.GetId()
 
-        gridSizer.Add(item=rasterOpaque,
+        gridSizer.Add(rasterOpaque,
                       pos=(row, 0), span=(1, 2))
 
         # default color table
@@ -1222,7 +1222,7 @@ class PreferencesDialog(PreferencesBaseDialog):
         self.winId['rasterLayer:colorTable:enabled'] = rasterCTCheck.GetId()
         rasterCTCheck.Bind(wx.EVT_CHECKBOX, self.OnCheckColorTable)
 
-        gridSizer.Add(item=rasterCTCheck, flag=wx.ALIGN_CENTER_VERTICAL,
+        gridSizer.Add(rasterCTCheck, flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
 
         rasterCTName = ColorTablesComboBox(
@@ -1239,16 +1239,16 @@ class PreferencesDialog(PreferencesBaseDialog):
         if not rasterCTCheck.IsChecked():
             rasterCTName.Enable(False)
 
-        gridSizer.Add(item=rasterCTName,
+        gridSizer.Add(rasterCTName,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(0)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         #
@@ -1263,8 +1263,8 @@ class PreferencesDialog(PreferencesBaseDialog):
 
         gridSizer = wx.FlexGridSizer(cols=7, hgap=10, vgap=3)
 
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Display:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Display:")),
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
         for type in ('point', 'line', 'centroid', 'boundary',
@@ -1276,10 +1276,10 @@ class PreferencesDialog(PreferencesBaseDialog):
             self.winId[
                 'vectorLayer:showType:%s:enabled' %
                 type] = chkbox.GetId()
-            gridSizer.Add(item=chkbox)
+            gridSizer.Add(chkbox)
 
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=5)
@@ -1288,8 +1288,8 @@ class PreferencesDialog(PreferencesBaseDialog):
         gridSizer = wx.GridBagSizer(hgap=3, vgap=3)
 
         # feature color
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Feature color:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Feature color:")),
                       flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
         featureColor = csel.ColourSelect(
             parent=panel,
@@ -1302,7 +1302,7 @@ class PreferencesDialog(PreferencesBaseDialog):
         featureColor.SetName('GetColour')
         self.winId['vectorLayer:featureColor:color'] = featureColor.GetId()
         gridSizer.Add(
-            item=featureColor,
+            featureColor,
             pos=(
                 row,
                 col + 2),
@@ -1320,7 +1320,7 @@ class PreferencesDialog(PreferencesBaseDialog):
         self.winId[
             'vectorLayer:featureColor:transparent:enabled'] = transpFeature.GetId()
         gridSizer.Add(
-            item=transpFeature,
+            transpFeature,
             pos=(
                 row,
                 col + 1),
@@ -1328,8 +1328,8 @@ class PreferencesDialog(PreferencesBaseDialog):
 
         # area fill color
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Area fill color:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Area fill color:")),
                       flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, col))
         fillColor = csel.ColourSelect(
             parent=panel,
@@ -1341,7 +1341,7 @@ class PreferencesDialog(PreferencesBaseDialog):
             size=globalvar.DIALOG_COLOR_SIZE)
         fillColor.SetName('GetColour')
         self.winId['vectorLayer:areaFillColor:color'] = fillColor.GetId()
-        gridSizer.Add(item=fillColor, pos=(row, col + 2), flag=wx.ALIGN_RIGHT)
+        gridSizer.Add(fillColor, pos=(row, col + 2), flag=wx.ALIGN_RIGHT)
 
         transpArea = wx.CheckBox(parent=panel, id=wx.ID_ANY,
                                  label=_("Transparent"), name="IsChecked")
@@ -1355,13 +1355,13 @@ class PreferencesDialog(PreferencesBaseDialog):
         self.winId[
             'vectorLayer:areaFillColor:transparent:enabled'] = transpArea.GetId()
         gridSizer.Add(
-            item=transpArea, pos=(row, col + 1),
+            transpArea, pos=(row, col + 1),
             flag=wx.ALIGN_CENTER_VERTICAL)
 
         # line
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Line width:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Line width:")),
                       flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, col))
         hlWidth = SpinCtrl(
             parent=panel, id=wx.ID_ANY, size=(50, -1),
@@ -1370,15 +1370,15 @@ class PreferencesDialog(PreferencesBaseDialog):
             min=1, max=1e6, name="GetValue")
         self.winId['vectorLayer:line:width'] = hlWidth.GetId()
         gridSizer.Add(
-            item=hlWidth, pos=(row, col + 1),
+            hlWidth, pos=(row, col + 1),
             span=(1, 2),
             flag=wx.ALIGN_RIGHT)
 
         # symbol
         row = 0
         col = 4
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Symbol size:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Symbol size:")),
                       flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, col))
         ptSize = SpinCtrl(
             parent=panel, id=wx.ID_ANY, size=(50, -1),
@@ -1386,11 +1386,11 @@ class PreferencesDialog(PreferencesBaseDialog):
                 group='vectorLayer', key='point', subkey='size'),
             min=1, max=1e6, name="GetValue")
         self.winId['vectorLayer:point:size'] = ptSize.GetId()
-        gridSizer.Add(item=ptSize, pos=(row, col + 2), flag=wx.ALIGN_RIGHT)
+        gridSizer.Add(ptSize, pos=(row, col + 2), flag=wx.ALIGN_RIGHT)
 
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Symbol:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Symbol:")),
                       flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, col))
         symbolPath = self.settings.Get(
             group='vectorLayer', key='point', subkey='symbol')
@@ -1399,7 +1399,7 @@ class PreferencesDialog(PreferencesBaseDialog):
         symbolLabel.SetMinSize((150, -1))
         self.winId['vectorLayer:point:symbol'] = symbolLabel.GetId()
         gridSizer.Add(
-            item=symbolLabel,
+            symbolLabel,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT,
             pos=(
                 row,
@@ -1415,16 +1415,16 @@ class PreferencesDialog(PreferencesBaseDialog):
             bitmap=bitmap,
             name="symbolButton")
         bb.Bind(wx.EVT_BUTTON, self.OnSetSymbol)
-        gridSizer.Add(item=bb, pos=(row, col + 2))
+        gridSizer.Add(bb, pos=(row, col + 2))
 
         gridSizer.AddGrowableCol(0)
         gridSizer.AddGrowableCol(3)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         panel.SetSizer(border)
@@ -1499,12 +1499,12 @@ class PreferencesDialog(PreferencesBaseDialog):
 
         flexSizer.Add(autoHighlight, proportion=1)
 
-        highlightSizer.Add(item=flexSizer,
+        highlightSizer.Add(flexSizer,
                            proportion=0,
                            flag=wx.ALL | wx.EXPAND,
                            border=5)
 
-        pageSizer.Add(item=highlightSizer,
+        pageSizer.Add(highlightSizer,
                       proportion=0,
                       flag=wx.ALL | wx.EXPAND,
                       border=5)
@@ -1571,12 +1571,12 @@ class PreferencesDialog(PreferencesBaseDialog):
 
         flexSizer.Add(askOnDeleteRec, proportion=0)
 
-        dataBrowserSizer.Add(item=flexSizer,
+        dataBrowserSizer.Add(flexSizer,
                              proportion=0,
                              flag=wx.ALL | wx.EXPAND,
                              border=5)
 
-        pageSizer.Add(item=dataBrowserSizer,
+        pageSizer.Add(dataBrowserSizer,
                       proportion=0,
                       flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
                       border=3)
@@ -1608,12 +1608,12 @@ class PreferencesDialog(PreferencesBaseDialog):
             proportion=0,
             flag=wx.ALIGN_RIGHT | wx.FIXED_MINSIZE)
 
-        createTableSizer.Add(item=flexSizer,
+        createTableSizer.Add(flexSizer,
                              proportion=0,
                              flag=wx.ALL | wx.EXPAND,
                              border=5)
 
-        pageSizer.Add(item=createTableSizer,
+        pageSizer.Add(createTableSizer,
                       proportion=0,
                       flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
                       border=3)
@@ -1652,7 +1652,7 @@ class PreferencesDialog(PreferencesBaseDialog):
                 "need to enable the Projection check box in "
                 "the drop-down\nmenu located at the bottom "
                 "of the Map Display window.\n"))
-        gridSizer.Add(item=note0,
+        gridSizer.Add(note0,
                       span=(1, 2),
                       pos=(row, 0))
 
@@ -1668,10 +1668,10 @@ class PreferencesDialog(PreferencesBaseDialog):
             group='projection', key='statusbar', subkey='epsg')))
         self.winId['projection:statusbar:epsg'] = epsgCode.GetId()
 
-        gridSizer.Add(item=label,
+        gridSizer.Add(label,
                       pos=(row, 0),
                       flag=wx.ALIGN_CENTER_VERTICAL)
-        gridSizer.Add(item=epsgCode,
+        gridSizer.Add(epsgCode,
                       pos=(row, 1), span=(1, 2))
 
         # proj
@@ -1684,10 +1684,10 @@ class PreferencesDialog(PreferencesBaseDialog):
                 400, -1))
         self.winId['projection:statusbar:proj4'] = projString.GetId()
 
-        gridSizer.Add(item=label,
+        gridSizer.Add(label,
                       pos=(row, 0),
                       flag=wx.ALIGN_CENTER_VERTICAL)
-        gridSizer.Add(item=projString,
+        gridSizer.Add(projString,
                       pos=(row, 1), span=(1, 2),
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
@@ -1700,10 +1700,10 @@ class PreferencesDialog(PreferencesBaseDialog):
                 group='projection', key='statusbar', subkey='projFile'),
             name="GetValue", size=(400, -1))
         self.winId['projection:statusbar:projFile'] = projFile.GetId()
-        gridSizer.Add(item=label,
+        gridSizer.Add(label,
                       pos=(row, 0),
                       flag=wx.ALIGN_CENTER_VERTICAL)
-        gridSizer.Add(item=projFile,
+        gridSizer.Add(projFile,
                       pos=(row, 1),
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
@@ -1713,24 +1713,24 @@ class PreferencesDialog(PreferencesBaseDialog):
             parent=panel, id=wx.ID_ANY, label=_(
                 "Load EPSG codes (be patient), enter EPSG code or "
                 "insert Proj.4 string directly."))
-        gridSizer.Add(item=note,
+        gridSizer.Add(note,
                       span=(1, 2),
                       pos=(row, 0))
 
         row += 1
         epsgLoad = wx.Button(parent=panel, id=wx.ID_ANY,
                              label=_("&Load EPSG codes"))
-        gridSizer.Add(item=epsgLoad,
+        gridSizer.Add(epsgLoad,
                       flag=wx.ALIGN_RIGHT,
                       pos=(row, 1))
 
         gridSizer.AddGrowableCol(1)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
 
         #
         # format
@@ -1759,30 +1759,30 @@ class PreferencesDialog(PreferencesBaseDialog):
 
         # precision
         precision = SpinCtrl(parent=panel, id=wx.ID_ANY,
-                                min=0, max=12,
-                                name="GetValue")
+                             min=0, max=12,
+                             name="GetValue")
         precision.SetValue(int(self.settings.Get(
             group='projection', key='format', subkey='precision')))
         self.winId['projection:format:precision'] = precision.GetId()
 
-        gridSizer.Add(item=ll,
+        gridSizer.Add(ll,
                       pos=(row, 0))
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Precision:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Precision:")),
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.LEFT,
                       border=20,
                       pos=(row, 1))
-        gridSizer.Add(item=precision,
+        gridSizer.Add(precision,
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 2))
 
         gridSizer.AddGrowableCol(2)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
         panel.SetSizer(border)
@@ -2064,13 +2064,13 @@ class MapsetAccess(wx.Dialog):
                 "    - You may only write to the current mapset.\n"
                 "    - You may only write to mapsets which you own."))
 
-        sizer.Add(item=label, proportion=0,
+        sizer.Add(label, proportion=0,
                   flag=wx.ALL, border=5)
 
         self.mapsetlb = CheckListMapset(parent=self)
         self.mapsetlb.LoadData()
 
-        sizer.Add(item=self.mapsetlb, proportion=1,
+        sizer.Add(self.mapsetlb, proportion=1,
                   flag=wx.ALL | wx.EXPAND, border=5)
 
         # check all accessible mapsets
@@ -2083,7 +2083,7 @@ class MapsetAccess(wx.Dialog):
         # dialog buttons
         line = wx.StaticLine(parent=self, id=wx.ID_ANY,
                              style=wx.LI_HORIZONTAL)
-        sizer.Add(item=line, proportion=0,
+        sizer.Add(line, proportion=0,
                   flag=wx.EXPAND | wx.ALIGN_CENTRE | wx.ALL, border=5)
 
         btnsizer = wx.StdDialogButtonSizer()
@@ -2095,7 +2095,7 @@ class MapsetAccess(wx.Dialog):
         btnsizer.AddButton(cancelbtn)
         btnsizer.Realize()
 
-        sizer.Add(item=btnsizer, proportion=0,
+        sizer.Add(btnsizer, proportion=0,
                   flag=wx.EXPAND | wx.ALIGN_RIGHT | wx.ALL, border=5)
 
         # do layout

+ 1 - 1
gui/wxpython/gui_core/pyedit.py

@@ -604,7 +604,7 @@ class PyEditFrame(wx.Frame):
         self.panel.SetText(script_template())
 
         sizer = wx.BoxSizer(wx.VERTICAL)
-        sizer.Add(item=self.panel, proportion=1,
+        sizer.Add(self.panel, proportion=1,
                   flag=wx.EXPAND)
         sizer.Fit(self)
         sizer.SetSizeHints(self)

+ 8 - 8
gui/wxpython/gui_core/query.py

@@ -42,15 +42,15 @@ class QueryDialog(wx.Dialog):
         helpText = wx.StaticText(self.panel, wx.ID_ANY, label=_(
             "Right click to copy selected values to clipboard."))
         helpText.SetForegroundColour(
-            wx.SystemSettings_GetColour(
+            wx.SystemSettings.GetColour(
                 wx.SYS_COLOUR_GRAYTEXT))
-        self.mainSizer.Add(item=helpText, proportion=0, flag=wx.ALL, border=5)
+        self.mainSizer.Add(helpText, proportion=0, flag=wx.ALL, border=5)
 
         self._colNames = [_("Feature"), _("Value")]
         self._model = QueryTreeBuilder(self.data, column=self._colNames[1])
         self.tree = TreeListView(model=self._model, parent=self.panel,
                                  columns=self._colNames,
-                                 style=wx.TR_DEFAULT_STYLE |
+                                 style=wx.TR_DEFAULT_STYLE | wx.TR_HIDE_ROOT |
                                  wx.TR_FULL_ROW_HIGHLIGHT | wx.TR_MULTIPLE)
 
         self.tree.SetColumnWidth(0, 220)
@@ -58,7 +58,7 @@ class QueryDialog(wx.Dialog):
         self.tree.ExpandAll(self._model.root)
         self.tree.contextMenu.connect(self.ShowContextMenu)
         self.mainSizer.Add(
-            item=self.tree,
+            self.tree,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
@@ -80,16 +80,16 @@ class QueryDialog(wx.Dialog):
 
         hbox = wx.BoxSizer(wx.HORIZONTAL)
         hbox.Add(
-            item=self.redirect,
+            self.redirect,
             proportion=0,
             flag=wx.EXPAND | wx.RIGHT,
             border=5)
         hbox.AddStretchSpacer(1)
-        hbox.Add(item=copy, proportion=0, flag=wx.EXPAND | wx.RIGHT, border=5)
-        hbox.Add(item=close, proportion=0, flag=wx.EXPAND | wx.ALL, border=0)
+        hbox.Add(copy, proportion=0, flag=wx.EXPAND | wx.RIGHT, border=5)
+        hbox.Add(close, proportion=0, flag=wx.EXPAND | wx.ALL, border=0)
 
         self.mainSizer.Add(
-            item=hbox,
+            hbox,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=5)

+ 2 - 1
gui/wxpython/gui_core/toolbars.py

@@ -27,6 +27,7 @@ from core.utils import _
 from icons.icon import MetaIcon
 from collections import defaultdict
 from core.globalvar import IMGDIR
+from gui_core.wrap import ToolBar
 
 from grass.pydispatch.signal import Signal
 
@@ -85,7 +86,7 @@ BaseIcons = {
 }
 
 
-class BaseToolbar(wx.ToolBar):
+class BaseToolbar(ToolBar):
     """Abstract toolbar class.
 
     Following code shows how to create new basic toolbar:

+ 13 - 3
gui/wxpython/gui_core/treeview.py

@@ -18,18 +18,24 @@ import os
 
 import wx
 from wx.lib.mixins.treemixin import VirtualTree, ExpansionState
+from core.globalvar import hasAgw, wxPythonPhoenix
 try:
     import wx.lib.agw.customtreectrl as CT
 except ImportError:
     import wx.lib.customtreectrl as CT
-import wx.gizmos as gizmos
+if wxPythonPhoenix:
+    try:
+        from agw.hypertreelist import HyperTreeList as TreeListCtrl
+    except ImportError: # if it's not there locally, try the wxPython lib.
+        from wx.lib.agw.hypertreelist import HyperTreeList as TreeListCtrl
+else:
+    from wx.gizmos import TreeListCtrl
 
 # needed just for testing
 if __name__ == '__main__':
     from grass.script.setup import set_gui_path
     set_gui_path()
 
-from core.globalvar import hasAgw
 from core.treemodel import TreeModel, DictNode
 from core.utils import _
 
@@ -192,10 +198,14 @@ class CTreeView(AbstractTreeViewMixin, CT.CustomTreeCtrl):
         self.RefreshItems()
 
 
-class TreeListView(AbstractTreeViewMixin, ExpansionState, gizmos.TreeListCtrl):
+class TreeListView(AbstractTreeViewMixin, ExpansionState, TreeListCtrl):
 
     def __init__(self, model, parent, columns, **kw):
         self._columns = columns
+        if wxPythonPhoenix and 'style' in kw:
+            flags = kw['style']
+            kw['agwStyle'] = flags
+            del kw['style']
         super(TreeListView, self).__init__(parent=parent, model=model, **kw)
         for column in columns:
             self.AddColumn(column)

+ 48 - 33
gui/wxpython/gui_core/widgets.py

@@ -50,13 +50,19 @@ import string
 import re
 from bisect import bisect
 from datetime import datetime
+from core.globalvar import wxPythonPhoenix
 
 import wx
 import wx.lib.mixins.listctrl as listmix
 import wx.lib.scrolledpanel as SP
 from wx.lib.stattext import GenStaticText
 from wx.lib.wordwrap import wordwrap
-import wx.combo
+if wxPythonPhoenix:
+    import wx.adv
+    from wx.adv import OwnerDrawnComboBox
+else:
+    import wx.combo
+    from wx.combo import OwnerDrawnComboBox
 try:
     import wx.lib.agw.flatnotebook as FN
 except ImportError:
@@ -70,6 +76,11 @@ try:
 except ImportError:
     import wx.lib.customtreectrl as CT
 
+if wxPythonPhoenix:
+    from wx import Validator as Validator
+else:
+    from wx import PyValidator as Validator
+
 from grass.script import core as grass
 
 from grass.pydispatch.signal import Signal
@@ -78,6 +89,7 @@ from core import globalvar
 from core.utils import _
 from core.gcmd import GMessage, GError
 from core.debug import Debug
+from gui_core.wrap import Button
 
 
 class NotebookController:
@@ -120,6 +132,7 @@ class NotebookController:
         if 'name' in kwargs:
             self.notebookPages[kwargs['name']] = kwargs['page']
             del kwargs['name']
+
         try:
             self.classObject.InsertPage(self.widget, **kwargs)
         except TypeError as e:  # documentation says 'index', but certain versions of wx require 'n'
@@ -247,6 +260,7 @@ class FlatNotebookController(NotebookController):
         if 'name' in kwargs:
             self.notebookPages[kwargs['name']] = kwargs['page']
             del kwargs['name']
+
         kwargs['indx'] = kwargs['index']
         del kwargs['index']
         self.classObject.InsertPage(self.widget, **kwargs)
@@ -274,15 +288,15 @@ class GNotebook(FN.FlatNotebook):
         """@copydoc NotebookController::AddPage()"""
         self.controller.AddPage(**kwargs)
 
-    def InsertPage(self, **kwargs):
+    def InsertNBPage(self, **kwargs):
         """@copydoc NotebookController::InsertPage()"""
         self.controller.InsertPage(**kwargs)
 
-    def DeletePage(self, page):
+    def DeleteNBPage(self, page):
         """@copydoc NotebookController::DeletePage()"""
         return self.controller.DeletePage(page)
 
-    def RemovePage(self, page):
+    def RemoveNBPage(self, page):
         """@copydoc NotebookController::RemovePage()"""
         return self.controller.RemovePage(page)
 
@@ -309,15 +323,15 @@ class FormNotebook(wx.Notebook):
         """@copydoc NotebookController::AddPage()"""
         self.controller.AddPage(**kwargs)
 
-    def InsertPage(self, **kwargs):
+    def InsertNBPage(self, **kwargs):
         """@copydoc NotebookController::InsertPage()"""
         self.controller.InsertPage(**kwargs)
 
-    def DeletePage(self, page):
+    def DeleteNBPage(self, page):
         """@copydoc NotebookController::DeletePage()"""
         return self.controller.DeletePage(page)
 
-    def RemovePage(self, page):
+    def RemoveNBPage(self, page):
         """@copydoc NotebookController::RemovePage()"""
         return self.controller.RemovePage(page)
 
@@ -344,7 +358,7 @@ class FormListbook(wx.Listbook):
         """@copydoc NotebookController::AddPage()"""
         self.controller.AddPage(**kwargs)
 
-    def InsertPage(self, **kwargs):
+    def InsertPage_(self, **kwargs):
         """@copydoc NotebookController::InsertPage()"""
         self.controller.InsertPage(**kwargs)
 
@@ -526,8 +540,9 @@ class StaticWrapText(GenStaticText):
     def DoGetBestSize(self):
         """Overriden method which reports widget's best size."""
         if not self.init:
-            self._updateLabel()
             self.init = True
+            self._updateLabel()
+
         parent = self.GetParent()
         newExtent = wx.ClientDC(parent).GetMultiLineTextExtent(self.GetLabel())
         # when starting, width is very small and height is big which creates
@@ -553,10 +568,10 @@ class StaticWrapText(GenStaticText):
         self._updateLabel()
 
 
-class BaseValidator(wx.PyValidator):
+class BaseValidator(Validator):
 
     def __init__(self):
-        wx.PyValidator.__init__(self)
+        Validator.__init__(self)
 
         self.Bind(wx.EVT_TEXT, self.OnText)
 
@@ -591,7 +606,7 @@ class BaseValidator(wx.PyValidator):
     def _valid(self):
         textCtrl = self.GetWindow()
 
-        sysColor = wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW)
+        sysColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)
         textCtrl.SetBackgroundColour(sysColor)
 
         textCtrl.Refresh()
@@ -709,11 +724,11 @@ class TimeISOValidator(BaseValidator):
         return TimeISOValidator()
 
 
-class NTCValidator(wx.PyValidator):
+class NTCValidator(Validator):
     """validates input in textctrls, taken from wxpython demo"""
 
     def __init__(self, flag=None):
-        wx.PyValidator.__init__(self)
+        Validator.__init__(self)
         self.flag = flag
         self.Bind(wx.EVT_CHAR, self.OnChar)
 
@@ -735,7 +750,7 @@ class NTCValidator(wx.PyValidator):
         return
 
 
-class SimpleValidator(wx.PyValidator):
+class SimpleValidator(Validator):
     """This validator is used to ensure that the user has entered something
         into the text object editor dialog's text field.
     """
@@ -743,7 +758,7 @@ class SimpleValidator(wx.PyValidator):
     def __init__(self, callback):
         """Standard constructor.
         """
-        wx.PyValidator.__init__(self)
+        Validator.__init__(self)
         self.callback = callback
 
     def Clone(self):
@@ -783,7 +798,7 @@ class SimpleValidator(wx.PyValidator):
         return True  # Prevent wxDialog from complaining.
 
 
-class GenericValidator(wx.PyValidator):
+class GenericValidator(Validator):
     """This validator checks condition and calls callback
     in case the condition is not fulfilled.
     """
@@ -794,7 +809,7 @@ class GenericValidator(wx.PyValidator):
         :param condition: function which accepts string value and returns T/F
         :param callback: function which is called when condition is not fulfilled
         """
-        wx.PyValidator.__init__(self)
+        Validator.__init__(self)
         self._condition = condition
         self._callback = callback
 
@@ -878,7 +893,7 @@ class SingleSymbolPanel(wx.Panel):
 
         sizer = wx.BoxSizer()
         sizer.Add(
-            item=self.sBmp,
+            self.sBmp,
             proportion=0,
             flag=wx.ALL | wx.ALIGN_CENTER,
             border=5)
@@ -1089,21 +1104,21 @@ class SearchModuleWidget(wx.Panel):
         sizer = wx.BoxSizer(wx.HORIZONTAL)
         boxSizer = wx.BoxSizer(wx.VERTICAL)
 
-        boxSizer.Add(item=self._search,
+        boxSizer.Add(self._search,
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND | wx.BOTTOM,
                      border=5)
         if self._showChoice:
             hSizer = wx.BoxSizer(wx.HORIZONTAL)
-            hSizer.Add(item=self._searchChoice,
+            hSizer.Add(self._searchChoice,
                        flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND | wx.BOTTOM,
                        border=5)
             hSizer.AddStretchSpacer()
-            boxSizer.Add(item=hSizer, flag=wx.EXPAND)
+            boxSizer.Add(hSizer, flag=wx.EXPAND)
         if self._showTip:
-            boxSizer.Add(item=self._searchTip,
+            boxSizer.Add(self._searchTip,
                          flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND)
 
-        sizer.Add(item=boxSizer, proportion=1)
+        sizer.Add(boxSizer, proportion=1)
 
         self.SetSizer(sizer)
         sizer.Fit(self)
@@ -1216,12 +1231,12 @@ class ManageSettingsWidget(wx.Panel):
 
         self.settingsChoice = wx.Choice(parent=self, id=wx.ID_ANY)
         self.settingsChoice.Bind(wx.EVT_CHOICE, self.OnSettingsChanged)
-        self.btnSettingsSave = wx.Button(parent=self, id=wx.ID_SAVE)
+        self.btnSettingsSave = Button(parent=self, id=wx.ID_SAVE)
         self.btnSettingsSave.Bind(wx.EVT_BUTTON, self.OnSettingsSave)
-        self.btnSettingsSave.SetToolTipString(_("Save current settings"))
-        self.btnSettingsDel = wx.Button(parent=self, id=wx.ID_REMOVE)
+        self.btnSettingsSave.SetToolTip(_("Save current settings"))
+        self.btnSettingsDel = Button(parent=self, id=wx.ID_REMOVE)
         self.btnSettingsDel.Bind(wx.EVT_BUTTON, self.OnSettingsDelete)
-        self.btnSettingsSave.SetToolTipString(
+        self.btnSettingsSave.SetToolTip(
             _("Delete currently selected settings"))
 
         # escaping with '$' character - index in self.esc_chars
@@ -1242,20 +1257,20 @@ class ManageSettingsWidget(wx.Panel):
 
         self.settingsSizer = wx.StaticBoxSizer(self.settingsBox, wx.HORIZONTAL)
         self.settingsSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self,
                 id=wx.ID_ANY,
                 label=_("Load:")),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.LEFT,
             border=5)
         self.settingsSizer.Add(
-            item=self.settingsChoice,
+            self.settingsChoice,
             proportion=1,
             flag=wx.EXPAND | wx.BOTTOM,
             border=3)
-        self.settingsSizer.Add(item=self.btnSettingsSave,
+        self.settingsSizer.Add(self.btnSettingsSave,
                                flag=wx.LEFT | wx.RIGHT | wx.BOTTOM, border=3)
-        self.settingsSizer.Add(item=self.btnSettingsDel,
+        self.settingsSizer.Add(self.btnSettingsDel,
                                flag=wx.RIGHT | wx.BOTTOM, border=3)
 
     def OnSettingsChanged(self, event):
@@ -1512,7 +1527,7 @@ class ManageSettingsWidget(wx.Panel):
         return data
 
 
-class PictureComboBox(wx.combo.OwnerDrawnComboBox):
+class PictureComboBox(OwnerDrawnComboBox):
     """Abstract class of ComboBox with pictures.
 
         Derived class has to specify has to specify _getPath method.

+ 224 - 4
gui/wxpython/gui_core/wrap.py

@@ -17,10 +17,40 @@ This program is free software under the GNU General Public License
 
 import wx
 
-from core.globalvar import gtk3
+from core.globalvar import gtk3, wxPythonPhoenix
+if wxPythonPhoenix:
+    import wx.adv
 
 
-class GSpinCtrl(wx.SpinCtrl):
+def BitmapFromImage(image, depth=-1):
+    if wxPythonPhoenix:
+        return wx.Bitmap(img=image, depth=depth)
+    else:
+        return wx.BitmapFromImage(image, depth=depth)
+
+
+def EmptyBitmap(width, height, depth=-1):
+    if wxPythonPhoenix:
+        return wx.Bitmap(width=width, height=height, depth=depth)
+    else:
+        return wx.EmptyBitmap(width=width, height=height, depth=depth)
+
+
+def EmptyImage(width, height, clear=True):
+    if wxPythonPhoenix:
+        return wx.Image(width=width, height=height, clear=clear)
+    else:
+        return wx.EmptyImage(width=width, height=height, clear=clear)
+
+
+def StockCursor(cursorId):
+    if wxPythonPhoenix:
+        return wx.Cursor(cursorId=cursorId)
+    else:
+        return wx.StockCursor(cursorId)
+
+
+class SpinCtrl(wx.SpinCtrl):
     """Wrapper around wx.SpinCtrl to have more control
     over the widget on different platforms"""
 
@@ -32,5 +62,195 @@ class GSpinCtrl(wx.SpinCtrl):
                 kwargs['size'] = wx.Size(max(self.gtk3MinSize, kwargs['size'][0]), kwargs['size'][1])
             else:
                 kwargs['size'] = wx.Size(self.gtk3MinSize, -1)
-                
-        wx.SpinCtrl.__init__(self, *args, **kwargs)
+
+        wx.SpinCtrl.__init__(self, *args, **kwargs)
+
+
+class Button(wx.Button):
+    """Wrapper around wx.Button to have more control
+    over the widget on different platforms/wxpython versions"""
+    def __init__(self, *args, **kwargs):
+        wx.Button.__init__(self, *args, **kwargs)
+
+    def SetToolTip(self, tip):
+        if wxPythonPhoenix:
+            wx.Button.SetToolTip(self, tipString=tip)
+        else:
+            wx.Button.SetToolTipString(self, tip)
+
+
+class ToggleButton(wx.ToggleButton):
+    """Wrapper around wx.ToggleButton to have more control
+    over the widget on different platforms/wxpython versions"""
+    def __init__(self, *args, **kwargs):
+        wx.ToggleButton.__init__(self, *args, **kwargs)
+
+    def SetToolTip(self, tip):
+        if wxPythonPhoenix:
+            wx.ToggleButton.SetToolTip(self, tipString=tip)
+        else:
+            wx.ToggleButton.SetToolTipString(self, tip)
+
+
+class StaticText(wx.StaticText):
+    """Wrapper around wx.StaticText to have more control
+    over the widget on different platforms/wxpython versions"""
+    def __init__(self, *args, **kwargs):
+        wx.StaticText.__init__(self, *args, **kwargs)
+
+    def SetToolTip(self, tip):
+        if wxPythonPhoenix:
+            wx.StaticText.SetToolTip(self, tipString=tip)
+        else:
+            wx.StaticText.SetToolTipString(self, tip)
+
+
+class StaticBox(wx.StaticBox):
+    """Wrapper around wx.StaticBox to have more control
+    over the widget on different platforms/wxpython versions"""
+    def __init__(self, *args, **kwargs):
+        wx.StaticBox.__init__(self, *args, **kwargs)
+
+    def SetToolTip(self, tip):
+        if wxPythonPhoenix:
+            wx.StaticBox.SetToolTip(self, tipString=tip)
+        else:
+            wx.StaticBox.SetToolTipString(self, tip)
+
+
+class TextCtrl(wx.TextCtrl):
+    """Wrapper around wx.TextCtrl to have more control
+    over the widget on different platforms/wxpython versions"""
+    def __init__(self, *args, **kwargs):
+        wx.TextCtrl.__init__(self, *args, **kwargs)
+
+    def SetToolTip(self, tip):
+        if wxPythonPhoenix:
+            wx.TextCtrl.SetToolTip(self, tipString=tip)
+        else:
+            wx.TextCtrl.SetToolTipString(self, tip)
+
+
+class ListCtrl(wx.ListCtrl):
+    """Wrapper around wx.ListCtrl to have more control
+    over the widget on different platforms/wxpython versions"""
+    def __init__(self, *args, **kwargs):
+        wx.ListCtrl.__init__(self, *args, **kwargs)
+
+    def InsertStringItem(self, index, label, imageIndex=-1):
+        if wxPythonPhoenix:
+            return wx.ListCtrl.InsertItem(self, index=index, label=label, imageIndex=imageIndex)
+        else:
+            return wx.ListCtrl.InsertStringItem(self, index=index, label=label, imageIndex=imageIndex)
+
+    def SetStringItem(self, index, column, label, imageId=-1):
+        if wxPythonPhoenix:
+            return wx.ListCtrl.SetItem(self, index=index, column=column, label=label, imageId=imageId)
+        else:
+            return wx.ListCtrl.SetStringItem(self, index=index, col=column, label=label, imageId=imageId)
+
+
+class TreeCtrl(wx.TreeCtrl):
+    """Wrapper around wx.TreeCtrl to have more control
+    over the widget on different platforms/wxpython versions"""
+    def __init__(self, *args, **kwargs):
+        wx.TreeCtrl.__init__(self, *args, **kwargs)
+
+    def AppendItem(self, parent, text, image=-1, selImage=-1, data=None):
+        if wxPythonPhoenix:
+            return wx.TreeCtrl.AppendItem(self, parent, text, image, selImage, data)
+        else:
+            return wx.TreeCtrl.AppendItem(self, parent, text, image, selImage, wx.TreeItemData(data))
+
+
+class ToolBar(wx.ToolBar):
+    """Wrapper around wx.ToolBar to have more control
+    over the widget on different platforms/wxpython versions"""
+    def __init__(self, *args, **kwargs):
+        wx.ToolBar.__init__(self, *args, **kwargs)
+
+    def AddLabelTool(self, toolId, label, bitmap, bmpDisabled=wx.NullBitmap, kind=0,
+                     shortHelpString='', longHelpString='', clientData=None):
+        if wxPythonPhoenix:
+            return wx.ToolBar.AddTool(self, toolId=toolId, label=label, bitmap=bitmap, bmpDisabled=bmpDisabled,
+                                      kind=kind, shortHelpString=shortHelpString, longHelpString=longHelpString,
+                                      clientData=clientData)
+        else:
+            return wx.ToolBar.AddLabelTool(self, toolId, label, bitmap, bmpDisabled, kind,
+                                           shortHelpString, longHelpString, clientData)
+
+    def InsertLabelTool(self, pos, toolId, label, bitmap, bmpDisabled=wx.NullBitmap, kind=0,
+                        shortHelpString='', longHelpString='', clientData=None):
+        if wxPythonPhoenix:
+            return wx.ToolBar.InsertTool(self, pos, toolId=toolId, label=label, bitmap=bitmap, bmpDisabled=bmpDisabled,
+                                         kind=kind, shortHelp=shortHelpString, longHelp=longHelpString,
+                                         clientData=clientData)
+        else:
+            return wx.ToolBar.InsertLabelTool(self, pos, toolId, label, bitmap, bmpDisabled, kind,
+                                              shortHelpString, longHelpString, clientData)
+
+
+class Menu(wx.Menu):
+    """Wrapper around wx.Menu to have more control
+    over the widget on different platforms/wxpython versions"""
+    def __init__(self, *args, **kwargs):
+        wx.Menu.__init__(self, *args, **kwargs)
+
+    def AppendItem(self, menuItem):
+        if wxPythonPhoenix:
+            wx.Menu.Append(self, menuItem=menuItem)
+        else:
+            wx.Menu.AppendItem(self, menuItem)
+
+    def AppendMenu(self, id, text, submenu, help=""):
+        if wxPythonPhoenix:
+            wx.Menu.Append(self, id=id, item=text, subMenu=submenu, helpString=help)
+        else:
+            wx.Menu.AppendMenu(self, id=id, text=text, submenu=submenu, help=help)
+
+
+class DragImage(wx.GenericDragImage if wxPythonPhoenix else wx.DragImage):
+    """Wrapper around wx.DragImage to have more control
+    over the widget on different platforms/wxpython versions"""
+    def __init__(self, *args, **kwargs):
+        super(DragImage, self).__init__(*args, **kwargs)
+
+
+class PseudoDC(wx.adv.PseudoDC if wxPythonPhoenix else wx.PseudoDC):
+    """Wrapper around wx.PseudoDC to have more control
+    over the widget on different platforms/wxpython versions"""
+    def __init__(self, *args, **kwargs):
+        super(PseudoDC, self).__init__(*args, **kwargs)
+
+    def DrawRectangleRect(self, rect):
+        if wxPythonPhoenix:
+            super(PseudoDC, self).DrawRectangle(rect=rect)
+        else:
+            super(PseudoDC, self).DrawRectangleRect(rect)
+
+    def BeginDrawing(self):
+        if not wxPythonPhoenix:
+            super(PseudoDC, self).BeginDrawing()
+
+    def EndDrawing(self):
+        if not wxPythonPhoenix:
+            super(PseudoDC, self).EndDrawing()
+
+
+class Rect(wx.Rect):
+    """Wrapper around wx.Rect to have more control
+    over the widget on different platforms/wxpython versions"""
+    def __init__(self, *args, **kwargs):
+        wx.Rect.__init__(self, *args, **kwargs)
+
+    def ContainsXY(self, x, y):
+        if wxPythonPhoenix:
+            return wx.Rect.Contains(self, x=x, y=y)
+        else:
+            return wx.Rect.ContainsXY(self, x, y)
+
+    def ContainsRect(self, rect):
+        if wxPythonPhoenix:
+            return wx.Rect.Contains(self, rect=rect)
+        else:
+            return wx.Rect.ContainsRect(self, rect)

+ 20 - 20
gui/wxpython/iclass/dialogs.py

@@ -301,31 +301,31 @@ class IClassCategoryManagerDialog(wx.Dialog):
         deleteButton = wx.Button(panel, id=wx.ID_DELETE)
 
         gridSizer.Add(
-            item=self.catList, pos=(
+            self.catList, pos=(
                 0, 0), span=(
                 3, 1), flag=wx.EXPAND)
-        gridSizer.Add(item=addButton, pos=(0, 1), flag=wx.EXPAND)
-        gridSizer.Add(item=deleteButton, pos=(1, 1), flag=wx.EXPAND)
+        gridSizer.Add(addButton, pos=(0, 1), flag=wx.EXPAND)
+        gridSizer.Add(deleteButton, pos=(1, 1), flag=wx.EXPAND)
 
         gridSizer.AddGrowableCol(0)
         gridSizer.AddGrowableRow(2)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
         mainSizer.Add(
-            item=sizer,
+            sizer,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
 
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
         closeButton = wx.Button(panel, id=wx.ID_CLOSE)
-        btnSizer.Add(item=wx.Size(-1, -1), proportion=1, flag=wx.EXPAND)
-        btnSizer.Add(item=closeButton, proportion=0, flag=wx.ALIGN_RIGHT)
+        btnSizer.Add(wx.Size(-1, -1), proportion=1, flag=wx.EXPAND)
+        btnSizer.Add(closeButton, proportion=0, flag=wx.ALIGN_RIGHT)
         mainSizer.Add(
-            item=btnSizer,
+            btnSizer,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=5)
@@ -662,7 +662,7 @@ class IClassSignatureFileDialog(wx.Dialog):
         dataSizer = wx.BoxSizer(wx.VERTICAL)
 
         dataSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self.panel,
                 id=wx.ID_ANY,
                 label=_("Enter name of signature file:")),
@@ -673,11 +673,11 @@ class IClassSignatureFileDialog(wx.Dialog):
             parent=self.panel, id=wx.ID_ANY, size=(400, -1))
         if self.fileName:
             self.fileNameCtrl.SetValue(self.fileName)
-        dataSizer.Add(item=self.fileNameCtrl,
+        dataSizer.Add(self.fileNameCtrl,
                       proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
 
-        dataSizer.Add(item=wx.StaticText(parent=self.panel, id=wx.ID_ANY,
-                                         label=_("Signature file path:")),
+        dataSizer.Add(wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+                                    label=_("Signature file path:")),
                       proportion=0, flag=wx.ALL, border=3)
 
         self.pathPanel = scrolled.ScrolledPanel(self.panel, size=(-1, 40))
@@ -692,7 +692,7 @@ class IClassSignatureFileDialog(wx.Dialog):
         self.pathPanel.SetupScrolling(scroll_x=True, scroll_y=False)
         self.pathPanel.SetSizer(pathSizer)
 
-        dataSizer.Add(item=self.pathPanel,
+        dataSizer.Add(self.pathPanel,
                       proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
 
         # buttons
@@ -701,10 +701,10 @@ class IClassSignatureFileDialog(wx.Dialog):
         btnSizer.AddButton(self.btnOK)
         btnSizer.Realize()
 
-        sizer.Add(item=dataSizer, proportion=1,
+        sizer.Add(dataSizer, proportion=1,
                   flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         self.panel.SetSizer(sizer)
@@ -771,7 +771,7 @@ class IClassExportAreasDialog(wx.Dialog):
         dataSizer = wx.BoxSizer(wx.VERTICAL)
 
         dataSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self.panel,
                 id=wx.ID_ANY,
                 label=_("Enter name of new vector map:")),
@@ -784,7 +784,7 @@ class IClassExportAreasDialog(wx.Dialog):
             size=globalvar.DIALOG_GSELECT_SIZE)
         if self.vectorName:
             self.vectorNameCtrl.SetValue(self.vectorName)
-        dataSizer.Add(item=self.vectorNameCtrl,
+        dataSizer.Add(self.vectorNameCtrl,
                       proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
         self.withTableCtrl = wx.CheckBox(parent=self.panel, id=wx.ID_ANY,
                                          label=_("Export attribute table"))
@@ -792,7 +792,7 @@ class IClassExportAreasDialog(wx.Dialog):
         self.withTableCtrl.SetToolTipString(
             _("Export attribute table containing" " computed statistical data"))
 
-        dataSizer.Add(item=self.withTableCtrl,
+        dataSizer.Add(self.withTableCtrl,
                       proportion=0, flag=wx.ALL, border=3)
 
         # buttons
@@ -801,10 +801,10 @@ class IClassExportAreasDialog(wx.Dialog):
         btnSizer.AddButton(self.btnOK)
         btnSizer.Realize()
 
-        sizer.Add(item=dataSizer, proportion=1,
+        sizer.Add(dataSizer, proportion=1,
                   flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         self.panel.SetSizer(sizer)

+ 2 - 2
gui/wxpython/iclass/plots.py

@@ -61,7 +61,7 @@ class PlotPanel(scrolled.ScrolledPanel):
 
         self.canvasPanel = wx.Panel(parent=self)
         self.mainSizer.Add(
-            item=self.canvasPanel,
+            self.canvasPanel,
             proportion=1,
             flag=wx.EXPAND,
             border=0)
@@ -183,7 +183,7 @@ class PlotPanel(scrolled.ScrolledPanel):
             self.canvasList.append(canvas)
 
             self.canvasSizer.Add(
-                item=canvas,
+                canvas,
                 proportion=1,
                 flag=wx.EXPAND,
                 border=0)

+ 28 - 28
gui/wxpython/iscatt/dialogs.py

@@ -31,7 +31,7 @@ from core import globalvar
 from core.gcmd import GMessage
 from core.settings import UserSettings
 from gui_core.dialogs import SimpleDialog
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 
 
 class AddScattPlotDialog(wx.Dialog):
@@ -88,14 +88,14 @@ class AddScattPlotDialog(wx.Dialog):
 
         regionSizer = wx.BoxSizer(wx.HORIZONTAL)
 
-        dialogSizer.Add(item=self._addSelectSizer(title=self.band_1_label,
-                                                  sel=self.band_1_ch))
+        dialogSizer.Add(self._addSelectSizer(title=self.band_1_label,
+                                             sel=self.band_1_ch))
 
-        dialogSizer.Add(item=self._addSelectSizer(title=self.band_2_label,
-                                                  sel=self.band_2_ch))
+        dialogSizer.Add(self._addSelectSizer(title=self.band_2_label,
+                                             sel=self.band_2_ch))
 
         dialogSizer.Add(
-            item=self.btn_add,
+            self.btn_add,
             proportion=0,
             flag=wx.TOP | wx.ALIGN_RIGHT,
             border=5)
@@ -106,18 +106,18 @@ class AddScattPlotDialog(wx.Dialog):
         sizer = wx.StaticBoxSizer(box, wx.VERTICAL)
 
         sizer.Add(
-            item=self.scattsBox,
+            self.scattsBox,
             proportion=1,
             flag=wx.EXPAND | wx.TOP,
             border=5)
         sizer.Add(
-            item=self.btn_remove,
+            self.btn_remove,
             proportion=0,
             flag=wx.TOP | wx.ALIGN_RIGHT,
             border=5)
 
         dialogSizer.Add(
-            item=sizer,
+            sizer,
             proportion=1,
             flag=wx.EXPAND | wx.TOP,
             border=5)
@@ -125,18 +125,18 @@ class AddScattPlotDialog(wx.Dialog):
         # buttons
         self.btnsizer = wx.BoxSizer(orient=wx.HORIZONTAL)
 
-        self.btnsizer.Add(item=self.btn_close, proportion=0,
+        self.btnsizer.Add(self.btn_close, proportion=0,
                           flag=wx.RIGHT | wx.LEFT | wx.ALIGN_CENTER,
                           border=10)
 
-        self.btnsizer.Add(item=self.btn_ok, proportion=0,
+        self.btnsizer.Add(self.btn_ok, proportion=0,
                           flag=wx.RIGHT | wx.LEFT | wx.ALIGN_CENTER,
                           border=10)
 
-        dialogSizer.Add(item=self.btnsizer, proportion=0,
+        dialogSizer.Add(self.btnsizer, proportion=0,
                         flag=wx.ALIGN_CENTER | wx.TOP, border=5)
 
-        border.Add(item=dialogSizer, proportion=0,
+        border.Add(dialogSizer, proportion=0,
                    flag=wx.LEFT | wx.RIGHT | wx.BOTTOM, border=10)
 
         self.SetSizer(border)
@@ -163,13 +163,13 @@ class AddScattPlotDialog(wx.Dialog):
         selSizer = wx.BoxSizer(orient=wx.VERTICAL)
 
         selTitleSizer = wx.BoxSizer(wx.HORIZONTAL)
-        selTitleSizer.Add(item=title, proportion=1,
+        selTitleSizer.Add(title, proportion=1,
                           flag=wx.TOP | wx.EXPAND, border=5)
 
-        selSizer.Add(item=selTitleSizer, proportion=0,
+        selSizer.Add(selTitleSizer, proportion=0,
                      flag=wx.EXPAND)
 
-        selSizer.Add(item=sel, proportion=1,
+        selSizer.Add(sel, proportion=1,
                      flag=wx.EXPAND | wx.TOP | wx.ALIGN_CENTER_VERTICAL,
                      border=5)
 
@@ -275,7 +275,7 @@ class ExportCategoryRaster(wx.Dialog):
         dataSizer = wx.BoxSizer(wx.VERTICAL)
 
         dataSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=self.panel,
                 id=wx.ID_ANY,
                 label=_("Enter name of new vector map:")),
@@ -287,7 +287,7 @@ class ExportCategoryRaster(wx.Dialog):
                                      size=globalvar.DIALOG_GSELECT_SIZE)
         if self.rasterName:
             self.vectorNameCtrl.SetValue(self.rasterName)
-        dataSizer.Add(item=self.vectorNameCtrl,
+        dataSizer.Add(self.vectorNameCtrl,
                       proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
 
         # buttons
@@ -296,10 +296,10 @@ class ExportCategoryRaster(wx.Dialog):
         btnSizer.AddButton(self.btnOK)
         btnSizer.Realize()
 
-        sizer.Add(item=dataSizer, proportion=1,
+        sizer.Add(dataSizer, proportion=1,
                   flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         self.panel.SetSizer(sizer)
@@ -422,18 +422,18 @@ class SettingsDialog(wx.Dialog):
         for settKey in settsOrder:
             sett = setts[settKey]
             gridSizer.Add(
-                item=settsLabels[settKey],
+                settsLabels[settKey],
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     row,
                     0))
-            gridSizer.Add(item=self.settings[settKey],
+            gridSizer.Add(self.settings[settKey],
                           flag=wx.ALIGN_RIGHT | wx.ALL, border=5,
                           pos=(row, 1))
             row += 1
 
         gridSizer.AddGrowableCol(1)
-        selPolBoxSizer.Add(item=gridSizer, flag=wx.EXPAND)
+        selPolBoxSizer.Add(gridSizer, flag=wx.EXPAND)
 
         ell_box = wx.StaticBox(parent=self, id=wx.ID_ANY,
                                label=" %s " % _("Ellipses settings:"))
@@ -443,22 +443,22 @@ class SettingsDialog(wx.Dialog):
         sett = setts[settKey]
 
         row = 0
-        gridSizer.Add(item=self.settings["show_ellips"],
+        gridSizer.Add(self.settings["show_ellips"],
                       flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0))
 
         gridSizer.AddGrowableCol(1)
-        ellPolBoxSizer.Add(item=gridSizer, flag=wx.EXPAND)
+        ellPolBoxSizer.Add(gridSizer, flag=wx.EXPAND)
 
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
         btnSizer.Add(self.btnApply, flag=wx.LEFT | wx.RIGHT, border=5)
         btnSizer.Add(self.btnSave, flag=wx.LEFT | wx.RIGHT, border=5)
         btnSizer.Add(self.btnClose, flag=wx.LEFT | wx.RIGHT, border=5)
 
-        sizer.Add(item=selPolBoxSizer, flag=wx.EXPAND | wx.ALL, border=5)
-        sizer.Add(item=ellPolBoxSizer, flag=wx.EXPAND | wx.ALL, border=5)
+        sizer.Add(selPolBoxSizer, flag=wx.EXPAND | wx.ALL, border=5)
+        sizer.Add(ellPolBoxSizer, flag=wx.EXPAND | wx.ALL, border=5)
         sizer.Add(
-            item=btnSizer,
+            btnSizer,
             flag=wx.EXPAND | wx.ALL,
             border=5,
             proportion=0)

+ 8 - 8
gui/wxpython/iscatt/frame.py

@@ -67,14 +67,14 @@ class IClassIScattPanel(wx.Panel, ManageBusyCursorMixin):
 
         self.mainsizer = wx.BoxSizer(wx.VERTICAL)
         self.mainsizer.Add(
-            item=self.toolbars['mainToolbar'],
+            self.toolbars['mainToolbar'],
             proportion=0, flag=wx.EXPAND)
         self.mainsizer.Add(
-            item=self.toolbars['editingToolbar'],
+            self.toolbars['editingToolbar'],
             proportion=0, flag=wx.EXPAND)
-        self.mainsizer.Add(item=self.catsPanel, proportion=0,
+        self.mainsizer.Add(self.catsPanel, proportion=0,
                            flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
-        self.mainsizer.Add(item=self.plot_panel, proportion=1, flag=wx.EXPAND)
+        self.mainsizer.Add(self.plot_panel, proportion=1, flag=wx.EXPAND)
 
         self.catsPanel.Hide()
         self.toolbars['editingToolbar'].Hide()
@@ -144,12 +144,12 @@ class IClassIScattPanel(wx.Panel, ManageBusyCursorMixin):
             self.catsPanel)
 
         catsSizer.Add(
-            item=self.cats_list,
+            self.cats_list,
             proportion=1,
             flag=wx.EXPAND | wx.TOP,
             border=5)
         if self.toolbars['categoryToolbar']:
-            catsSizer.Add(item=self.toolbars['categoryToolbar'], proportion=0)
+            catsSizer.Add(self.toolbars['categoryToolbar'], proportion=0)
 
         self.catsPanel.SetSizer(catsSizer)
 
@@ -182,7 +182,7 @@ class IScattDialog(wx.Dialog):
         self.iscatt_panel = MapDispIScattPanel(self, giface)
 
         mainsizer = wx.BoxSizer(wx.VERTICAL)
-        mainsizer.Add(item=self.iscatt_panel, proportion=1, flag=wx.EXPAND)
+        mainsizer.Add(self.iscatt_panel, proportion=1, flag=wx.EXPAND)
 
         self.SetSizer(mainsizer)
 
@@ -325,7 +325,7 @@ class ScatterPlotsPanel(scrolled.ScrolledPanel):
     def _doLayout(self):
 
         mainsizer = wx.BoxSizer(wx.VERTICAL)
-        mainsizer.Add(item=self.mainPanel, proportion=1, flag=wx.EXPAND)
+        mainsizer.Add(self.mainPanel, proportion=1, flag=wx.EXPAND)
         self.SetSizer(mainsizer)
 
         self.Layout()

+ 8 - 6
gui/wxpython/lmgr/frame.py

@@ -59,7 +59,8 @@ from gui_core.goutput import GConsoleWindow, GC_SEARCH, GC_PROMPT
 from modules.import_export import GdalOutputDialog, DxfImportDialog, GdalImportDialog, OgrImportDialog
 from gui_core.dialogs import LocationDialog, MapsetDialog, CreateNewVector, GroupDialog, MapLayersDialog, QuitDialog
 from modules.colorrules import RasterColorTable, VectorColorTable
-from gui_core.menu import Menu, SearchModuleWindow
+from gui_core.menu import SearchModuleWindow
+from gui_core.menu import Menu as GMenu
 from gmodeler.model import Model
 from gmodeler.frame import ModelFrame
 from psmap.frame import PsMapFrame
@@ -72,6 +73,7 @@ from lmgr.pyshell import PyShellWindow
 from lmgr.giface import LayerManagerGrassInterface
 from datacatalog.catalog import DataCatalog
 from gui_core.forms import GUI
+from gui_core.wrap import Menu
 from gcp.manager import GCPWizard
 from nviz.main import haveNviz
 from nviz.preferences import NvizPreferencesDialog
@@ -267,7 +269,7 @@ class GMFrame(wx.Frame):
 
     def _createMenuBar(self):
         """Creates menu bar"""
-        self.menubar = Menu(
+        self.menubar = GMenu(
             parent=self,
             model=self._menuTreeBuilder.GetModel(
                 separators=True))
@@ -279,7 +281,7 @@ class GMFrame(wx.Frame):
 
         Used to rename display.
         """
-        menu = wx.Menu()
+        menu = Menu()
         item = wx.MenuItem(menu, id=wx.ID_ANY, text=_("Rename Map Display"))
         menu.AppendItem(item)
         self.Bind(wx.EVT_MENU, self.OnRenameDisplay, item)
@@ -434,7 +436,7 @@ class GMFrame(wx.Frame):
             tree=self.GetLayerTree(),
             display=self.GetMapDisplay())
         idx = self.notebook.GetPageIndexByName('layers')
-        self.notebook.InsertPage(
+        self.notebook.InsertNBPage(
             index=idx + 1,
             page=self.nviz,
             text=_("3D view"),
@@ -452,7 +454,7 @@ class GMFrame(wx.Frame):
         # if more mapwindow3D were possible, check here if nb page should be
         # removed
         self.notebook.SetSelectionByName('layers')
-        self.notebook.DeletePage('nviz')
+        self.notebook.DeleteNBPage('nviz')
 
         # hide toolbar
         self._auimgr.GetPane('toolbarNviz').Hide()
@@ -1254,7 +1256,7 @@ class GMFrame(wx.Frame):
     def _popupMenu(self, data):
         """Create popup menu
         """
-        menu = wx.Menu()
+        menu = Menu()
 
         for key, handler in data:
             if key is None:

+ 10 - 16
gui/wxpython/lmgr/layertree.py

@@ -46,6 +46,7 @@ from core.gcmd import GWarning, GError, RunCommand
 from icons.icon import MetaIcon
 from web_services.dialogs import SaveWMSLayerDialog
 from gui_core.widgets import MapValidator
+from gui_core.wrap import Menu
 from lmgr.giface import LayerManagerGrassInterfaceForMapDisplay
 from core.giface import Notification
 
@@ -432,7 +433,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         # get current mapset
         currentMapset = grass.gisenv()['MAPSET']
 
-        self.popupMenu = wx.Menu()
+        self.popupMenu = Menu()
 
         numSelected = len(self.GetSelections())
 
@@ -448,7 +449,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             id=self.popupID['remove'])
 
         if ltype != "command" and numSelected == 1:
-            self.popupMenu.Append(self.popupID['rename'], text=_("Rename"))
+            self.popupMenu.Append(self.popupID['rename'], _("Rename"))
             self.Bind(
                 wx.EVT_MENU,
                 self.OnRenameLayer,
@@ -554,8 +555,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 self.popupMenu.Enable(self.popupID['export'], False)
 
             self.popupMenu.Append(
-                self.popupID['export-pg'],
-                text=_("Export PostGIS"))
+                self.popupID['export-pg'], _("Export PostGIS"))
             self.Bind(
                 wx.EVT_MENU,
                 lambda x: self.lmgr.OnMenuCmd(
@@ -568,8 +568,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 self.popupMenu.Enable(self.popupID['export-pg'], False)
 
             self.popupMenu.Append(
-                self.popupID['export-attr'],
-                text=_("Export attribute table"))
+                self.popupID['export-attr'], _("Export attribute table"))
             self.Bind(
                 wx.EVT_MENU,
                 lambda x: self.lmgr.OnMenuCmd(
@@ -599,8 +598,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 self.layer_selected, key='maplayer').GetMapset()
             if lmapset != currentMapset:
                 self.popupMenu.Append(
-                    self.popupID['copy'],
-                    text=_("Make a copy in the current mapset"))
+                    self.popupID['copy'], _("Make a copy in the current mapset"))
                 self.Bind(wx.EVT_MENU, self.OnCopyMap, id=self.popupID['copy'])
 
             self.popupMenu.AppendSeparator()
@@ -661,8 +659,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             #     self.popupMenu.Check(self.popupID['bgmap'], True)
 
             self.popupMenu.Append(
-                self.popupID['topo'],
-                text=_("Rebuild topology"))
+                self.popupID['topo'], _("Rebuild topology"))
             self.Bind(wx.EVT_MENU, self.OnTopology, id=self.popupID['topo'])
 
             # determine format
@@ -704,8 +701,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         elif mltype and mltype == "raster":
             if same:
                 self.popupMenu.Append(
-                    self.popupID['zoom1'],
-                    text=_("Zoom to selected map(s) (ignore NULLs)"))
+                    self.popupID['zoom1'], _("Zoom to selected map(s) (ignore NULLs)"))
                 self.Bind(
                     wx.EVT_MENU,
                     self.mapdisplay.OnZoomToRaster,
@@ -748,8 +744,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                     self.layer_selected, key='maplayer').GetMapset()
                 if lmapset != currentMapset:
                     self.popupMenu.Append(
-                        self.popupID['copy'],
-                        text=_("Make a copy in the current mapset"))
+                        self.popupID['copy'], _("Make a copy in the current mapset"))
                     self.Bind(
                         wx.EVT_MENU,
                         self.OnCopyMap,
@@ -861,8 +856,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         # web service layers (specific item)
         elif mltype and mltype == "wms":
             self.popupMenu.Append(
-                self.popupID['save_ws'],
-                text=_("Save web service layer"))
+                self.popupID['save_ws'], _("Save web service layer"))
             self.Bind(wx.EVT_MENU, self.OnSaveWs, id=self.popupID['save_ws'])
 
         self.PopupMenu(self.popupMenu)

+ 9 - 8
gui/wxpython/lmgr/pyshell.py

@@ -28,6 +28,7 @@ import grass.script as grass
 from grass.script.utils import try_remove
 
 from core.utils import _
+from gui_core.wrap import Button
 
 
 class PyShellWindow(wx.Panel):
@@ -49,16 +50,16 @@ class PyShellWindow(wx.Panel):
 
         sys.displayhook = self._displayhook
 
-        self.btnClear = wx.Button(self, wx.ID_CLEAR)
+        self.btnClear = Button(self, wx.ID_CLEAR)
         self.btnClear.Bind(wx.EVT_BUTTON, self.OnClear)
-        self.btnClear.SetToolTipString(_("Delete all text from the shell"))
+        self.btnClear.SetToolTip(_("Delete all text from the shell"))
 
         self.simpleEditorHandler = simpleEditorHandler
         if simpleEditorHandler:
-            self.btnSimpleEditor = wx.Button(
+            self.btnSimpleEditor = Button(
                 self, id=wx.ID_ANY, label=_("Simple &editor"))
             self.btnSimpleEditor.Bind(wx.EVT_BUTTON, simpleEditorHandler)
-            self.btnSimpleEditor.SetToolTipString(
+            self.btnSimpleEditor.SetToolTip(
                 _("Open a simple Python code editor"))
 
         self._layout()
@@ -69,17 +70,17 @@ class PyShellWindow(wx.Panel):
     def _layout(self):
         sizer = wx.BoxSizer(wx.VERTICAL)
 
-        sizer.Add(item=self.shell, proportion=1,
+        sizer.Add(self.shell, proportion=1,
                   flag=wx.EXPAND)
 
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
         if self.simpleEditorHandler:
-            btnSizer.Add(item=self.btnSimpleEditor, proportion=0,
+            btnSizer.Add(self.btnSimpleEditor, proportion=0,
                          flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
         btnSizer.AddStretchSpacer()
-        btnSizer.Add(item=self.btnClear, proportion=0,
+        btnSizer.Add(self.btnClear, proportion=0,
                      flag=wx.EXPAND | wx.ALIGN_RIGHT, border=5)
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.ALIGN_RIGHT | wx.ALL | wx.EXPAND, border=5)
 
         sizer.Fit(self)

+ 34 - 34
gui/wxpython/location_wizard/dialogs.py

@@ -273,24 +273,24 @@ class RegionDef(BaseClass, wx.Dialog):
             self.cells3)
 
         # top
-        gridSizer.Add(item=wx.StaticText(parent=pane, label=_("Top")),
+        gridSizer.Add(wx.StaticText(parent=pane, label=_("Top")),
                       flag=wx.ALIGN_CENTER |
                       wx.LEFT | wx.RIGHT | wx.TOP, border=5,
                       pos=(0, 1))
-        gridSizer.Add(item=self.ttop,
+        gridSizer.Add(self.ttop,
                       flag=wx.ALIGN_CENTER_HORIZONTAL |
                       wx.ALL, border=5, pos=(1, 1))
         # bottom
-        gridSizer.Add(item=wx.StaticText(parent=pane, label=_("Bottom")),
+        gridSizer.Add(wx.StaticText(parent=pane, label=_("Bottom")),
                       flag=wx.ALIGN_CENTER |
                       wx.LEFT | wx.RIGHT | wx.TOP, border=5,
                       pos=(0, 2))
-        gridSizer.Add(item=self.tbottom,
+        gridSizer.Add(self.tbottom,
                       flag=wx.ALIGN_CENTER_HORIZONTAL |
                       wx.ALL, border=5, pos=(1, 2))
         # tbres
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=pane,
                 label=_("T-B resolution")),
             flag=wx.ALIGN_CENTER | wx.LEFT | wx.RIGHT | wx.TOP,
@@ -298,7 +298,7 @@ class RegionDef(BaseClass, wx.Dialog):
             pos=(
                 0,
                 3))
-        gridSizer.Add(item=self.ttbres,
+        gridSizer.Add(self.ttbres,
                       flag=wx.ALIGN_CENTER_HORIZONTAL |
                       wx.ALL, border=5, pos=(1, 3))
 
@@ -319,15 +319,15 @@ class RegionDef(BaseClass, wx.Dialog):
         #                       wx.ALL, border = 5, pos = (3, 3))
 
         # rows/cols/cells
-        gridSizer.Add(item=self.ldepth,
+        gridSizer.Add(self.ldepth,
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER |
                       wx.ALL, border=5, pos=(2, 1))
 
-        gridSizer.Add(item=self.lcells3,
+        gridSizer.Add(self.lcells3,
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER |
                       wx.ALL, border=5, pos=(2, 2))
 
-        border.Add(item=gridSizer, proportion=1,
+        border.Add(gridSizer, proportion=1,
                    flag=wx.ALL | wx.ALIGN_CENTER | wx.EXPAND, border=5)
 
         pane.SetSizer(border)
@@ -357,25 +357,25 @@ class RegionDef(BaseClass, wx.Dialog):
         buttonSizer = wx.BoxSizer(wx.HORIZONTAL)
 
         # north
-        gridSizer.Add(item=self.MakeLabel(text=_("North"), parent=panel),
+        gridSizer.Add(self.MakeLabel(text=_("North"), parent=panel),
                       flag=wx.ALIGN_BOTTOM | wx.ALIGN_CENTER_HORIZONTAL |
                       wx.TOP | wx.LEFT | wx.RIGHT, border=5, pos=(0, 2))
-        gridSizer.Add(item=self.tnorth,
+        gridSizer.Add(self.tnorth,
                       flag=wx.ALIGN_CENTER_HORIZONTAL |
                       wx.ALIGN_CENTER_VERTICAL |
                       wx.ALL, border=5, pos=(1, 2))
         # west
-        gridSizer.Add(item=self.MakeLabel(text=_("West"), parent=panel),
+        gridSizer.Add(self.MakeLabel(text=_("West"), parent=panel),
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL |
                       wx.LEFT | wx.TOP | wx.BOTTOM, border=5, pos=(2, 0))
-        gridSizer.Add(item=self.twest,
+        gridSizer.Add(self.twest,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL |
                       wx.ALL, border=5, pos=(2, 1))
 
         gridSizer.Add(
-            item=wx.StaticBitmap(
+            wx.StaticBitmap(
                 panel, wx.ID_ANY, self.img, (-1, -1),
                 (self.img.GetWidth(),
                  self.img.GetHeight())),
@@ -383,71 +383,71 @@ class RegionDef(BaseClass, wx.Dialog):
             pos=(2, 2))
 
         # east
-        gridSizer.Add(item=self.teast,
+        gridSizer.Add(self.teast,
                       flag=wx.ALIGN_CENTER_HORIZONTAL |
                       wx.ALIGN_CENTER_VERTICAL |
                       wx.ALL, border=5, pos=(2, 3))
-        gridSizer.Add(item=self.MakeLabel(text=_("East"), parent=panel),
+        gridSizer.Add(self.MakeLabel(text=_("East"), parent=panel),
                       flag=wx.ALIGN_LEFT |
                       wx.ALIGN_CENTER_VERTICAL |
                       wx.RIGHT | wx.TOP | wx.BOTTOM, border=5, pos=(2, 4))
         # south
-        gridSizer.Add(item=self.tsouth,
+        gridSizer.Add(self.tsouth,
                       flag=wx.ALIGN_CENTER_HORIZONTAL |
                       wx.ALIGN_CENTER_VERTICAL |
                       wx.ALL, border=5, pos=(3, 2))
-        gridSizer.Add(item=self.MakeLabel(text=_("South"), parent=panel),
+        gridSizer.Add(self.MakeLabel(text=_("South"), parent=panel),
                       flag=wx.ALIGN_TOP | wx.ALIGN_CENTER_HORIZONTAL |
                       wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5, pos=(4, 2))
         # ns-res
-        gridSizer.Add(item=self.MakeLabel(text=_("N-S resolution"), parent=panel),
+        gridSizer.Add(self.MakeLabel(text=_("N-S resolution"), parent=panel),
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER |
                       wx.TOP | wx.LEFT | wx.RIGHT, border=5, pos=(5, 1))
-        gridSizer.Add(item=self.tnsres,
+        gridSizer.Add(self.tnsres,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL |
                       wx.ALL, border=5, pos=(6, 1))
         # ew-res
-        gridSizer.Add(item=self.MakeLabel(text=_("E-W resolution"), parent=panel),
+        gridSizer.Add(self.MakeLabel(text=_("E-W resolution"), parent=panel),
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER |
                       wx.TOP | wx.LEFT | wx.RIGHT, border=5, pos=(5, 3))
-        gridSizer.Add(item=self.tewres,
+        gridSizer.Add(self.tewres,
                       flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL |
                       wx.ALL, border=5, pos=(6, 3))
         # rows/cols/cells
-        gridSizer.Add(item=self.lrows,
+        gridSizer.Add(self.lrows,
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER |
                       wx.ALL, border=5, pos=(7, 1))
 
-        gridSizer.Add(item=self.lcells,
+        gridSizer.Add(self.lcells,
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER |
                       wx.ALL, border=5, pos=(7, 2))
 
-        gridSizer.Add(item=self.lcols,
+        gridSizer.Add(self.lcols,
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER |
                       wx.ALL, border=5, pos=(7, 3))
 
         # 3D
-        settings3DSizer.Add(item=self.settings3D,
+        settings3DSizer.Add(self.settings3D,
                             flag=wx.ALL,
                             border=5)
 
         # buttons
-        buttonSizer.Add(item=self.bcancel, proportion=1,
+        buttonSizer.Add(self.bcancel, proportion=1,
                         flag=wx.ALIGN_RIGHT |
                         wx.ALIGN_CENTER_VERTICAL |
                         wx.ALL, border=10)
-        buttonSizer.Add(item=self.bset, proportion=1,
+        buttonSizer.Add(self.bset, proportion=1,
                         flag=wx.ALIGN_CENTER |
                         wx.ALIGN_CENTER_VERTICAL |
                         wx.ALL, border=10)
 
-        frameSizer.Add(item=gridSizer, proportion=1,
+        frameSizer.Add(gridSizer, proportion=1,
                        flag=wx.ALL | wx.ALIGN_CENTER, border=5)
-        frameSizer.Add(item=settings3DSizer, proportion=0,
+        frameSizer.Add(settings3DSizer, proportion=0,
                        flag=wx.ALL | wx.ALIGN_CENTER, border=5)
-        frameSizer.Add(item=buttonSizer, proportion=0,
+        frameSizer.Add(buttonSizer, proportion=0,
                        flag=wx.ALL | wx.ALIGN_RIGHT, border=5)
 
         self.SetAutoLayout(True)
@@ -646,7 +646,7 @@ class SelectTransformDialog(wx.Dialog):
         self.Bind(wx.EVT_LISTBOX, self.ClickTrans, self.translist)
 
         bodySizer.Add(
-            item=self.translist,
+            self.translist,
             proportion=1,
             flag=wx.ALIGN_CENTER | wx.ALL | wx.EXPAND)
 
@@ -663,10 +663,10 @@ class SelectTransformDialog(wx.Dialog):
         btnsizer.AddButton(btn)
         btnsizer.Realize()
 
-        sizer.Add(item=bodySizer, proportion=1,
+        sizer.Add(bodySizer, proportion=1,
                   flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
-        sizer.Add(item=btnsizer, proportion=0,
+        sizer.Add(btnsizer, proportion=0,
                   flag=wx.ALL | wx.ALIGN_RIGHT, border=5)
 
         sizer.Fit(panel)

+ 149 - 95
gui/wxpython/location_wizard/wizard.py

@@ -38,15 +38,22 @@ import locale
 
 import wx
 import wx.lib.mixins.listctrl as listmix
-import wx.wizard as wiz
+from core import globalvar
+if globalvar.wxPythonPhoenix:
+    from wx import adv as wiz
+    from wx.adv import Wizard
+    from wx.adv import WizardPageSimple
+else:
+    from wx import wizard as wiz
+    from wx.wizard import Wizard
+    from wx.wizard import WizardPageSimple
 import wx.lib.scrolledpanel as scrolled
 
-from core import globalvar
 from core import utils
 from core.utils import _
 from core.gcmd import RunCommand, GError, GMessage, GWarning
 from gui_core.widgets import GenericValidator
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 from location_wizard.base import BaseClass
 from location_wizard.dialogs import SelectTransformDialog
 
@@ -63,19 +70,17 @@ global wizerror
 global translist
 
 
-class TitledPage(BaseClass, wiz.WizardPageSimple):
+class TitledPage(WizardPageSimple):
     """Class to make wizard pages. Generic methods to make labels,
     text entries, and buttons.
     """
 
     def __init__(self, parent, title):
-
-        self.page = wiz.WizardPageSimple.__init__(self, parent)
+        self.page = WizardPageSimple.__init__(self, parent)
 
         # page title
         self.title = wx.StaticText(parent=self, id=wx.ID_ANY, label=title)
         self.title.SetFont(wx.Font(13, wx.SWISS, wx.NORMAL, wx.BOLD))
-
         # main sizers
         self.pagesizer = wx.BoxSizer(wx.VERTICAL)
         self.sizer = wx.GridBagSizer(vgap=0, hgap=0)
@@ -84,19 +89,63 @@ class TitledPage(BaseClass, wiz.WizardPageSimple):
 
     def DoLayout(self):
         """Do page layout"""
-        self.pagesizer.Add(item=self.title, proportion=0,
+        self.pagesizer.Add(self.title, proportion=0,
                            flag=wx.ALIGN_CENTRE | wx.ALL,
                            border=5)
-        self.pagesizer.Add(item=wx.StaticLine(self, -1), proportion=0,
+        self.pagesizer.Add(wx.StaticLine(self, -1), proportion=0,
                            flag=wx.EXPAND | wx.ALL,
                            border=0)
-        self.pagesizer.Add(item=self.sizer, proportion=1,
+        self.pagesizer.Add(self.sizer, proportion=1,
                            flag=wx.EXPAND)
 
         self.SetAutoLayout(True)
         self.SetSizer(self.pagesizer)
         self.Layout()
 
+    def MakeLabel(self, text="", style=wx.ALIGN_LEFT,
+                  parent=None, tooltip=None):
+        """Make aligned label"""
+        if not parent:
+            parent = self
+        label = wx.StaticText(parent=parent, id=wx.ID_ANY, label=text,
+                              style=style)
+        if tooltip:
+            label.SetToolTipString(tooltip)
+        return label
+
+    def MakeTextCtrl(self, text='', size=(100, -1),
+                     style=0, parent=None, tooltip=None):
+        """Generic text control"""
+        if not parent:
+            parent = self
+        textCtrl = wx.TextCtrl(parent=parent, id=wx.ID_ANY, value=text,
+                               size=size, style=style)
+        if tooltip:
+            textCtrl.SetToolTipString(tooltip)
+        return textCtrl
+
+    def MakeButton(self, text, id=wx.ID_ANY, size=(-1, -1),
+                   parent=None, tooltip=None):
+        """Generic button"""
+        if not parent:
+            parent = self
+        button = wx.Button(parent=parent, id=id, label=text,
+                           size=size)
+        if tooltip:
+            button.SetToolTipString(tooltip)
+        return button
+
+    def MakeCheckBox(self, text, id=wx.ID_ANY, size=(-1, -1),
+                     parent=None, tooltip=None):
+        """Generic checkbox"""
+        if not parent:
+            parent = self
+        chbox = wx.CheckBox(parent=parent, id=id, label=text,
+                            size=size)
+        if tooltip:
+            chbox.SetToolTipString(tooltip)
+        return chbox
+
 
 class DatabasePage(TitledPage):
     """Wizard page for setting GIS data directory and location name"""
@@ -137,24 +186,24 @@ class DatabasePage(TitledPage):
                                                           "PERMANENT mapset."))
 
         # layout
-        self.sizer.Add(item=self.MakeLabel(_("GIS Data Directory:")),
+        self.sizer.Add(self.MakeLabel(_("GIS Data Directory:")),
                        flag=wx.ALIGN_RIGHT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5,
                        pos=(1, 1))
-        self.sizer.Add(item=self.tgisdbase,
+        self.sizer.Add(self.tgisdbase,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5,
                        pos=(1, 2))
-        self.sizer.Add(item=self.bbrowse,
+        self.sizer.Add(self.bbrowse,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5,
                        pos=(1, 3))
 
         self.sizer.Add(
-            item=self.MakeLabel(
+            self.MakeLabel(
                 "%s:" %
                 _("Project Location"),
                 tooltip=_("Name of location directory in GIS Data Directory")),
@@ -162,14 +211,14 @@ class DatabasePage(TitledPage):
             border=5,
             pos=(2, 1)
         )
-        self.sizer.Add(item=self.tlocation,
+        self.sizer.Add(self.tlocation,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5,
                        pos=(2, 2))
 
         self.sizer.Add(
-            item=self.MakeLabel(
+            self.MakeLabel(
                 "%s:" %
                 _("Location Title"),
                 tooltip=_(
@@ -179,17 +228,17 @@ class DatabasePage(TitledPage):
             border=5,
             pos=(3, 1)
         )
-        self.sizer.Add(item=self.tlocTitle,
+        self.sizer.Add(self.tlocTitle,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5,
                        pos=(3, 2), span=(1, 2))
-        self.sizer.Add(item=self.tlocRegion,
+        self.sizer.Add(self.tlocRegion,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5,
                        pos=(4, 2), span=(1, 2))
-        self.sizer.Add(item=self.tlocUserMapset,
+        self.sizer.Add(self.tlocUserMapset,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5,
@@ -299,23 +348,23 @@ class CoordinateSystemPage(TitledPage):
 
         # layout
         self.sizer.SetVGap(10)
-        self.sizer.Add(item=wx.StaticText(parent=self, label=_("Simple methods:")),
+        self.sizer.Add(wx.StaticText(parent=self, label=_("Simple methods:")),
                        flag=wx.ALIGN_LEFT, pos=(1, 1))
-        self.sizer.Add(item=self.radioEpsg,
+        self.sizer.Add(self.radioEpsg,
                        flag=wx.ALIGN_LEFT, pos=(2, 1))
-        #self.sizer.Add(item=self.radioIau,
+        #self.sizer.Add(self.radioIau,
         #               flag=wx.ALIGN_LEFT, pos=(1, 1))
-        self.sizer.Add(item=self.radioFile,
+        self.sizer.Add(self.radioFile,
                        flag=wx.ALIGN_LEFT, pos=(3, 1))
-        self.sizer.Add(item=self.radioWkt,
+        self.sizer.Add(self.radioWkt,
                        flag=wx.ALIGN_LEFT, pos=(4, 1))
-        self.sizer.Add(item=self.radioXy,
+        self.sizer.Add(self.radioXy,
                        flag=wx.ALIGN_LEFT, pos=(5, 1))
-        self.sizer.Add(item=wx.StaticText(parent=self, label=_("Advanced methods:")),
+        self.sizer.Add(wx.StaticText(parent=self, label=_("Advanced methods:")),
                        flag=wx.ALIGN_LEFT, pos=(6, 1))
-        self.sizer.Add(item=self.radioSrs,
+        self.sizer.Add(self.radioSrs,
                        flag=wx.ALIGN_LEFT, pos=(7, 1))
-        self.sizer.Add(item=self.radioProj,
+        self.sizer.Add(self.radioProj,
                        flag=wx.ALIGN_LEFT, pos=(8, 1))
         self.sizer.AddGrowableCol(1)
 
@@ -434,22 +483,22 @@ class ProjectionsPage(TitledPage):
         self.projlist.resizeLastColumn(30)
 
         # layout
-        self.sizer.Add(item=self.MakeLabel(_("Projection code:")),
+        self.sizer.Add(self.MakeLabel(_("Projection code:")),
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(1, 1))
-        self.sizer.Add(item=self.tproj,
+        self.sizer.Add(self.tproj,
                        flag=wx.ALIGN_RIGHT | wx.EXPAND | wx.ALL,
                        border=5, pos=(1, 2))
 
-        self.sizer.Add(item=self.MakeLabel(_("Search in description:")),
+        self.sizer.Add(self.MakeLabel(_("Search in description:")),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                        border=5, pos=(2, 1))
-        self.sizer.Add(item=self.searchb,
+        self.sizer.Add(self.searchb,
                        flag=wx.ALIGN_RIGHT | wx.EXPAND | wx.ALL,
                        border=5, pos=(2, 2))
 
-        self.sizer.Add(item=self.projlist,
+        self.sizer.Add(self.projlist,
                        flag=wx.EXPAND |
                        wx.ALIGN_LEFT |
                        wx.ALL, border=5, pos=(3, 1), span=(1, 3))
@@ -572,10 +621,10 @@ class ItemList(wx.ListCtrl,
 
         self.il = wx.ImageList(16, 16)
         self.sm_up = self.il.Add(
-            wx.ArtProvider_GetBitmap(
+            wx.ArtProvider.GetBitmap(
                 wx.ART_GO_UP, wx.ART_TOOLBAR, (16, 16)))
         self.sm_dn = self.il.Add(
-            wx.ArtProvider_GetBitmap(
+            wx.ArtProvider.GetBitmap(
                 wx.ART_GO_DOWN, wx.ART_TOOLBAR, (16, 16)))
         self.SetImageList(self.il, wx.IMAGE_LIST_SMALL)
 
@@ -742,7 +791,7 @@ class ProjParamsPage(TitledPage):
             parent=self, id=wx.ID_ANY, label=" %s " %
             _("Select datum or ellipsoid (next page)"))
         radioSBSizer = wx.StaticBoxSizer(radioSBox)
-        self.sizer.Add(item=radioSBSizer, pos=(0, 1),
+        self.sizer.Add(radioSBSizer, pos=(0, 1),
                        flag=wx.EXPAND | wx.ALIGN_TOP | wx.TOP, border=10)
         self.sizer.AddGrowableCol(1)
 
@@ -759,9 +808,9 @@ class ProjParamsPage(TitledPage):
             self.SetNext(self.parent.datumpage)
             #            self.parent.sumpage.SetPrev(self.parent.datumpage)
 
-        radioSBSizer.Add(item=self.radio1,
+        radioSBSizer.Add(self.radio1,
                          flag=wx.ALIGN_LEFT | wx.RIGHT, border=20)
-        radioSBSizer.Add(item=self.radioEpsg,
+        radioSBSizer.Add(self.radioEpsg,
                          flag=wx.ALIGN_LEFT)
 
         # bindings
@@ -837,10 +886,10 @@ class ProjParamsPage(TitledPage):
 
             self.prjParamSizer = wx.GridBagSizer(vgap=0, hgap=0)
 
-            self.sizer.Add(item=paramSBSizer, pos=(1, 1),
+            self.sizer.Add(paramSBSizer, pos=(1, 1),
                            flag=wx.EXPAND)
             self.sizer.AddGrowableRow(1)
-            paramSBSizer.Add(item=self.panel, proportion=1,
+            paramSBSizer.Add(self.panel, proportion=1,
                              flag=wx.ALIGN_CENTER | wx.EXPAND)
 
             paramSBSizer.Fit(self.panel)
@@ -884,9 +933,9 @@ class ProjParamsPage(TitledPage):
                     win.Bind(wx.EVT_CHOICE, self.OnParamEntry)
                 elif param['type'] == 'zone':
                     win = SpinCtrl(parent=self.panel, id=id,
-                                      size=(100, -1),
-                                      style=wx.SP_ARROW_KEYS | wx.SP_WRAP,
-                                      min=1, max=60)
+                                   size=(100, -1),
+                                   style=wx.SP_ARROW_KEYS | wx.SP_WRAP,
+                                   min=1, max=60)
                     win.SetValue(param['value'])
                     win.Bind(wx.EVT_SPINCTRL, self.OnParamEntry)
                     win.Bind(wx.EVT_TEXT, self.OnParamEntry)
@@ -898,11 +947,11 @@ class ProjParamsPage(TitledPage):
                     if paramgrp[1] == 'noask':
                         win.Enable(False)
 
-                self.prjParamSizer.Add(item=label, pos=(row, 1),
+                self.prjParamSizer.Add(label, pos=(row, 1),
                                        flag=wx.ALIGN_RIGHT |
                                        wx.ALIGN_CENTER_VERTICAL |
                                        wx.RIGHT, border=5)
-                self.prjParamSizer.Add(item=win, pos=(row, 2),
+                self.prjParamSizer.Add(win, pos=(row, 2),
                                        flag=wx.ALIGN_LEFT |
                                        wx.ALIGN_CENTER_VERTICAL |
                                        wx.LEFT, border=5)
@@ -961,25 +1010,25 @@ class DatumPage(TitledPage):
         self.datumlist.resizeLastColumn(10)
 
         # layout
-        self.sizer.Add(item=self.MakeLabel(_("Datum code:")),
+        self.sizer.Add(self.MakeLabel(_("Datum code:")),
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(1, 1))
-        self.sizer.Add(item=self.tdatum,
+        self.sizer.Add(self.tdatum,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(1, 2))
 
-        self.sizer.Add(item=self.MakeLabel(_("Search in description:")),
+        self.sizer.Add(self.MakeLabel(_("Search in description:")),
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(2, 1))
-        self.sizer.Add(item=self.searchb,
+        self.sizer.Add(self.searchb,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(2, 2))
 
-        self.sizer.Add(item=self.datumlist,
+        self.sizer.Add(self.datumlist,
                        flag=wx.EXPAND |
                        wx.ALIGN_LEFT |
                        wx.ALL, border=5, pos=(3, 1), span=(1, 4))
@@ -1143,31 +1192,31 @@ class EllipsePage(TitledPage):
 
         # layout
 
-        self.sizer.Add(item=self.MakeLabel(_("Ellipsoid code:")),
+        self.sizer.Add(self.MakeLabel(_("Ellipsoid code:")),
                        flag=wx.ALIGN_RIGHT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(1, 1))
-        self.sizer.Add(item=self.tellipse,
+        self.sizer.Add(self.tellipse,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(1, 2))
-        self.sizer.Add(item=self.radio1,
+        self.sizer.Add(self.radio1,
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.LEFT,
                        border=25, pos=(1, 3))
 
-        self.sizer.Add(item=self.MakeLabel(_("Search in description:")),
+        self.sizer.Add(self.MakeLabel(_("Search in description:")),
                        flag=wx.ALIGN_RIGHT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(2, 1))
-        self.sizer.Add(item=self.searchb,
+        self.sizer.Add(self.searchb,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(2, 2))
-        self.sizer.Add(item=self.radioEpsg,
+        self.sizer.Add(self.radioEpsg,
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.LEFT,
                        border=25, pos=(2, 3))
 
-        self.sizer.Add(item=self.ellipselist,
+        self.sizer.Add(self.ellipselist,
                        flag=wx.EXPAND |
                        wx.ALIGN_LEFT |
                        wx.ALL, border=5, pos=(3, 1), span=(1, 4))
@@ -1295,13 +1344,13 @@ class GeoreferencedFilePage(TitledPage):
         self.bbrowse = self.MakeButton(_("Browse"))
 
         # do layout
-        self.sizer.Add(item=self.lfile, flag=wx.ALIGN_LEFT |
+        self.sizer.Add(self.lfile, flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTRE_VERTICAL |
                        wx.ALL, border=5, pos=(1, 1))
-        self.sizer.Add(item=self.tfile, flag=wx.ALIGN_LEFT |
+        self.sizer.Add(self.tfile, flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTRE_VERTICAL |
                        wx.ALL, border=5, pos=(1, 2))
-        self.sizer.Add(item=self.bbrowse, flag=wx.ALIGN_LEFT |
+        self.sizer.Add(self.bbrowse, flag=wx.ALIGN_LEFT |
                        wx.ALL, border=5, pos=(1, 3))
         self.sizer.AddGrowableCol(3)
 
@@ -1371,13 +1420,13 @@ class WKTPage(TitledPage):
         self.bbrowse = self.MakeButton(_("Browse"))
 
         # do layout
-        self.sizer.Add(item=self.lfile, flag=wx.ALIGN_LEFT |
+        self.sizer.Add(self.lfile, flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTRE_VERTICAL |
                        wx.ALL, border=5, pos=(1, 1))
-        self.sizer.Add(item=self.tfile, flag=wx.ALIGN_LEFT |
+        self.sizer.Add(self.tfile, flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTRE_VERTICAL |
                        wx.ALL, border=5, pos=(1, 2))
-        self.sizer.Add(item=self.bbrowse, flag=wx.ALIGN_LEFT |
+        self.sizer.Add(self.bbrowse, flag=wx.ALIGN_LEFT |
                        wx.ALL, border=5, pos=(1, 3))
         self.sizer.AddGrowableCol(3)
 
@@ -1473,32 +1522,32 @@ class EPSGPage(TitledPage):
                 _('Parameters')])
 
         # layout
-        self.sizer.Add(item=self.lfile,
+        self.sizer.Add(self.lfile,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(1, 1), span=(1, 2))
-        self.sizer.Add(item=self.tfile,
+        self.sizer.Add(self.tfile,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(1, 3))
-        self.sizer.Add(item=self.bbrowse,
+        self.sizer.Add(self.bbrowse,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(1, 4))
-        self.sizer.Add(item=self.lcode,
+        self.sizer.Add(self.lcode,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(2, 1), span=(1, 2))
-        self.sizer.Add(item=self.tcode,
+        self.sizer.Add(self.tcode,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(2, 3))
-        self.sizer.Add(item=self.searchb,
+        self.sizer.Add(self.searchb,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(3, 3))
 
-        self.sizer.Add(item=self.epsglist,
+        self.sizer.Add(self.epsglist,
                        flag=wx.ALIGN_LEFT | wx.EXPAND, pos=(4, 1),
                        span=(1, 4))
         self.sizer.AddGrowableCol(3)
@@ -1701,32 +1750,32 @@ class IAUPage(TitledPage):
                 _('Parameters')])
 
         # layout
-        self.sizer.Add(item=self.lfile,
+        self.sizer.Add(self.lfile,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(1, 1), span=(1, 2))
-        self.sizer.Add(item=self.tfile,
+        self.sizer.Add(self.tfile,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(1, 3))
-        self.sizer.Add(item=self.bbrowse,
+        self.sizer.Add(self.bbrowse,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(1, 4))
-        self.sizer.Add(item=self.lcode,
+        self.sizer.Add(self.lcode,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(2, 1), span=(1, 2))
-        self.sizer.Add(item=self.tcode,
+        self.sizer.Add(self.tcode,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(2, 3))
-        self.sizer.Add(item=self.searchb,
+        self.sizer.Add(self.searchb,
                        flag=wx.ALIGN_LEFT |
                        wx.ALIGN_CENTER_VERTICAL |
                        wx.ALL, border=5, pos=(3, 3))
 
-        self.sizer.Add(item=self.epsglist,
+        self.sizer.Add(self.epsglist,
                        flag=wx.ALIGN_LEFT | wx.EXPAND, pos=(4, 1),
                        span=(1, 4))
         self.sizer.AddGrowableCol(3)
@@ -2043,17 +2092,17 @@ class SummaryPage(TitledPage):
         """Do page layout"""
 
         titleSizer = wx.BoxSizer(wx.VERTICAL)
-        titleSizer.Add(item=self.llocTitle, proportion=1,
+        titleSizer.Add(self.llocTitle, proportion=1,
                        flag=wx.EXPAND | wx.ALL, border=5)
         self.panelTitle.SetSizer(titleSizer)
 
         projSizer = wx.BoxSizer(wx.VERTICAL)
-        projSizer.Add(item=self.lprojection, proportion=1,
+        projSizer.Add(self.lprojection, proportion=1,
                       flag=wx.EXPAND | wx.ALL, border=5)
         self.panelProj.SetSizer(projSizer)
 
         proj4stringSizer = wx.BoxSizer(wx.VERTICAL)
-        proj4stringSizer.Add(item=self.lproj4string, proportion=1,
+        proj4stringSizer.Add(self.lproj4string, proportion=1,
                              flag=wx.EXPAND | wx.ALL, border=5)
         self.panelProj4string.SetSizer(proj4stringSizer)
 
@@ -2061,39 +2110,39 @@ class SummaryPage(TitledPage):
         self.panelProj.SetupScrolling(scroll_y=False)
         self.panelTitle.SetupScrolling(scroll_y=False)
 
-        self.sizer.Add(item=self.MakeLabel(_("GRASS Database:")),
+        self.sizer.Add(self.MakeLabel(_("GRASS Database:")),
                        flag=wx.ALIGN_LEFT | wx.ALL,
                        border=5, pos=(1, 0))
-        self.sizer.Add(item=self.ldatabase,
+        self.sizer.Add(self.ldatabase,
                        flag=wx.ALIGN_LEFT | wx.ALL,
                        border=5, pos=(1, 1))
-        self.sizer.Add(item=self.MakeLabel(_("Location Name:")),
+        self.sizer.Add(self.MakeLabel(_("Location Name:")),
                        flag=wx.ALIGN_LEFT | wx.ALL,
                        border=5, pos=(2, 0))
-        self.sizer.Add(item=self.llocation,
+        self.sizer.Add(self.llocation,
                        flag=wx.ALIGN_LEFT | wx.ALL,
                        border=5, pos=(2, 1))
-        self.sizer.Add(item=self.MakeLabel(_("Location Title:")),
+        self.sizer.Add(self.MakeLabel(_("Location Title:")),
                        flag=wx.ALIGN_LEFT | wx.ALL,
                        border=5, pos=(3, 0))
-        self.sizer.Add(item=self.panelTitle,
+        self.sizer.Add(self.panelTitle,
                        flag=wx.ALIGN_LEFT | wx.ALL | wx.EXPAND,
                        border=0, pos=(3, 1))
-        self.sizer.Add(item=self.MakeLabel(_("Projection:")),
+        self.sizer.Add(self.MakeLabel(_("Projection:")),
                        flag=wx.ALIGN_LEFT | wx.ALL,
                        border=5, pos=(4, 0))
-        self.sizer.Add(item=self.panelProj,
+        self.sizer.Add(self.panelProj,
                        flag=wx.ALIGN_LEFT | wx.ALL | wx.EXPAND,
                        border=0, pos=(4, 1))
         self.sizer.Add(
-            item=self.MakeLabel(
+            self.MakeLabel(
                 _("PROJ.4 definition:\n (non-definitive)")),
             flag=wx.ALIGN_LEFT | wx.ALL,
             border=5,
             pos=(
                 5,
                 0))
-        self.sizer.Add(item=self.panelProj4string,
+        self.sizer.Add(self.panelProj4string,
                        flag=wx.ALIGN_LEFT | wx.ALL | wx.EXPAND,
                        border=0, pos=(5, 1))
         self.sizer.AddGrowableCol(1)
@@ -2652,10 +2701,15 @@ class LocationWizard(wx.Object):
         RunCommand('g.manual', entry='helptext')
 
 
-class WizardWithHelpButton(wiz.Wizard):
+class WizardWithHelpButton(Wizard):
 
     def __init__(self, parent, id, title, bitmap):
-        pre = wiz.PreWizard()
-        pre.SetExtraStyle(wx.wizard.WIZARD_EX_HELPBUTTON)
-        pre.Create(parent=parent, id=id, title=title, bitmap=bitmap)
-        self.PostCreate(pre)
+        if globalvar.wxPythonPhoenix:
+            Wizard.__init__(self)
+            self.SetExtraStyle(wx.adv.WIZARD_EX_HELPBUTTON)
+            self.Create(parent=parent, id=id, title=title, bitmap=bitmap)
+        else:
+            pre = wiz.PreWizard()
+            pre.SetExtraStyle(wx.wizard.WIZARD_EX_HELPBUTTON)
+            pre.Create(parent=parent, id=id, title=title, bitmap=bitmap)
+            self.PostCreate(pre)

+ 2 - 1
gui/wxpython/mapdisp/frame.py

@@ -853,8 +853,9 @@ class MapFrame(SingleMapFrame):
         elif self.page:
             pgnum = self.layerbook.GetPageIndex(self.page)
             if pgnum > -1:
-                self.layerbook.DeletePage(pgnum)
+                self.layerbook.RemovePage(pgnum)
         Debug.msg(2, "MapFrame.OnCloseWindow(): function ends")
+        self.Destroy()
 
     def Query(self, x, y):
         """Query selected layers.

+ 5 - 5
gui/wxpython/mapdisp/test_mapdisp.py

@@ -104,7 +104,7 @@ class TextShower(object):
             id=wx.ID_ANY,
             label="No text set yet")
         self._cs.Add(
-            item=self._cl,
+            self._cl,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
@@ -153,7 +153,7 @@ class Tester(object):
         copyOfInitMap(map_, width, height)
         window = BufferedMapWindow(parent=panel, giface=giface, Map=map_,
                                    properties=mapWindowProperties)
-        sizer.Add(item=window, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
+        sizer.Add(window, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
         panel.SetSizer(sizer)
         panel.Layout()
         self.frame.Show()
@@ -188,7 +188,7 @@ class Tester(object):
 
         giface.mapWindow = window
 
-        sizer.Add(item=window, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
+        sizer.Add(window, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
         panel.SetSizer(sizer)
         panel.Layout()
 
@@ -218,7 +218,7 @@ class Tester(object):
 
         giface.mapWindow = window
 
-        sizer.Add(item=window, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
+        sizer.Add(window, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
         panel.SetSizer(sizer)
         panel.Layout()
 
@@ -249,7 +249,7 @@ class Tester(object):
 
         giface.mapWindow = window
 
-        sizer.Add(item=window, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
+        sizer.Add(window, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
         panel.SetSizer(sizer)
         panel.Layout()
 

+ 13 - 13
gui/wxpython/mapswipe/dialogs.py

@@ -27,7 +27,7 @@ from gui_core.preferences import PreferencesBaseDialog
 from core.gcmd import GMessage
 from core.layerlist import LayerList
 from core.settings import UserSettings
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 from gui_core.simplelmgr import SimpleLayerManager, SIMPLE_LMGR_RASTER, \
     SIMPLE_LMGR_VECTOR, SIMPLE_LMGR_RGB, SIMPLE_LMGR_TB_LEFT, SIMPLE_LMGR_TB_RIGHT
 
@@ -98,9 +98,9 @@ class SwipeMapDialog(wx.Dialog):
         self.btnSizer.AddButton(self.btnApply)
         self.btnSizer.Realize()
 
-        mainSizer.Add(item=self.btnSwitch, proportion=0,
+        mainSizer.Add(self.btnSwitch, proportion=0,
                       flag=wx.ALL | wx.ALIGN_LEFT, border=5)
-        mainSizer.Add(item=self.btnSizer, proportion=0,
+        mainSizer.Add(self.btnSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
         self.mainSizer = mainSizer
         self._switchMode(simple=True)
@@ -275,7 +275,7 @@ class PreferencesDialog(PreferencesBaseDialog):
 
         row = 0
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 label=_("Color:")),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
@@ -292,11 +292,11 @@ class PreferencesDialog(PreferencesBaseDialog):
         color.SetName('GetColour')
         self.winId['mapswipe:cursor:color'] = color.GetId()
 
-        gridSizer.Add(item=color, pos=(row, 1), flag=wx.ALIGN_RIGHT)
+        gridSizer.Add(color, pos=(row, 1), flag=wx.ALIGN_RIGHT)
 
         row += 1
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 label=_("Shape:")),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
@@ -317,12 +317,12 @@ class PreferencesDialog(PreferencesBaseDialog):
                                                subkey=['type', 'selection']))
         self.winId['mapswipe:cursor:type:selection'] = cursors.GetId()
 
-        gridSizer.Add(item=cursors, flag=wx.ALIGN_RIGHT |
+        gridSizer.Add(cursors, flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, pos=(row, 1))
 
         row += 1
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 label=_("Line width:")),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
@@ -340,12 +340,12 @@ class PreferencesDialog(PreferencesBaseDialog):
             name="GetValue")
         self.winId['mapswipe:cursor:width'] = width.GetId()
 
-        gridSizer.Add(item=width, flag=wx.ALIGN_RIGHT |
+        gridSizer.Add(width, flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, pos=(row, 1))
 
         row += 1
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 label=_("Size:")),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
@@ -363,16 +363,16 @@ class PreferencesDialog(PreferencesBaseDialog):
             name="GetValue")
         self.winId['mapswipe:cursor:size'] = size.GetId()
 
-        gridSizer.Add(item=size, flag=wx.ALIGN_RIGHT |
+        gridSizer.Add(size, flag=wx.ALIGN_RIGHT |
                       wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, pos=(row, 1))
 
         gridSizer.AddGrowableCol(1)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=3)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
         panel.SetSizer(border)
 
         return panel

+ 2 - 3
gui/wxpython/mapswipe/mapwindow.py

@@ -253,10 +253,9 @@ class _MouseEvent(wx.PyCommandEvent):
         Debug.msg(5, "_MouseEvent:__init__()")
 
         wx.PyCommandEvent.__init__(self)
-
+        self.__dict__['_NativeEvent'] = NativeEvent
+        self.__dict__['changed'] = changed
         self.SetEventType(EventType)
-        self._NativeEvent = NativeEvent
-        self.changed = changed
 
     def GetPosition(self):
         return wx.Point(*self.changed)

+ 7 - 6
gui/wxpython/mapwin/base.py

@@ -24,6 +24,7 @@ import wx
 from core.settings import UserSettings
 from core.gcmd import GError
 from core.utils import _
+from gui_core.wrap import StockCursor
 
 from grass.script import core as grass
 from grass.pydispatch.signal import Signal
@@ -162,11 +163,11 @@ class MapWindowBase(object):
 
         # available cursors
         self._cursors = {
-            "default": wx.StockCursor(wx.CURSOR_ARROW),
-            "cross": wx.StockCursor(wx.CURSOR_CROSS),
-            "hand": wx.StockCursor(wx.CURSOR_HAND),
-            "pencil": wx.StockCursor(wx.CURSOR_PENCIL),
-            "sizenwse": wx.StockCursor(wx.CURSOR_SIZENWSE)
+            "default": StockCursor(cursorId=wx.CURSOR_ARROW),
+            "cross": StockCursor(cursorId=wx.CURSOR_CROSS),
+            "hand": StockCursor(cursorId=wx.CURSOR_HAND),
+            "pencil": StockCursor(cursorId=wx.CURSOR_PENCIL),
+            "sizenwse": StockCursor(cursorId=wx.CURSOR_SIZENWSE)
         }
 
         # default cursor for window is arrow (at least we rely on it here)
@@ -344,7 +345,7 @@ class MapWindowBase(object):
         :func:`GetLastEN`
         """
         try:
-            self.lastEN = self.Pixel2Cell(event.GetPositionTuple())
+            self.lastEN = self.Pixel2Cell(event.GetPosition())
         except (ValueError):
             self.lastEN = None
 

+ 22 - 17
gui/wxpython/mapwin/buffered.py

@@ -31,9 +31,11 @@ import wx
 
 from grass.pydispatch.signal import Signal
 
+from core.globalvar import wxPythonPhoenix
 import grass.script as grass
 
 from gui_core.dialogs import SavedRegion
+from gui_core.wrap import DragImage, PseudoDC, EmptyBitmap, BitmapFromImage
 from core.gcmd import RunCommand, GException, GError, GMessage
 from core.debug import Debug
 from core.settings import UserSettings
@@ -184,7 +186,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         self.redrawAll = True
 
         # will store an off screen empty bitmap for saving to file
-        self._buffer = wx.EmptyBitmap(
+        self._buffer = EmptyBitmap(
             max(1, self.Map.width),
             max(1, self.Map.height))
 
@@ -219,13 +221,13 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         """
         # create PseudoDC used for background map, map decorations like scales
         # and legends
-        self.pdc = wx.PseudoDC()
+        self.pdc = PseudoDC()
         # used for digitization tool
         self.pdcVector = None
         # transparent objects (region box, raster digitizer)
-        self.pdcTransparent = wx.PseudoDC()
+        self.pdcTransparent = PseudoDC()
         # pseudoDC for temporal objects (select box, measurement tool, etc.)
-        self.pdcTmp = wx.PseudoDC()
+        self.pdcTmp = PseudoDC()
 
     def _bindMouseEvents(self):
         self.Bind(wx.EVT_MOUSE_EVENTS, self.MouseActions)
@@ -339,7 +341,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
             return
 
         if pdctype == 'image':  # draw selected image
-            bitmap = wx.BitmapFromImage(img)
+            bitmap = BitmapFromImage(img)
             w, h = bitmap.GetSize()
             pdc.DrawBitmap(
                 bitmap, coords[0],
@@ -566,7 +568,10 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         # create a clipping rect from our position and size
         # and update region
         rgn = self.GetUpdateRegion().GetBox()
-        dc.SetClippingRect(rgn)
+        if wxPythonPhoenix:
+            dc.SetClippingRegion(rgn)
+        else:
+            dc.SetClippingRect(rgn)
 
         switchDraw = False
         if self.redrawAll is None:
@@ -648,7 +653,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
             # current drawing in it, so it can be used to save the image to
             # a file, or whatever.
             self._buffer.Destroy()
-            self._buffer = wx.EmptyBitmap(
+            self._buffer = EmptyBitmap(
                 max(1, self.Map.width),
                 max(1, self.Map.height))
 
@@ -1045,7 +1050,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         dc.SetBackground(wx.Brush("White"))
         dc.Clear()
 
-        self.dragimg = wx.DragImage(self._buffer)
+        self.dragimg = DragImage(self._buffer)
         self.dragimg.BeginDrag((0, 0), self)
         self.dragimg.GetImageRect(moveto)
         self.dragimg.Move(moveto)
@@ -1399,7 +1404,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
             self.OnMouseEnter(event)
 
         elif event.Moving():
-            pixelCoordinates = event.GetPositionTuple()[:]
+            pixelCoordinates = event.GetPosition()
             coordinates = self.Pixel2Cell(pixelCoordinates)
             self.mouseMoving.emit(x=coordinates[0], y=coordinates[1])
             self.OnMouseMoving(event)
@@ -1415,7 +1420,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
             return
 
         self.processMouse = False
-        current = event.GetPositionTuple()[:]
+        current = event.GetPosition()
         wheel = event.GetWheelRotation()
         Debug.msg(5, "BufferedWindow.MouseAction(): wheel=%d" % wheel)
 
@@ -1450,7 +1455,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         """Mouse dragging
         """
         Debug.msg(5, "BufferedWindow.MouseAction(): Dragging")
-        current = event.GetPositionTuple()[:]
+        current = event.GetPosition()
         previous = self.mouse['begin']
         move = (current[0] - previous[0],
                 current[1] - previous[1])
@@ -1469,7 +1474,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         elif (self.mouse['use'] == 'pointer' and
                 not digitToolbar and
                 self.dragid is not None):
-            coords = event.GetPositionTuple()
+            coords = event.GetPosition()
             self.DragItem(self.dragid, coords)
 
         # dragging anything else - rubber band box or line
@@ -1478,7 +1483,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
                     not digitToolbar):
                 return
 
-            self.mouse['end'] = event.GetPositionTuple()[:]
+            self.mouse['end'] = event.GetPosition()
             if (event.LeftIsDown() and
                 not (digitToolbar and
                      digitToolbar.GetAction() in ("moveLine",) and
@@ -1491,7 +1496,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         Debug.msg(5, "BufferedWindow.OnLeftDown(): use=%s" %
                   self.mouse["use"])
 
-        self.mouse['begin'] = event.GetPositionTuple()[:]
+        self.mouse['begin'] = event.GetPosition()
 
         # vector digizer
         if self.mouse["use"] == "pointer" and \
@@ -1528,7 +1533,7 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         Debug.msg(5, "BufferedWindow.OnLeftUp(): use=%s" %
                   self.mouse["use"])
 
-        self.mouse['end'] = event.GetPositionTuple()[:]
+        self.mouse['end'] = event.GetPosition()
         coordinates = self.Pixel2Cell(self.mouse['end'])
 
         if self.mouse['use'] in ["zoom", "pan"]:
@@ -1656,12 +1661,12 @@ class BufferedMapWindow(MapWindowBase, wx.Window):
         if not event:
             return
 
-        self.mouse['begin'] = event.GetPositionTuple()[:]
+        self.mouse['begin'] = event.GetPosition()
 
     def OnMiddleUp(self, event):
         """Middle mouse button released
         """
-        self.mouse['end'] = event.GetPositionTuple()[:]
+        self.mouse['end'] = event.GetPosition()
 
         # set region in zoom or pan
         begin = self.mouse['begin']

+ 40 - 40
gui/wxpython/modules/colorrules.py

@@ -45,7 +45,7 @@ from gui_core.forms import GUI
 from core.debug import Debug as Debug
 from core.settings import UserSettings
 from gui_core.widgets import ColorTablesComboBox
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl, PseudoDC
 
 
 class RulesPanel:
@@ -69,7 +69,7 @@ class RulesPanel:
         self.mainSizer = wx.FlexGridSizer(cols=3, vgap=6, hgap=4)
         # put small border at the top of panel
         for i in range(3):
-            self.mainSizer.Add(item=wx.Size(3, 3))
+            self.mainSizer.Add(wx.Size(3, 3))
 
         self.mainPanel = scrolled.ScrolledPanel(
             parent, id=wx.ID_ANY, size=(self.panelWidth, 300),
@@ -82,7 +82,7 @@ class RulesPanel:
         self.clearAll = wx.Button(parent, id=wx.ID_ANY, label=_("Clear all"))
         #  determines how many rules should be added
         self.numRules = SpinCtrl(parent, id=wx.ID_ANY,
-                                    min=1, max=1e6, initial=1)
+                                 min=1, max=1e6, initial=1)
         # add rules
         self.btnAdd = wx.Button(parent, id=wx.ID_ADD)
 
@@ -97,7 +97,7 @@ class RulesPanel:
     def Clear(self):
         """Clear and widgets and delete information"""
         self.ruleslines.clear()
-        self.mainSizer.Clear(deleteWindows=True)
+        self.mainSizer.Clear(True)
 
     def OnCheckAll(self, event):
         """(Un)check all rules"""
@@ -156,8 +156,8 @@ class RulesPanel:
                 if self.attributeType == 'size':
                     init = 100
                 columnCtrl = SpinCtrl(self.mainPanel, id=2000 + num,
-                                         size=(50, -1), min=1, max=1e4,
-                                         initial=init)
+                                      size=(50, -1), min=1, max=1e4,
+                                      initial=init)
                 columnCtrl.Bind(wx.EVT_SPINCTRL, self.OnRuleSize)
                 columnCtrl.Bind(wx.EVT_TEXT, self.OnRuleSize)
                 columnCtrl.SetName('target')
@@ -167,11 +167,11 @@ class RulesPanel:
                         'value': '',
                         self.attributeType: init}
 
-            self.mainSizer.Add(item=enable, proportion=0,
+            self.mainSizer.Add(enable, proportion=0,
                                flag=wx.ALIGN_CENTER_VERTICAL)
-            self.mainSizer.Add(item=txt_ctrl, proportion=0,
+            self.mainSizer.Add(txt_ctrl, proportion=0,
                                flag=wx.ALIGN_CENTER | wx.RIGHT, border=5)
-            self.mainSizer.Add(item=columnCtrl, proportion=0,
+            self.mainSizer.Add(columnCtrl, proportion=0,
                                flag=wx.ALIGN_CENTER | wx.RIGHT, border=10)
 
         self.mainPanel.Layout()
@@ -422,7 +422,7 @@ class ColorTable(wx.Frame):
                                      type=self.mapType)
         # layout
         inputSizer.Add(
-            item=self.selectionInput,
+            self.selectionInput,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL | wx.EXPAND,
             border=5)
 
@@ -470,24 +470,24 @@ class ColorTable(wx.Frame):
         # layout
         gridSizer = wx.GridBagSizer(hgap=2, vgap=2)
 
-        gridSizer.Add(item=wx.StaticText(parent, label=_("Load color table:")),
+        gridSizer.Add(wx.StaticText(parent, label=_("Load color table:")),
                       pos=(0, 0), flag=wx.ALIGN_CENTER_VERTICAL)
-        gridSizer.Add(item=colorTable, pos=(0, 1))
-        gridSizer.Add(item=self.btnSet, pos=(0, 2), flag=wx.ALIGN_RIGHT)
+        gridSizer.Add(colorTable, pos=(0, 1))
+        gridSizer.Add(self.btnSet, pos=(0, 2), flag=wx.ALIGN_RIGHT)
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent, label=_('Load color table from file:')), pos=(
                 1, 0), flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=self.loadRules, pos=(
+            self.loadRules, pos=(
                 1, 1), span=(
                 1, 2), flag=wx.EXPAND)
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent, label=_('Save color table to file:')), pos=(
                 2, 0), flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=self.saveRules, pos=(
+            self.saveRules, pos=(
                 2, 1), span=(
                 1, 2), flag=wx.EXPAND)
 
@@ -546,7 +546,7 @@ class ColorTable(wx.Frame):
         row = 0
         # label with range
         self.cr_label = wx.StaticText(parent, id=wx.ID_ANY)
-        bodySizer.Add(item=self.cr_label, pos=(row, 0), span=(1, 3),
+        bodySizer.Add(self.cr_label, pos=(row, 0), span=(1, 3),
                       flag=wx.ALL, border=5)
 
         row += 1
@@ -557,30 +557,30 @@ class ColorTable(wx.Frame):
             attributeType=self.attributeType,
             properties=self.properties)
 
-        bodySizer.Add(item=self.rulesPanel.mainPanel, pos=(row, 0),
+        bodySizer.Add(self.rulesPanel.mainPanel, pos=(row, 0),
                       span=(1, 2), flag=wx.EXPAND)
         # add two rules as default
         self.rulesPanel.AddRules(2)
 
         # preview window
         self._createPreview(parent=parent)
-        bodySizer.Add(item=self.preview, pos=(row, 2),
+        bodySizer.Add(self.preview, pos=(row, 2),
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_CENTER)
 
         row += 1
         # add ckeck all and clear all
         bodySizer.Add(
-            item=self.rulesPanel.checkAll,
+            self.rulesPanel.checkAll,
             flag=wx.ALIGN_CENTER_VERTICAL,
             pos=(
                 row,
                 0))
-        bodySizer.Add(item=self.rulesPanel.clearAll, pos=(row, 1))
+        bodySizer.Add(self.rulesPanel.clearAll, pos=(row, 1))
 
         # preview button
         self.btnPreview = wx.Button(parent, id=wx.ID_ANY,
                                     label=_("Preview"))
-        bodySizer.Add(item=self.btnPreview, pos=(row, 2),
+        bodySizer.Add(self.btnPreview, pos=(row, 2),
                       flag=wx.ALIGN_RIGHT)
         self.btnPreview.Enable(False)
         self.btnPreview.SetToolTipString(
@@ -588,9 +588,9 @@ class ColorTable(wx.Frame):
 
         row += 1
         # add rules button and spin to sizer
-        bodySizer.Add(item=self.rulesPanel.numRules, pos=(row, 0),
+        bodySizer.Add(self.rulesPanel.numRules, pos=(row, 0),
                       flag=wx.ALIGN_CENTER_VERTICAL)
-        bodySizer.Add(item=self.rulesPanel.btnAdd, pos=(row, 1))
+        bodySizer.Add(self.rulesPanel.btnAdd, pos=(row, 1))
 
         bodySizer.AddGrowableRow(1)
         bodySizer.AddGrowableCol(2)
@@ -902,29 +902,29 @@ class RasterColorTable(ColorTable):
         # map selection
         #
         mapSelection = self._createMapSelection(parent=self.panel)
-        sizer.Add(item=mapSelection, proportion=0,
+        sizer.Add(mapSelection, proportion=0,
                   flag=wx.ALL | wx.EXPAND, border=5)
         #
         # manage extern tables
         #
         fileSelection = self._createFileSelection(parent=self.panel)
-        sizer.Add(item=fileSelection, proportion=0,
+        sizer.Add(fileSelection, proportion=0,
                   flag=wx.LEFT | wx.RIGHT | wx.EXPAND, border=5)
         #
         # body & preview
         #
         bodySizer = self._createBody(parent=self.panel)
-        sizer.Add(item=bodySizer, proportion=1,
+        sizer.Add(bodySizer, proportion=1,
                   flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=5)
         #
         # buttons
         #
         btnSizer = self._createButtons(parent=self.panel)
-        sizer.Add(item=wx.StaticLine(parent=self.panel, id=wx.ID_ANY,
-                                     style=wx.LI_HORIZONTAL), proportion=0,
+        sizer.Add(wx.StaticLine(parent=self.panel, id=wx.ID_ANY,
+                                style=wx.LI_HORIZONTAL), proportion=0,
                   flag=wx.EXPAND | wx.ALL, border=5)
 
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.ALL | wx.ALIGN_RIGHT, border=5)
 
         self.panel.SetSizer(sizer)
@@ -1173,7 +1173,7 @@ class VectorColorTable(ColorTable):
         vSizer.Add(self.addColumn, pos=(row, 2),
                    flag=wx.ALIGN_CENTER_VERTICAL)
         inputSizer.Add(
-            item=vSizer,
+            vSizer,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL | wx.EXPAND,
             border=5)
         self.colorColumnSizer = vSizer
@@ -1189,7 +1189,7 @@ class VectorColorTable(ColorTable):
         # map selection
         #
         mapSelection = self._createMapSelection(parent=scrollPanel)
-        sizer.Add(item=mapSelection, proportion=0,
+        sizer.Add(mapSelection, proportion=0,
                   flag=wx.ALL | wx.EXPAND, border=5)
         #
         # manage extern tables
@@ -1206,19 +1206,19 @@ class VectorColorTable(ColorTable):
                 self.cp)
 
             self._createFileSelection(parent=self.cp.GetPane())
-            sizer.Add(item=self.cp, proportion=0,
+            sizer.Add(self.cp, proportion=0,
                       flag=wx.ALL | wx.EXPAND, border=5)
         #
         # set vector attributes
         #
         vectorAttrb = self._createVectorAttrb(parent=scrollPanel)
-        sizer.Add(item=vectorAttrb, proportion=0,
+        sizer.Add(vectorAttrb, proportion=0,
                   flag=wx.ALL | wx.EXPAND, border=5)
         #
         # body & preview
         #
         bodySizer = self._createBody(parent=scrollPanel)
-        sizer.Add(item=bodySizer, proportion=1,
+        sizer.Add(bodySizer, proportion=1,
                   flag=wx.ALL | wx.EXPAND, border=5)
 
         scrollPanel.SetSizer(sizer)
@@ -1235,10 +1235,10 @@ class VectorColorTable(ColorTable):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        mainsizer.Add(item=wx.StaticLine(parent=self.panel, id=wx.ID_ANY,
-                                         style=wx.LI_HORIZONTAL), proportion=0,
+        mainsizer.Add(wx.StaticLine(parent=self.panel, id=wx.ID_ANY,
+                                    style=wx.LI_HORIZONTAL), proportion=0,
                       flag=wx.EXPAND | wx.ALL, border=5)
-        mainsizer.Add(item=btnSizer, proportion=0,
+        mainsizer.Add(btnSizer, proportion=0,
                       flag=wx.ALL | wx.ALIGN_RIGHT | wx.EXPAND, border=5)
 
         self.panel.SetSizer(mainsizer)
@@ -1956,7 +1956,7 @@ class BufferedWindow(wx.Window):
         # wx.Image object (self.mapfile)
         self.img = None
 
-        self.pdc = wx.PseudoDC()
+        self.pdc = PseudoDC()
         # will store an off screen empty bitmap for saving to file
         self._Buffer = None
 

+ 20 - 20
gui/wxpython/modules/extensions.py

@@ -139,41 +139,41 @@ class InstallExtensionWindow(wx.Frame):
         sizer = wx.BoxSizer(wx.VERTICAL)
         repoSizer = wx.StaticBoxSizer(self.repoBox, wx.VERTICAL)
         repo1Sizer = wx.BoxSizer(wx.HORIZONTAL)
-        repo1Sizer.Add(item=self.repo, proportion=1,
+        repo1Sizer.Add(self.repo, proportion=1,
                        flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL, border=1)
-        repo1Sizer.Add(item=self.btnFetch, proportion=0,
+        repo1Sizer.Add(self.btnFetch, proportion=0,
                        flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL, border=1)
-        repoSizer.Add(item=repo1Sizer,
+        repoSizer.Add(repo1Sizer,
                       flag=wx.EXPAND)
 
         findSizer = wx.BoxSizer(wx.HORIZONTAL)
-        findSizer.Add(item=self.search, proportion=1)
+        findSizer.Add(self.search, proportion=1)
 
         treeSizer = wx.StaticBoxSizer(self.treeBox, wx.HORIZONTAL)
-        treeSizer.Add(item=self.tree, proportion=1,
+        treeSizer.Add(self.tree, proportion=1,
                       flag=wx.ALL | wx.EXPAND, border=1)
 
         # options
         optionSizer = wx.StaticBoxSizer(self.optionBox, wx.VERTICAL)
         for key in self.options.keys():
-            optionSizer.Add(item=self.options[key], proportion=0)
+            optionSizer.Add(self.options[key], proportion=0)
 
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
-        btnSizer.Add(item=self.btnHelp, proportion=0)
+        btnSizer.Add(self.btnHelp, proportion=0)
         btnSizer.AddStretchSpacer()
-        btnSizer.Add(item=self.btnClose, proportion=0,
+        btnSizer.Add(self.btnClose, proportion=0,
                      flag=wx.RIGHT, border=5)
-        btnSizer.Add(item=self.btnInstall, proportion=0)
+        btnSizer.Add(self.btnInstall, proportion=0)
 
-        sizer.Add(item=repoSizer, proportion=0,
+        sizer.Add(repoSizer, proportion=0,
                   flag=wx.ALL | wx.EXPAND, border=3)
-        sizer.Add(item=findSizer, proportion=0,
+        sizer.Add(findSizer, proportion=0,
                   flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
-        sizer.Add(item=treeSizer, proportion=1,
+        sizer.Add(treeSizer, proportion=1,
                   flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
-        sizer.Add(item=optionSizer, proportion=0,
+        sizer.Add(optionSizer, proportion=0,
                   flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.ALIGN_RIGHT | wx.ALL | wx.EXPAND, border=5)
 
         self.panel.SetSizer(sizer)
@@ -434,22 +434,22 @@ class ManageExtensionWindow(wx.Frame):
         sizer = wx.BoxSizer(wx.VERTICAL)
 
         extSizer = wx.StaticBoxSizer(self.extBox, wx.HORIZONTAL)
-        extSizer.Add(item=self.extList, proportion=1,
+        extSizer.Add(self.extList, proportion=1,
                      flag=wx.ALL | wx.EXPAND, border=1)
 
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
-        btnSizer.Add(item=self.btnClose, proportion=0,
+        btnSizer.Add(self.btnClose, proportion=0,
                      flag=wx.RIGHT, border=5)
         btnSizer.Add(
-            item=self.btnUpdate,
+            self.btnUpdate,
             proportion=0,
             flag=wx.RIGHT,
             border=5)
-        btnSizer.Add(item=self.btnUninstall, proportion=0)
+        btnSizer.Add(self.btnUninstall, proportion=0)
 
-        sizer.Add(item=extSizer, proportion=1,
+        sizer.Add(extSizer, proportion=1,
                   flag=wx.ALL | wx.EXPAND, border=3)
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
 
         self.panel.SetSizer(sizer)

+ 2 - 1
gui/wxpython/modules/histogram.py

@@ -32,6 +32,7 @@ from gui_core.preferences import DefaultFontDialog
 from core.debug import Debug
 from core.gcmd import GError
 from gui_core.toolbars import BaseToolbar, BaseIcons
+from gui_core.wrap import PseudoDC
 
 
 class BufferedWindow(wx.Window):
@@ -77,7 +78,7 @@ class BufferedWindow(wx.Window):
 
         self.imagedict = {}  # images and their PseudoDC ID's for painting and dragging
 
-        self.pdc = wx.PseudoDC()
+        self.pdc = PseudoDC()
         # will store an off screen empty bitmap for saving to file
         self._buffer = wx.EmptyBitmap(
             max(1, self.Map.width),

+ 43 - 36
gui/wxpython/modules/import_export.py

@@ -23,17 +23,24 @@ This program is free software under the GNU General Public License
 import os
 
 import wx
-import wx.lib.flatnotebook as FN
+from core import globalvar
+if globalvar.wxPythonPhoenix:
+    try:
+        import agw.flatnotebook as FN
+    except ImportError: # if it's not there locally, try the wxPython lib.
+        import wx.lib.agw.flatnotebook as FN
+else:
+    import wx.lib.flatnotebook as FN
 import wx.lib.filebrowsebutton as filebrowse
 
 from grass.script import core as grass
 from grass.script import task as gtask
 
-from core import globalvar
 from core.gcmd import RunCommand, GMessage, GWarning
 from gui_core.forms import CmdPanel
 from gui_core.gselect import OgrTypeSelect, GdalSelect, SubGroupSelect
 from gui_core.widgets import LayersList, GListCtrl, GNotebook
+from gui_core.wrap import Button
 from core.utils import GetValidLayerName, _
 from core.settings import UserSettings, GetDisplayVectSettings
 
@@ -106,15 +113,15 @@ class ImportDialog(wx.Dialog):
         # buttons
         #
         # cancel
-        self.btn_close = wx.Button(parent=self.panel, id=wx.ID_CLOSE)
-        self.btn_close.SetToolTipString(_("Close dialog"))
+        self.btn_close = Button(parent=self.panel, id=wx.ID_CLOSE)
+        self.btn_close.SetToolTip(_("Close dialog"))
         self.btn_close.Bind(wx.EVT_BUTTON, self.OnClose)
         # run
-        self.btn_run = wx.Button(
+        self.btn_run = Button(
             parent=self.panel,
             id=wx.ID_OK,
             label=_("&Import"))
-        self.btn_run.SetToolTipString(_("Import selected layers"))
+        self.btn_run.SetToolTip(_("Import selected layers"))
         self.btn_run.SetDefault()
         self.btn_run.Bind(wx.EVT_BUTTON, self.OnRun)
 
@@ -154,7 +161,7 @@ class ImportDialog(wx.Dialog):
         dialogSizer = wx.BoxSizer(wx.VERTICAL)
 
         # dsn input
-        dialogSizer.Add(item=self.dsnInput, proportion=0,
+        dialogSizer.Add(self.dsnInput, proportion=0,
                         flag=wx.EXPAND)
 
         #
@@ -162,41 +169,41 @@ class ImportDialog(wx.Dialog):
         #
         layerSizer = wx.StaticBoxSizer(self.layerBox, wx.HORIZONTAL)
 
-        layerSizer.Add(item=self.list, proportion=1,
+        layerSizer.Add(self.list, proportion=1,
                        flag=wx.ALL | wx.EXPAND, border=5)
 
         dialogSizer.Add(
-            item=layerSizer,
+            layerSizer,
             proportion=1,
             flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
             border=5)
 
-        dialogSizer.Add(item=self.override, proportion=0,
+        dialogSizer.Add(self.override, proportion=0,
                         flag=wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5)
 
-        dialogSizer.Add(item=self.overwrite, proportion=0,
+        dialogSizer.Add(self.overwrite, proportion=0,
                         flag=wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5)
 
-        dialogSizer.Add(item=self.add, proportion=0,
+        dialogSizer.Add(self.add, proportion=0,
                         flag=wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5)
 
-        dialogSizer.Add(item=self.closeOnFinish, proportion=0,
+        dialogSizer.Add(self.closeOnFinish, proportion=0,
                         flag=wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5)
         #
         # buttons
         #
         btnsizer = wx.BoxSizer(orient=wx.HORIZONTAL)
 
-        btnsizer.Add(item=self.btn_close, proportion=0,
+        btnsizer.Add(self.btn_close, proportion=0,
                      flag=wx.LEFT | wx.RIGHT | wx.ALIGN_CENTER,
                      border=10)
 
-        btnsizer.Add(item=self.btn_run, proportion=0,
+        btnsizer.Add(self.btn_run, proportion=0,
                      flag=wx.RIGHT | wx.ALIGN_CENTER,
                      border=10)
 
         dialogSizer.Add(
-            item=btnsizer,
+            btnsizer,
             proportion=0,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM | wx.ALIGN_RIGHT,
             border=10)
@@ -388,10 +395,10 @@ class GdalImportDialog(ImportDialog):
 
         if link:
             self.btn_run.SetLabel(_("&Link"))
-            self.btn_run.SetToolTipString(_("Link selected layers"))
+            self.btn_run.SetToolTip(_("Link selected layers"))
         else:
             self.btn_run.SetLabel(_("&Import"))
-            self.btn_run.SetToolTipString(_("Import selected layers"))
+            self.btn_run.SetToolTip(_("Import selected layers"))
 
         self.doLayout()
 
@@ -529,10 +536,10 @@ class OgrImportDialog(ImportDialog):
 
         if link:
             self.btn_run.SetLabel(_("&Link"))
-            self.btn_run.SetToolTipString(_("Link selected layers"))
+            self.btn_run.SetToolTip(_("Link selected layers"))
         else:
             self.btn_run.SetLabel(_("&Import"))
-            self.btn_run.SetToolTipString(_("Import selected layers"))
+            self.btn_run.SetToolTip(_("Import selected layers"))
 
         self.doLayout()
 
@@ -659,10 +666,10 @@ class GdalOutputDialog(wx.Dialog):
         self.panel = wx.Panel(parent=self, id=wx.ID_ANY)
 
         # buttons
-        self.btnCancel = wx.Button(parent=self.panel, id=wx.ID_CANCEL)
-        self.btnCancel.SetToolTipString(_("Close dialog"))
-        self.btnOk = wx.Button(parent=self.panel, id=wx.ID_OK)
-        self.btnOk.SetToolTipString(_("Set external format and close dialog"))
+        self.btnCancel = Button(parent=self.panel, id=wx.ID_CANCEL)
+        self.btnCancel.SetToolTip(_("Close dialog"))
+        self.btnOk = Button(parent=self.panel, id=wx.ID_OK)
+        self.btnOk.SetToolTip(_("Set external format and close dialog"))
         self.btnOk.SetDefault()
 
         self.dsnInput = GdalSelect(parent=self, panel=self.panel,
@@ -678,19 +685,19 @@ class GdalOutputDialog(wx.Dialog):
     def _layout(self):
         dialogSizer = wx.BoxSizer(wx.VERTICAL)
 
-        dialogSizer.Add(item=self.dsnInput, proportion=1,
+        dialogSizer.Add(self.dsnInput, proportion=1,
                         flag=wx.EXPAND)
 
         btnSizer = wx.BoxSizer(orient=wx.HORIZONTAL)
-        btnSizer.Add(item=self.btnCancel, proportion=0,
+        btnSizer.Add(self.btnCancel, proportion=0,
                      flag=wx.LEFT | wx.RIGHT | wx.ALIGN_CENTER,
                      border=10)
-        btnSizer.Add(item=self.btnOk, proportion=0,
+        btnSizer.Add(self.btnOk, proportion=0,
                      flag=wx.RIGHT | wx.ALIGN_CENTER,
                      border=10)
 
         dialogSizer.Add(
-            item=btnSizer,
+            btnSizer,
             proportion=0,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM | wx.TOP | wx.ALIGN_RIGHT,
             border=10)
@@ -891,11 +898,11 @@ class ReprojectionDialog(wx.Dialog):
         self.btn_close = wx.Button(parent=self.panel, id=wx.ID_CANCEL)
 
         # run
-        self.btn_run = wx.Button(
+        self.btn_run = Button(
             parent=self.panel,
             id=wx.ID_OK,
             label=_("&Import && reproject"))
-        self.btn_run.SetToolTipString(_("Reproject selected layers"))
+        self.btn_run.SetToolTip(_("Reproject selected layers"))
         self.btn_run.SetDefault()
 
         self.doLayout()
@@ -904,14 +911,14 @@ class ReprojectionDialog(wx.Dialog):
         """Do layout"""
         dialogSizer = wx.BoxSizer(wx.VERTICAL)
 
-        dialogSizer.Add(item=self.labelText,
+        dialogSizer.Add(self.labelText,
                         flag=wx.ALL | wx.EXPAND, border=5)
 
-        self.layerSizer.Add(item=self.list, proportion=1,
+        self.layerSizer.Add(self.list, proportion=1,
                             flag=wx.ALL | wx.EXPAND, border=5)
 
         dialogSizer.Add(
-            item=self.layerSizer,
+            self.layerSizer,
             proportion=1,
             flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
             border=5)
@@ -921,16 +928,16 @@ class ReprojectionDialog(wx.Dialog):
         #
         btnsizer = wx.BoxSizer(orient=wx.HORIZONTAL)
 
-        btnsizer.Add(item=self.btn_close, proportion=0,
+        btnsizer.Add(self.btn_close, proportion=0,
                      flag=wx.LEFT | wx.RIGHT | wx.ALIGN_CENTER,
                      border=10)
 
-        btnsizer.Add(item=self.btn_run, proportion=0,
+        btnsizer.Add(self.btn_run, proportion=0,
                      flag=wx.RIGHT | wx.ALIGN_CENTER,
                      border=10)
 
         dialogSizer.Add(
-            item=btnsizer,
+            btnsizer,
             proportion=0,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.BOTTOM | wx.ALIGN_RIGHT,
             border=10)

+ 122 - 121
gui/wxpython/modules/mcalc_builder.py

@@ -29,6 +29,7 @@ from core.utils import _
 from gui_core.gselect import Select
 from gui_core.forms import GUI
 from gui_core.widgets import IntegerValidator
+from gui_core.wrap import Button, TextCtrl
 from core.settings import UserSettings
 
 
@@ -140,96 +141,96 @@ class MapCalcFrame(wx.Frame):
         #
         # Buttons
         #
-        self.btn_clear = wx.Button(parent=self.panel, id=wx.ID_CLEAR)
-        self.btn_help = wx.Button(parent=self.panel, id=wx.ID_HELP)
-        self.btn_run = wx.Button(
+        self.btn_clear = Button(parent=self.panel, id=wx.ID_CLEAR)
+        self.btn_help = Button(parent=self.panel, id=wx.ID_HELP)
+        self.btn_run = Button(
             parent=self.panel,
             id=wx.ID_ANY,
             label=_("&Run"))
         self.btn_run.SetForegroundColour(wx.Colour(35, 142, 35))
         self.btn_run.SetDefault()
-        self.btn_close = wx.Button(parent=self.panel, id=wx.ID_CLOSE)
-        self.btn_save = wx.Button(parent=self.panel, id=wx.ID_SAVE)
-        self.btn_save.SetToolTipString(_('Save expression to file'))
-        self.btn_load = wx.Button(parent=self.panel, id=wx.ID_ANY,
-                                  label=_("&Load"))
-        self.btn_load.SetToolTipString(_('Load expression from file'))
-        self.btn_copy = wx.Button(parent=self.panel, id=wx.ID_COPY)
-        self.btn_copy.SetToolTipString(
+        self.btn_close = Button(parent=self.panel, id=wx.ID_CLOSE)
+        self.btn_save = Button(parent=self.panel, id=wx.ID_SAVE)
+        self.btn_save.SetToolTip(_('Save expression to file'))
+        self.btn_load = Button(parent=self.panel, id=wx.ID_ANY,
+                               label=_("&Load"))
+        self.btn_load.SetToolTip(_('Load expression from file'))
+        self.btn_copy = Button(parent=self.panel, id=wx.ID_COPY)
+        self.btn_copy.SetToolTip(
             _("Copy the current command string to the clipboard"))
 
         self.btn = dict()
-        self.btn['pow'] = wx.Button(parent=self.panel, id=wx.ID_ANY, label="^")
-        self.btn['pow'].SetToolTipString(_('exponent'))
-        self.btn['div'] = wx.Button(parent=self.panel, id=wx.ID_ANY, label="/")
-        self.btn['div'].SetToolTipString(_('divide'))
-        self.btn['add'] = wx.Button(parent=self.panel, id=wx.ID_ANY, label="+")
-        self.btn['add'].SetToolTipString(_('add'))
-        self.btn['minus'] = wx.Button(
+        self.btn['pow'] = Button(parent=self.panel, id=wx.ID_ANY, label="^")
+        self.btn['pow'].SetToolTip(_('exponent'))
+        self.btn['div'] = Button(parent=self.panel, id=wx.ID_ANY, label="/")
+        self.btn['div'].SetToolTip(_('divide'))
+        self.btn['add'] = Button(parent=self.panel, id=wx.ID_ANY, label="+")
+        self.btn['add'].SetToolTip(_('add'))
+        self.btn['minus'] = Button(
             parent=self.panel, id=wx.ID_ANY, label="-")
-        self.btn['minus'].SetToolTipString(_('subtract'))
-        self.btn['mod'] = wx.Button(parent=self.panel, id=wx.ID_ANY, label="%")
-        self.btn['mod'].SetToolTipString(_('modulus'))
-        self.btn['mult'] = wx.Button(
+        self.btn['minus'].SetToolTip(_('subtract'))
+        self.btn['mod'] = Button(parent=self.panel, id=wx.ID_ANY, label="%")
+        self.btn['mod'].SetToolTip(_('modulus'))
+        self.btn['mult'] = Button(
             parent=self.panel, id=wx.ID_ANY, label="*")
-        self.btn['mult'].SetToolTipString(_('multiply'))
+        self.btn['mult'].SetToolTip(_('multiply'))
 
-        self.btn['parenl'] = wx.Button(
+        self.btn['parenl'] = Button(
             parent=self.panel, id=wx.ID_ANY, label="(")
-        self.btn['parenr'] = wx.Button(
+        self.btn['parenr'] = Button(
             parent=self.panel, id=wx.ID_ANY, label=")")
-        self.btn['lshift'] = wx.Button(
+        self.btn['lshift'] = Button(
             parent=self.panel, id=wx.ID_ANY, label="<<")
-        self.btn['lshift'].SetToolTipString(_('left shift'))
-        self.btn['rshift'] = wx.Button(
+        self.btn['lshift'].SetToolTip(_('left shift'))
+        self.btn['rshift'] = Button(
             parent=self.panel, id=wx.ID_ANY, label=">>")
-        self.btn['rshift'].SetToolTipString(_('right shift'))
-        self.btn['rshiftu'] = wx.Button(
+        self.btn['rshift'].SetToolTip(_('right shift'))
+        self.btn['rshiftu'] = Button(
             parent=self.panel, id=wx.ID_ANY, label=">>>")
-        self.btn['rshiftu'].SetToolTipString(_('right shift (unsigned)'))
-        self.btn['gt'] = wx.Button(parent=self.panel, id=wx.ID_ANY, label=">")
-        self.btn['gt'].SetToolTipString(_('greater than'))
-        self.btn['gteq'] = wx.Button(
+        self.btn['rshiftu'].SetToolTip(_('right shift (unsigned)'))
+        self.btn['gt'] = Button(parent=self.panel, id=wx.ID_ANY, label=">")
+        self.btn['gt'].SetToolTip(_('greater than'))
+        self.btn['gteq'] = Button(
             parent=self.panel, id=wx.ID_ANY, label=">=")
-        self.btn['gteq'].SetToolTipString(_('greater than or equal to'))
-        self.btn['lt'] = wx.Button(parent=self.panel, id=wx.ID_ANY, label="<")
-        self.btn['lt'].SetToolTipString(_('less than'))
-        self.btn['lteq'] = wx.Button(
+        self.btn['gteq'].SetToolTip(_('greater than or equal to'))
+        self.btn['lt'] = Button(parent=self.panel, id=wx.ID_ANY, label="<")
+        self.btn['lt'].SetToolTip(_('less than'))
+        self.btn['lteq'] = Button(
             parent=self.panel, id=wx.ID_ANY, label="<=")
-        self.btn['lteq'].SetToolTipString(_('less than or equal to'))
-        self.btn['eq'] = wx.Button(parent=self.panel, id=wx.ID_ANY, label="==")
-        self.btn['eq'].SetToolTipString(_('equal to'))
-        self.btn['noteq'] = wx.Button(
+        self.btn['lteq'].SetToolTip(_('less than or equal to'))
+        self.btn['eq'] = Button(parent=self.panel, id=wx.ID_ANY, label="==")
+        self.btn['eq'].SetToolTip(_('equal to'))
+        self.btn['noteq'] = Button(
             parent=self.panel, id=wx.ID_ANY, label="!=")
-        self.btn['noteq'].SetToolTipString(_('not equal to'))
+        self.btn['noteq'].SetToolTip(_('not equal to'))
 
-        self.btn['compl'] = wx.Button(
+        self.btn['compl'] = Button(
             parent=self.panel, id=wx.ID_ANY, label="~")
-        self.btn['compl'].SetToolTipString(_('one\'s complement'))
-        self.btn['not'] = wx.Button(parent=self.panel, id=wx.ID_ANY, label="!")
-        self.btn['not'].SetToolTipString(_('NOT'))
-        self.btn['andbit'] = wx.Button(
+        self.btn['compl'].SetToolTip(_('one\'s complement'))
+        self.btn['not'] = Button(parent=self.panel, id=wx.ID_ANY, label="!")
+        self.btn['not'].SetToolTip(_('NOT'))
+        self.btn['andbit'] = Button(
             parent=self.panel, id=wx.ID_ANY, label='&&')
-        self.btn['andbit'].SetToolTipString(_('bitwise AND'))
-        self.btn['orbit'] = wx.Button(
+        self.btn['andbit'].SetToolTip(_('bitwise AND'))
+        self.btn['orbit'] = Button(
             parent=self.panel, id=wx.ID_ANY, label="|")
-        self.btn['orbit'].SetToolTipString(_('bitwise OR'))
-        self.btn['and'] = wx.Button(
+        self.btn['orbit'].SetToolTip(_('bitwise OR'))
+        self.btn['and'] = Button(
             parent=self.panel, id=wx.ID_ANY, label="&&&&")
-        self.btn['and'].SetToolTipString(_('logical AND'))
-        self.btn['andnull'] = wx.Button(
+        self.btn['and'].SetToolTip(_('logical AND'))
+        self.btn['andnull'] = Button(
             parent=self.panel, id=wx.ID_ANY, label="&&&&&&")
-        self.btn['andnull'].SetToolTipString(_('logical AND (ignores NULLs)'))
-        self.btn['or'] = wx.Button(parent=self.panel, id=wx.ID_ANY, label="||")
-        self.btn['or'].SetToolTipString(_('logical OR'))
-        self.btn['ornull'] = wx.Button(
+        self.btn['andnull'].SetToolTip(_('logical AND (ignores NULLs)'))
+        self.btn['or'] = Button(parent=self.panel, id=wx.ID_ANY, label="||")
+        self.btn['or'].SetToolTip(_('logical OR'))
+        self.btn['ornull'] = Button(
             parent=self.panel, id=wx.ID_ANY, label="|||")
-        self.btn['ornull'].SetToolTipString(_('logical OR (ignores NULLs)'))
-        self.btn['cond'] = wx.Button(
+        self.btn['ornull'].SetToolTip(_('logical OR (ignores NULLs)'))
+        self.btn['cond'] = Button(
             parent=self.panel,
             id=wx.ID_ANY,
             label="a ? b : c")
-        self.btn['cond'].SetToolTipString(_('conditional'))
+        self.btn['cond'].SetToolTip(_('conditional'))
 
         #
         # Text area
@@ -278,9 +279,9 @@ class MapCalcFrame(wx.Frame):
             label=_("Generate random seed for rand()"))
         self.randomSeedStaticText = wx.StaticText(
             parent=self.panel, label=_("Seed:"))
-        self.randomSeedText = wx.TextCtrl(parent=self.panel, size=(100, -1),
-                                          validator=IntegerValidator())
-        self.randomSeedText.SetToolTipString(
+        self.randomSeedText = TextCtrl(parent=self.panel, size=(100, -1),
+                                       validator=IntegerValidator())
+        self.randomSeedText.SetToolTip(
             _("Integer seed for rand() function"))
         self.randomSeed.SetValue(True)
         self.randomSeedStaticText.Disable()
@@ -345,123 +346,123 @@ class MapCalcFrame(wx.Frame):
         outOpeSizer = wx.BoxSizer(wx.VERTICAL)
 
         buttonSizer1 = wx.GridBagSizer(5, 1)
-        buttonSizer1.Add(item=self.btn['add'], pos=(0, 0))
-        buttonSizer1.Add(item=self.btn['minus'], pos=(0, 1))
-        buttonSizer1.Add(item=self.btn['mod'], pos=(5, 0))
-        buttonSizer1.Add(item=self.btn['mult'], pos=(1, 0))
-        buttonSizer1.Add(item=self.btn['div'], pos=(1, 1))
-        buttonSizer1.Add(item=self.btn['pow'], pos=(5, 1))
-        buttonSizer1.Add(item=self.btn['gt'], pos=(2, 0))
-        buttonSizer1.Add(item=self.btn['gteq'], pos=(2, 1))
-        buttonSizer1.Add(item=self.btn['eq'], pos=(4, 0))
-        buttonSizer1.Add(item=self.btn['lt'], pos=(3, 0))
-        buttonSizer1.Add(item=self.btn['lteq'], pos=(3, 1))
-        buttonSizer1.Add(item=self.btn['noteq'], pos=(4, 1))
+        buttonSizer1.Add(self.btn['add'], pos=(0, 0))
+        buttonSizer1.Add(self.btn['minus'], pos=(0, 1))
+        buttonSizer1.Add(self.btn['mod'], pos=(5, 0))
+        buttonSizer1.Add(self.btn['mult'], pos=(1, 0))
+        buttonSizer1.Add(self.btn['div'], pos=(1, 1))
+        buttonSizer1.Add(self.btn['pow'], pos=(5, 1))
+        buttonSizer1.Add(self.btn['gt'], pos=(2, 0))
+        buttonSizer1.Add(self.btn['gteq'], pos=(2, 1))
+        buttonSizer1.Add(self.btn['eq'], pos=(4, 0))
+        buttonSizer1.Add(self.btn['lt'], pos=(3, 0))
+        buttonSizer1.Add(self.btn['lteq'], pos=(3, 1))
+        buttonSizer1.Add(self.btn['noteq'], pos=(4, 1))
 
         buttonSizer2 = wx.GridBagSizer(5, 1)
-        buttonSizer2.Add(item=self.btn['and'], pos=(0, 0))
-        buttonSizer2.Add(item=self.btn['andbit'], pos=(1, 0))
-        buttonSizer2.Add(item=self.btn['andnull'], pos=(2, 0))
-        buttonSizer2.Add(item=self.btn['or'], pos=(0, 1))
-        buttonSizer2.Add(item=self.btn['orbit'], pos=(1, 1))
-        buttonSizer2.Add(item=self.btn['ornull'], pos=(2, 1))
-        buttonSizer2.Add(item=self.btn['lshift'], pos=(3, 0))
-        buttonSizer2.Add(item=self.btn['rshift'], pos=(3, 1))
-        buttonSizer2.Add(item=self.btn['rshiftu'], pos=(4, 0))
-        buttonSizer2.Add(item=self.btn['cond'], pos=(5, 0))
-        buttonSizer2.Add(item=self.btn['compl'], pos=(5, 1))
-        buttonSizer2.Add(item=self.btn['not'], pos=(4, 1))
+        buttonSizer2.Add(self.btn['and'], pos=(0, 0))
+        buttonSizer2.Add(self.btn['andbit'], pos=(1, 0))
+        buttonSizer2.Add(self.btn['andnull'], pos=(2, 0))
+        buttonSizer2.Add(self.btn['or'], pos=(0, 1))
+        buttonSizer2.Add(self.btn['orbit'], pos=(1, 1))
+        buttonSizer2.Add(self.btn['ornull'], pos=(2, 1))
+        buttonSizer2.Add(self.btn['lshift'], pos=(3, 0))
+        buttonSizer2.Add(self.btn['rshift'], pos=(3, 1))
+        buttonSizer2.Add(self.btn['rshiftu'], pos=(4, 0))
+        buttonSizer2.Add(self.btn['cond'], pos=(5, 0))
+        buttonSizer2.Add(self.btn['compl'], pos=(5, 1))
+        buttonSizer2.Add(self.btn['not'], pos=(4, 1))
 
         outputSizer = wx.StaticBoxSizer(self.outputBox, wx.VERTICAL)
-        outputSizer.Add(item=self.newmaplabel,
+        outputSizer.Add(self.newmaplabel,
                         flag=wx.ALIGN_CENTER | wx.BOTTOM | wx.TOP, border=5)
-        outputSizer.Add(item=self.newmaptxt,
+        outputSizer.Add(self.newmaptxt,
                         flag=wx.EXPAND)
 
         operandSizer = wx.StaticBoxSizer(self.operandBox, wx.HORIZONTAL)
 
         buttonSizer3 = wx.GridBagSizer(7, 1)
-        buttonSizer3.Add(item=self.functlabel, pos=(0, 0),
+        buttonSizer3.Add(self.functlabel, pos=(0, 0),
                          span=(1, 2), flag=wx.ALIGN_CENTER)
-        buttonSizer3.Add(item=self.function, pos=(1, 0),
+        buttonSizer3.Add(self.function, pos=(1, 0),
                          span=(1, 2))
-        buttonSizer3.Add(item=self.mapsellabel, pos=(2, 0),
+        buttonSizer3.Add(self.mapsellabel, pos=(2, 0),
                          span=(1, 2), flag=wx.ALIGN_CENTER)
-        buttonSizer3.Add(item=self.mapselect, pos=(3, 0),
+        buttonSizer3.Add(self.mapselect, pos=(3, 0),
                          span=(1, 2))
         threebutton = wx.GridBagSizer(1, 2)
-        threebutton.Add(item=self.btn['parenl'], pos=(0, 0),
+        threebutton.Add(self.btn['parenl'], pos=(0, 0),
                         span=(1, 1), flag=wx.ALIGN_LEFT)
-        threebutton.Add(item=self.btn['parenr'], pos=(0, 1),
+        threebutton.Add(self.btn['parenr'], pos=(0, 1),
                         span=(1, 1), flag=wx.ALIGN_CENTER)
-        threebutton.Add(item=self.btn_clear, pos=(0, 2),
+        threebutton.Add(self.btn_clear, pos=(0, 2),
                         span=(1, 1), flag=wx.ALIGN_RIGHT)
-        buttonSizer3.Add(item=threebutton, pos=(4, 0),
+        buttonSizer3.Add(threebutton, pos=(4, 0),
                          span=(1, 1), flag=wx.ALIGN_CENTER)
 
         buttonSizer4 = wx.BoxSizer(wx.HORIZONTAL)
-        buttonSizer4.Add(item=self.btn_load,
+        buttonSizer4.Add(self.btn_load,
                          flag=wx.ALL, border=5)
-        buttonSizer4.Add(item=self.btn_save,
+        buttonSizer4.Add(self.btn_save,
                          flag=wx.ALL, border=5)
-        buttonSizer4.Add(item=self.btn_copy,
+        buttonSizer4.Add(self.btn_copy,
                          flag=wx.ALL, border=5)
         buttonSizer4.AddSpacer(30)
-        buttonSizer4.Add(item=self.btn_help,
+        buttonSizer4.Add(self.btn_help,
                          flag=wx.ALL, border=5)
-        buttonSizer4.Add(item=self.btn_run,
+        buttonSizer4.Add(self.btn_run,
                          flag=wx.ALL, border=5)
-        buttonSizer4.Add(item=self.btn_close,
+        buttonSizer4.Add(self.btn_close,
                          flag=wx.ALL, border=5)
 
-        operatorSizer.Add(item=buttonSizer1, proportion=0,
+        operatorSizer.Add(buttonSizer1, proportion=0,
                           flag=wx.ALL | wx.EXPAND, border=5)
         operatorSizer.Add(
-            item=buttonSizer2,
+            buttonSizer2,
             proportion=0,
             flag=wx.TOP | wx.BOTTOM | wx.RIGHT | wx.EXPAND,
             border=5)
 
-        operandSizer.Add(item=buttonSizer3, proportion=0,
+        operandSizer.Add(buttonSizer3, proportion=0,
                          flag=wx.TOP | wx.BOTTOM | wx.RIGHT, border=5)
 
-        controlSizer.Add(item=operatorSizer, proportion=1,
+        controlSizer.Add(operatorSizer, proportion=1,
                          flag=wx.RIGHT | wx.EXPAND, border=5)
-        outOpeSizer.Add(item=outputSizer, proportion=0,
+        outOpeSizer.Add(outputSizer, proportion=0,
                         flag=wx.EXPAND)
-        outOpeSizer.Add(item=operandSizer, proportion=1,
+        outOpeSizer.Add(operandSizer, proportion=1,
                         flag=wx.EXPAND | wx.TOP, border=5)
-        controlSizer.Add(item=outOpeSizer, proportion=0,
+        controlSizer.Add(outOpeSizer, proportion=0,
                          flag=wx.EXPAND)
 
         expressSizer = wx.StaticBoxSizer(self.expressBox, wx.HORIZONTAL)
-        expressSizer.Add(item=self.text_mcalc, proportion=1,
+        expressSizer.Add(self.text_mcalc, proportion=1,
                          flag=wx.EXPAND)
 
-        sizer.Add(item=controlSizer, proportion=0,
+        sizer.Add(controlSizer, proportion=0,
                   flag=wx.EXPAND | wx.ALL,
                   border=5)
-        sizer.Add(item=expressSizer, proportion=1,
+        sizer.Add(expressSizer, proportion=1,
                   flag=wx.EXPAND | wx.LEFT | wx.RIGHT,
                   border=5)
-        sizer.Add(item=buttonSizer4, proportion=0,
+        sizer.Add(buttonSizer4, proportion=0,
                   flag=wx.ALIGN_RIGHT | wx.ALL, border=3)
 
         randomSizer = wx.BoxSizer(wx.HORIZONTAL)
-        randomSizer.Add(item=self.randomSeed, proportion=0,
+        randomSizer.Add(self.randomSeed, proportion=0,
                         flag=wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, border=20)
-        randomSizer.Add(item=self.randomSeedStaticText, proportion=0,
+        randomSizer.Add(self.randomSeedStaticText, proportion=0,
                         flag=wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, border=5)
-        randomSizer.Add(item=self.randomSeedText, proportion=0)
-        sizer.Add(item=randomSizer, proportion=0,
+        randomSizer.Add(self.randomSeedText, proportion=0)
+        sizer.Add(randomSizer, proportion=0,
                   flag=wx.LEFT | wx.RIGHT,
                   border=5)
 
-        sizer.Add(item=self.overwrite, proportion=0,
+        sizer.Add(self.overwrite, proportion=0,
                   flag=wx.LEFT | wx.RIGHT,
                   border=5)
         if self.addbox.IsShown():
-            sizer.Add(item=self.addbox, proportion=0,
+            sizer.Add(self.addbox, proportion=0,
                       flag=wx.LEFT | wx.RIGHT,
                       border=5)
 

+ 27 - 27
gui/wxpython/modules/vclean.py

@@ -204,14 +204,14 @@ class VectorCleaningFrame(wx.Frame):
         inSizer = wx.GridBagSizer(hgap=5, vgap=5)
 
         inSizer.Add(
-            item=self.inmaplabel,
+            self.inmaplabel,
             pos=(
                 0,
                 0),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL | wx.EXPAND,
             border=1)
         inSizer.Add(
-            item=self.selectionInput,
+            self.selectionInput,
             pos=(
                 1,
                 0),
@@ -232,32 +232,32 @@ class VectorCleaningFrame(wx.Frame):
             type_box = self.ftype_check[num]
             if self.ftype[num] in ('point', 'line', 'area'):
                 type_box.SetValue(True)
-            typeoptSizer.Add(item=type_box, flag=wx.ALIGN_LEFT, border=1)
+            typeoptSizer.Add(type_box, flag=wx.ALIGN_LEFT, border=1)
 
-        self.ftypeSizer.Add(item=typeoptSizer,
+        self.ftypeSizer.Add(typeoptSizer,
                             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL, border=2)
 
         outSizer = wx.GridBagSizer(hgap=5, vgap=5)
 
         outSizer.Add(
-            item=self.outmaplabel,
+            self.outmaplabel,
             pos=(
                 0,
                 0),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL | wx.EXPAND,
             border=1)
         outSizer.Add(
-            item=self.selectionOutput,
+            self.selectionOutput,
             pos=(
                 1,
                 0),
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL | wx.EXPAND,
             border=1)
         replaceSizer = wx.BoxSizer(wx.HORIZONTAL)
-        replaceSizer.Add(item=self.overwrite, proportion=1,
+        replaceSizer.Add(self.overwrite, proportion=1,
                          flag=wx.ALL | wx.EXPAND, border=1)
 
-        outSizer.Add(item=replaceSizer, pos=(2, 0),
+        outSizer.Add(replaceSizer, pos=(2, 0),
                      flag=wx.ALL | wx.EXPAND, border=1)
 
         #
@@ -265,27 +265,27 @@ class VectorCleaningFrame(wx.Frame):
         #
         bodySizer = wx.GridBagSizer(hgap=5, vgap=5)
 
-        bodySizer.Add(item=self.ct_label, pos=(0, 0), span=(1, 2),
+        bodySizer.Add(self.ct_label, pos=(0, 0), span=(1, 2),
                       flag=wx.ALL, border=5)
 
-        bodySizer.Add(item=self.ct_panel, pos=(1, 0), span=(1, 2))
+        bodySizer.Add(self.ct_panel, pos=(1, 0), span=(1, 2))
 
         manageBoxSizer = wx.GridBagSizer(hgap=10, vgap=1)
         # start with row 1 for nicer layout
         manageBoxSizer.Add(
-            item=self.btn_add, pos=(1, 0),
+            self.btn_add, pos=(1, 0),
             border=2, flag=wx.ALL | wx.EXPAND)
         manageBoxSizer.Add(
-            item=self.btn_remove, pos=(2, 0),
+            self.btn_remove, pos=(2, 0),
             border=2, flag=wx.ALL | wx.EXPAND)
         manageBoxSizer.Add(
-            item=self.btn_moveup, pos=(3, 0),
+            self.btn_moveup, pos=(3, 0),
             border=2, flag=wx.ALL | wx.EXPAND)
         manageBoxSizer.Add(
-            item=self.btn_movedown, pos=(4, 0),
+            self.btn_movedown, pos=(4, 0),
             border=2, flag=wx.ALL | wx.EXPAND)
 
-        bodySizer.Add(item=manageBoxSizer, pos=(1, 2),
+        bodySizer.Add(manageBoxSizer, pos=(1, 2),
                       flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
 
         bodySizer.AddGrowableCol(2)
@@ -306,27 +306,27 @@ class VectorCleaningFrame(wx.Frame):
         #
         # put it all together
         #
-        sizer.Add(item=inSizer, proportion=0,
+        sizer.Add(inSizer, proportion=0,
                   flag=wx.ALL | wx.EXPAND, border=5)
 
-        sizer.Add(item=self.ftypeSizer, proportion=0,
+        sizer.Add(self.ftypeSizer, proportion=0,
                   flag=wx.ALL | wx.EXPAND, border=5)
 
-        sizer.Add(item=outSizer, proportion=0,
+        sizer.Add(outSizer, proportion=0,
                   flag=wx.ALL | wx.EXPAND, border=5)
 
-        sizer.Add(item=wx.StaticLine(parent=self, id=wx.ID_ANY,
-                                     style=wx.LI_HORIZONTAL), proportion=0,
+        sizer.Add(wx.StaticLine(parent=self, id=wx.ID_ANY,
+                                style=wx.LI_HORIZONTAL), proportion=0,
                   flag=wx.EXPAND | wx.ALL, border=5)
 
-        sizer.Add(item=bodySizer, proportion=1,
+        sizer.Add(bodySizer, proportion=1,
                   flag=wx.ALL | wx.EXPAND, border=5)
 
-        sizer.Add(item=wx.StaticLine(parent=self, id=wx.ID_ANY,
-                                     style=wx.LI_HORIZONTAL), proportion=0,
+        sizer.Add(wx.StaticLine(parent=self, id=wx.ID_ANY,
+                                style=wx.LI_HORIZONTAL), proportion=0,
                   flag=wx.EXPAND | wx.ALL, border=5)
 
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.ALL | wx.ALIGN_RIGHT, border=5)
 
         self.panel.SetAutoLayout(True)
@@ -375,11 +375,11 @@ class VectorCleaningFrame(wx.Frame):
         self.Bind(wx.EVT_CHECKBOX, self.OnSelect, select)
 
         # start with row 1 and col 1 for nicer layout
-        self.ct_sizer.Add(item=select, pos=(num, 1),
+        self.ct_sizer.Add(select, pos=(num, 1),
                           flag=wx.ALIGN_CENTER | wx.RIGHT)
-        self.ct_sizer.Add(item=tool_cbox, pos=(num, 2),
+        self.ct_sizer.Add(tool_cbox, pos=(num, 2),
                           flag=wx.ALIGN_CENTER | wx.RIGHT, border=5)
-        self.ct_sizer.Add(item=txt_ctrl, pos=(num, 3),
+        self.ct_sizer.Add(txt_ctrl, pos=(num, 3),
                           flag=wx.ALIGN_CENTER | wx.RIGHT, border=5)
 
         self.toolslines[num] = {'tool_desc': '',

+ 16 - 16
gui/wxpython/modules/vkrige.py

@@ -39,7 +39,7 @@ from gui_core import goutput
 from core.settings import UserSettings
 from gui_core.widgets import GNotebook
 from core.giface import Notification
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 #import help
 
 import wx
@@ -76,7 +76,7 @@ class KrigingPanel(wx.Panel):
         flexSizer.AddGrowableCol(1)
 
         flexSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 self,
                 id=wx.ID_ANY,
                 label=_("Point dataset:")),
@@ -85,27 +85,27 @@ class KrigingPanel(wx.Panel):
                                                  ftype='points',
                                                  updateOnPopup=False)
         self.InputDataMap.SetFocus()
-        flexSizer.Add(item=self.InputDataMap, flag=wx.ALIGN_CENTER_VERTICAL)
+        flexSizer.Add(self.InputDataMap, flag=wx.ALIGN_CENTER_VERTICAL)
 
         RefreshButton = wx.Button(self, id=wx.ID_REFRESH)
         RefreshButton.Bind(wx.EVT_BUTTON, self.OnButtonRefresh)
-        flexSizer.Add(item=RefreshButton, flag=wx.ALIGN_CENTER_VERTICAL)
+        flexSizer.Add(RefreshButton, flag=wx.ALIGN_CENTER_VERTICAL)
 
         flexSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 self,
                 id=wx.ID_ANY,
                 label=_("Numeric column:")),
             flag=wx.ALIGN_CENTER_VERTICAL)
         self.InputDataColumn = gselect.ColumnSelect(self, id=wx.ID_ANY)
-        flexSizer.Add(item=self.InputDataColumn)
+        flexSizer.Add(self.InputDataColumn)
 
         self.InputDataMap.GetChildren()[0].Bind(
             wx.EVT_TEXT, self.OnInputMapChanged)
         self.InputDataColumn.GetChildren()[0].Bind(
             wx.EVT_TEXT, self.OnInputColumnChanged)
 
-        InputBoxSizer.Add(item=flexSizer)
+        InputBoxSizer.Add(flexSizer)
 
         # 2. Kriging. In book pages one for each R package. Includes variogram
         # fit.
@@ -156,19 +156,19 @@ class KrigingPanel(wx.Panel):
 
         OutputParameters = wx.GridBagSizer(hgap=5, vgap=5)
         OutputParameters.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 self, id=wx.ID_ANY,
                 label=_("Name for the output raster map:")),
             flag=wx.ALIGN_CENTER_VERTICAL, pos=(0, 0))
         self.OutputMapName = gselect.Select(parent=self, id=wx.ID_ANY,
                                             type='raster',
                                             mapsets=[grass.gisenv()['MAPSET']])
-        OutputParameters.Add(item=self.OutputMapName, flag=wx.EXPAND | wx.ALL,
+        OutputParameters.Add(self.OutputMapName, flag=wx.EXPAND | wx.ALL,
                              pos=(0, 1))
         self.VarianceRasterCheckbox = wx.CheckBox(
             self, id=wx.ID_ANY, label=_("Export variance map as well: "))
         self.VarianceRasterCheckbox.SetValue(state=True)
-        OutputParameters.Add(item=self.VarianceRasterCheckbox,
+        OutputParameters.Add(self.VarianceRasterCheckbox,
                              flag=wx.ALIGN_CENTER_VERTICAL,
                              pos=(1, 0))
         self.OutputVarianceMapName = gselect.Select(
@@ -177,7 +177,7 @@ class KrigingPanel(wx.Panel):
         self.VarianceRasterCheckbox.Bind(
             wx.EVT_CHECKBOX, self.OnVarianceCBChecked)
         OutputParameters.Add(
-            item=self.OutputVarianceMapName,
+            self.OutputVarianceMapName,
             flag=wx.EXPAND | wx.ALL,
             pos=(
                 1,
@@ -190,7 +190,7 @@ class KrigingPanel(wx.Panel):
                 group='cmd',
                 key='overwrite',
                 subkey='enabled'))
-        OutputParameters.Add(item=self.OverwriteCheckBox,
+        OutputParameters.Add(self.OverwriteCheckBox,
                              pos=(2, 0), span=(1, 2))
 
         OutputParameters.AddGrowableCol(1)
@@ -630,12 +630,12 @@ class RBookgstatPanel(RBookPanel):
         self.ModelChoicebox.Enable(False)
 
         VariogramSubSizer = wx.BoxSizer(wx.HORIZONTAL)
-        VariogramSubSizer.Add(item=wx.StaticText(self,
-                                                 id=wx.ID_ANY,
-                                                 label=_("Model: ")),
+        VariogramSubSizer.Add(wx.StaticText(self,
+                                            id=wx.ID_ANY,
+                                            label=_("Model: ")),
                               flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                               border=4)
-        VariogramSubSizer.Add(item=self.ModelChoicebox,
+        VariogramSubSizer.Add(self.ModelChoicebox,
                               flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                               border=4)
 

+ 16 - 16
gui/wxpython/nviz/mapwindow.py

@@ -294,7 +294,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
         Based on visualization/nviz/src/togl_flythrough.c.
         :param x,y: screen coordinates
         """
-        sx, sy = self.GetClientSizeTuple()
+        sx, sy = self.GetClientSize()
         dx = dy = 0.01
 
         mx = 2 * (float(x) / sx) - 1
@@ -556,7 +556,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
         elif key in (wx.WXK_UP, wx.WXK_DOWN, wx.WXK_LEFT, wx.WXK_RIGHT):
             if not self.fly['mouseControl']:
                 if not self.timerFly.IsRunning():
-                    sx, sy = self.GetClientSizeTuple()
+                    sx, sy = self.GetClientSize()
                     self.fly['pos']['x'] = sx / 2
                     self.fly['pos']['y'] = sy / 2
                     self.fly['mouseControl'] = False  # controlled by keyboard
@@ -632,7 +632,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
             self.OnDClick(event)
 
         elif event.Moving():
-            pixelCoordinates = event.GetPositionTuple()[:]
+            pixelCoordinates = event.GetPosition()
             coordinates = self.Pixel2Cell(pixelCoordinates)
             # coordinates are none when no map is loaded
             # TODO: handle in more clever way: check the state
@@ -661,15 +661,15 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
                                 key='scrollDirection',
                                 subkey='selection'):
                 wheel *= -1
-            self.DoZoom(zoomtype=wheel, pos=event.GetPositionTuple())
+            self.DoZoom(zoomtype=wheel, pos=event.GetPosition())
 
         # update statusbar
         # self.parent.StatusbarUpdate()
 
     def OnLeftDown(self, event):
         """On left mouse down"""
-        self.mouse['begin'] = event.GetPositionTuple()
-        self.mouse['tmp'] = event.GetPositionTuple()
+        self.mouse['begin'] = event.GetPosition()
+        self.mouse['tmp'] = event.GetPosition()
         if self.mouse['use'] == "lookHere":
             size = self.GetClientSize()
             self._display.LookHere(
@@ -713,7 +713,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
 
         if self.mouse['use'] == 'pointer':
             if self.dragid >= 0:
-                self.DragItem(self.dragid, event.GetPositionTuple())
+                self.DragItem(self.dragid, event.GetPosition())
 
         if self.mouse['use'] == 'rotate':
             dx, dy = event.GetX(
@@ -728,7 +728,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
         if self.mouse['use'] == 'pan':
             self.FocusPanning(event)
 
-        self.mouse['tmp'] = event.GetPositionTuple()
+        self.mouse['tmp'] = event.GetPosition()
 
         event.Skip()
 
@@ -785,7 +785,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
             self.DoPaint()
 
     def OnLeftUp(self, event):
-        self.mouse['end'] = event.GetPositionTuple()
+        self.mouse['end'] = event.GetPosition()
         if self.mouse["use"] == "query":
             # here changed from 'begin' to 'end' because it is more common
             # behavior used also in 2d map window
@@ -851,13 +851,13 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
         """On mouse double click"""
         if self.mouse['use'] != 'pointer':
             return
-        pos = event.GetPositionTuple()
+        pos = event.GetPosition()
         self.dragid = self.FindObjects(pos[0], pos[1], self.hitradius)
         self.overlayActivated.emit(overlayId=self.dragid)
 
     def FocusPanning(self, event):
         """Simulation of panning using focus"""
-        size = self.GetClientSizeTuple()
+        size = self.GetClientSize()
         id1, x1, y1, z1 = self._display.GetPointOnSurface(
             self.mouse['tmp'][0], size[1] - self.mouse['tmp'][1])
         id2, x2, y2, z2 = self._display.GetPointOnSurface(
@@ -873,7 +873,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
             # update properties
             self.PostViewEvent()
 
-            self.mouse['tmp'] = event.GetPositionTuple()
+            self.mouse['tmp'] = event.GetPosition()
             self.render['quick'] = True
             self.Refresh(False)
 
@@ -881,7 +881,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
         """Move all layers in horizontal (x, y) direction.
         Currently not used.
         """
-        size = self.GetClientSizeTuple()
+        size = self.GetClientSize()
         id1, x1, y1, z1 = self._display.GetPointOnSurface(
             self.mouse['tmp'][0], size[1] - self.mouse['tmp'][1])
         id2, x2, y2, z2 = self._display.GetPointOnSurface(
@@ -920,7 +920,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
                     evt = wxUpdateProperties(data=data)
                     wx.PostEvent(self, evt)
 
-            self.mouse['tmp'] = event.GetPositionTuple()
+            self.mouse['tmp'] = event.GetPosition()
             self.render['quick'] = True
             self.Refresh(False)
 
@@ -1014,7 +1014,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
 
     def QuerySurface(self, x, y):
         """Query surface on given position"""
-        size = self.GetClientSizeTuple()
+        size = self.GetClientSize()
         result = self._display.QueryMap(x, size[1] - y)
         if result:
             self.qpoints.append((result['x'], result['y'], result['z']))
@@ -2625,7 +2625,7 @@ class GLWindow(MapWindowBase, glcanvas.GLCanvas):
         # output
         subcmd = 'output=nviz_output '
         subcmd += 'format=ppm '
-        subcmd += 'size=%d,%d ' % self.GetClientSizeTuple()
+        subcmd += 'size=%d,%d ' % self.GetClientSize()
         cmd += subcmd
 
         return cmd

+ 133 - 133
gui/wxpython/nviz/preferences.py

@@ -26,7 +26,7 @@ from core import globalvar
 from core.settings import UserSettings
 from core.utils import _
 from gui_core.preferences import PreferencesBaseDialog
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 
 
 class NvizPreferencesDialog(PreferencesBaseDialog):
@@ -82,65 +82,65 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
             key='view',
             subkey='persp',
             settings_type='internal')
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Perspective:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Perspective:")),
                       pos=(row, 0), flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel, id=wx.ID_ANY, label=_("value:")), pos=(
                 row, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
 
         pval = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                           initial=pvals['value'],
-                           min=ipvals['min'],
-                           max=ipvals['max'])
+                        initial=pvals['value'],
+                        min=ipvals['min'],
+                        max=ipvals['max'])
         self.winId['nviz:view:persp:value'] = pval.GetId()
-        gridSizer.Add(item=pval, pos=(row, 2),
+        gridSizer.Add(pval, pos=(row, 2),
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel, id=wx.ID_ANY, label=_("step:")), pos=(
                 row, 3), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
 
         pstep = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                            initial=pvals['step'],
-                            min=ipvals['min'],
-                            max=ipvals['max'] - 1)
+                         initial=pvals['step'],
+                         min=ipvals['min'],
+                         max=ipvals['max'] - 1)
         self.winId['nviz:view:persp:step'] = pstep.GetId()
-        gridSizer.Add(item=pstep, pos=(row, 4),
+        gridSizer.Add(pstep, pos=(row, 4),
                       flag=wx.ALIGN_CENTER_VERTICAL)
         row += 1
 
         # position
         posvals = UserSettings.Get(group='nviz', key='view', subkey='position')
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Position:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Position:")),
                       pos=(row, 0), flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel, id=wx.ID_ANY, label=_("x:")), pos=(
                 row, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
 
         px = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                         initial=posvals['x'] * 100,
-                         min=0,
-                         max=100)
+                      initial=posvals['x'] * 100,
+                      min=0,
+                      max=100)
         self.winId['nviz:view:position:x'] = px.GetId()
-        gridSizer.Add(item=px, pos=(row, 2),
+        gridSizer.Add(px, pos=(row, 2),
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel, id=wx.ID_ANY, label="y:"), pos=(
                 row, 3), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
 
         py = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                         initial=posvals['y'] * 100,
-                         min=0,
-                         max=100)
+                      initial=posvals['y'] * 100,
+                      min=0,
+                      max=100)
         self.winId['nviz:view:position:y'] = py.GetId()
-        gridSizer.Add(item=py, pos=(row, 4),
+        gridSizer.Add(py, pos=(row, 4),
                       flag=wx.ALIGN_CENTER_VERTICAL)
         row += 1
 
@@ -153,44 +153,44 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
             key='view',
             subkey='twist',
             settings_type='internal')
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Twist:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Twist:")),
                       pos=(row, 0), flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel, id=wx.ID_ANY, label=_("value:")), pos=(
                 row, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
 
         tval = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                           initial=tvals['value'],
-                           min=itvals['min'],
-                           max=itvals['max'])
+                        initial=tvals['value'],
+                        min=itvals['min'],
+                        max=itvals['max'])
         self.winId['nviz:view:twist:value'] = tval.GetId()
-        gridSizer.Add(item=tval, pos=(row, 2),
+        gridSizer.Add(tval, pos=(row, 2),
                       flag=wx.ALIGN_CENTER_VERTICAL)
         row += 1
 
         # z-exag
         zvals = UserSettings.Get(group='nviz', key='view', subkey='z-exag')
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Z-exag:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Z-exag:")),
                       pos=(row, 0), flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel, id=wx.ID_ANY, label=_("value:")), pos=(
                 row, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
 
         zval = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                           initial=zvals['value'],
-                           min=-1e6,
-                           max=1e6)
+                        initial=zvals['value'],
+                        min=-1e6,
+                        max=1e6)
         self.winId['nviz:view:z-exag:value'] = zval.GetId()
-        gridSizer.Add(item=zval, pos=(row, 2),
+        gridSizer.Add(zval, pos=(row, 2),
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
-        boxSizer.Add(item=gridSizer, proportion=1,
+        boxSizer.Add(gridSizer, proportion=1,
                      flag=wx.ALL | wx.EXPAND, border=3)
-        pageSizer.Add(item=boxSizer, proportion=0,
+        pageSizer.Add(boxSizer, proportion=0,
                       flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
                       border=3)
 
@@ -200,8 +200,8 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
         gridSizer = wx.GridBagSizer(vgap=3, hgap=3)
 
         # background color
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Background color:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Background color:")),
                       pos=(0, 0), flag=wx.ALIGN_CENTER_VERTICAL)
 
         color = csel.ColourSelect(
@@ -216,12 +216,12 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
             size=globalvar.DIALOG_COLOR_SIZE)
         color.SetName('GetColour')
         self.winId['nviz:view:background:color'] = color.GetId()
-        gridSizer.Add(item=color, pos=(0, 1))
+        gridSizer.Add(color, pos=(0, 1))
 
         gridSizer.AddGrowableCol(0)
-        boxSizer.Add(item=gridSizer, proportion=1,
+        boxSizer.Add(gridSizer, proportion=1,
                      flag=wx.ALL | wx.EXPAND, border=5)
-        pageSizer.Add(item=boxSizer, proportion=0,
+        pageSizer.Add(boxSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL,
                       border=5)
 
@@ -243,8 +243,8 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
         gridSizer = wx.GridBagSizer(vgap=3, hgap=3)
 
         # move exag
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Move exag:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Move exag:")),
                       pos=(0, 0), flag=wx.ALIGN_CENTER_VERTICAL)
 
         moveExag = SpinCtrl(
@@ -253,11 +253,11 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
                     'exag', 'move']), size=(
                 65, -1))
         self.winId['nviz:fly:exag:move'] = moveExag.GetId()
-        gridSizer.Add(item=moveExag, pos=(0, 1))
+        gridSizer.Add(moveExag, pos=(0, 1))
 
         # turn exag
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Turn exag:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Turn exag:")),
                       pos=(1, 0), flag=wx.ALIGN_CENTER_VERTICAL)
 
         turnExag = SpinCtrl(
@@ -266,12 +266,12 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
                     'exag', 'turn']), size=(
                 65, -1))
         self.winId['nviz:fly:exag:turn'] = turnExag.GetId()
-        gridSizer.Add(item=turnExag, pos=(1, 1))
+        gridSizer.Add(turnExag, pos=(1, 1))
 
         gridSizer.AddGrowableCol(0)
-        boxSizer.Add(item=gridSizer, proportion=1,
+        boxSizer.Add(gridSizer, proportion=1,
                      flag=wx.ALL | wx.EXPAND, border=5)
-        pageSizer.Add(item=boxSizer, proportion=0,
+        pageSizer.Add(boxSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL,
                       border=5)
 
@@ -296,80 +296,80 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
         # position
         posvals = UserSettings.Get(
             group='nviz', key='light', subkey='position')
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Position:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Position:")),
                       pos=(0, 0), flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel, id=wx.ID_ANY, label=_("x:")), pos=(
                 0, 1), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
 
         px = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                         initial=posvals['x'] * 100,
-                         min=-100,
-                         max=100)
+                      initial=posvals['x'] * 100,
+                      min=-100,
+                      max=100)
         self.winId['nviz:light:position:x'] = px.GetId()
-        gridSizer.Add(item=px, pos=(0, 2),
+        gridSizer.Add(px, pos=(0, 2),
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel, id=wx.ID_ANY, label="y:"), pos=(
                 0, 3), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
 
         py = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                         initial=posvals['y'] * 100,
-                         min=-100,
-                         max=100)
+                      initial=posvals['y'] * 100,
+                      min=-100,
+                      max=100)
         self.winId['nviz:light:position:y'] = py.GetId()
-        gridSizer.Add(item=py, pos=(0, 4),
+        gridSizer.Add(py, pos=(0, 4),
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel, id=wx.ID_ANY, label=_("z:")), pos=(
                 0, 5), flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
 
         pz = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                         initial=posvals['z'],
-                         min=0,
-                         max=100)
+                      initial=posvals['z'],
+                      min=0,
+                      max=100)
         self.winId['nviz:light:position:z'] = pz.GetId()
-        gridSizer.Add(item=pz, pos=(0, 6),
+        gridSizer.Add(pz, pos=(0, 6),
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
         # brightness
         brightval = UserSettings.Get(
             group='nviz', key='light', subkey='bright')
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Brightness:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Brightness:")),
                       pos=(1, 0), flag=wx.ALIGN_CENTER_VERTICAL)
 
         bright = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                             initial=brightval,
-                             min=0,
-                             max=100)
+                          initial=brightval,
+                          min=0,
+                          max=100)
         self.winId['nviz:light:bright'] = bright.GetId()
-        gridSizer.Add(item=bright, pos=(1, 2),
+        gridSizer.Add(bright, pos=(1, 2),
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
         # ambient
         ambval = UserSettings.Get(group='nviz', key='light', subkey='ambient')
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Ambient:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Ambient:")),
                       pos=(2, 0), flag=wx.ALIGN_CENTER_VERTICAL)
 
         amb = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                          initial=ambval,
-                          min=0,
-                          max=100)
+                       initial=ambval,
+                       min=0,
+                       max=100)
         self.winId['nviz:light:ambient'] = amb.GetId()
-        gridSizer.Add(item=amb, pos=(2, 2),
+        gridSizer.Add(amb, pos=(2, 2),
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
         # light color
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Color:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Color:")),
                       pos=(3, 0), flag=wx.ALIGN_CENTER_VERTICAL)
 
         color = csel.ColourSelect(
@@ -378,11 +378,11 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
             size=globalvar.DIALOG_COLOR_SIZE)
         color.SetName('GetColour')
         self.winId['nviz:light:color'] = color.GetId()
-        gridSizer.Add(item=color, pos=(3, 2))
+        gridSizer.Add(color, pos=(3, 2))
 
-        boxSizer.Add(item=gridSizer, proportion=1,
+        boxSizer.Add(gridSizer, proportion=1,
                      flag=wx.ALL | wx.EXPAND, border=5)
-        pageSizer.Add(item=boxSizer, proportion=0,
+        pageSizer.Add(boxSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL,
                       border=5)
 
@@ -408,7 +408,7 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
 
         # mode
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("Mode:")),
@@ -424,12 +424,12 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
         mode.SetName('GetSelection')
         mode.SetSelection(UserSettings.Get(group='nviz', key='surface',
                                            subkey=['draw', 'mode']))
-        gridSizer.Add(item=mode, flag=wx.ALIGN_CENTER_VERTICAL,
+        gridSizer.Add(mode, flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(0, 1))
 
         # fine
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("Fine mode:")),
@@ -441,7 +441,7 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
             group='nviz', key='surface', subkey=[
                 'draw', 'res-fine'])
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("resolution:")),
@@ -450,17 +450,17 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
                 1,
                 1))
         fine = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                           initial=res,
-                           min=1,
-                           max=100)
+                        initial=res,
+                        min=1,
+                        max=100)
         self.winId['nviz:surface:draw:res-fine'] = fine.GetId()
 
-        gridSizer.Add(item=fine, flag=wx.ALIGN_CENTER_VERTICAL,
+        gridSizer.Add(fine, flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(1, 2))
 
         # coarse
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("Coarse mode:")),
@@ -472,7 +472,7 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
             group='nviz', key='surface', subkey=[
                 'draw', 'res-coarse'])
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("resolution:")),
@@ -481,16 +481,16 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
                 2,
                 1))
         coarse = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                             initial=res,
-                             min=1,
-                             max=100)
+                          initial=res,
+                          min=1,
+                          max=100)
         self.winId['nviz:surface:draw:res-coarse'] = coarse.GetId()
 
-        gridSizer.Add(item=coarse, flag=wx.ALIGN_CENTER_VERTICAL,
+        gridSizer.Add(coarse, flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(2, 2))
         # style
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("style:")),
@@ -507,11 +507,11 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
                                             subkey=['draw', 'style']))
         self.winId['nviz:surface:draw:style'] = style.GetId()
 
-        gridSizer.Add(item=style, flag=wx.ALIGN_CENTER_VERTICAL,
+        gridSizer.Add(style, flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(3, 2))
         # wire color
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel,
                 id=wx.ID_ANY,
                 label=_("wire color:")),
@@ -525,12 +525,12 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
                     'draw', 'wire-color']), size=globalvar.DIALOG_COLOR_SIZE)
         color.SetName('GetColour')
         self.winId['nviz:surface:draw:wire-color'] = color.GetId()
-        gridSizer.Add(item=color, flag=wx.ALIGN_CENTER_VERTICAL,
+        gridSizer.Add(color, flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(4, 2))
 
-        boxSizer.Add(item=gridSizer, proportion=1,
+        boxSizer.Add(gridSizer, proportion=1,
                      flag=wx.ALL | wx.EXPAND, border=5)
-        pageSizer.Add(item=boxSizer, proportion=0,
+        pageSizer.Add(boxSizer, proportion=0,
                       flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
                       border=5)
 
@@ -555,23 +555,23 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
 
         row = 0
         # icon size
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Width:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Width:")),
                       pos=(row, 0), flag=wx.ALIGN_CENTER_VERTICAL)
 
         iwidth = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                             initial=12,
-                             min=1,
-                             max=100)
+                          initial=12,
+                          min=1,
+                          max=100)
         self.winId['nviz:vector:lines:width'] = iwidth.GetId()
         iwidth.SetValue(UserSettings.Get(group='nviz', key='vector',
                                          subkey=['lines', 'width']))
-        gridSizer.Add(item=iwidth, pos=(row, 1),
+        gridSizer.Add(iwidth, pos=(row, 1),
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
         # icon color
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Color:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Color:")),
                       pos=(row, 4), flag=wx.ALIGN_CENTER_VERTICAL)
         icolor = csel.ColourSelect(panel, id=wx.ID_ANY,
                                    size=globalvar.DIALOG_COLOR_SIZE)
@@ -579,11 +579,11 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
         self.winId['nviz:vector:lines:color'] = icolor.GetId()
         icolor.SetColour(UserSettings.Get(group='nviz', key='vector',
                                           subkey=['lines', 'color']))
-        gridSizer.Add(item=icolor, flag=wx.ALIGN_CENTER_VERTICAL,
+        gridSizer.Add(icolor, flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 5))
-        boxSizer.Add(item=gridSizer, proportion=1,
+        boxSizer.Add(gridSizer, proportion=1,
                      flag=wx.ALL | wx.EXPAND, border=5)
-        pageSizer.Add(item=boxSizer, proportion=0,
+        pageSizer.Add(boxSizer, proportion=0,
                       flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
                       border=5)
 
@@ -603,24 +603,24 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
                                            subkey=['points', 'autosize']))
 
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Size:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Size:")),
                       pos=(row, 0), flag=wx.ALIGN_CENTER_VERTICAL)
 
         isize = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(65, -1),
-                            initial=100,
-                            min=1,
-                            max=1e6)
+                         initial=100,
+                         min=1,
+                         max=1e6)
         self.winId['nviz:vector:points:size'] = isize.GetId()
         isize.SetValue(UserSettings.Get(group='nviz', key='vector',
                                         subkey=['points', 'size']))
-        gridSizer.Add(item=isize, pos=(row, 1),
+        gridSizer.Add(isize, pos=(row, 1),
                       flag=wx.ALIGN_CENTER_VERTICAL)
 
         # icon symbol
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Marker:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Marker:")),
                       pos=(row, 0), flag=wx.ALIGN_CENTER_VERTICAL)
         isym = wx.Choice(
             parent=panel, id=wx.ID_ANY, size=(100, -1),
@@ -631,13 +631,13 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
         self.winId['nviz:vector:points:marker'] = isym.GetId()
         isym.SetSelection(UserSettings.Get(group='nviz', key='vector',
                                            subkey=['points', 'marker']))
-        gridSizer.Add(item=isym, flag=wx.ALIGN_CENTER_VERTICAL,
+        gridSizer.Add(isym, flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
         # icon color
         row += 1
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=_("Color:")),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=_("Color:")),
                       pos=(row, 0), flag=wx.ALIGN_CENTER_VERTICAL)
         icolor = csel.ColourSelect(panel, id=wx.ID_ANY,
                                    size=globalvar.DIALOG_COLOR_SIZE)
@@ -645,12 +645,12 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
         self.winId['nviz:vector:points:color'] = icolor.GetId()
         icolor.SetColour(UserSettings.Get(group='nviz', key='vector',
                                           subkey=['points', 'color']))
-        gridSizer.Add(item=icolor, flag=wx.ALIGN_CENTER_VERTICAL,
+        gridSizer.Add(icolor, flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 1))
 
-        boxSizer.Add(item=gridSizer, proportion=1,
+        boxSizer.Add(gridSizer, proportion=1,
                      flag=wx.ALL | wx.EXPAND, border=5)
-        pageSizer.Add(item=boxSizer, proportion=0,
+        pageSizer.Add(boxSizer, proportion=0,
                       flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
                       border=5)
 

File diff suppressed because it is too large
+ 326 - 326
gui/wxpython/nviz/tools.py


+ 9 - 3
gui/wxpython/nviz/wxnviz.py

@@ -51,6 +51,8 @@ from grass.lib.raster import *
 from core.debug import Debug
 from core.utils import _, autoCropImageFromFile
 from core.gcmd import EncodeString
+from core.globalvar import wxPythonPhoenix
+from gui_core.wrap import Rect
 import grass.script as grass
 
 log = None
@@ -2097,8 +2099,12 @@ class Texture(object):
         bytes1 = self.width * self.height
         imageData = struct.unpack(str(bytes3) + 'B', self.image.GetData())
         if self.image.HasAlpha():
-            alphaData = struct.unpack(
-                str(bytes1) + 'B', self.image.GetAlphaData())
+            if wxPythonPhoenix:
+                alphaData = struct.unpack(
+                    str(bytes1) + 'B', self.image.GetAlpha())
+            else:
+                alphaData = struct.unpack(
+                    str(bytes1) + 'B', self.image.GetAlphaData())
 
         # this takes too much time
         wx.BeginBusyCursor()
@@ -2133,7 +2139,7 @@ class Texture(object):
             self.textureId)
 
     def HitTest(self, x, y, radius):
-        copy = wx.Rect(self.coords[0], self.coords[1], self.orig_width, self.orig_height)
+        copy = Rect(self.coords[0], self.coords[1], self.orig_width, self.orig_height)
         copy.Inflate(radius, radius)
         return copy.ContainsXY(x, y)
 

+ 114 - 101
gui/wxpython/psmap/dialogs.py

@@ -49,15 +49,28 @@ try:
 except ImportError:
     fs = None
 
+from core import globalvar
+
+if globalvar.wxPythonPhoenix:
+    import wx.adv
+    from wx.adv import OwnerDrawnComboBox
+else:
+    import wx.combo
+    from wx.combo import OwnerDrawnComboBox
+
+if globalvar.wxPythonPhoenix:
+    from wx import Validator as Validator
+else:
+    from wx import PyValidator as Validator
+
 import grass.script as grass
 
-from core import globalvar
 from core.utils import _, PilImageToWxImage
 from dbmgr.vinfo import VectorDBInfo
 from gui_core.gselect import Select
 from core.gcmd import RunCommand, GError, GMessage
 from gui_core.dialogs import SymbolDialog
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 from psmap.utils import *
 from psmap.instructions import *
 
@@ -82,11 +95,11 @@ PSMAP_COLORS = [
     'yellow']
 
 
-class TCValidator(wx.PyValidator):
+class TCValidator(Validator):
     """validates input in textctrls, combobox, taken from wxpython demo"""
 
     def __init__(self, flag=None):
-        wx.PyValidator.__init__(self)
+        Validator.__init__(self)
         self.flag = flag
         self.Bind(wx.EVT_CHAR, self.OnChar)
 
@@ -125,7 +138,7 @@ class TCValidator(wx.PyValidator):
         return
 
 
-class PenStyleComboBox(wx.combo.OwnerDrawnComboBox):
+class PenStyleComboBox(OwnerDrawnComboBox):
     """Combo for selecting line style, taken from wxpython demo"""
 
     # Overridden from OwnerDrawnComboBox, called to draw each
@@ -475,11 +488,11 @@ class PsmapDialog(wx.Dialog):
 
         mainSizer = wx.BoxSizer(wx.VERTICAL)
         mainSizer.Add(
-            item=panel,
+            panel,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        mainSizer.Add(item=btnSizer, proportion=0,
+        mainSizer.Add(btnSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         self.SetSizer(mainSizer)
@@ -1075,7 +1088,7 @@ class MapFramePanel(wx.Panel):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         # border
         # GTC Line around legend or map frame
@@ -1138,7 +1151,7 @@ class MapFramePanel(wx.Panel):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         self.SetSizer(border)
         self.Fit()
@@ -1602,7 +1615,7 @@ class RasterPanel(wx.Panel):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         #self.rasterSelect.GetTextCtrl().Bind(wx.EVT_TEXT, self.OnRaster)
         self.Bind(wx.EVT_RADIOBUTTON, self.OnRaster, self.rasterNoRadio)
@@ -1735,7 +1748,7 @@ class VectorPanel(wx.Panel):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         # manage vector layers
 
@@ -1798,7 +1811,7 @@ class VectorPanel(wx.Panel):
         gridBagSizer.AddGrowableCol(0, 2)
         gridBagSizer.AddGrowableCol(1, 1)
         sizer.Add(gridBagSizer, proportion=0, flag=wx.ALL, border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         self.Bind(wx.EVT_BUTTON, self.OnAddVector, self.AddVector)
         self.Bind(wx.EVT_BUTTON, self.OnDelete, self.btnDel)
@@ -2194,7 +2207,7 @@ class VPropertiesDialog(PsmapDialog):
                 flag=wx.EXPAND | wx.ALL,
                 border=5)
             border.Add(
-                item=sizer,
+                sizer,
                 proportion=0,
                 flag=wx.ALL | wx.EXPAND,
                 border=5)
@@ -2287,7 +2300,7 @@ class VPropertiesDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         # mask
         box = wx.StaticBox(
@@ -2305,7 +2318,7 @@ class VPropertiesDialog(PsmapDialog):
             self.mask.SetValue(False)
 
         sizer.Add(self.mask, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         self.Bind(wx.EVT_CHOICE, self.OnLayer, self.layerChoice)
 
@@ -2389,7 +2402,7 @@ class VPropertiesDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         self.Bind(wx.EVT_CHECKBOX, self.OnOutline, self.outlineCheck)
 
@@ -2459,7 +2472,7 @@ class VPropertiesDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         self.Bind(wx.EVT_CHECKBOX, self.OnFill, self.fillCheck)
         self.Bind(wx.EVT_RADIOBUTTON, self.OnColor, self.colorColRadio)
@@ -2550,7 +2563,7 @@ class VPropertiesDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         self.Bind(wx.EVT_CHECKBOX, self.OnOutline, self.outlineCheck)
 
@@ -2618,7 +2631,7 @@ class VPropertiesDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         self.Bind(wx.EVT_RADIOBUTTON, self.OnColor, self.colorColRadio)
         self.Bind(wx.EVT_RADIOBUTTON, self.OnColor, self.colorPickerRadio)
@@ -2702,7 +2715,7 @@ class VPropertiesDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         self.Bind(wx.EVT_BUTTON, self.OnSymbolSelection, self.symbolButton)
         self.Bind(wx.EVT_RADIOBUTTON, self.OnSymbology, self.symbolRadio)
@@ -2781,7 +2794,7 @@ class VPropertiesDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         self.Bind(wx.EVT_RADIOBUTTON, self.OnSize, self.sizeRadio)
         self.Bind(wx.EVT_RADIOBUTTON, self.OnSize, self.sizecolumnRadio)
@@ -2846,7 +2859,7 @@ class VPropertiesDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         self.Bind(wx.EVT_CHECKBOX, self.OnRotation, self.rotateCheck)
         self.Bind(wx.EVT_RADIOBUTTON, self.OnRotationType, self.rotateRadio)
@@ -2919,7 +2932,7 @@ class VPropertiesDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         # style
         box = wx.StaticBox(
@@ -2978,7 +2991,7 @@ class VPropertiesDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         panel.SetSizer(border)
         panel.Fit()
@@ -3052,7 +3065,7 @@ class VPropertiesDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         self.Bind(wx.EVT_CHECKBOX, self.OnPattern, self.patternCheck)
 
@@ -3385,7 +3398,7 @@ class LegendDialog(PsmapDialog):
         self.isRLegend.SetValue(self.rLegendDict['rLegend'])
         self.isRLegend.SetName("showRLegend")
         border.Add(
-            item=self.isRLegend,
+            self.isRLegend,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=5)
@@ -3447,11 +3460,11 @@ class LegendDialog(PsmapDialog):
         flexSizer.AddGrowableCol(1)
 
         sizer.Add(
-            item=flexSizer,
+            flexSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=1)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         # type of legend
 
@@ -3480,8 +3493,8 @@ class LegendDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=0)
-        sizer.Add(item=vbox, proportion=1, flag=wx.ALL | wx.EXPAND, border=1)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        sizer.Add(vbox, proportion=1, flag=wx.ALL | wx.EXPAND, border=1)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         # size, position and font
         self.sizePositionFont(
@@ -3577,7 +3590,7 @@ class LegendDialog(PsmapDialog):
             proportion=0,
             flag=wx.ALIGN_CENTER_VERTICAL,
             border=0)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         panel.SetSizer(border)
         panel.Fit()
@@ -3609,7 +3622,7 @@ class LegendDialog(PsmapDialog):
         self.isVLegend.SetValue(self.vLegendDict['vLegend'])
         self.isVLegend.SetName("showVLegend")
         border.Add(
-            item=self.isVLegend,
+            self.isVLegend,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=5)
@@ -3679,7 +3692,7 @@ class LegendDialog(PsmapDialog):
             proportion=0,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
             border=0)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         # size, position and font
         self.sizePositionFont(
@@ -3720,11 +3733,11 @@ class LegendDialog(PsmapDialog):
             flag=wx.ALIGN_CENTER_VERTICAL,
             border=0)
         sizer.Add(
-            item=flexGridSizer,
+            flexGridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=1)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         self.Bind(wx.EVT_BUTTON, self.OnUp, self.btnUp)
         self.Bind(wx.EVT_BUTTON, self.OnDown, self.btnDown)
@@ -3924,7 +3937,7 @@ class LegendDialog(PsmapDialog):
         hBox.Add(posSizer, proportion=1, flag=wx.EXPAND | wx.ALL, border=3)
         hBox.Add(sizeSizer, proportion=1, flag=wx.EXPAND | wx.ALL, border=3)
         sizer.Add(hBox, proportion=0, flag=wx.EXPAND, border=0)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         # font
         box = wx.StaticBox(
@@ -3973,12 +3986,12 @@ class LegendDialog(PsmapDialog):
         flexSizer.AddGrowableCol(1)
 
         fontSizer.Add(
-            item=flexSizer,
+            flexSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=1)
         border.Add(
-            item=fontSizer,
+            fontSizer,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=5)
@@ -4531,7 +4544,7 @@ class MapinfoDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         # font
         box = wx.StaticBox(
@@ -4562,11 +4575,11 @@ class MapinfoDialog(PsmapDialog):
 
         gridBagSizer.AddGrowableCol(1)
         sizer.Add(
-            item=gridBagSizer,
+            gridBagSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=1)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         # colors
         box = wx.StaticBox(
@@ -4629,11 +4642,11 @@ class MapinfoDialog(PsmapDialog):
         flexSizer.AddGrowableCol(1)
 
         sizer.Add(
-            item=flexSizer,
+            flexSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=1)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         panel.SetSizer(border)
 
@@ -4828,7 +4841,7 @@ class ScalebarDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
         #
         # size
         #
@@ -4918,7 +4931,7 @@ class ScalebarDialog(PsmapDialog):
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
         #
         # style
         #
@@ -5013,7 +5026,7 @@ class ScalebarDialog(PsmapDialog):
             proportion=1,
             flag=wx.ALIGN_CENTER_VERTICAL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         panel.SetSizer(border)
 
@@ -5195,7 +5208,7 @@ class TextDialog(PsmapDialog):
             proportion=1,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         # font
         box = wx.StaticBox(
@@ -5241,11 +5254,11 @@ class TextDialog(PsmapDialog):
         flexGridSizer.AddGrowableCol(1)
 
         sizer.Add(
-            item=flexGridSizer,
+            flexGridSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=1)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         # text effects
         box = wx.StaticBox(
@@ -5337,11 +5350,11 @@ class TextDialog(PsmapDialog):
             2, 3), flag=wx.ALIGN_CENTER_VERTICAL, border=0)
 
         sizer.Add(
-            item=gridBagSizer,
+            gridBagSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=1)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         self.Bind(EVT_ETC_LAYOUT_NEEDED, self.OnRefit, self.textCtrl)
         self.Bind(
@@ -5473,7 +5486,7 @@ class TextDialog(PsmapDialog):
             proportion=1,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         # rotation
         box = wx.StaticBox(
@@ -5507,7 +5520,7 @@ class TextDialog(PsmapDialog):
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_LEFT | wx.ALL,
             border=5)
 
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         panel.SetSizer(border)
         panel.Fit()
@@ -5785,7 +5798,7 @@ class ImageDialog(PsmapDialog):
             changeCallback=self.OnDirChanged)
         panel.image['dir'] = dir
 
-        sizer.Add(item=dir, proportion=0, flag=wx.EXPAND, border=0)
+        sizer.Add(dir, proportion=0, flag=wx.EXPAND, border=0)
 
         # image list
         hSizer = wx.BoxSizer(wx.HORIZONTAL)
@@ -5795,7 +5808,7 @@ class ImageDialog(PsmapDialog):
         imageList.Bind(wx.EVT_LISTBOX, self.OnImageSelectionChanged)
 
         hSizer.Add(
-            item=imageList,
+            imageList,
             proportion=1,
             flag=wx.EXPAND | wx.RIGHT,
             border=10)
@@ -5805,31 +5818,31 @@ class ImageDialog(PsmapDialog):
         self.previewSize = (150, 150)
         img = wx.EmptyImage(*self.previewSize)
         panel.image['preview'] = wx.StaticBitmap(
-            parent=panel, id=wx.ID_ANY, bitmap=wx.BitmapFromImage(img))
+            panel, wx.ID_ANY, wx.BitmapFromImage(img))
         vSizer.Add(
-            item=panel.image['preview'],
+            panel.image['preview'],
             proportion=0,
             flag=wx.EXPAND | wx.BOTTOM,
             border=5)
         panel.image['sizeInfo'] = wx.StaticText(parent=panel, id=wx.ID_ANY)
         vSizer.Add(
-            item=panel.image['sizeInfo'],
+            panel.image['sizeInfo'],
             proportion=0,
             flag=wx.ALIGN_CENTER,
             border=0)
 
-        hSizer.Add(item=vSizer, proportion=0, flag=wx.EXPAND, border=0)
-        sizer.Add(item=hSizer, proportion=1, flag=wx.EXPAND | wx.ALL, border=3)
+        hSizer.Add(vSizer, proportion=0, flag=wx.EXPAND, border=0)
+        sizer.Add(hSizer, proportion=1, flag=wx.EXPAND | wx.ALL, border=3)
 
         epsInfo = wx.StaticText(parent=panel, id=wx.ID_ANY,
                                 label=_("Note: only EPS format supported"))
         sizer.Add(
-            item=epsInfo,
+            epsInfo,
             proportion=0,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=3)
 
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         #
         # rotation
@@ -5869,10 +5882,10 @@ class ImageDialog(PsmapDialog):
         panel.image['scale'].SetValue(value)
 
         gridSizer.Add(
-            item=scaleLabel, pos=(0, 0),
+            scaleLabel, pos=(0, 0),
             flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=panel.image['scale'],
+            panel.image['scale'],
             pos=(0, 1),
             flag=wx.ALIGN_CENTER_VERTICAL)
 
@@ -5902,23 +5915,23 @@ class ImageDialog(PsmapDialog):
             panel.image['rotate'].SetValue(0)
 
         gridSizer.Add(
-            item=rotLabel,
+            rotLabel,
             pos=(
                 1,
                 0),
             flag=wx.ALIGN_CENTER_VERTICAL,
             border=0)
         gridSizer.Add(
-            item=panel.image['rotate'], pos=(
+            panel.image['rotate'], pos=(
                 1, 1), flag=wx.ALIGN_CENTER_VERTICAL)
 
         self._addConvergence(panel=panel, gridBagSizer=gridSizer)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         panel.SetSizer(border)
         panel.Fit()
@@ -5961,7 +5974,7 @@ class ImageDialog(PsmapDialog):
             proportion=1,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         panel.SetSizer(border)
         panel.Fit()
@@ -6243,7 +6256,7 @@ class NorthArrowDialog(ImageDialog):
     def _addConvergence(self, panel, gridBagSizer):
         convergence = wx.Button(parent=panel, id=wx.ID_ANY,
                                 label=_("Compute convergence"))
-        gridBagSizer.Add(item=convergence, pos=(1, 2),
+        gridBagSizer.Add(convergence, pos=(1, 2),
                          flag=wx.ALIGN_CENTER_VERTICAL | wx.EXPAND)
         convergence.Bind(wx.EVT_BUTTON, self.OnConvergence)
         panel.image['convergence'] = convergence
@@ -6319,13 +6332,13 @@ class PointDialog(PsmapDialog):
         gridSizer = wx.GridBagSizer(hgap=5, vgap=5)
 
         gridSizer.Add(
-            item=wx.StaticText(
+            wx.StaticText(
                 parent=panel, id=wx.ID_ANY, label=_("Select symbol:")), pos=(
                 0, 0), flag=wx.ALIGN_CENTER_VERTICAL)
 
         self.symbolLabel = wx.StaticText(parent=panel, id=wx.ID_ANY,
                                          label=self.pointDict['symbol'])
-        gridSizer.Add(item=self.symbolLabel, pos=(0, 1),
+        gridSizer.Add(self.symbolLabel, pos=(0, 1),
                       flag=wx.ALIGN_CENTER_VERTICAL)
         bitmap = wx.Bitmap(os.path.join(globalvar.SYMBDIR,
                                         self.pointDict['symbol']) + '.png')
@@ -6346,12 +6359,12 @@ class PointDialog(PsmapDialog):
 
         gridSizer.AddGrowableCol(1)
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
 
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         #
         # outline/fill color
@@ -6385,13 +6398,13 @@ class PointDialog(PsmapDialog):
                 convertRGB(self.defaultDict['color']))
 
         gridSizer.Add(
-            item=outlineLabel, pos=(0, 0),
+            outlineLabel, pos=(0, 0),
             flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=self.outlineColorCtrl, pos=(
+            self.outlineColorCtrl, pos=(
                 0, 1), flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=self.outlineTranspCtrl, pos=(
+            self.outlineTranspCtrl, pos=(
                 0, 2), flag=wx.ALIGN_CENTER_VERTICAL)
 
         fillLabel = wx.StaticText(
@@ -6411,21 +6424,21 @@ class PointDialog(PsmapDialog):
                 convertRGB(self.defaultDict['fcolor']))
 
         gridSizer.Add(
-            item=fillLabel, pos=(1, 0),
+            fillLabel, pos=(1, 0),
             flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=self.fillColorCtrl, pos=(
+            self.fillColorCtrl, pos=(
                 1, 1), flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=self.fillTranspCtrl, pos=(
+            self.fillTranspCtrl, pos=(
                 1, 2), flag=wx.ALIGN_CENTER_VERTICAL)
 
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         #
         # size and rotation
@@ -6451,10 +6464,10 @@ class PointDialog(PsmapDialog):
         self.sizeCtrl.SetValue(self.pointDict['size'])
 
         gridSizer.Add(
-            item=sizeLabel, pos=(0, 0),
+            sizeLabel, pos=(0, 0),
             flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=self.sizeCtrl, pos=(
+            self.sizeCtrl, pos=(
                 0, 1), flag=wx.ALIGN_CENTER_VERTICAL)
 
         # rotation
@@ -6487,22 +6500,22 @@ class PointDialog(PsmapDialog):
         self.rotCtrl.SetValue(float(self.pointDict['rotate']))
 
         gridSizer.Add(
-            item=rotLabel,
+            rotLabel,
             pos=(
                 1,
                 0),
             flag=wx.ALIGN_CENTER_VERTICAL,
             border=0)
         gridSizer.Add(
-            item=self.rotCtrl, pos=(1, 1),
+            self.rotCtrl, pos=(1, 1),
             flag=wx.ALIGN_CENTER_VERTICAL)
 
         sizer.Add(
-            item=gridSizer,
+            gridSizer,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         panel.SetSizer(border)
         panel.Fit()
@@ -6545,7 +6558,7 @@ class PointDialog(PsmapDialog):
             proportion=1,
             flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL,
             border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         panel.SetSizer(border)
         panel.Fit()
@@ -6747,13 +6760,13 @@ class RectangleDialog(PsmapDialog):
             self.outlineTranspCtrl.Hide()
 
         gridSizer.Add(
-            item=outlineLabel, pos=(0, 0),
+            outlineLabel, pos=(0, 0),
             flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=self.outlineColorCtrl, pos=(
+            self.outlineColorCtrl, pos=(
                 0, 1), flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=self.outlineTranspCtrl, pos=(
+            self.outlineTranspCtrl, pos=(
                 0, 2), flag=wx.ALIGN_CENTER_VERTICAL)
 
         # fill color only in rectangle
@@ -6773,17 +6786,17 @@ class RectangleDialog(PsmapDialog):
                 self.fillColorCtrl.SetColour(wx.WHITE)
 
             gridSizer.Add(
-                item=fillLabel, pos=(1, 0),
+                fillLabel, pos=(1, 0),
                 flag=wx.ALIGN_CENTER_VERTICAL)
             gridSizer.Add(
-                item=self.fillColorCtrl, pos=(
+                self.fillColorCtrl, pos=(
                     1, 1), flag=wx.ALIGN_CENTER_VERTICAL)
             gridSizer.Add(
-                item=self.fillTranspCtrl, pos=(
+                self.fillTranspCtrl, pos=(
                     1, 2), flag=wx.ALIGN_CENTER_VERTICAL)
 
         sizer.Add(gridSizer, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
         gridSizer = wx.GridBagSizer(hgap=5, vgap=5)
 
         # width
@@ -6822,14 +6835,14 @@ class RectangleDialog(PsmapDialog):
         self.widthCtrl.SetValue(float(self.rectDict['width']))
 
         gridSizer.Add(
-            item=widthLabel, pos=(0, 0),
+            widthLabel, pos=(0, 0),
             flag=wx.ALIGN_CENTER_VERTICAL)
         gridSizer.Add(
-            item=self.widthCtrl, pos=(
+            self.widthCtrl, pos=(
                 0, 1), flag=wx.ALIGN_CENTER_VERTICAL)
 
         sizer.Add(gridSizer, proportion=1, flag=wx.EXPAND | wx.ALL, border=5)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         panel.SetSizer(border)
 
@@ -6923,7 +6936,7 @@ class LabelsDialog(PsmapDialog):
         self.select.SetValue(','.join(self.labelsDict['labels']))
         self.select.SetFocus()
         sizer.Add(
-            item=self.select,
+            self.select,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
@@ -6934,7 +6947,7 @@ class LabelsDialog(PsmapDialog):
             wx.SystemSettings_GetColour(
                 wx.SYS_COLOUR_GRAYTEXT))
         sizer.Add(
-            item=helpText,
+            helpText,
             proportion=0,
             flag=wx.EXPAND | wx.LEFT | wx.RIGHT,
             border=5)

+ 10 - 6
gui/wxpython/psmap/frame.py

@@ -39,6 +39,7 @@ from core.utils import _, PilImageToWxImage
 from gui_core.forms import GUI
 from gui_core.dialogs import HyperlinkDialog
 from gui_core.ghelp import ShowAboutDialog
+from gui_core.wrap import PseudoDC
 from psmap.menudata import PsMapMenuData
 from gui_core.toolbars import ToolSwitcher
 
@@ -1247,11 +1248,11 @@ class PsMapBufferedWindow(wx.Window):
         self.itemLabels = {}
 
         # define PseudoDC
-        self.pdc = wx.PseudoDC()
-        self.pdcObj = wx.PseudoDC()
-        self.pdcPaper = wx.PseudoDC()
-        self.pdcTmp = wx.PseudoDC()
-        self.pdcImage = wx.PseudoDC()
+        self.pdc = PseudoDC()
+        self.pdcObj = PseudoDC()
+        self.pdcPaper = PseudoDC()
+        self.pdcTmp = PseudoDC()
+        self.pdcImage = PseudoDC()
 
         self.SetClientSize((700, 510))  # ?
         self._buffer = wx.EmptyBitmap(*self.GetClientSize())
@@ -2046,7 +2047,10 @@ class PsMapBufferedWindow(wx.Window):
         if not self.preview:
             # redraw paper
             pRect = self.pdcPaper.GetIdBounds(self.pageId)
-            pRect.OffsetXY(-view[0], -view[1])
+            if globalvar.wxPythonPhoenix:
+                pRect.Offset(-view[0], -view[1])
+            else:
+                pRect.OffsetXY(-view[0], -view[1])
             pRect = self.ScaleRect(rect=pRect, scale=zoomFactor)
             self.DrawPaper(pRect)
 

+ 16 - 16
gui/wxpython/rlisetup/frame.py

@@ -57,19 +57,19 @@ class ViewFrame(wx.Frame):
         mainsizer = wx.BoxSizer(wx.VERTICAL)
         # CONFILES
         confilesSizer = wx.StaticBoxSizer(self.confilesBox, wx.HORIZONTAL)
-        confilesSizer.Add(item=self.textCtrl, proportion=1, flag=wx.EXPAND)
+        confilesSizer.Add(self.textCtrl, proportion=1, flag=wx.EXPAND)
         # END CONFILES
         # BUTTONS
         buttonSizer = wx.BoxSizer(wx.HORIZONTAL)
-        buttonSizer.Add(item=self.btn_ok, flag=wx.ALL, border=5)
-        buttonSizer.Add(item=self.btn_close, flag=wx.ALL, border=5)
+        buttonSizer.Add(self.btn_ok, flag=wx.ALL, border=5)
+        buttonSizer.Add(self.btn_close, flag=wx.ALL, border=5)
         # END BUTTONS
         # add listbox to staticbox
-        panelsizer.Add(item=confilesSizer, pos=(0, 0), flag=wx.EXPAND,
+        panelsizer.Add(confilesSizer, pos=(0, 0), flag=wx.EXPAND,
                        border=3)
         # add panel and buttons
-        mainsizer.Add(item=self.panel, proportion=1, flag=wx.EXPAND, border=3)
-        mainsizer.Add(item=buttonSizer, proportion=0, flag=wx.EXPAND, border=3)
+        mainsizer.Add(self.panel, proportion=1, flag=wx.EXPAND, border=3)
+        mainsizer.Add(buttonSizer, proportion=0, flag=wx.EXPAND, border=3)
         panelsizer.AddGrowableRow(0)
         panelsizer.AddGrowableCol(0)
         self.panel.SetAutoLayout(True)
@@ -169,25 +169,25 @@ class RLiSetupFrame(wx.Frame):
         mainsizer = wx.BoxSizer(wx.VERTICAL)
         # CONFILES
         confilesSizer = wx.StaticBoxSizer(self.confilesBox, wx.HORIZONTAL)
-        confilesSizer.Add(item=self.listfileBox, proportion=1,
+        confilesSizer.Add(self.listfileBox, proportion=1,
                           flag=wx.EXPAND)
         # END CONFILES
         # BUTTONS
         buttonSizer = wx.BoxSizer(wx.HORIZONTAL)
-        buttonSizer.Add(item=self.btn_new, flag=wx.ALL, border=5)
-        buttonSizer.Add(item=self.btn_rename, flag=wx.ALL, border=5)
-        buttonSizer.Add(item=self.btn_view, flag=wx.ALL, border=5)
-        buttonSizer.Add(item=self.btn_remove, flag=wx.ALL, border=5)
-        buttonSizer.Add(item=self.btn_help, flag=wx.ALL, border=5)
-        buttonSizer.Add(item=self.btn_close, flag=wx.ALL, border=5)
+        buttonSizer.Add(self.btn_new, flag=wx.ALL, border=5)
+        buttonSizer.Add(self.btn_rename, flag=wx.ALL, border=5)
+        buttonSizer.Add(self.btn_view, flag=wx.ALL, border=5)
+        buttonSizer.Add(self.btn_remove, flag=wx.ALL, border=5)
+        buttonSizer.Add(self.btn_help, flag=wx.ALL, border=5)
+        buttonSizer.Add(self.btn_close, flag=wx.ALL, border=5)
         # END BUTTONS
         # add listbox to staticbox
-        panelsizer.Add(item=confilesSizer, pos=(0, 0), flag=wx.EXPAND,
+        panelsizer.Add(confilesSizer, pos=(0, 0), flag=wx.EXPAND,
                        border=3)
 
         # add panel and buttons
-        mainsizer.Add(item=self.panel, proportion=1, flag=wx.EXPAND, border=3)
-        mainsizer.Add(item=buttonSizer, proportion=0, flag=wx.EXPAND, border=3)
+        mainsizer.Add(self.panel, proportion=1, flag=wx.EXPAND, border=3)
+        mainsizer.Add(buttonSizer, proportion=0, flag=wx.EXPAND, border=3)
 
         panelsizer.AddGrowableRow(0)
         panelsizer.AddGrowableCol(0)

+ 69 - 63
gui/wxpython/rlisetup/wizard.py

@@ -23,7 +23,13 @@ This program is free software under the GNU General Public License
 import os
 
 import wx
-import wx.wizard as wiz
+from core.globalvar import wxPythonPhoenix
+if wxPythonPhoenix:
+    from wx import adv as wiz
+    from wx.adv import Wizard
+else:
+    from wx import wizard as wiz
+    from wx.wizard import Wizard
 import wx.lib.scrolledpanel as scrolled
 
 from gui_core import gselect
@@ -48,7 +54,7 @@ class RLIWizard(object):
 
     def __init__(self, parent):
         self.parent = parent
-        self.wizard = wiz.Wizard(parent=parent, id=wx.ID_ANY,
+        self.wizard = Wizard(parent=parent, id=wx.ID_ANY,
                                  title=_("Create new configuration file for "
                                          "r.li modules"))
         self.rlipath = retRLiPath()
@@ -495,9 +501,9 @@ class FirstPage(TitledPage):
                                       size=(250, -1))
         wx.CallAfter(self.newconftxt.SetFocus)
 
-        self.sizer.Add(item=self.newconflabel, border=5, pos=(0, 0),
+        self.sizer.Add(self.newconflabel, border=5, pos=(0, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.newconftxt, border=5, pos=(0, 1),
+        self.sizer.Add(self.newconftxt, border=5, pos=(0, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         # raster
         self.mapsellabel = wx.StaticText(
@@ -506,9 +512,9 @@ class FirstPage(TitledPage):
         self.mapselect = gselect.Select(parent=self, id=wx.ID_ANY,
                                         size=(250, -1), type='cell',
                                         multiple=False)
-        self.sizer.Add(item=self.mapsellabel, border=5, pos=(1, 0),
+        self.sizer.Add(self.mapsellabel, border=5, pos=(1, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.mapselect, border=5, pos=(1, 1),
+        self.sizer.Add(self.mapselect, border=5, pos=(1, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         # vector
         self.vectsellabel = wx.StaticText(
@@ -517,9 +523,9 @@ class FirstPage(TitledPage):
         self.vectselect = gselect.Select(parent=self, id=wx.ID_ANY,
                                          size=(250, -1), type='vector',
                                          multiple=False)
-        self.sizer.Add(item=self.vectsellabel, border=5, pos=(2, 0),
+        self.sizer.Add(self.vectsellabel, border=5, pos=(2, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.vectselect, border=5, pos=(2, 1),
+        self.sizer.Add(self.vectselect, border=5, pos=(2, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         # vector layer
         self.vectlaylabel = wx.StaticText(
@@ -527,9 +533,9 @@ class FirstPage(TitledPage):
             label=_('Vector map layer to use to select areas'))
         self.vectlayer = wx.ComboBox(parent=self, id=wx.ID_ANY,
                                      size=(250, -1))
-        self.sizer.Add(item=self.vectlaylabel, border=5, pos=(3, 0),
+        self.sizer.Add(self.vectlaylabel, border=5, pos=(3, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.vectlayer, border=5, pos=(3, 1),
+        self.sizer.Add(self.vectlayer, border=5, pos=(3, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         # define sampling region
         self.sampling_reg = wx.RadioBox(
@@ -545,12 +551,12 @@ class FirstPage(TitledPage):
             majorDimension=1,
             style=wx.RA_SPECIFY_ROWS)
 
-        self.sizer.Add(item=self.sampling_reg,
+        self.sizer.Add(self.sampling_reg,
                        flag=wx.ALIGN_CENTER | wx.ALL | wx.EXPAND, border=5,
                        pos=(5, 0), span=(1, 2))
         self.infoError = wx.StaticText(self, label='')
         self.infoError.SetForegroundColour(wx.RED)
-        self.sizer.Add(item=self.infoError,
+        self.sizer.Add(self.infoError,
                        flag=wx.ALIGN_CENTER | wx.ALL | wx.EXPAND, border=5,
                        pos=(6, 0), span=(1, 2))
 
@@ -715,9 +721,9 @@ class KeyboardPage(TitledPage):
                                         size=(250, -1))
         wx.CallAfter(self.ColUpLeftlabel.SetFocus)
 
-        self.sizer.Add(item=self.ColUpLeftlabel, border=5, pos=(1, 1),
+        self.sizer.Add(self.ColUpLeftlabel, border=5, pos=(1, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.ColUpLefttxt, border=5, pos=(1, 2),
+        self.sizer.Add(self.ColUpLefttxt, border=5, pos=(1, 2),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         self.sizer.AddGrowableCol(2)
         # row up/left
@@ -728,9 +734,9 @@ class KeyboardPage(TitledPage):
                                         size=(250, -1))
         wx.CallAfter(self.RowUpLeftlabel.SetFocus)
 
-        self.sizer.Add(item=self.RowUpLeftlabel, border=5, pos=(2, 1),
+        self.sizer.Add(self.RowUpLeftlabel, border=5, pos=(2, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.RowUpLefttxt, border=5, pos=(2, 2),
+        self.sizer.Add(self.RowUpLefttxt, border=5, pos=(2, 2),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
 
         # row length
@@ -742,9 +748,9 @@ class KeyboardPage(TitledPage):
         self.RowLentxt = wx.TextCtrl(parent=self, id=wx.ID_ANY, size=(250, -1))
         wx.CallAfter(self.RowLenlabel.SetFocus)
 
-        self.sizer.Add(item=self.RowLenlabel, border=5, pos=(3, 1),
+        self.sizer.Add(self.RowLenlabel, border=5, pos=(3, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.RowLentxt, border=5, pos=(3, 2),
+        self.sizer.Add(self.RowLentxt, border=5, pos=(3, 2),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
 
         # column length
@@ -756,9 +762,9 @@ class KeyboardPage(TitledPage):
         self.ColLentxt = wx.TextCtrl(parent=self, id=wx.ID_ANY, size=(250, -1))
         wx.CallAfter(self.ColLenlabel.SetFocus)
 
-        self.sizer.Add(item=self.ColLenlabel, border=5, pos=(4, 1),
+        self.sizer.Add(self.ColLenlabel, border=5, pos=(4, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.ColLentxt, border=5, pos=(4, 2),
+        self.sizer.Add(self.ColLentxt, border=5, pos=(4, 2),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
 
         self.ColUpLefttxt.SetValue(self.col_up)
@@ -835,7 +841,7 @@ class DrawSampleFramePage(TitledPage):
         if self.mapPanel is None:
             self.mapPanel = RLiSetupMapPanel(self, samplingType='drawFrame')
             self.mapPanel.sampleFrameChanged.connect(self.SampleFrameChanged)
-            self.sizer.Add(item=self.mapPanel, flag=wx.EXPAND, pos=(0, 0))
+            self.sizer.Add(self.mapPanel, flag=wx.EXPAND, pos=(0, 0))
             self.sizer.AddGrowableCol(0)
             self.sizer.AddGrowableRow(0)
             self._raster = None
@@ -884,7 +890,7 @@ class SamplingAreasPage(TitledPage):
                                     style=wx.RA_SPECIFY_COLS | wx.NO_BORDER)
         # layout
         self.sizer.SetVGap(10)
-        self.sizer.Add(item=self.radioBox, flag=wx.ALIGN_LEFT, pos=(0, 0))
+        self.sizer.Add(self.radioBox, flag=wx.ALIGN_LEFT, pos=(0, 0))
 
         self.regionBox = wx.RadioBox(
             parent=self,
@@ -1132,7 +1138,7 @@ class DrawRegionsPage(TitledPage):
                 self, samplingType=self.parent.samplingareapage.samplingtype, )
             self.mapPanel.afterRegionDrawn.connect(self.afterRegionDrawn)
 
-            self.sizer.Add(item=self.mapPanel, flag=wx.EXPAND, pos=(1, 0))
+            self.sizer.Add(self.mapPanel, flag=wx.EXPAND, pos=(1, 0))
             self.sizer.AddGrowableCol(0)
             self.sizer.AddGrowableRow(1)
             self._raster = None
@@ -1188,10 +1194,10 @@ class SampleUnitsKeyPage(TitledPage):
                                     size=(250, -1))
 
         self.panelSizer.Add(
-            item=self.widthLabel, pos=(1, 0),
+            self.widthLabel, pos=(1, 0),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         self.panelSizer.Add(
-            item=self.widthTxt, pos=(1, 1),
+            self.widthTxt, pos=(1, 1),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
 
         self.heightLabel = wx.StaticText(parent=self.scrollPanel, id=wx.ID_ANY)
@@ -1199,10 +1205,10 @@ class SampleUnitsKeyPage(TitledPage):
                                      size=(250, -1))
 
         self.panelSizer.Add(
-            item=self.heightLabel, pos=(2, 0),
+            self.heightLabel, pos=(2, 0),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         self.panelSizer.Add(
-            item=self.heightTxt, pos=(2, 1),
+            self.heightTxt, pos=(2, 1),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         self.widthLabels = [_('Width size (in cells)?'),
                             _('What radius size (in meters)?')]
@@ -1222,7 +1228,7 @@ class SampleUnitsKeyPage(TitledPage):
                 _('Stratified random'),
                 _('Systematic non contiguos'),
                 _('Centered over sites')])
-        self.panelSizer.Add(item=self.distributionBox, pos=(3, 0), span=(
+        self.panelSizer.Add(self.distributionBox, pos=(3, 0), span=(
             1, 2), flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
 
         self.distr1Label = wx.StaticText(parent=self.scrollPanel, id=wx.ID_ANY,
@@ -1231,20 +1237,20 @@ class SampleUnitsKeyPage(TitledPage):
         self.distr1Txt = wx.TextCtrl(parent=self.scrollPanel, id=wx.ID_ANY,
                                      size=(250, -1))
         self.panelSizer.Add(
-            item=self.distr1Label, pos=(4, 0),
+            self.distr1Label, pos=(4, 0),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         self.panelSizer.Add(
-            item=self.distr1Txt, pos=(4, 1),
+            self.distr1Txt, pos=(4, 1),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         self.distr2Label = wx.StaticText(parent=self.scrollPanel, id=wx.ID_ANY,
                                          label="")
         self.distr2Txt = wx.TextCtrl(parent=self.scrollPanel, id=wx.ID_ANY,
                                      size=(250, -1))
         self.panelSizer.Add(
-            item=self.distr2Label, pos=(5, 0),
+            self.distr2Label, pos=(5, 0),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         self.panelSizer.Add(
-            item=self.distr2Txt, pos=(5, 1),
+            self.distr2Txt, pos=(5, 1),
             flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         self.panelSizer.Hide(self.distr2Txt)
 
@@ -1255,7 +1261,7 @@ class SampleUnitsKeyPage(TitledPage):
         self.distr1Txt.Bind(wx.EVT_TEXT, self.OnDistr1)
         self.distr2Txt.Bind(wx.EVT_TEXT, self.OnDistr2)
         self.Bind(wiz.EVT_WIZARD_PAGE_CHANGED, self.OnEnterPage)
-        self.sizer.Add(item=self.scrollPanel, pos=(0, 0), flag=wx.EXPAND)
+        self.sizer.Add(self.scrollPanel, pos=(0, 0), flag=wx.EXPAND)
         self.sizer.AddGrowableCol(0)
         self.sizer.AddGrowableRow(0)
         self.scrollPanel.SetSizer(self.panelSizer)
@@ -1364,16 +1370,16 @@ class MovingKeyPage(TitledPage):
         self.widthLabel = wx.StaticText(parent=self, id=wx.ID_ANY,
                                         label=_('Width size (in cells)?'))
         self.widthTxt = wx.TextCtrl(parent=self, id=wx.ID_ANY, size=(250, -1))
-        self.sizer.Add(item=self.widthLabel, border=5, pos=(2, 1),
+        self.sizer.Add(self.widthLabel, border=5, pos=(2, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.widthTxt, border=5, pos=(2, 2),
+        self.sizer.Add(self.widthTxt, border=5, pos=(2, 2),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         self.heightLabel = wx.StaticText(parent=self, id=wx.ID_ANY,
                                          label=_('Height size (in cells)?'))
         self.heightTxt = wx.TextCtrl(parent=self, id=wx.ID_ANY, size=(250, -1))
-        self.sizer.Add(item=self.heightLabel, border=5, pos=(3, 1),
+        self.sizer.Add(self.heightLabel, border=5, pos=(3, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.heightTxt, border=5, pos=(3, 2),
+        self.sizer.Add(self.heightTxt, border=5, pos=(3, 2),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
 
         self.sizer.AddGrowableCol(2)
@@ -1575,7 +1581,7 @@ class DrawSampleUnitsPage(TitledPage):
         else:
             self.mapPanel.sampleFrameChanged.connect(self.SampleFrameChanged)
 
-        self.sizer.Add(item=self.mapPanel, flag=wx.EXPAND, pos=(1, 0))
+        self.sizer.Add(self.mapPanel, flag=wx.EXPAND, pos=(1, 0))
         self.sizer.AddGrowableCol(0)
         self.sizer.AddGrowableRow(1)
         self._raster = None
@@ -1691,7 +1697,7 @@ class VectorAreasPage(TitledPage):
         if self.mapPanel is None:
             self.mapPanel = RLiSetupMapPanel(
                 self, samplingType=self.parent.samplingareapage.samplingtype)
-            self.sizer.Add(item=self.mapPanel, flag=wx.EXPAND, pos=(1, 0))
+            self.sizer.Add(self.mapPanel, flag=wx.EXPAND, pos=(1, 0))
             self.sizer.AddGrowableCol(0)
             self.sizer.AddGrowableRow(1)
             self._raster = None
@@ -1739,99 +1745,99 @@ class SummaryPage(TitledPage):
                                        label=_('Configuration file name:'))
         self.conftxt = wx.StaticText(parent=self, id=wx.ID_ANY,
                                      label="")
-        self.sizer.Add(item=self.conflabel, border=5, pos=(0, 0),
+        self.sizer.Add(self.conflabel, border=5, pos=(0, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.conftxt, border=5, pos=(0, 1),
+        self.sizer.Add(self.conftxt, border=5, pos=(0, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         # raster name
         self.rastlabel = wx.StaticText(parent=self, id=wx.ID_ANY,
                                        label=_('Raster name:'))
         self.rasttxt = wx.StaticText(parent=self, id=wx.ID_ANY,
                                      label="")
-        self.sizer.Add(item=self.rastlabel, border=5, pos=(1, 0),
+        self.sizer.Add(self.rastlabel, border=5, pos=(1, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.rasttxt, border=5, pos=(1, 1),
+        self.sizer.Add(self.rasttxt, border=5, pos=(1, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
 
         # vector name
         self.vectlabel = wx.StaticText(parent=self, id=wx.ID_ANY,
                                        label=_('Vector name:'))
         self.vecttxt = wx.StaticText(parent=self, id=wx.ID_ANY, label="")
-        self.sizer.Add(item=self.vectlabel, border=5, pos=(2, 0),
+        self.sizer.Add(self.vectlabel, border=5, pos=(2, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.vecttxt, border=5, pos=(2, 1),
+        self.sizer.Add(self.vecttxt, border=5, pos=(2, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
 
         # region type name
         self.regionlabel = wx.StaticText(parent=self, id=wx.ID_ANY,
                                          label=_('Region type:'))
         self.regiontxt = wx.StaticText(parent=self, id=wx.ID_ANY, label="")
-        self.sizer.Add(item=self.regionlabel, border=5, pos=(3, 0),
+        self.sizer.Add(self.regionlabel, border=5, pos=(3, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.regiontxt, border=5, pos=(3, 1),
+        self.sizer.Add(self.regiontxt, border=5, pos=(3, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
 
         # region keyboard
         self.regionkeylabel = wx.StaticText(parent=self, id=wx.ID_ANY,
                                             label="")
         self.regionkeytxt = wx.StaticText(parent=self, id=wx.ID_ANY, label="")
-        self.sizer.Add(item=self.regionkeylabel, border=5, pos=(4, 0),
+        self.sizer.Add(self.regionkeylabel, border=5, pos=(4, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.regionkeytxt, border=5, pos=(4, 1),
+        self.sizer.Add(self.regionkeytxt, border=5, pos=(4, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         self.Bind(wiz.EVT_WIZARD_PAGE_CHANGED, self.OnEnterPage)
         # sampling area
         self.samplinglabel = wx.StaticText(parent=self, id=wx.ID_ANY,
                                            label=_('Sampling area type:'))
         self.samplingtxt = wx.StaticText(parent=self, id=wx.ID_ANY, label="")
-        self.sizer.Add(item=self.samplinglabel, border=5, pos=(5, 0),
+        self.sizer.Add(self.samplinglabel, border=5, pos=(5, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.samplingtxt, border=5, pos=(5, 1),
+        self.sizer.Add(self.samplingtxt, border=5, pos=(5, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         # shapetype
         self.shapelabel = wx.StaticText(parent=self, id=wx.ID_ANY, label="")
         self.shapetxt = wx.StaticText(parent=self, id=wx.ID_ANY, label="")
-        self.sizer.Add(item=self.shapelabel, border=5, pos=(6, 0),
+        self.sizer.Add(self.shapelabel, border=5, pos=(6, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.shapetxt, border=5, pos=(6, 1),
+        self.sizer.Add(self.shapetxt, border=5, pos=(6, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         # shapedim
         self.shapewidthlabel = wx.StaticText(parent=self, id=wx.ID_ANY,
                                              label="")
         self.shapewidthtxt = wx.StaticText(parent=self, id=wx.ID_ANY,
                                            label="")
-        self.sizer.Add(item=self.shapewidthlabel, border=5, pos=(7, 0),
+        self.sizer.Add(self.shapewidthlabel, border=5, pos=(7, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.shapewidthtxt, border=5, pos=(7, 1),
+        self.sizer.Add(self.shapewidthtxt, border=5, pos=(7, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         self.shapeheightlabel = wx.StaticText(parent=self, id=wx.ID_ANY,
                                               label="")
         self.shapeheighttxt = wx.StaticText(parent=self, id=wx.ID_ANY,
                                             label="")
-        self.sizer.Add(item=self.shapeheightlabel, border=5, pos=(8, 0),
+        self.sizer.Add(self.shapeheightlabel, border=5, pos=(8, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.shapeheighttxt, border=5, pos=(8, 1),
+        self.sizer.Add(self.shapeheighttxt, border=5, pos=(8, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         # units type
         self.unitslabel = wx.StaticText(parent=self, id=wx.ID_ANY, label="")
         self.unitstxt = wx.StaticText(parent=self, id=wx.ID_ANY, label="")
-        self.sizer.Add(item=self.unitslabel, border=5, pos=(9, 0),
+        self.sizer.Add(self.unitslabel, border=5, pos=(9, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.unitstxt, border=5, pos=(9, 1),
+        self.sizer.Add(self.unitstxt, border=5, pos=(9, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         self.unitsmorelabel = wx.StaticText(parent=self, id=wx.ID_ANY,
                                             label="")
         self.unitsmoretxt = wx.StaticText(parent=self, id=wx.ID_ANY, label="")
-        self.sizer.Add(item=self.unitsmorelabel, border=5, pos=(10, 0),
+        self.sizer.Add(self.unitsmorelabel, border=5, pos=(10, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.unitsmoretxt, border=5, pos=(10, 1),
+        self.sizer.Add(self.unitsmoretxt, border=5, pos=(10, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
         self.unitsmorelabel2 = wx.StaticText(parent=self, id=wx.ID_ANY,
                                              label="")
         self.unitsmoretxt2 = wx.StaticText(parent=self, id=wx.ID_ANY, label="")
-        self.sizer.Add(item=self.unitsmorelabel2, border=5, pos=(11, 0),
+        self.sizer.Add(self.unitsmorelabel2, border=5, pos=(11, 0),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
-        self.sizer.Add(item=self.unitsmoretxt2, border=5, pos=(11, 1),
+        self.sizer.Add(self.unitsmoretxt2, border=5, pos=(11, 1),
                        flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL | wx.ALL)
 
     def OnEnterPage(self, event):

+ 29 - 29
gui/wxpython/vdigit/dialogs.py

@@ -28,7 +28,7 @@ from core.gcmd import RunCommand, GError
 from core.debug import Debug
 from core.settings import UserSettings
 from core.utils import _
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 
 
 class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
@@ -103,7 +103,7 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
             self.fidMulti.SetItems(choices)
             self.fidMulti.SetSelection(0)
 
-        listSizer.Add(item=self.list, proportion=1, flag=wx.EXPAND)
+        listSizer.Add(self.list, proportion=1, flag=wx.EXPAND)
 
         # add new category
         box = wx.StaticBox(parent=self, id=wx.ID_ANY,
@@ -127,21 +127,21 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
         except KeyError:
             newCat = 1
         self.catNew = SpinCtrl(parent=self, id=wx.ID_ANY, size=(75, -1),
-                                  initial=newCat, min=0, max=1e9)
+                               initial=newCat, min=0, max=1e9)
         btnAddCat = wx.Button(self, wx.ID_ADD)
-        flexSizer.Add(item=layerNewTxt, proportion=0,
+        flexSizer.Add(layerNewTxt, proportion=0,
                       flag=wx.FIXED_MINSIZE | wx.ALIGN_CENTER_VERTICAL)
-        flexSizer.Add(item=self.layerNew, proportion=0,
+        flexSizer.Add(self.layerNew, proportion=0,
                       flag=wx.FIXED_MINSIZE | wx.ALIGN_CENTER_VERTICAL)
-        flexSizer.Add(item=catNewTxt, proportion=0,
+        flexSizer.Add(catNewTxt, proportion=0,
                       flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT | wx.LEFT,
                       border=10)
-        flexSizer.Add(item=self.catNew, proportion=0,
+        flexSizer.Add(self.catNew, proportion=0,
                       flag=wx.FIXED_MINSIZE | wx.ALIGN_CENTER_VERTICAL)
-        flexSizer.Add(item=btnAddCat, proportion=0,
+        flexSizer.Add(btnAddCat, proportion=0,
                       flag=wx.EXPAND | wx.ALIGN_RIGHT | wx.FIXED_MINSIZE)
         addSizer.Add(
-            item=flexSizer,
+            flexSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=5)
@@ -165,23 +165,23 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
         btnSizer.Realize()
 
         mainSizer = wx.BoxSizer(wx.VERTICAL)
-        mainSizer.Add(item=listSizer, proportion=1,
+        mainSizer.Add(listSizer, proportion=1,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
-        mainSizer.Add(item=addSizer, proportion=0,
+        mainSizer.Add(addSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALIGN_CENTER |
                       wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5)
         fidSizer = wx.BoxSizer(wx.HORIZONTAL)
-        fidSizer.Add(item=wx.StaticText(parent=self, id=wx.ID_ANY,
-                                        label=_("Feature id:")),
+        fidSizer.Add(wx.StaticText(parent=self, id=wx.ID_ANY,
+                                   label=_("Feature id:")),
                      proportion=0, border=5,
                      flag=wx.ALIGN_CENTER_VERTICAL)
-        fidSizer.Add(item=self.fidMulti, proportion=0,
+        fidSizer.Add(self.fidMulti, proportion=0,
                      flag=wx.EXPAND | wx.ALL, border=5)
-        fidSizer.Add(item=self.fidText, proportion=0,
+        fidSizer.Add(self.fidText, proportion=0,
                      flag=wx.EXPAND | wx.ALL, border=5)
-        mainSizer.Add(item=fidSizer, proportion=0,
+        mainSizer.Add(fidSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL, border=5)
-        mainSizer.Add(item=btnSizer, proportion=0,
+        mainSizer.Add(btnSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         self.SetSizer(mainSizer)
@@ -621,7 +621,7 @@ class VDigitZBulkDialog(wx.Dialog):
             parent=self,
             label=_("%d lines selected for z bulk-labeling") %
             nselected)
-        border.Add(item=txt, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(txt, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         box = wx.StaticBox(
             parent=self,
@@ -636,8 +636,8 @@ class VDigitZBulkDialog(wx.Dialog):
         txt = wx.StaticText(parent=self,
                             label=_("Starting value"))
         self.value = SpinCtrl(parent=self, id=wx.ID_ANY, size=(150, -1),
-                                 initial=0,
-                                 min=-1e6, max=1e6)
+                              initial=0,
+                              min=-1e6, max=1e6)
         flexSizer.Add(txt, proportion=0, flag=wx.ALIGN_CENTER_VERTICAL)
         flexSizer.Add(
             self.value,
@@ -648,8 +648,8 @@ class VDigitZBulkDialog(wx.Dialog):
         txt = wx.StaticText(parent=self,
                             label=_("Step"))
         self.step = SpinCtrl(parent=self, id=wx.ID_ANY, size=(150, -1),
-                                initial=0,
-                                min=0, max=1e6)
+                             initial=0,
+                             min=0, max=1e6)
         flexSizer.Add(txt, proportion=0, flag=wx.ALIGN_CENTER_VERTICAL)
         flexSizer.Add(
             self.step,
@@ -657,11 +657,11 @@ class VDigitZBulkDialog(wx.Dialog):
             flag=wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
 
         sizer.Add(
-            item=flexSizer,
+            flexSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=1)
-        border.Add(item=sizer, proportion=1, flag=wx.ALL | wx.EXPAND, border=0)
+        border.Add(sizer, proportion=1, flag=wx.ALL | wx.EXPAND, border=0)
 
         # buttons
         btnCancel = wx.Button(self, wx.ID_CANCEL)
@@ -676,11 +676,11 @@ class VDigitZBulkDialog(wx.Dialog):
 
         mainSizer = wx.BoxSizer(wx.VERTICAL)
         mainSizer.Add(
-            item=border,
+            border,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        mainSizer.Add(item=btnSizer, proportion=0,
+        mainSizer.Add(btnSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         self.SetSizer(mainSizer)
@@ -723,7 +723,7 @@ class VDigitDuplicatesDialog(wx.Dialog):
             win = CheckListFeature(parent=panel, data=list(self.data[key]))
             self.winList.append(win.GetId())
 
-            border.Add(item=win, proportion=1,
+            border.Add(win, proportion=1,
                        flag=wx.ALL | wx.EXPAND, border=5)
 
             panel.SetSizer(border)
@@ -743,11 +743,11 @@ class VDigitDuplicatesDialog(wx.Dialog):
 
         mainSizer = wx.BoxSizer(wx.VERTICAL)
         mainSizer.Add(
-            item=self.notebook,
+            self.notebook,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        mainSizer.Add(item=btnSizer, proportion=0,
+        mainSizer.Add(btnSizer, proportion=0,
                       flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER, border=5)
 
         self.SetSizer(mainSizer)

+ 6 - 5
gui/wxpython/vdigit/mapwindow.py

@@ -28,6 +28,7 @@ from core.utils import ListOfCatsToRange, _
 from core.globalvar import QUERYLAYER
 from vdigit.dialogs import VDigitCategoryDialog, VDigitZBulkDialog, VDigitDuplicatesDialog
 from gui_core import gselect
+from gui_core.wrap import PseudoDC
 
 
 class VDigitWindow(BufferedMapWindow):
@@ -42,7 +43,7 @@ class VDigitWindow(BufferedMapWindow):
                                    style=style, **kwargs)
         self.lmgr = lmgr
         self.tree = tree
-        self.pdcVector = wx.PseudoDC()
+        self.pdcVector = PseudoDC()
         self.toolbar = self.parent.GetToolbar('vdigit')
         self.digit = None  # wxvdigit.IVDigit
         self._digitizingInfo = False  # digitizing with info
@@ -216,7 +217,7 @@ class VDigitWindow(BufferedMapWindow):
             # add new point to the line
             self.polycoords.append(
                 self.Pixel2Cell(
-                    event.GetPositionTuple()[:]))
+                    event.GetPosition()))
             self.DrawLines(pdc=self.pdcTmp)
 
     def _geomAttrb(self, fid, dialog, attrb):
@@ -463,7 +464,7 @@ class VDigitWindow(BufferedMapWindow):
         if len(self.polycoords) > 1:  # start new line
             self.polycoords = []
             self.ClearLines(pdc=self.pdcTmp)
-        self.polycoords.append(self.Pixel2Cell(event.GetPositionTuple()[:]))
+        self.polycoords.append(self.Pixel2Cell(event.GetPosition()))
         if len(self.polycoords) == 1:
             begin = self.Pixel2Cell(self.polycoords[-1])
             end = self.Pixel2Cell(self.mouse['end'])
@@ -923,7 +924,7 @@ class VDigitWindow(BufferedMapWindow):
         if action in ("moveLine", "moveVertex") and \
                 hasattr(self, "moveInfo"):
             pFrom = self.moveInfo['begin']
-            pTo = self.Pixel2Cell(event.GetPositionTuple())
+            pTo = self.Pixel2Cell(event.GetPosition())
 
             move = (pTo[0] - pFrom[0],
                     pTo[1] - pFrom[1])
@@ -1109,7 +1110,7 @@ class VDigitWindow(BufferedMapWindow):
             self.UpdateMap(render=False)
 
     def _onMouseMoving(self, event):
-        self.mouse['end'] = event.GetPositionTuple()[:]
+        self.mouse['end'] = event.GetPosition()
 
         Debug.msg(5, "VDigitWindow.OnMouseMoving(): coords=%f,%f" %
                   (self.mouse['end'][0], self.mouse['end'][1]))

+ 55 - 55
gui/wxpython/vdigit/preferences.py

@@ -25,7 +25,7 @@ from gui_core.gselect import ColumnSelect
 from core.units import Units
 from core.settings import UserSettings
 from core.utils import _
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl, Button
 
 
 class VDigitSettingsDialog(wx.Dialog):
@@ -54,23 +54,23 @@ class VDigitSettingsDialog(wx.Dialog):
         self._createQueryPage(notebook)
 
         # buttons
-        btnApply = wx.Button(self, wx.ID_APPLY)
-        btnCancel = wx.Button(self, wx.ID_CLOSE)
-        btnSave = wx.Button(self, wx.ID_SAVE)
+        btnApply = Button(self, wx.ID_APPLY)
+        btnCancel = Button(self, wx.ID_CLOSE)
+        btnSave = Button(self, wx.ID_SAVE)
         btnSave.SetDefault()
 
         # bindigs
         btnApply.Bind(wx.EVT_BUTTON, self.OnApply)
-        btnApply.SetToolTipString(_("Apply changes for this session"))
+        btnApply.SetToolTip(_("Apply changes for this session"))
         btnApply.SetDefault()
         btnSave.Bind(wx.EVT_BUTTON, self.OnSave)
-        btnSave.SetToolTipString(
+        btnSave.SetToolTip(
             _("Close dialog and save changes to user settings file"))
         btnCancel.Bind(wx.EVT_BUTTON, self.OnCancel)
-        btnCancel.SetToolTipString(_("Close dialog and ignore changes"))
+        btnCancel.SetToolTip(_("Close dialog and ignore changes"))
 
         # sizers
-        btnSizer = wx.wx.BoxSizer(wx.HORIZONTAL)
+        btnSizer = wx.BoxSizer(wx.HORIZONTAL)
         btnSizer.Add(btnCancel, proportion=0,
                      flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
         btnSizer.Add(btnApply, proportion=0,
@@ -80,11 +80,11 @@ class VDigitSettingsDialog(wx.Dialog):
 
         mainSizer = wx.BoxSizer(wx.VERTICAL)
         mainSizer.Add(
-            item=notebook,
+            notebook,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
-        mainSizer.Add(item=btnSizer, proportion=0,
+        mainSizer.Add(btnSizer, proportion=0,
                       flag=wx.ALIGN_RIGHT, border=5)
 
         self.Bind(wx.EVT_CLOSE, self.OnCancel)
@@ -135,7 +135,7 @@ class VDigitSettingsDialog(wx.Dialog):
             color.SetName("GetColour")
 
         sizer.Add(
-            item=flexSizer,
+            flexSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=10)
@@ -186,11 +186,11 @@ class VDigitSettingsDialog(wx.Dialog):
             border=10)
 
         sizer.Add(
-            item=flexSizer,
+            flexSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=1)
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         #
         # snapping section
@@ -243,19 +243,19 @@ class VDigitSettingsDialog(wx.Dialog):
                 group='vdigit',
                 key="snapToVertex",
                 subkey='enabled'))
-        vertexSizer.Add(item=self.snapVertex, proportion=0, flag=wx.EXPAND)
+        vertexSizer.Add(self.snapVertex, proportion=0, flag=wx.EXPAND)
         self.mapUnits = self.parent.MapWindow.Map.GetProjInfo()['units']
         self.snappingInfo = wx.StaticText(
             parent=panel, id=wx.ID_ANY,
             label=_("Snapping threshold is %(value).1f %(units)s") %
             {'value': self.digit.GetDisplay().GetThreshold(),
              'units': self.mapUnits})
-        vertexSizer.Add(item=self.snappingInfo, proportion=0,
+        vertexSizer.Add(self.snappingInfo, proportion=0,
                         flag=wx.ALL | wx.EXPAND, border=1)
 
-        sizer.Add(item=flexSizer, proportion=1, flag=wx.EXPAND)
-        sizer.Add(item=vertexSizer, proportion=1, flag=wx.EXPAND)
-        border.Add(item=sizer, proportion=0, flag=wx.LEFT |
+        sizer.Add(flexSizer, proportion=1, flag=wx.EXPAND)
+        sizer.Add(vertexSizer, proportion=1, flag=wx.EXPAND)
+        border.Add(sizer, proportion=0, flag=wx.LEFT |
                    wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=5)
 
         #
@@ -276,9 +276,9 @@ class VDigitSettingsDialog(wx.Dialog):
             self.selectFeature[feature] = chkbox.GetId()
             chkbox.SetValue(UserSettings.Get(group='vdigit', key='selectType',
                                              subkey=[feature, 'enabled']))
-            inSizer.Add(item=chkbox, proportion=0,
+            inSizer.Add(chkbox, proportion=0,
                         flag=wx.EXPAND | wx.ALL, border=5)
-        sizer.Add(item=inSizer, proportion=0, flag=wx.EXPAND)
+        sizer.Add(inSizer, proportion=0, flag=wx.EXPAND)
         # threshold
         flexSizer = wx.FlexGridSizer(cols=3, hgap=5, vgap=5)
         flexSizer.AddGrowableCol(0)
@@ -323,18 +323,18 @@ class VDigitSettingsDialog(wx.Dialog):
                 key="checkForDupl",
                 subkey='enabled'))
 
-        sizer.Add(item=flexSizer, proportion=0, flag=wx.EXPAND)
+        sizer.Add(flexSizer, proportion=0, flag=wx.EXPAND)
         sizer.Add(
-            item=self.selectIn,
+            self.selectIn,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=1)
         sizer.Add(
-            item=self.checkForDupl,
+            self.checkForDupl,
             proportion=0,
             flag=wx.EXPAND | wx.ALL,
             border=1)
-        border.Add(item=sizer, proportion=0, flag=wx.EXPAND |
+        border.Add(sizer, proportion=0, flag=wx.EXPAND |
                    wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5)
 
         #
@@ -354,12 +354,12 @@ class VDigitSettingsDialog(wx.Dialog):
                 subkey='enabled'))
 
         sizer.Add(
-            item=self.intersect,
+            self.intersect,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=1)
 
-        border.Add(item=sizer, proportion=0, flag=wx.EXPAND |
+        border.Add(sizer, proportion=0, flag=wx.EXPAND |
                    wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5)
 
         #
@@ -381,12 +381,12 @@ class VDigitSettingsDialog(wx.Dialog):
                 subkey='enabled'))
 
         sizer.Add(
-            item=self.closeBoundary,
+            self.closeBoundary,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=1)
 
-        border.Add(item=sizer, proportion=0, flag=wx.EXPAND |
+        border.Add(sizer, proportion=0, flag=wx.EXPAND |
                    wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5)
 
         #
@@ -406,11 +406,11 @@ class VDigitSettingsDialog(wx.Dialog):
                 key='saveOnExit',
                 subkey='enabled'))
         sizer.Add(
-            item=self.save,
+            self.save,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=1)
-        border.Add(item=sizer, proportion=0, flag=wx.EXPAND |
+        border.Add(sizer, proportion=0, flag=wx.EXPAND |
                    wx.LEFT | wx.RIGHT | wx.BOTTOM, border=5)
 
         panel.SetSizer(border)
@@ -447,7 +447,7 @@ class VDigitSettingsDialog(wx.Dialog):
                 subkey='box'))
 
         sizer.Add(
-            item=self.queryBox,
+            self.queryBox,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=1)
@@ -460,7 +460,7 @@ class VDigitSettingsDialog(wx.Dialog):
             parent=panel, id=wx.ID_ANY, label=_("length"))
         self.queryLength.Bind(wx.EVT_RADIOBUTTON, self.OnChangeQuery)
         sizer.Add(
-            item=self.queryLength,
+            self.queryLength,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=1)
@@ -502,7 +502,7 @@ class VDigitSettingsDialog(wx.Dialog):
             flag=wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
         flexSizer.Add(units, proportion=0, flag=wx.ALIGN_CENTER_VERTICAL)
         sizer.Add(
-            item=flexSizer,
+            flexSizer,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=1)
@@ -514,7 +514,7 @@ class VDigitSettingsDialog(wx.Dialog):
             parent=panel, id=wx.ID_ANY, label=_("dangle"))
         self.queryDangle.Bind(wx.EVT_RADIOBUTTON, self.OnChangeQuery)
         sizer.Add(
-            item=self.queryDangle,
+            self.queryDangle,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=1)
@@ -556,7 +556,7 @@ class VDigitSettingsDialog(wx.Dialog):
             flag=wx.ALIGN_CENTER | wx.FIXED_MINSIZE)
         flexSizer.Add(units, proportion=0, flag=wx.ALIGN_CENTER_VERTICAL)
         sizer.Add(
-            item=flexSizer,
+            flexSizer,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=1)
@@ -570,7 +570,7 @@ class VDigitSettingsDialog(wx.Dialog):
         # enable & disable items
         self.OnChangeQuery(None)
 
-        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
+        border.Add(sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=5)
 
         panel.SetSizer(border)
 
@@ -602,7 +602,7 @@ class VDigitSettingsDialog(wx.Dialog):
                 key="addRecord",
                 subkey='enabled'))
         sizer.Add(
-            item=self.addRecord,
+            self.addRecord,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=1)
@@ -614,11 +614,11 @@ class VDigitSettingsDialog(wx.Dialog):
         # layer
         text = wx.StaticText(parent=panel, id=wx.ID_ANY, label=_("Layer"))
         self.layer = SpinCtrl(parent=panel, id=wx.ID_ANY, size=(125, -1),
-                                 min=1, max=1e3)
+                              min=1, max=1e3)
         self.layer.SetValue(int(UserSettings.Get(
             group='vdigit', key="layer", subkey='value')))
-        flexSizer.Add(item=text, proportion=0, flag=wx.ALIGN_CENTER_VERTICAL)
-        flexSizer.Add(item=self.layer, proportion=0,
+        flexSizer.Add(text, proportion=0, flag=wx.ALIGN_CENTER_VERTICAL)
+        flexSizer.Add(self.layer, proportion=0,
                       flag=wx.FIXED_MINSIZE | wx.ALIGN_CENTER_VERTICAL)
         # category number
         text = wx.StaticText(
@@ -633,8 +633,8 @@ class VDigitSettingsDialog(wx.Dialog):
         if UserSettings.Get(group='vdigit', key="categoryMode",
                             subkey='selection') != 1:
             self.category.Enable(False)
-        flexSizer.Add(item=text, proportion=0, flag=wx.ALIGN_CENTER_VERTICAL)
-        flexSizer.Add(item=self.category, proportion=0,
+        flexSizer.Add(text, proportion=0, flag=wx.ALIGN_CENTER_VERTICAL)
+        flexSizer.Add(self.category, proportion=0,
                       flag=wx.FIXED_MINSIZE | wx.ALIGN_CENTER_VERTICAL)
         # category mode
         text = wx.StaticText(
@@ -648,16 +648,16 @@ class VDigitSettingsDialog(wx.Dialog):
                 group='vdigit',
                 key="categoryMode",
                 subkey='selection'))
-        flexSizer.Add(item=text, proportion=0, flag=wx.ALIGN_CENTER_VERTICAL)
-        flexSizer.Add(item=self.categoryMode, proportion=0,
+        flexSizer.Add(text, proportion=0, flag=wx.ALIGN_CENTER_VERTICAL)
+        flexSizer.Add(self.categoryMode, proportion=0,
                       flag=wx.FIXED_MINSIZE | wx.ALIGN_CENTER_VERTICAL)
 
         sizer.Add(
-            item=flexSizer,
+            flexSizer,
             proportion=1,
             flag=wx.ALL | wx.EXPAND,
             border=1)
-        border.Add(item=sizer, proportion=0,
+        border.Add(sizer, proportion=0,
                    flag=wx.ALL | wx.EXPAND, border=5)
 
         #
@@ -677,11 +677,11 @@ class VDigitSettingsDialog(wx.Dialog):
                 key="delRecord",
                 subkey='enabled'))
         sizer.Add(
-            item=self.deleteRecord,
+            self.deleteRecord,
             proportion=0,
             flag=wx.ALL | wx.EXPAND,
             border=1)
-        border.Add(item=sizer, proportion=0,
+        border.Add(sizer, proportion=0,
                    flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=5)
 
         #
@@ -755,26 +755,26 @@ class VDigitSettingsDialog(wx.Dialog):
             self.geomAttrb[attrb]['column'] = column.GetId()
             self.geomAttrb[attrb]['units'] = win_units.GetId()
 
-            gridSizer.Add(item=check,
+            gridSizer.Add(check,
                           flag=wx.ALIGN_CENTER_VERTICAL,
                           pos=(row, 0))
-            gridSizer.Add(item=column,
+            gridSizer.Add(column,
                           pos=(row, 1))
-            gridSizer.Add(item=win_units,
+            gridSizer.Add(win_units,
                           pos=(row, 2))
             row += 1
 
         note = '\n'.join(textwrap.wrap(_("Note: These settings are stored "
                                          "in the workspace not in the vector digitizer "
                                          "preferences."), 55))
-        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-                                         label=note),
+        gridSizer.Add(wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                    label=note),
                       pos=(3, 0), span=(1, 3))
 
         gridSizer.AddGrowableCol(0)
-        sizer.Add(item=gridSizer, proportion=1,
+        sizer.Add(gridSizer, proportion=1,
                   flag=wx.ALL | wx.EXPAND, border=1)
-        border.Add(item=sizer, proportion=0,
+        border.Add(sizer, proportion=0,
                    flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=5)
 
         # bindings

+ 2 - 1
gui/wxpython/vdigit/toolbars.py

@@ -21,6 +21,7 @@ from grass.pydispatch.signal import Signal
 
 from gui_core.toolbars import BaseToolbar, BaseIcons
 from gui_core.dialogs import CreateNewVector, VectorDialog
+from gui_core.wrap import PseudoDC
 from vdigit.preferences import VDigitSettingsDialog
 from core.debug import Debug
 from core.settings import UserSettings
@@ -903,7 +904,7 @@ class VDigitToolbar(BaseToolbar):
                                         "opening vector map <%s> for editing...") %
                                       mapLayer.GetName(), 0)
 
-        self.MapWindow.pdcVector = wx.PseudoDC()
+        self.MapWindow.pdcVector = PseudoDC()
         self.digit = self.MapWindow.digit = self.digitClass(
             mapwindow=self.MapWindow)
 

+ 73 - 73
gui/wxpython/vnet/dialogs.py

@@ -33,7 +33,10 @@ from grass.script import core as grass
 
 import wx
 import wx.aui
-import wx.lib.flatnotebook as FN
+try:
+    import wx.lib.agw.flatnotebook as FN
+except ImportError:
+    import wx.lib.flatnotebook as FN
 import wx.lib.colourselect as csel
 import wx.lib.mixins.listctrl as listmix
 import wx.lib.scrolledpanel as scrolled
@@ -49,7 +52,7 @@ from dbmgr.vinfo import VectorDBInfo
 from gui_core.widgets import GNotebook
 from gui_core.goutput import GConsoleWindow
 from gui_core.gselect import Select, LayerSelect, ColumnSelect
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 
 from vnet.widgets import PointsList
 from vnet.toolbars import MainToolbar, PointListToolbar, AnalysisToolbar
@@ -207,10 +210,10 @@ class VNETDialog(wx.Dialog):
 
         sizer = wx.BoxSizer(wx.VERTICAL)
 
-        sizer.Add(item=self.notebook, proportion=1,
+        sizer.Add(self.notebook, proportion=1,
                   flag=wx.EXPAND)
 
-        sizer.Add(item=self.stBar, proportion=0, flag=wx.EXPAND)
+        sizer.Add(self.stBar, proportion=0, flag=wx.EXPAND)
 
         self.mainPanel.SetSizer(sizer)
 
@@ -273,18 +276,18 @@ class VNETDialog(wx.Dialog):
         # Layout
         AnalysisSizer = wx.BoxSizer(wx.VERTICAL)
 
-        listSizer.Add(item=self.toolbars['pointsList'], proportion=0)
-        listSizer.Add(item=self.list, proportion=1, flag=wx.EXPAND)
+        listSizer.Add(self.toolbars['pointsList'], proportion=0)
+        listSizer.Add(self.list, proportion=1, flag=wx.EXPAND)
 
         maxDistSizer = wx.BoxSizer(wx.HORIZONTAL)
         maxDistSizer.Add(
-            item=maxDistLabel,
+            maxDistLabel,
             flag=wx.ALIGN_CENTER_VERTICAL,
             proportion=1)
-        maxDistSizer.Add(item=self.anSettings["max_dist"],
+        maxDistSizer.Add(self.anSettings["max_dist"],
                          flag=wx.EXPAND | wx.ALL, border=5, proportion=0)
         maxDistPanel.SetSizer(maxDistSizer)
-        anSettingsSizer.Add(item=maxDistPanel, proportion=1, flag=wx.EXPAND)
+        anSettingsSizer.Add(maxDistPanel, proportion=1, flag=wx.EXPAND)
 
         #showCutSizer = wx.BoxSizer(wx.HORIZONTAL)
         # showCutPanel.SetSizer(showCutSizer)
@@ -294,21 +297,21 @@ class VNETDialog(wx.Dialog):
 
         isoLinesSizer = wx.BoxSizer(wx.HORIZONTAL)
         isoLinesSizer.Add(
-            item=isoLineslabel,
+            isoLineslabel,
             flag=wx.ALIGN_CENTER_VERTICAL,
             proportion=1)
-        isoLinesSizer.Add(item=self.anSettings["iso_lines"],
+        isoLinesSizer.Add(self.anSettings["iso_lines"],
                           flag=wx.EXPAND | wx.ALL, border=5, proportion=1)
         isoLinesPanel.SetSizer(isoLinesSizer)
-        anSettingsSizer.Add(item=isoLinesPanel, proportion=1, flag=wx.EXPAND)
+        anSettingsSizer.Add(isoLinesPanel, proportion=1, flag=wx.EXPAND)
 
         AnalysisSizer.Add(
-            item=listSizer,
+            listSizer,
             proportion=1,
             flag=wx.EXPAND | wx.ALL,
             border=5)
         AnalysisSizer.Add(
-            item=anSettingsPanel,
+            anSettingsPanel,
             proportion=0,
             flag=wx.EXPAND | wx.RIGHT | wx.LEFT | wx.BOTTOM,
             border=5)
@@ -350,7 +353,7 @@ class VNETDialog(wx.Dialog):
 
         # Layout
         outputSizer = wx.BoxSizer(wx.VERTICAL)
-        outputSizer.Add(item=self.gwindow, proportion=1, flag=wx.EXPAND)
+        outputSizer.Add(self.gwindow, proportion=1, flag=wx.EXPAND)
         self.gwindow.SetMinSize((-1, -1))
 
         outputPanel.SetSizer(outputSizer)
@@ -432,7 +435,7 @@ class VNETDialog(wx.Dialog):
         # Layout
         mainSizer = wx.BoxSizer(wx.VERTICAL)
 
-        mainSizer.Add(item=bsizer, proportion=0,
+        mainSizer.Add(bsizer, proportion=0,
                       flag=wx.EXPAND | wx.TOP | wx.LEFT | wx.RIGHT, border=5)
 
         # , 'turn_layer', 'turn_cat_layer']:
@@ -450,10 +453,10 @@ class VNETDialog(wx.Dialog):
             selPanels[sel].SetSizer(self._doSelLayout(title=label[sel],
                                                       sel=self.inputData[sel],
                                                       btn=btn))
-            bsizer.Add(item=selPanels[sel], proportion=0,
+            bsizer.Add(selPanels[sel], proportion=0,
                        flag=wx.EXPAND)
 
-        mainSizer.Add(item=bsizer2, proportion=0,
+        mainSizer.Add(bsizer2, proportion=0,
                       flag=wx.EXPAND | wx.TOP | wx.LEFT | wx.RIGHT, border=5)
 
         for sel in ['arc_column', 'arc_backward_column', 'node_column']:
@@ -461,7 +464,7 @@ class VNETDialog(wx.Dialog):
                 self._doSelLayout(
                     title=label[sel],
                     sel=self.inputData[sel]))
-            bsizer2.Add(item=selPanels[sel], proportion=0,
+            bsizer2.Add(selPanels[sel], proportion=0,
                         flag=wx.EXPAND)
 
         dataPanel.SetSizer(mainSizer)
@@ -475,25 +478,25 @@ class VNETDialog(wx.Dialog):
         selSizer = wx.BoxSizer(orient=wx.VERTICAL)
 
         selTitleSizer = wx.BoxSizer(wx.HORIZONTAL)
-        selTitleSizer.Add(item=title, proportion=1,
+        selTitleSizer.Add(title, proportion=1,
                           flag=wx.LEFT | wx.TOP | wx.EXPAND, border=5)
 
-        selSizer.Add(item=selTitleSizer, proportion=0,
+        selSizer.Add(selTitleSizer, proportion=0,
                      flag=wx.EXPAND)
 
         if btn:
             selFiledSizer = wx.BoxSizer(orient=wx.HORIZONTAL)
-            selFiledSizer.Add(item=sel, proportion=1,
+            selFiledSizer.Add(sel, proportion=1,
                               flag=wx.EXPAND | wx.ALL)
 
-            selFiledSizer.Add(item=btn, proportion=0,
+            selFiledSizer.Add(btn, proportion=0,
                               flag=wx.EXPAND | wx.ALL)
 
-            selSizer.Add(item=selFiledSizer, proportion=0,
+            selSizer.Add(selFiledSizer, proportion=0,
                          flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                          border=5)
         else:
-            selSizer.Add(item=sel, proportion=1,
+            selSizer.Add(sel, proportion=1,
                          flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                          border=5)
         return selSizer
@@ -680,13 +683,13 @@ class VNETDialog(wx.Dialog):
             ptListToolbar = self.toolbars['pointsList']
             if ptListToolbar:
                 ptListToolbar.ToggleTool(
-                    id=ptListToolbar.GetToolId("insertPoint"), toggle=False)
+                    ptListToolbar.GetToolId("insertPoint"), False)
 
         if method == "EditMode" and kwargs["activated"]:
             ptListToolbar = self.toolbars['pointsList']
             if ptListToolbar:
                 ptListToolbar.ToggleTool(
-                    id=ptListToolbar.GetToolId("insertPoint"), toggle=True)
+                    ptListToolbar.GetToolId("insertPoint"), True)
 
         if method == "SetPointData" and (
                 "e" in kwargs.keys() or "n" in kwargs.keys()):
@@ -909,8 +912,7 @@ class VNETDialog(wx.Dialog):
 
         mainToolbar = self.toolbars['mainToolbar']
         id = vars(mainToolbar)['showResult']
-        mainToolbar.ToggleTool(id=id,
-                               toggle=True)
+        mainToolbar.ToggleTool(id, True)
 
         self.stBar.RemoveStatusItem(key='analyze')
 
@@ -926,8 +928,7 @@ class VNETDialog(wx.Dialog):
         toggleState = mainToolbar.GetToolState(id)
 
         if not self.tmp_result:
-            mainToolbar.ToggleTool(id=id,
-                                   toggle=False)
+            mainToolbar.ToggleTool(id, False)
         elif toggleState:
             self.vnet_mgr.ShowResult(True)
         else:
@@ -1005,8 +1006,7 @@ class VNETDialog(wx.Dialog):
         if evt == "deactivated":
             self.stBar.RemoveStatusItem(key='snap')
             ptListToolbar = self.toolbars['pointsList']
-            ptListToolbar.ToggleTool(id=ptListToolbar.GetToolId("snapping"),
-                                     toggle=False)
+            ptListToolbar.ToggleTool(ptListToolbar.GetToolId("snapping"), False)
 
         elif evt == "computing_points":
             self.stBar.AddStatusItem(text=_('Computing nodes...'),
@@ -1322,46 +1322,46 @@ class SettingsDialog(wx.Dialog):
 
         row = 0
         gridSizer.Add(
-            item=settsLabels["line_color"],
+            settsLabels["line_color"],
             flag=wx.ALIGN_CENTER_VERTICAL,
             pos=(
                 row,
                 0))
-        gridSizer.Add(item=self.settings["line_color"],
+        gridSizer.Add(self.settings["line_color"],
                       flag=wx.ALIGN_RIGHT | wx.ALL, border=5,
                       pos=(row, 1))
 
         row += 1
         gridSizer.Add(
-            item=settsLabels["line_width"],
+            settsLabels["line_width"],
             flag=wx.ALIGN_CENTER_VERTICAL,
             pos=(
                 row,
                 0))
-        gridSizer.Add(item=self.settings["line_width"],
+        gridSizer.Add(self.settings["line_width"],
                       flag=wx.ALIGN_RIGHT | wx.ALL, border=5,
                       pos=(row, 1))
         row += 1
         gridSizer.Add(
-            item=settsLabels['color_table'],
+            settsLabels['color_table'],
             flag=wx.ALIGN_CENTER_VERTICAL,
             pos=(
                 row,
                 0))
-        gridSizer.Add(item=self.settings['color_table'],
+        gridSizer.Add(self.settings['color_table'],
                       flag=wx.ALIGN_RIGHT | wx.ALL, border=5,
                       pos=(row, 1))
 
         row += 1
         gridSizer.Add(
-            item=self.settings["invert_colors"],
+            self.settings["invert_colors"],
             flag=wx.ALIGN_CENTER_VERTICAL,
             pos=(
                 row,
                 0))
 
         gridSizer.AddGrowableCol(1)
-        styleBoxSizer.Add(item=gridSizer, flag=wx.EXPAND)
+        styleBoxSizer.Add(gridSizer, flag=wx.EXPAND)
 
         # Point style layout
         gridSizer = wx.GridBagSizer(vgap=1, hgap=1)
@@ -1379,18 +1379,18 @@ class SettingsDialog(wx.Dialog):
         for settKey in settsOrder:
             sett = setts[settKey]
             gridSizer.Add(
-                item=settsLabels[settKey],
+                settsLabels[settKey],
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     row,
                     0))
-            gridSizer.Add(item=self.settings[settKey],
+            gridSizer.Add(self.settings[settKey],
                           flag=wx.ALIGN_RIGHT | wx.ALL, border=5,
                           pos=(row, 1))
             row += 1
 
         gridSizer.AddGrowableCol(1)
-        ptsStyleBoxSizer.Add(item=gridSizer, flag=wx.EXPAND)
+        ptsStyleBoxSizer.Add(gridSizer, flag=wx.EXPAND)
 
         # Other settings layout
         gridSizer = wx.GridBagSizer(vgap=1, hgap=1)
@@ -1398,29 +1398,29 @@ class SettingsDialog(wx.Dialog):
         row = 0
         for otherSettName in ["snap_tresh", "max_hist_steps"]:
             gridSizer.Add(
-                item=settsLabels[otherSettName],
+                settsLabels[otherSettName],
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     row,
                     0))
-            gridSizer.Add(item=self.settings[otherSettName],
+            gridSizer.Add(self.settings[otherSettName],
                           flag=wx.ALIGN_RIGHT | wx.ALL, border=5,
                           pos=(row, 1))
             row += 1
 
         gridSizer.AddGrowableCol(1)
-        otherBoxSizer.Add(item=gridSizer, flag=wx.EXPAND)
+        otherBoxSizer.Add(gridSizer, flag=wx.EXPAND)
 
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
         btnSizer.Add(self.btnApply, flag=wx.LEFT | wx.RIGHT, border=5)
         btnSizer.Add(self.btnSave, flag=wx.LEFT | wx.RIGHT, border=5)
         btnSizer.Add(self.btnClose, flag=wx.LEFT | wx.RIGHT, border=5)
 
-        sizer.Add(item=styleBoxSizer, flag=wx.EXPAND | wx.ALL, border=5)
-        sizer.Add(item=ptsStyleBoxSizer, flag=wx.EXPAND | wx.ALL, border=5)
-        sizer.Add(item=otherBoxSizer, flag=wx.EXPAND | wx.ALL, border=5)
+        sizer.Add(styleBoxSizer, flag=wx.EXPAND | wx.ALL, border=5)
+        sizer.Add(ptsStyleBoxSizer, flag=wx.EXPAND | wx.ALL, border=5)
+        sizer.Add(otherBoxSizer, flag=wx.EXPAND | wx.ALL, border=5)
         sizer.Add(
-            item=btnSizer,
+            btnSizer,
             flag=wx.EXPAND | wx.ALL,
             border=5,
             proportion=0)
@@ -1524,7 +1524,7 @@ class CreateTtbDialog(wx.Dialog):
         # Layout
         mainSizer = wx.BoxSizer(wx.VERTICAL)
 
-        mainSizer.Add(item=bsizer, proportion=0,
+        mainSizer.Add(bsizer, proportion=0,
                       flag=wx.EXPAND | wx.TOP | wx.LEFT | wx.RIGHT, border=5)
 
         btn = None
@@ -1534,7 +1534,7 @@ class CreateTtbDialog(wx.Dialog):
             selPanels[sel].SetSizer(self._doSelLayout(title=label[sel],
                                                       sel=self.inputData[sel],
                                                       btn=btn))
-            bsizer.Add(item=selPanels[sel], proportion=0,
+            bsizer.Add(selPanels[sel], proportion=0,
                        flag=wx.EXPAND)
 
         for k, v in init_data.iteritems():
@@ -1549,7 +1549,7 @@ class CreateTtbDialog(wx.Dialog):
         btnSizer.AddButton(self.btnOk)
         btnSizer.Realize()
 
-        mainSizer.Add(item=btnSizer, proportion=0,
+        mainSizer.Add(btnSizer, proportion=0,
                       flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
 
         self.SetSizer(mainSizer)
@@ -1561,25 +1561,25 @@ class CreateTtbDialog(wx.Dialog):
         selSizer = wx.BoxSizer(orient=wx.VERTICAL)
 
         selTitleSizer = wx.BoxSizer(wx.HORIZONTAL)
-        selTitleSizer.Add(item=title, proportion=1,
+        selTitleSizer.Add(title, proportion=1,
                           flag=wx.LEFT | wx.TOP | wx.EXPAND, border=5)
 
-        selSizer.Add(item=selTitleSizer, proportion=0,
+        selSizer.Add(selTitleSizer, proportion=0,
                      flag=wx.EXPAND)
 
         if btn:
             selFiledSizer = wx.BoxSizer(orient=wx.HORIZONTAL)
-            selFiledSizer.Add(item=sel, proportion=1,
+            selFiledSizer.Add(sel, proportion=1,
                               flag=wx.EXPAND | wx.ALL)
 
-            selFiledSizer.Add(item=btn, proportion=0,
+            selFiledSizer.Add(btn, proportion=0,
                               flag=wx.EXPAND | wx.ALL)
 
-            selSizer.Add(item=selFiledSizer, proportion=0,
+            selSizer.Add(selFiledSizer, proportion=0,
                          flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                          border=5)
         else:
-            selSizer.Add(item=sel, proportion=1,
+            selSizer.Add(sel, proportion=1,
                          flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                          border=5)
         return selSizer
@@ -1654,14 +1654,14 @@ class OutputVectorDialog(wx.Dialog):
 
         sizer = wx.BoxSizer(wx.VERTICAL)
 
-        self.boxSizer.Add(item=self.vectSellabel,
+        self.boxSizer.Add(self.vectSellabel,
                           flag=wx.ALIGN_CENTER_VERTICAL,
                           proportion=0)
 
-        self.boxSizer.Add(item=self.vectSel, proportion=1,
+        self.boxSizer.Add(self.vectSel, proportion=1,
                           flag=wx.EXPAND | wx.ALL, border=5)
 
-        sizer.Add(item=self.boxSizer, proportion=1,
+        sizer.Add(self.boxSizer, proportion=1,
                   flag=wx.EXPAND | wx.ALL, border=5)
 
         btnSizer = wx.StdDialogButtonSizer()
@@ -1669,7 +1669,7 @@ class OutputVectorDialog(wx.Dialog):
         btnSizer.AddButton(self.btnOk)
         btnSizer.Realize()
 
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
 
         self.panel.SetSizer(sizer)
@@ -1756,7 +1756,7 @@ class DefIntesectionTurnCostDialog(wx.Dialog):
     def layout(self):
         sizer = wx.BoxSizer(wx.VERTICAL)
 
-        sizer.Add(item=self.browsePage, proportion=1,
+        sizer.Add(self.browsePage, proportion=1,
                   flag=wx.EXPAND)
 
         self.SetSizer(sizer)
@@ -1815,40 +1815,40 @@ class DefGlobalTurnsDialog(wx.Dialog):
         closeSizer = wx.BoxSizer(wx.HORIZONTAL)
 
         addRemoveSizer.Add(
-            item=self.btnAdd,
+            self.btnAdd,
             proportion=0,
             flag=wx.ALIGN_RIGHT,
             border=10)
         addRemoveSizer.Add(
-            item=self.btnRemove,
+            self.btnRemove,
             proportion=0,
             flag=wx.ALIGN_RIGHT,
             border=10)
 
         labelSizer.Add(
-            item=self.angle_list,
+            self.angle_list,
             proportion=1,
             flag=wx.EXPAND,
             border=10)
         labelSizer.Add(
-            item=addRemoveSizer,
+            addRemoveSizer,
             proportion=0,
             flag=wx.ALIGN_RIGHT,
             border=10)
 
         closeSizer.Add(
-            item=self.useUTurns,
+            self.useUTurns,
             proportion=1,
             flag=wx.ALIGN_LEFT,
             border=10)
         closeSizer.Add(
-            item=self.btnClose,
+            self.btnClose,
             proportion=0,
             flag=wx.ALIGN_RIGHT,
             border=10)
 
-        sizer.Add(item=labelSizer, proportion=1, flag=wx.EXPAND)
-        sizer.Add(item=closeSizer, proportion=0, flag=wx.EXPAND)
+        sizer.Add(labelSizer, proportion=1, flag=wx.EXPAND)
+        sizer.Add(closeSizer, proportion=0, flag=wx.EXPAND)
 
         self.SetSizer(sizer)
 

+ 1 - 2
gui/wxpython/vnet/toolbars.py

@@ -161,8 +161,7 @@ class MainToolbar(BaseToolbar):
     def UpdateUndoRedo(self, curr_step, steps_num):
 
         id = vars(self)['showResult']
-        self.ToggleTool(id=id,
-                        toggle=True)
+        self.ToggleTool(id, True)
 
         if curr_step >= steps_num:
             self.Enable("undo", False)

+ 13 - 7
gui/wxpython/vnet/widgets.py

@@ -141,12 +141,18 @@ class PointsList(wx.ListCtrl,
             info.SetMask(
                 wx.LIST_MASK_TEXT | wx.LIST_MASK_IMAGE | wx.LIST_MASK_FORMAT)
             info.SetImage(-1)
-            info.m_format = wx.LIST_FORMAT_LEFT
+            if globalvar.wxPythonPhoenix:
+                info.Format = wx.LIST_FORMAT_LEFT
+            else:
+                info.m_format = wx.LIST_FORMAT_LEFT
 
             for col in enumerate(self.colsData):
                 iLabel = self.dataTypes["colLabel"]
                 info.SetText(col[1][iLabel])
-                self.InsertColumnInfo(col[0], info)
+                if globalvar.wxPythonPhoenix:
+                    self.InsertColumn(col[0], info)
+                else:
+                    self.InsertColumnInfo(col[0], info)
 
     def AddItem(self):
         """Appends an item to list with default values"""
@@ -597,13 +603,13 @@ class EditItem(wx.Dialog):
                         cell[0]).GetText()) +
                 ":")  # name of column)
 
-            gridSizer.Add(item=label,
+            gridSizer.Add(label,
                           flag=wx.ALIGN_CENTER_VERTICAL,
                           pos=(row, col))
 
             col += 1
 
-            gridSizer.Add(item=self.fields[iField],
+            gridSizer.Add(self.fields[iField],
                           pos=(row, col))
 
             if col % 3 == 0:
@@ -614,10 +620,10 @@ class EditItem(wx.Dialog):
 
             iField += 1
 
-        boxSizer.Add(item=gridSizer, proportion=1,
+        boxSizer.Add(gridSizer, proportion=1,
                      flag=wx.EXPAND | wx.ALL, border=5)
 
-        sizer.Add(item=boxSizer, proportion=1,
+        sizer.Add(boxSizer, proportion=1,
                   flag=wx.EXPAND | wx.ALL, border=5)
 
         #
@@ -632,7 +638,7 @@ class EditItem(wx.Dialog):
         btnSizer.AddButton(self.btnOk)
         btnSizer.Realize()
 
-        sizer.Add(item=btnSizer, proportion=0,
+        sizer.Add(btnSizer, proportion=0,
                   flag=wx.ALIGN_RIGHT | wx.ALL, border=5)
 
         panel.SetSizer(sizer)

+ 60 - 59
gui/wxpython/web_services/dialogs.py

@@ -36,6 +36,7 @@ from core.utils import GetSettingsPath, _
 from core.gconsole import CmdThread, GStderr, EVT_CMD_DONE, EVT_CMD_OUTPUT
 
 from gui_core.gselect import Select
+from gui_core.wrap import Button
 
 from web_services.widgets import WSPanel, WSManageSettingsWidget
 
@@ -98,9 +99,9 @@ class WSDialogBase(wx.Dialog):
                                         id=wx.ID_ANY, label=_("Server:"))
         self.server = wx.TextCtrl(parent=self, id=wx.ID_ANY)
 
-        self.btn_connect = wx.Button(parent=self,
-                                     id=wx.ID_ANY, label=_("&Connect"))
-        self.btn_connect.SetToolTipString(_("Connect to the server"))
+        self.btn_connect = Button(parent=self,
+                                  id=wx.ID_ANY, label=_("&Connect"))
+        self.btn_connect.SetToolTip(_("Connect to the server"))
         if not self.server.GetValue():
             self.btn_connect.Enable(False)
 
@@ -140,8 +141,8 @@ class WSDialogBase(wx.Dialog):
                 self.OnLayerSelected)
 
         # buttons
-        self.btn_close = wx.Button(parent=self, id=wx.ID_CLOSE)
-        self.btn_close.SetToolTipString(_("Close dialog"))
+        self.btn_close = Button(parent=self, id=wx.ID_CLOSE)
+        self.btn_close.SetToolTip(_("Close dialog"))
 
         # statusbar
         self.statusbar = wx.StatusBar(parent=self, id=wx.ID_ANY)
@@ -166,7 +167,7 @@ class WSDialogBase(wx.Dialog):
 
         dialogSizer = wx.BoxSizer(wx.VERTICAL)
 
-        dialogSizer.Add(item=self.settsManager, proportion=0,
+        dialogSizer.Add(self.settsManager, proportion=0,
                         flag=wx.EXPAND | wx.TOP | wx.LEFT | wx.RIGHT, border=5)
 
         # connectin settings
@@ -174,21 +175,21 @@ class WSDialogBase(wx.Dialog):
 
         serverSizer = wx.FlexGridSizer(cols=3, vgap=5, hgap=5)
 
-        serverSizer.Add(item=self.serverText,
+        serverSizer.Add(self.serverText,
                         flag=wx.ALIGN_CENTER_VERTICAL)
         serverSizer.AddGrowableCol(1)
-        serverSizer.Add(item=self.server,
+        serverSizer.Add(self.server,
                         flag=wx.EXPAND | wx.ALL)
 
-        serverSizer.Add(item=self.btn_connect)
+        serverSizer.Add(self.btn_connect)
 
-        settingsSizer.Add(item=serverSizer, proportion=0,
+        settingsSizer.Add(serverSizer, proportion=0,
                           flag=wx.EXPAND | wx.LEFT | wx.RIGHT, border=5)
 
-        settingsSizer.Add(item=self.adv_conn,
+        settingsSizer.Add(self.adv_conn,
                           flag=wx.ALL | wx.EXPAND, border=5)
 
-        dialogSizer.Add(item=settingsSizer, proportion=0,
+        dialogSizer.Add(settingsSizer, proportion=0,
                         flag=wx.EXPAND | wx.TOP | wx.LEFT | wx.RIGHT, border=5)
 
         # layer name, parsed capabilites
@@ -197,29 +198,29 @@ class WSDialogBase(wx.Dialog):
 
         layerNameSizer = wx.StaticBoxSizer(self.layerNameBox, wx.HORIZONTAL)
 
-        layerNameSizer.Add(item=self.layerNameText,
+        layerNameSizer.Add(self.layerNameText,
                            flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL, border=5)
 
-        layerNameSizer.Add(item=self.layerName,
+        layerNameSizer.Add(self.layerName,
                            flag=wx.EXPAND, proportion=1)
 
-        reqDataSizer.Add(item=layerNameSizer, flag=wx.TOP |
+        reqDataSizer.Add(layerNameSizer, flag=wx.TOP |
                          wx.LEFT | wx.RIGHT | wx.EXPAND, border=5)
 
         self.ch_ws_sizer = wx.BoxSizer(wx.VERTICAL)
 
-        reqDataSizer.Add(item=self.ch_ws_sizer, proportion=0,
+        reqDataSizer.Add(self.ch_ws_sizer, proportion=0,
                          flag=wx.TOP | wx.EXPAND, border=5)
 
         for ws in self.ws_panels.iterkeys():
             reqDataSizer.Add(
-                item=self.ws_panels[ws]['panel'],
+                self.ws_panels[ws]['panel'],
                 proportion=1,
                 flag=wx.TOP | wx.LEFT | wx.RIGHT | wx.EXPAND,
                 border=5)
             self.ws_panels[ws]['panel'].Hide()
 
-        dialogSizer.Add(item=self.reqDataPanel, proportion=1,
+        dialogSizer.Add(self.reqDataPanel, proportion=1,
                         flag=wx.EXPAND)
 
         self.reqDataPanel.SetSizer(reqDataSizer)
@@ -228,17 +229,17 @@ class WSDialogBase(wx.Dialog):
         # buttons
         self.btnsizer = wx.BoxSizer(orient=wx.HORIZONTAL)
 
-        self.btnsizer.Add(item=self.btn_close, proportion=0,
+        self.btnsizer.Add(self.btn_close, proportion=0,
                           flag=wx.ALL | wx.ALIGN_CENTER,
                           border=10)
 
-        dialogSizer.Add(item=self.btnsizer, proportion=0,
+        dialogSizer.Add(self.btnsizer, proportion=0,
                         flag=wx.ALIGN_CENTER)
 
         # expand wxWidget wx.StatusBar
         statusbarSizer = wx.BoxSizer(wx.HORIZONTAL)
-        statusbarSizer.Add(item=self.statusbar, proportion=1, flag=wx.EXPAND)
-        dialogSizer.Add(item=statusbarSizer,
+        statusbarSizer.Add(self.statusbar, proportion=1, flag=wx.EXPAND)
+        dialogSizer.Add(statusbarSizer,
                         proportion=0,
                         flag=wx.EXPAND)
 
@@ -266,24 +267,24 @@ class WSDialogBase(wx.Dialog):
 
         usernameSizer = wx.BoxSizer(wx.HORIZONTAL)
 
-        usernameSizer.Add(item=self.usernameText,
+        usernameSizer.Add(self.usernameText,
                           flag=wx.ALIGN_CENTER_VERTICAL, border=5)
 
-        usernameSizer.Add(item=self.username, proportion=1,
+        usernameSizer.Add(self.username, proportion=1,
                           flag=wx.EXPAND, border=5)
 
-        adv_conn_sizer.Add(item=usernameSizer,
+        adv_conn_sizer.Add(usernameSizer,
                            flag=wx.ALL | wx.EXPAND, border=5)
 
         passwSizer = wx.BoxSizer(wx.HORIZONTAL)
 
-        passwSizer.Add(item=self.passwText,
+        passwSizer.Add(self.passwText,
                        flag=wx.ALIGN_CENTER_VERTICAL, border=5)
 
-        passwSizer.Add(item=self.password, proportion=1,
+        passwSizer.Add(self.password, proportion=1,
                        flag=wx.EXPAND, border=5)
 
-        adv_conn_sizer.Add(item=passwSizer,
+        adv_conn_sizer.Add(passwSizer,
                            flag=wx.ALL | wx.EXPAND, border=5)
 
         pane.SetSizer(adv_conn_sizer)
@@ -371,7 +372,7 @@ class WSDialogBase(wx.Dialog):
         """
         server = self.server.GetValue().strip()
 
-        self.ch_ws_sizer.Clear(deleteWindows=True)
+        self.ch_ws_sizer.Clear(True)
 
         if self.active_ws_panel is not None:
             self.reqDataPanel.Hide()
@@ -457,7 +458,7 @@ class WSDialogBase(wx.Dialog):
 
             self.Bind(wx.EVT_RADIOBOX, self.OnChooseWs, self.choose_ws_rb)
             self.ch_ws_sizer.Add(
-                item=self.choose_ws_rb,
+                self.choose_ws_rb,
                 flag=wx.TOP | wx.LEFT | wx.RIGHT | wx.EXPAND,
                 border=5)
             self._showWsPanel(
@@ -530,11 +531,11 @@ class AddWSDialog(WSDialogBase):
 
         WSDialogBase._createWidgets(self)
 
-        self.btn_add = wx.Button(
+        self.btn_add = Button(
             parent=self,
             id=wx.ID_ANY,
             label=_("&Add layer"))
-        self.btn_add.SetToolTipString(
+        self.btn_add.SetToolTip(
             _("Add selected web service layers as map layer into layer tree"))
         self.btn_add.Enable(False)
 
@@ -544,7 +545,7 @@ class AddWSDialog(WSDialogBase):
 
         WSDialogBase._doLayout(self)
 
-        self.btnsizer.Add(item=self.btn_add, proportion=0,
+        self.btnsizer.Add(self.btn_add, proportion=0,
                           flag=wx.ALL | wx.ALIGN_CENTER,
                           border=10)
 
@@ -679,14 +680,14 @@ class WSPropertiesDialog(WSDialogBase):
 
         WSDialogBase._createWidgets(self)
 
-        self.btn_apply = wx.Button(
+        self.btn_apply = Button(
             parent=self, id=wx.ID_ANY, label=_("&Apply"))
-        self.btn_apply.SetToolTipString(_("Apply changes"))
+        self.btn_apply.SetToolTip(_("Apply changes"))
         self.btn_apply.Enable(False)
         self.run_btns.append(self.btn_apply)
 
-        self.btn_ok = wx.Button(parent=self, id=wx.ID_ANY, label=_("&OK"))
-        self.btn_ok.SetToolTipString(_("Apply changes and close dialog"))
+        self.btn_ok = Button(parent=self, id=wx.ID_ANY, label=_("&OK"))
+        self.btn_ok.SetToolTip(_("Apply changes and close dialog"))
         self.btn_ok.Enable(False)
         self.run_btns.append(self.btn_ok)
 
@@ -694,11 +695,11 @@ class WSPropertiesDialog(WSDialogBase):
 
         WSDialogBase._doLayout(self)
 
-        self.btnsizer.Add(item=self.btn_apply, proportion=0,
+        self.btnsizer.Add(self.btn_apply, proportion=0,
                           flag=wx.ALL | wx.ALIGN_CENTER,
                           border=10)
 
-        self.btnsizer.Add(item=self.btn_ok, proportion=0,
+        self.btnsizer.Add(self.btn_ok, proportion=0,
                           flag=wx.ALL | wx.ALIGN_CENTER,
                           border=10)
 
@@ -711,7 +712,7 @@ class WSPropertiesDialog(WSDialogBase):
 
         For parameters description, see the constructor.
         """
-        self.ch_ws_sizer.Clear(deleteWindows=True)
+        self.ch_ws_sizer.Clear(True)
 
         self.cmd_to_set = cmd
 
@@ -895,14 +896,14 @@ class SaveWMSLayerDialog(wx.Dialog):
             size=globalvar.DIALOG_GSELECT_SIZE)
 
         # buttons
-        self.btn_close = wx.Button(parent=self, id=wx.ID_CLOSE)
-        self.btn_close.SetToolTipString(_("Close dialog"))
+        self.btn_close = Button(parent=self, id=wx.ID_CLOSE)
+        self.btn_close.SetToolTip(_("Close dialog"))
 
-        self.btn_ok = wx.Button(
+        self.btn_ok = Button(
             parent=self,
             id=wx.ID_OK,
             label=_("&Save layer"))
-        self.btn_ok.SetToolTipString(_("Save web service layer as raster map"))
+        self.btn_ok.SetToolTip(_("Save web service layer as raster map"))
 
         # statusbar
         self.statusbar = wx.StatusBar(parent=self, id=wx.ID_ANY)
@@ -916,48 +917,48 @@ class SaveWMSLayerDialog(wx.Dialog):
 
         regionSizer = wx.BoxSizer(wx.HORIZONTAL)
 
-        dialogSizer.Add(item=self._addSelectSizer(title=self.labels['output'],
-                                                  sel=self.params['output']))
+        dialogSizer.Add(self._addSelectSizer(title=self.labels['output'],
+                                             sel=self.params['output']))
 
         regionSizer = wx.StaticBoxSizer(self.regionStBoxLabel, wx.VERTICAL)
 
         regionTypeSizer = wx.BoxSizer(wx.HORIZONTAL)
         for r_type in self.region_types_order:
             regionTypeSizer.Add(
-                item=self.region_types[r_type],
+                self.region_types[r_type],
                 flag=wx.RIGHT, border=8)
 
-        regionSizer.Add(item=regionTypeSizer)
+        regionSizer.Add(regionTypeSizer)
 
         self.named_reg_panel.SetSizer(
             self._addSelectSizer(
                 title=self.labels['region'],
                 sel=self.params['region']))
-        regionSizer.Add(item=self.named_reg_panel)
+        regionSizer.Add(self.named_reg_panel)
         self.named_reg_panel.Hide()
 
-        dialogSizer.Add(item=regionSizer, flag=wx.EXPAND)
+        dialogSizer.Add(regionSizer, flag=wx.EXPAND)
 
-        dialogSizer.Add(item=self.overwrite, flag=wx.TOP, border=10)
+        dialogSizer.Add(self.overwrite, flag=wx.TOP, border=10)
 
         # buttons
         self.btnsizer = wx.BoxSizer(orient=wx.HORIZONTAL)
 
-        self.btnsizer.Add(item=self.btn_close, proportion=0,
+        self.btnsizer.Add(self.btn_close, proportion=0,
                           flag=wx.ALL | wx.ALIGN_CENTER,
                           border=10)
 
-        self.btnsizer.Add(item=self.btn_ok, proportion=0,
+        self.btnsizer.Add(self.btn_ok, proportion=0,
                           flag=wx.ALL | wx.ALIGN_CENTER,
                           border=10)
 
-        dialogSizer.Add(item=self.btnsizer, proportion=0,
+        dialogSizer.Add(self.btnsizer, proportion=0,
                         flag=wx.ALIGN_CENTER)
 
-        self._border.Add(item=dialogSizer, proportion=0,
+        self._border.Add(dialogSizer, proportion=0,
                          flag=wx.ALL, border=5)
 
-        self._border.Add(item=self.statusbar, proportion=0)
+        self._border.Add(self.statusbar, proportion=0)
 
         self.SetSizer(self._border)
         self.Layout()
@@ -982,13 +983,13 @@ class SaveWMSLayerDialog(wx.Dialog):
         selSizer = wx.BoxSizer(orient=wx.VERTICAL)
 
         selTitleSizer = wx.BoxSizer(wx.HORIZONTAL)
-        selTitleSizer.Add(item=title, proportion=1,
+        selTitleSizer.Add(title, proportion=1,
                           flag=wx.LEFT | wx.TOP | wx.EXPAND, border=5)
 
-        selSizer.Add(item=selTitleSizer, proportion=0,
+        selSizer.Add(selTitleSizer, proportion=0,
                      flag=wx.EXPAND)
 
-        selSizer.Add(item=sel, proportion=1,
+        selSizer.Add(sel, proportion=1,
                      flag=wx.EXPAND | wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                      border=5)
 

+ 29 - 17
gui/wxpython/web_services/widgets.py

@@ -21,19 +21,31 @@ import sys
 import shutil
 
 from copy import deepcopy
+from core import globalvar
 try:
     from xml.etree.ElementTree import ParseError
 except ImportError:  # < Python 2.7
     from xml.parsers.expat import ExpatError as ParseError
 
 import wx
-import wx.lib.flatnotebook as FN
+if globalvar.wxPythonPhoenix:
+    try:
+        import agw.flatnotebook as FN
+    except ImportError: # if it's not there locally, try the wxPython lib.
+        import wx.lib.agw.flatnotebook as FN
+else:
+    import wx.lib.flatnotebook as FN
 import wx.lib.colourselect as csel
 import wx.lib.mixins.listctrl as listmix
 from wx.lib.newevent import NewEvent
-from wx.gizmos import TreeListCtrl
+if globalvar.wxPythonPhoenix:
+    try:
+        from agw.hypertreelist import HyperTreeList as TreeListCtrl
+    except ImportError: # if it's not there locally, try the wxPython lib.
+        from wx.lib.agw.hypertreelist import HyperTreeList as TreeListCtrl
+else:
+    from wx.gizmos import TreeListCtrl
 
-from core import globalvar
 from core.debug import Debug
 from core.gcmd import GWarning, GMessage
 from core.gconsole import CmdThread, GStderr, EVT_CMD_DONE, EVT_CMD_OUTPUT
@@ -43,7 +55,7 @@ from web_services.cap_interface import WMSCapabilities, WMTSCapabilities, OnEart
 
 from gui_core.widgets import GNotebook
 from gui_core.widgets import ManageSettingsWidget
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 
 import grass.script as grass
 
@@ -148,7 +160,7 @@ class WSPanel(wx.Panel):
         grass.try_remove(self.cap_file)
 
     def _layout(self):
-        self._nb_sizer.Add(item=self.notebook, proportion=1, flag=wx.EXPAND)
+        self._nb_sizer.Add(self.notebook, proportion=1, flag=wx.EXPAND)
         self.SetSizer(self._nb_sizer)
 
     def _requestPage(self):
@@ -190,13 +202,13 @@ class WSPanel(wx.Panel):
         layersSizer = wx.StaticBoxSizer(self.layersBox, wx.HORIZONTAL)
 
         layersSizer.Add(
-            item=self.list,
+            self.list,
             proportion=1,
             flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
             border=5)
 
         self.req_page_sizer.Add(
-            item=layersSizer,
+            layersSizer,
             proportion=1,
             flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
             border=5)
@@ -205,22 +217,22 @@ class WSPanel(wx.Panel):
 
         if self.params['format'] is not None:
             self.source_sizer.Add(
-                item=self.params['format'],
+                self.params['format'],
                 flag=wx.LEFT | wx.RIGHT | wx.BOTTOM,
                 border=5)
 
         if self.params['srs'] is not None:
             self.source_sizer.Add(
-                item=projText,
+                projText,
                 flag=wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                 border=5)
             self.source_sizer.Add(
-                item=self.params['srs'],
+                self.params['srs'],
                 flag=wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.TOP | wx.BOTTOM,
                 border=5)
 
         self.req_page_sizer.Add(
-            item=self.source_sizer,
+            self.source_sizer,
             flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
             border=5)
 
@@ -346,7 +358,7 @@ class WSPanel(wx.Panel):
                          flag=wx.EXPAND | wx.ALL,
                          border=5)
 
-            border.Add(item=boxSizer,
+            border.Add(boxSizer,
                        flag=wx.LEFT | wx.RIGHT | wx.UP | wx.EXPAND,
                        border=5)
 
@@ -375,14 +387,14 @@ class WSPanel(wx.Panel):
                               pos=(row, 0))
 
             if k != 'o':
-                gridSizer.Add(item=param,
+                gridSizer.Add(param,
                               flag=wx.ALIGN_RIGHT |
                               wx.ALIGN_CENTER_VERTICAL,
                               pos=(row, 1))
             row += 1
 
         gridSizer.AddGrowableCol(0)
-        border.Add(item=gridSizer,
+        border.Add(gridSizer,
                    flag=wx.LEFT | wx.RIGHT | wx.TOP | wx.EXPAND,
                    border=5)
 
@@ -395,14 +407,14 @@ class WSPanel(wx.Panel):
                           wx.ALIGN_CENTER_VERTICAL,
                           pos=(row, 0))
 
-            gridSizer.Add(item=self.params['urlparams'],
+            gridSizer.Add(self.params['urlparams'],
                           flag=wx.ALIGN_RIGHT |
                           wx.ALIGN_CENTER_VERTICAL | wx.EXPAND,
                           pos=(row, 1))
 
             gridSizer.AddGrowableCol(1)
 
-            border.Add(item=gridSizer,
+            border.Add(gridSizer,
                        flag=wx.LEFT | wx.RIGHT | wx.TOP | wx.EXPAND,
                        border=5)
 
@@ -1156,7 +1168,7 @@ class WSManageSettingsWidget(ManageSettingsWidget):
         self.btnAddDefaultServers.Bind(wx.EVT_BUTTON, self.OnAddDefaultServers)
 
         ManageSettingsWidget._layout(self)
-        self.settingsSizer.Add(item=self.btnAddDefaultServers,
+        self.settingsSizer.Add(self.btnAddDefaultServers,
                                flag=wx.RIGHT,
                                border=5)
 

+ 122 - 122
gui/wxpython/wxplot/dialogs.py

@@ -30,7 +30,7 @@ from core.settings import UserSettings
 from core.globalvar import ICONDIR
 from core.utils import _
 from gui_core.gselect import Select
-from gui_core.wrap import GSpinCtrl as SpinCtrl
+from gui_core.wrap import SpinCtrl
 
 from grass.script import core as grass
 
@@ -80,7 +80,7 @@ class ProfileRasterDialog(wx.Dialog):
 
         txt = _("Select raster map(s) to profile:")
         label = wx.StaticText(parent=self, id=wx.ID_ANY, label=txt)
-        box.Add(item=label,
+        box.Add(label,
                 flag=wx.ALIGN_CENTER_VERTICAL, pos=(0, 0))
 
         selection = Select(self, id=wx.ID_ANY,
@@ -89,15 +89,15 @@ class ProfileRasterDialog(wx.Dialog):
         selection.SetValue(rastText)
         selection.Bind(wx.EVT_TEXT, self.OnSelection)
 
-        box.Add(item=selection, pos=(0, 1))
+        box.Add(selection, pos=(0, 1))
 
-        sizer.Add(item=box, proportion=0,
+        sizer.Add(box, proportion=0,
                   flag=wx.ALL, border=10)
 
         line = wx.StaticLine(
             parent=self, id=wx.ID_ANY, size=(
                 20, -1), style=wx.LI_HORIZONTAL)
-        sizer.Add(item=line, proportion=0, flag=wx.GROW |
+        sizer.Add(line, proportion=0, flag=wx.GROW |
                   wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, border=5)
 
         btnsizer = wx.StdDialogButtonSizer()
@@ -111,7 +111,7 @@ class ProfileRasterDialog(wx.Dialog):
         btnsizer.Realize()
 
         sizer.Add(
-            item=btnsizer,
+            btnsizer,
             proportion=0,
             flag=wx.ALIGN_RIGHT | wx.ALL,
             border=5)
@@ -179,7 +179,7 @@ class ScatterRasterDialog(wx.Dialog):
         # select rasters
         txt = _("Select pairs of raster maps for bivariate scatterplots:")
         label = wx.StaticText(parent=self, id=wx.ID_ANY, label=txt)
-        box.Add(item=label,
+        box.Add(label,
                 flag=wx.ALIGN_CENTER_VERTICAL, pos=(0, 0))
 
         selection = Select(self, id=wx.ID_ANY,
@@ -188,12 +188,12 @@ class ScatterRasterDialog(wx.Dialog):
         selection.SetValue(rastText)
         selection.Bind(wx.EVT_TEXT, self.OnSelection)
 
-        box.Add(item=selection, pos=(0, 1))
+        box.Add(selection, pos=(0, 1))
 
         # Nsteps for FP maps
         label = wx.StaticText(parent=self, id=wx.ID_ANY,
                               label=_("Number of bins (for FP maps)"))
-        box.Add(item=label,
+        box.Add(label,
                 flag=wx.ALIGN_CENTER_VERTICAL, pos=(1, 0))
         self.spinbins = SpinCtrl(
             parent=self, id=wx.ID_ANY, value="", pos=(
@@ -201,7 +201,7 @@ class ScatterRasterDialog(wx.Dialog):
                 100, -1), style=wx.SP_ARROW_KEYS)
         self.spinbins.SetRange(1, 1000)
         self.spinbins.SetValue(self.bins)
-        box.Add(item=self.spinbins,
+        box.Add(self.spinbins,
                 flag=wx.ALIGN_CENTER_VERTICAL, pos=(1, 1))
 
 # TODO possibly make bubble plots with marker size proportional to cell counts
@@ -217,13 +217,13 @@ class ScatterRasterDialog(wx.Dialog):
 #        box.Add(item = scattertype,
 #                flag = wx.ALIGN_CENTER_VERTICAL, pos = (2, 1))
 
-        sizer.Add(item=box, proportion=0,
+        sizer.Add(box, proportion=0,
                   flag=wx.ALL, border=10)
 
         line = wx.StaticLine(
             parent=self, id=wx.ID_ANY, size=(
                 20, -1), style=wx.LI_HORIZONTAL)
-        sizer.Add(item=line, proportion=0, flag=wx.GROW |
+        sizer.Add(line, proportion=0, flag=wx.GROW |
                   wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, border=5)
 
         btnsizer = wx.StdDialogButtonSizer()
@@ -237,7 +237,7 @@ class ScatterRasterDialog(wx.Dialog):
         btnsizer.Realize()
 
         sizer.Add(
-            item=btnsizer,
+            btnsizer,
             proportion=0,
             flag=wx.ALIGN_RIGHT | wx.ALL,
             border=5)
@@ -318,38 +318,38 @@ class PlotStatsFrame(wx.Frame):
             parent=self.panel,
             id=wx.ID_ANY,
             label=self.title)
-        sizer.Add(item=statstitle, proportion=0,
+        sizer.Add(statstitle, proportion=0,
                   flag=wx.GROW | wx.ALIGN_CENTER_VERTICAL | wx.ALL, border=3)
         line = wx.StaticLine(
             parent=self.panel, id=wx.ID_ANY, size=(
                 20, -1), style=wx.LI_HORIZONTAL)
-        sizer.Add(item=line, proportion=0,
+        sizer.Add(line, proportion=0,
                   flag=wx.GROW | wx.ALIGN_CENTER_VERTICAL | wx.ALL, border=3)
         for stats in self.message:
             statstxt = wx.StaticText(parent=sp, id=wx.ID_ANY, label=stats)
             statstxt.SetBackgroundColour("WHITE")
             txtSizer.Add(
-                item=statstxt,
+                statstxt,
                 proportion=1,
                 flag=wx.EXPAND | wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT,
                 border=3)
             line = wx.StaticLine(
                 parent=sp, id=wx.ID_ANY, size=(
                     20, -1), style=wx.LI_HORIZONTAL)
-            txtSizer.Add(item=line, proportion=0, flag=wx.GROW |
+            txtSizer.Add(line, proportion=0, flag=wx.GROW |
                          wx.ALIGN_CENTER_VERTICAL | wx.ALL, border=3)
 
         sp.SetSizer(txtSizer)
         sp.SetAutoLayout(1)
         sp.SetupScrolling()
 
-        sizer.Add(item=sp, proportion=1,
+        sizer.Add(sp, proportion=1,
                   flag=wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM, border=3)
 
         line = wx.StaticLine(
             parent=self.panel, id=wx.ID_ANY, size=(
                 20, -1), style=wx.LI_HORIZONTAL)
-        sizer.Add(item=line, proportion=0, flag=wx.GROW |
+        sizer.Add(line, proportion=0, flag=wx.GROW |
                   wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, border=3)
 
         #
@@ -361,7 +361,7 @@ class PlotStatsFrame(wx.Frame):
         btn_clipboard.SetToolTipString(
             _("Copy regression statistics the clipboard (Ctrl+C)"))
         btnSizer.Add(
-            item=btn_clipboard,
+            btn_clipboard,
             proportion=0,
             flag=wx.ALIGN_LEFT | wx.ALL,
             border=5)
@@ -369,13 +369,13 @@ class PlotStatsFrame(wx.Frame):
         btnCancel = wx.Button(self.panel, wx.ID_CLOSE)
         btnCancel.SetDefault()
         btnSizer.Add(
-            item=btnCancel,
+            btnCancel,
             proportion=0,
             flag=wx.ALIGN_RIGHT | wx.ALL,
             border=5)
 
         sizer.Add(
-            item=btnSizer,
+            btnSizer,
             proportion=0,
             flag=wx.ALIGN_RIGHT | wx.ALL,
             border=5)
@@ -448,13 +448,13 @@ class HistRasterDialog(wx.Dialog):
         elif self.maptype == 'group':
             self.groupRadio.SetValue(True)
         box.Add(
-            item=self.rasterRadio,
+            self.rasterRadio,
             flag=wx.ALIGN_CENTER_VERTICAL,
             pos=(
                 0,
                 0))
         box.Add(
-            item=self.groupRadio,
+            self.groupRadio,
             flag=wx.ALIGN_CENTER_VERTICAL,
             pos=(
                 0,
@@ -465,7 +465,7 @@ class HistRasterDialog(wx.Dialog):
         #
         label = wx.StaticText(parent=self, id=wx.ID_ANY,
                               label=_("Select raster map:"))
-        box.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(1, 0))
+        box.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(1, 0))
         self.rselection = Select(self, id=wx.ID_ANY,
                                  size=globalvar.DIALOG_GSELECT_SIZE,
                                  type='cell')
@@ -477,14 +477,14 @@ class HistRasterDialog(wx.Dialog):
                 rastText += '%s,' % r
             rastText = rastText.rstrip(',')
             self.rselection.SetValue(rastText)
-        box.Add(item=self.rselection, pos=(1, 1))
+        box.Add(self.rselection, pos=(1, 1))
 
         #
         # Select an image group to histogram
         #
         label = wx.StaticText(parent=self, id=wx.ID_ANY,
                               label=_("Select image group:"))
-        box.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(2, 0))
+        box.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(2, 0))
         self.gselection = Select(self, id=wx.ID_ANY,
                                  size=globalvar.DIALOG_GSELECT_SIZE,
                                  type='group')
@@ -493,14 +493,14 @@ class HistRasterDialog(wx.Dialog):
         else:
             if self.group is not None:
                 self.gselection.SetValue(self.group)
-        box.Add(item=self.gselection, pos=(2, 1))
+        box.Add(self.gselection, pos=(2, 1))
 
         #
         # Nsteps for FP maps and histogram type selection
         #
         label = wx.StaticText(parent=self, id=wx.ID_ANY,
                               label=_("Number of bins (for FP maps)"))
-        box.Add(item=label,
+        box.Add(label,
                 flag=wx.ALIGN_CENTER_VERTICAL, pos=(3, 0))
         self.spinbins = SpinCtrl(
             parent=self, id=wx.ID_ANY, value="", pos=(
@@ -508,27 +508,27 @@ class HistRasterDialog(wx.Dialog):
                 100, -1), style=wx.SP_ARROW_KEYS)
         self.spinbins.SetRange(1, 1000)
         self.spinbins.SetValue(self.bins)
-        box.Add(item=self.spinbins,
+        box.Add(self.spinbins,
                 flag=wx.ALIGN_CENTER_VERTICAL, pos=(3, 1))
 
         label = wx.StaticText(parent=self, id=wx.ID_ANY,
                               label=_("Histogram type"))
-        box.Add(item=label,
+        box.Add(label,
                 flag=wx.ALIGN_CENTER_VERTICAL, pos=(4, 0))
         types = ['count', 'percent', 'area']
         histtype = wx.ComboBox(parent=self, id=wx.ID_ANY, size=(250, -1),
                                choices=types, style=wx.CB_DROPDOWN)
         histtype.SetStringSelection(self.histtype)
-        box.Add(item=histtype,
+        box.Add(histtype,
                 flag=wx.ALIGN_CENTER_VERTICAL, pos=(4, 1))
 
-        sizer.Add(item=box, proportion=0,
+        sizer.Add(box, proportion=0,
                   flag=wx.ALL, border=10)
 
         line = wx.StaticLine(
             parent=self, id=wx.ID_ANY, size=(
                 20, -1), style=wx.LI_HORIZONTAL)
-        sizer.Add(item=line, proportion=0, flag=wx.GROW |
+        sizer.Add(line, proportion=0, flag=wx.GROW |
                   wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, border=5)
 
         btnsizer = wx.StdDialogButtonSizer()
@@ -542,7 +542,7 @@ class HistRasterDialog(wx.Dialog):
         btnsizer.Realize()
 
         sizer.Add(
-            item=btnsizer,
+            btnsizer,
             proportion=0,
             flag=wx.ALIGN_RIGHT | wx.ALL,
             border=5)
@@ -672,12 +672,12 @@ class TextDialog(wx.Dialog):
             parent=self,
             id=wx.ID_ANY,
             label=_("Profile title:"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(0, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(0, 0))
         self.ptitleentry = wx.TextCtrl(
             parent=self, id=wx.ID_ANY, value="", size=(250, -1))
         # self.ptitleentry.SetFont(self.font)
         self.ptitleentry.SetValue(self.ptitle)
-        gridSizer.Add(item=self.ptitleentry, pos=(0, 1))
+        gridSizer.Add(self.ptitleentry, pos=(0, 1))
 
         #
         # title font
@@ -686,7 +686,7 @@ class TextDialog(wx.Dialog):
             parent=self,
             id=wx.ID_ANY,
             label=_("Title font size (pts):"))
-        gridSizer.Add(item=tlabel, flag=wx.ALIGN_CENTER_VERTICAL, pos=(1, 0))
+        gridSizer.Add(tlabel, flag=wx.ALIGN_CENTER_VERTICAL, pos=(1, 0))
         self.ptitlesize = SpinCtrl(
             parent=self, id=wx.ID_ANY, value="", pos=(
                 30, 50), size=(
@@ -694,7 +694,7 @@ class TextDialog(wx.Dialog):
         self.ptitlesize.SetRange(5, 100)
         self.ptitlesize.SetValue(
             int(self.properties['font']['prop']['titleSize']))
-        gridSizer.Add(item=self.ptitlesize, pos=(1, 1))
+        gridSizer.Add(self.ptitlesize, pos=(1, 1))
 
         #
         # x-axis label
@@ -703,12 +703,12 @@ class TextDialog(wx.Dialog):
             parent=self,
             id=wx.ID_ANY,
             label=_("X-axis label:"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(2, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(2, 0))
         self.xlabelentry = wx.TextCtrl(
             parent=self, id=wx.ID_ANY, value="", size=(250, -1))
         # self.xlabelentry.SetFont(self.font)
         self.xlabelentry.SetValue(self.xlabel)
-        gridSizer.Add(item=self.xlabelentry, pos=(2, 1))
+        gridSizer.Add(self.xlabelentry, pos=(2, 1))
 
         #
         # y-axis label
@@ -717,12 +717,12 @@ class TextDialog(wx.Dialog):
             parent=self,
             id=wx.ID_ANY,
             label=_("Y-axis label:"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(3, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(3, 0))
         self.ylabelentry = wx.TextCtrl(
             parent=self, id=wx.ID_ANY, value="", size=(250, -1))
         # self.ylabelentry.SetFont(self.font)
         self.ylabelentry.SetValue(self.ylabel)
-        gridSizer.Add(item=self.ylabelentry, pos=(3, 1))
+        gridSizer.Add(self.ylabelentry, pos=(3, 1))
 
         #
         # font size
@@ -731,7 +731,7 @@ class TextDialog(wx.Dialog):
             parent=self,
             id=wx.ID_ANY,
             label=_("Label font size (pts):"))
-        gridSizer.Add(item=llabel, flag=wx.ALIGN_CENTER_VERTICAL, pos=(4, 0))
+        gridSizer.Add(llabel, flag=wx.ALIGN_CENTER_VERTICAL, pos=(4, 0))
         self.axislabelsize = SpinCtrl(
             parent=self, id=wx.ID_ANY, value="", pos=(
                 30, 50), size=(
@@ -739,10 +739,10 @@ class TextDialog(wx.Dialog):
         self.axislabelsize.SetRange(5, 100)
         self.axislabelsize.SetValue(
             int(self.properties['font']['prop']['axisSize']))
-        gridSizer.Add(item=self.axislabelsize, pos=(4, 1))
+        gridSizer.Add(self.axislabelsize, pos=(4, 1))
 
-        boxSizer.Add(item=gridSizer)
-        sizer.Add(item=boxSizer, flag=wx.ALL | wx.EXPAND, border=3)
+        boxSizer.Add(gridSizer)
+        sizer.Add(boxSizer, flag=wx.ALL | wx.EXPAND, border=3)
 
         #
         # font settings
@@ -759,7 +759,7 @@ class TextDialog(wx.Dialog):
             parent=self,
             id=wx.ID_ANY,
             label=_("Font family:"))
-        gridSizer.Add(item=label1, flag=wx.ALIGN_CENTER_VERTICAL, pos=(0, 0))
+        gridSizer.Add(label1, flag=wx.ALIGN_CENTER_VERTICAL, pos=(0, 0))
         self.ffamilycb = wx.ComboBox(
             parent=self, id=wx.ID_ANY, size=(250, -1),
             choices=self.ffamilydict.keys(),
@@ -769,13 +769,13 @@ class TextDialog(wx.Dialog):
             if self.fontfamily == item[1]:
                 self.ffamilycb.SetStringSelection(item[0])
                 break
-        gridSizer.Add(item=self.ffamilycb, pos=(0, 1), flag=wx.ALIGN_RIGHT)
+        gridSizer.Add(self.ffamilycb, pos=(0, 1), flag=wx.ALIGN_RIGHT)
 
         #
         # font style
         #
         label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Style:"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(1, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(1, 0))
         self.fstylecb = wx.ComboBox(
             parent=self, id=wx.ID_ANY, size=(250, -1),
             choices=self.fstyledict.keys(),
@@ -785,13 +785,13 @@ class TextDialog(wx.Dialog):
             if self.fontstyle == item[1]:
                 self.fstylecb.SetStringSelection(item[0])
                 break
-        gridSizer.Add(item=self.fstylecb, pos=(1, 1), flag=wx.ALIGN_RIGHT)
+        gridSizer.Add(self.fstylecb, pos=(1, 1), flag=wx.ALIGN_RIGHT)
 
         #
         # font weight
         #
         label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Weight:"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(2, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(2, 0))
         self.fwtcb = wx.ComboBox(
             parent=self, size=(250, -1),
             choices=self.fwtdict.keys(),
@@ -802,17 +802,17 @@ class TextDialog(wx.Dialog):
                 self.fwtcb.SetStringSelection(item[0])
                 break
 
-        gridSizer.Add(item=self.fwtcb, pos=(2, 1), flag=wx.ALIGN_RIGHT)
+        gridSizer.Add(self.fwtcb, pos=(2, 1), flag=wx.ALIGN_RIGHT)
 
         gridSizer.AddGrowableCol(1)
-        boxSizer.Add(item=gridSizer, flag=wx.EXPAND)
-        sizer.Add(item=boxSizer, flag=wx.LEFT | wx.RIGHT |
+        boxSizer.Add(gridSizer, flag=wx.EXPAND)
+        sizer.Add(boxSizer, flag=wx.LEFT | wx.RIGHT |
                   wx.BOTTOM | wx.EXPAND, border=3)
 
         line = wx.StaticLine(
             parent=self, id=wx.ID_ANY, size=(
                 20, -1), style=wx.LI_HORIZONTAL)
-        sizer.Add(item=line, proportion=0, flag=wx.GROW |
+        sizer.Add(line, proportion=0, flag=wx.GROW |
                   wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, border=3)
 
         #
@@ -846,17 +846,17 @@ class TextDialog(wx.Dialog):
 
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
         btnSizer.Add(
-            item=btnSave,
+            btnSave,
             proportion=0,
             flag=wx.ALIGN_LEFT | wx.ALL,
             border=5)
         btnSizer.Add(
-            item=btnStdSizer,
+            btnStdSizer,
             proportion=0,
             flag=wx.ALIGN_RIGHT | wx.ALL,
             border=5)
         sizer.Add(
-            item=btnSizer,
+            btnSizer,
             proportion=0,
             flag=wx.ALIGN_RIGHT | wx.ALL,
             border=5)
@@ -1023,7 +1023,7 @@ class OptDialog(wx.Dialog):
         else:
             self.mapchoice.SetStringSelection(str(self.map))
 
-        gridSizer.Add(item=self.mapchoice, flag=wx.ALIGN_CENTER_VERTICAL,
+        gridSizer.Add(self.mapchoice, flag=wx.ALIGN_CENTER_VERTICAL,
                       pos=(row, 0), span=(1, 2))
 
         #
@@ -1036,7 +1036,7 @@ class OptDialog(wx.Dialog):
                 id=wx.ID_ANY,
                 label=_("Line color"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     row,
@@ -1045,7 +1045,7 @@ class OptDialog(wx.Dialog):
                 parent=self, id=wx.ID_ANY, colour=self.raster[
                     self.map]['pcolor'])
             self.wxId['pcolor'] = color.GetId()
-            gridSizer.Add(item=color, pos=(row, 1))
+            gridSizer.Add(color, pos=(row, 1))
 
             row += 1
             label = wx.StaticText(
@@ -1053,17 +1053,17 @@ class OptDialog(wx.Dialog):
                 id=wx.ID_ANY,
                 label=_("Line width"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     row,
                     0))
             width = SpinCtrl(parent=self, id=wx.ID_ANY, value="",
-                                size=(50, -1), style=wx.SP_ARROW_KEYS)
+                             size=(50, -1), style=wx.SP_ARROW_KEYS)
             width.SetRange(1, 10)
             width.SetValue(self.raster[self.map]['pwidth'])
             self.wxId['pwidth'] = width.GetId()
-            gridSizer.Add(item=width, pos=(row, 1))
+            gridSizer.Add(width, pos=(row, 1))
 
             row += 1
             label = wx.StaticText(
@@ -1071,7 +1071,7 @@ class OptDialog(wx.Dialog):
                 id=wx.ID_ANY,
                 label=_("Line style"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     row,
@@ -1081,19 +1081,19 @@ class OptDialog(wx.Dialog):
                     120, -1), choices=self.linestyledict.keys())
             style.SetStringSelection(self.raster[self.map]['pstyle'])
             self.wxId['pstyle'] = style.GetId()
-            gridSizer.Add(item=style, pos=(row, 1))
+            gridSizer.Add(style, pos=(row, 1))
 
         row += 1
         label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Legend"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
         legend = wx.TextCtrl(parent=self, id=wx.ID_ANY,
                              value="", size=(200, -1))
         legend.SetValue(self.raster[self.map]['plegend'])
-        gridSizer.Add(item=legend, pos=(row, 1))
+        gridSizer.Add(legend, pos=(row, 1))
         self.wxId['plegend'] = legend.GetId()
 
-        boxSizer.Add(item=gridSizer)
-        boxMainSizer.Add(item=boxSizer, flag=wx.ALL, border=3)
+        boxSizer.Add(gridSizer)
+        boxMainSizer.Add(boxSizer, flag=wx.ALL, border=3)
 
         #
         # segment marker settings for profiles only
@@ -1108,7 +1108,7 @@ class OptDialog(wx.Dialog):
             gridSizer = wx.GridBagSizer(vgap=5, hgap=5)
             label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Color"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     0,
@@ -1118,25 +1118,25 @@ class OptDialog(wx.Dialog):
                 id=wx.ID_ANY,
                 colour=self.properties['marker']['color'])
             self.wxId['marker']['color'] = ptcolor.GetId()
-            gridSizer.Add(item=ptcolor, pos=(0, 1))
+            gridSizer.Add(ptcolor, pos=(0, 1))
 
             label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Size"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     1,
                     0))
             ptsize = SpinCtrl(parent=self, id=wx.ID_ANY, value="",
-                                 size=(50, -1), style=wx.SP_ARROW_KEYS)
+                              size=(50, -1), style=wx.SP_ARROW_KEYS)
             ptsize.SetRange(1, 10)
             ptsize.SetValue(self.properties['marker']['size'])
             self.wxId['marker']['size'] = ptsize.GetId()
-            gridSizer.Add(item=ptsize, pos=(1, 1))
+            gridSizer.Add(ptsize, pos=(1, 1))
 
             label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Fill"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     2,
@@ -1145,11 +1145,11 @@ class OptDialog(wx.Dialog):
                                size=(120, -1), choices=self.ptfilldict.keys())
             ptfill.SetStringSelection(self.properties['marker']['fill'])
             self.wxId['marker']['fill'] = ptfill.GetId()
-            gridSizer.Add(item=ptfill, pos=(2, 1))
+            gridSizer.Add(ptfill, pos=(2, 1))
 
             label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Legend"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     3,
@@ -1159,11 +1159,11 @@ class OptDialog(wx.Dialog):
                     200, -1))
             ptlegend.SetValue(self.properties['marker']['legend'])
             self.wxId['marker']['legend'] = ptlegend.GetId()
-            gridSizer.Add(item=ptlegend, pos=(3, 1))
+            gridSizer.Add(ptlegend, pos=(3, 1))
 
             label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Style"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     4,
@@ -1173,10 +1173,10 @@ class OptDialog(wx.Dialog):
                 choices=self.pttypelist)
             pttype.SetStringSelection(self.properties['marker']['type'])
             self.wxId['marker']['type'] = pttype.GetId()
-            gridSizer.Add(item=pttype, pos=(4, 1))
+            gridSizer.Add(pttype, pos=(4, 1))
 
-            boxSizer.Add(item=gridSizer)
-            boxMainSizer.Add(item=boxSizer, flag=wx.ALL, border=3)
+            boxSizer.Add(gridSizer)
+            boxMainSizer.Add(boxSizer, flag=wx.ALL, border=3)
 
         #
         # point options for scatterplots
@@ -1190,7 +1190,7 @@ class OptDialog(wx.Dialog):
             gridSizer = wx.GridBagSizer(vgap=5, hgap=5)
             label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Color"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     0,
@@ -1199,25 +1199,25 @@ class OptDialog(wx.Dialog):
                 parent=self, id=wx.ID_ANY, colour=self.raster[
                     self.map]['pcolor'])
             self.wxId['pcolor'] = ptcolor.GetId()
-            gridSizer.Add(item=ptcolor, pos=(0, 1))
+            gridSizer.Add(ptcolor, pos=(0, 1))
 
             label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Size"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     1,
                     0))
             ptsize = SpinCtrl(parent=self, id=wx.ID_ANY, value="",
-                                 size=(50, -1), style=wx.SP_ARROW_KEYS)
+                              size=(50, -1), style=wx.SP_ARROW_KEYS)
             ptsize.SetRange(1, 10)
             ptsize.SetValue(self.raster[self.map]['psize'])
             self.wxId['psize'] = ptsize.GetId()
-            gridSizer.Add(item=ptsize, pos=(1, 1))
+            gridSizer.Add(ptsize, pos=(1, 1))
 
             label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Fill"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     2,
@@ -1226,11 +1226,11 @@ class OptDialog(wx.Dialog):
                                size=(120, -1), choices=self.ptfilldict.keys())
             ptfill.SetStringSelection(self.raster[self.map]['pfill'])
             self.wxId['pfill'] = ptfill.GetId()
-            gridSizer.Add(item=ptfill, pos=(2, 1))
+            gridSizer.Add(ptfill, pos=(2, 1))
 
             label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Legend"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     3,
@@ -1240,11 +1240,11 @@ class OptDialog(wx.Dialog):
                     200, -1))
             ptlegend.SetValue(self.raster[self.map]['plegend'])
             self.wxId['plegend'] = ptlegend.GetId()
-            gridSizer.Add(item=ptlegend, pos=(3, 1))
+            gridSizer.Add(ptlegend, pos=(3, 1))
 
             label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Style"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     4,
@@ -1254,12 +1254,12 @@ class OptDialog(wx.Dialog):
                 choices=self.pttypelist)
             pttype.SetStringSelection(self.raster[self.map]['ptype'])
             self.wxId['ptype'] = pttype.GetId()
-            gridSizer.Add(item=pttype, pos=(4, 1))
+            gridSizer.Add(pttype, pos=(4, 1))
 
-            boxSizer.Add(item=gridSizer)
-            boxMainSizer.Add(item=boxSizer, flag=wx.ALL, border=3)
+            boxSizer.Add(gridSizer)
+            boxMainSizer.Add(boxSizer, flag=wx.ALL, border=3)
 
-        sizer.Add(item=boxMainSizer, flag=wx.ALL | wx.EXPAND, border=3)
+        sizer.Add(boxMainSizer, flag=wx.ALL | wx.EXPAND, border=3)
 
         #
         # axis options for all plots
@@ -1283,7 +1283,7 @@ class OptDialog(wx.Dialog):
             row = 0
             label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Scale"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     row,
@@ -1295,7 +1295,7 @@ class OptDialog(wx.Dialog):
             type.SetToolTipString(
                 _("Automatic axis scaling, custom max and min, or scale matches data range (min)"))
             self.wxId[atype]['type'] = type.GetId()
-            gridSizer.Add(item=type, pos=(row, 1))
+            gridSizer.Add(type, pos=(row, 1))
 
             row += 1
             label = wx.StaticText(
@@ -1303,7 +1303,7 @@ class OptDialog(wx.Dialog):
                 id=wx.ID_ANY,
                 label=_("Custom min"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     row,
@@ -1312,7 +1312,7 @@ class OptDialog(wx.Dialog):
                               value="", size=(70, -1))
             min.SetValue(str(prop['min']))
             self.wxId[atype]['min'] = min.GetId()
-            gridSizer.Add(item=min, pos=(row, 1))
+            gridSizer.Add(min, pos=(row, 1))
 
             row += 1
             label = wx.StaticText(
@@ -1320,7 +1320,7 @@ class OptDialog(wx.Dialog):
                 id=wx.ID_ANY,
                 label=_("Custom max"))
             gridSizer.Add(
-                item=label,
+                label,
                 flag=wx.ALIGN_CENTER_VERTICAL,
                 pos=(
                     row,
@@ -1329,25 +1329,25 @@ class OptDialog(wx.Dialog):
                               value="", size=(70, -1))
             max.SetValue(str(prop['max']))
             self.wxId[atype]['max'] = max.GetId()
-            gridSizer.Add(item=max, pos=(row, 1))
+            gridSizer.Add(max, pos=(row, 1))
 
             row += 1
             log = wx.CheckBox(parent=self, id=wx.ID_ANY, label=_("Log scale"))
             log.SetValue(prop['log'])
             self.wxId[atype]['log'] = log.GetId()
-            gridSizer.Add(item=log, pos=(row, 0), span=(1, 2))
+            gridSizer.Add(log, pos=(row, 0), span=(1, 2))
 
             if idx == 0:
                 flag = wx.ALL | wx.EXPAND
             else:
                 flag = wx.TOP | wx.BOTTOM | wx.RIGHT | wx.EXPAND
 
-            boxSizer.Add(item=gridSizer, flag=wx.ALL, border=3)
-            boxMainSizer.Add(item=boxSizer, flag=flag, border=3)
+            boxSizer.Add(gridSizer, flag=wx.ALL, border=3)
+            boxMainSizer.Add(boxSizer, flag=flag, border=3)
 
             idx += 1
 
-        middleSizer.Add(item=boxMainSizer, flag=wx.ALL | wx.EXPAND, border=3)
+        middleSizer.Add(boxMainSizer, flag=wx.ALL | wx.EXPAND, border=3)
 
         #
         # grid & legend options for all plots
@@ -1362,33 +1362,33 @@ class OptDialog(wx.Dialog):
 
         row = 0
         label = wx.StaticText(parent=self, id=wx.ID_ANY, label=_("Grid color"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
         gridcolor = csel.ColourSelect(
             parent=self,
             id=wx.ID_ANY,
             colour=self.properties['grid']['color'])
         self.wxId['grid']['color'] = gridcolor.GetId()
-        gridSizer.Add(item=gridcolor, pos=(row, 1))
+        gridSizer.Add(gridcolor, pos=(row, 1))
 
         row += 1
         gridshow = wx.CheckBox(parent=self, id=wx.ID_ANY, label=_("Show grid"))
         gridshow.SetValue(self.properties['grid']['enabled'])
         self.wxId['grid']['enabled'] = gridshow.GetId()
-        gridSizer.Add(item=gridshow, pos=(row, 0), span=(1, 2))
+        gridSizer.Add(gridshow, pos=(row, 0), span=(1, 2))
 
         row += 1
         label = wx.StaticText(
             parent=self,
             id=wx.ID_ANY,
             label=_("Legend font size"))
-        gridSizer.Add(item=label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
+        gridSizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL, pos=(row, 0))
         legendfontsize = SpinCtrl(parent=self, id=wx.ID_ANY, value="",
-                                     size=(50, -1), style=wx.SP_ARROW_KEYS)
+                                  size=(50, -1), style=wx.SP_ARROW_KEYS)
         legendfontsize.SetRange(5, 100)
         legendfontsize.SetValue(
             int(self.properties['font']['prop']['legendSize']))
         self.wxId['font']['legendSize'] = legendfontsize.GetId()
-        gridSizer.Add(item=legendfontsize, pos=(row, 1))
+        gridSizer.Add(legendfontsize, pos=(row, 1))
 
         row += 1
         legendshow = wx.CheckBox(
@@ -1397,14 +1397,14 @@ class OptDialog(wx.Dialog):
             label=_("Show legend"))
         legendshow.SetValue(self.properties['legend']['enabled'])
         self.wxId['legend']['enabled'] = legendshow.GetId()
-        gridSizer.Add(item=legendshow, pos=(row, 0), span=(1, 2))
+        gridSizer.Add(legendshow, pos=(row, 0), span=(1, 2))
 
-        boxMainSizer.Add(item=gridSizer, flag=flag, border=3)
+        boxMainSizer.Add(gridSizer, flag=flag, border=3)
 
-        middleSizer.Add(item=boxMainSizer, flag=wx.LEFT |
+        middleSizer.Add(boxMainSizer, flag=wx.LEFT |
                         wx.RIGHT | wx.BOTTOM | wx.EXPAND, border=3)
 
-        sizer.Add(item=middleSizer, flag=wx.ALL, border=0)
+        sizer.Add(middleSizer, flag=wx.ALL, border=0)
 
         #
         # line & buttons
@@ -1412,7 +1412,7 @@ class OptDialog(wx.Dialog):
         line = wx.StaticLine(
             parent=self, id=wx.ID_ANY, size=(
                 20, -1), style=wx.LI_HORIZONTAL)
-        sizer.Add(item=line, proportion=0, flag=wx.GROW |
+        sizer.Add(line, proportion=0, flag=wx.GROW |
                   wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT, border=3)
 
         #
@@ -1441,17 +1441,17 @@ class OptDialog(wx.Dialog):
 
         btnSizer = wx.BoxSizer(wx.HORIZONTAL)
         btnSizer.Add(
-            item=btnSave,
+            btnSave,
             proportion=0,
             flag=wx.ALIGN_LEFT | wx.ALL,
             border=5)
         btnSizer.Add(
-            item=btnStdSizer,
+            btnStdSizer,
             proportion=0,
             flag=wx.ALIGN_RIGHT | wx.ALL,
             border=5)
         sizer.Add(
-            item=btnSizer,
+            btnSizer,
             proportion=0,
             flag=wx.ALIGN_RIGHT | wx.ALL,
             border=5)