瀏覽代碼

parse docstrings by doxygen

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@37540 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 16 年之前
父節點
當前提交
b671e428c5
共有 34 個文件被更改,包括 757 次插入757 次删除
  1. 2 2
      gui/wxpython/build_ext.py
  2. 15 15
      gui/wxpython/compat/subprocess.py
  3. 13 13
      gui/wxpython/gis_set.py
  4. 16 16
      gui/wxpython/gui_modules/colorrules.py
  5. 77 77
      gui/wxpython/gui_modules/dbm.py
  6. 12 12
      gui/wxpython/gui_modules/dbm_dialogs.py
  7. 1 1
      gui/wxpython/gui_modules/debug.py
  8. 18 18
      gui/wxpython/gui_modules/gcmd.py
  9. 37 37
      gui/wxpython/gui_modules/gdialogs.py
  10. 26 26
      gui/wxpython/gui_modules/georect.py
  11. 4 4
      gui/wxpython/gui_modules/globalvar.py
  12. 21 21
      gui/wxpython/gui_modules/goutput.py
  13. 10 10
      gui/wxpython/gui_modules/gselect.py
  14. 3 3
      gui/wxpython/gui_modules/histogram.py
  15. 42 42
      gui/wxpython/gui_modules/location_wizard.py
  16. 11 11
      gui/wxpython/gui_modules/mapdisp.py
  17. 2 2
      gui/wxpython/gui_modules/mapdisp_window.py
  18. 19 19
      gui/wxpython/gui_modules/menuform.py
  19. 32 32
      gui/wxpython/gui_modules/nviz_mapdisp.py
  20. 58 58
      gui/wxpython/gui_modules/nviz_tools.py
  21. 13 13
      gui/wxpython/gui_modules/ogc_services.py
  22. 25 25
      gui/wxpython/gui_modules/preferences.py
  23. 9 9
      gui/wxpython/gui_modules/profile.py
  24. 16 16
      gui/wxpython/gui_modules/prompt.py
  25. 20 20
      gui/wxpython/gui_modules/render.py
  26. 4 4
      gui/wxpython/gui_modules/sqlbuilder.py
  27. 49 49
      gui/wxpython/gui_modules/toolbars.py
  28. 11 11
      gui/wxpython/gui_modules/utils.py
  29. 94 94
      gui/wxpython/gui_modules/vdigit.py
  30. 13 13
      gui/wxpython/gui_modules/workspace.py
  31. 26 26
      gui/wxpython/gui_modules/wxgui_utils.py
  32. 2 2
      gui/wxpython/icons/icon.py
  33. 1 1
      gui/wxpython/support/update_menu_desc.py
  34. 55 55
      gui/wxpython/wxgui.py

+ 2 - 2
gui/wxpython/build_ext.py

@@ -4,7 +4,7 @@ import os
 import sys
 import sys
 
 
 def __read_variables(file, dict={}):
 def __read_variables(file, dict={}):
-    """Read variables from file (e.g. Platform.make)
+    """!Read variables from file (e.g. Platform.make)
     
     
     @param file file descriptor
     @param file file descriptor
     @param dict dictionary to store (variable, value)
     @param dict dictionary to store (variable, value)
@@ -22,7 +22,7 @@ def __read_variables(file, dict={}):
         dict[var.strip()] = val.strip()
         dict[var.strip()] = val.strip()
         
         
 def update_opts(flag, macros, inc_dirs, lib_dirs, libs, extras):
 def update_opts(flag, macros, inc_dirs, lib_dirs, libs, extras):
-    """Update Extension options"""
+    """!Update Extension options"""
     global variables
     global variables
     line = variables[flag]
     line = variables[flag]
     fw_next = False
     fw_next = False

+ 15 - 15
gui/wxpython/compat/subprocess.py

@@ -9,7 +9,7 @@
 # Licensed to PSF under a Contributor Agreement.
 # Licensed to PSF under a Contributor Agreement.
 # See http://www.python.org/2.4/license for licensing details.
 # See http://www.python.org/2.4/license for licensing details.
 
 
-r"""subprocess - Subprocesses with accessible I/O streams
+r"""!subprocess - Subprocesses with accessible I/O streams
 
 
 This module allows you to spawn processes, connect to their
 This module allows you to spawn processes, connect to their
 input/output/error pipes, and obtain their return codes.  This module
 input/output/error pipes, and obtain their return codes.  This module
@@ -402,7 +402,7 @@ STDOUT = -2
 
 
 
 
 def call(*args, **kwargs):
 def call(*args, **kwargs):
-    """Run command with arguments.  Wait for command to complete, then
+    """!Run command with arguments.  Wait for command to complete, then
     return the returncode attribute.
     return the returncode attribute.
 
 
     The arguments are the same as for the Popen constructor.  Example:
     The arguments are the same as for the Popen constructor.  Example:
@@ -486,7 +486,7 @@ class Popen(object):
                  preexec_fn=None, close_fds=False, shell=False,
                  preexec_fn=None, close_fds=False, shell=False,
                  cwd=None, env=None, universal_newlines=False,
                  cwd=None, env=None, universal_newlines=False,
                  startupinfo=None, creationflags=0):
                  startupinfo=None, creationflags=0):
-        """Create new Popen instance."""
+        """!Create new Popen instance."""
         _cleanup()
         _cleanup()
 
 
         if not isinstance(bufsize, (int, long)):
         if not isinstance(bufsize, (int, long)):
@@ -568,7 +568,7 @@ class Popen(object):
         # Windows methods
         # Windows methods
         #
         #
         def _get_handles(self, stdin, stdout, stderr):
         def _get_handles(self, stdin, stdout, stderr):
-            """Construct and return tupel with IO objects:
+            """!Construct and return tupel with IO objects:
             p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite
             p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite
             """
             """
             if stdin == None and stdout == None and stderr == None:
             if stdin == None and stdout == None and stderr == None:
@@ -628,14 +628,14 @@ class Popen(object):
 
 
 
 
         def _make_inheritable(self, handle):
         def _make_inheritable(self, handle):
-            """Return a duplicate of handle, which is inheritable"""
+            """!Return a duplicate of handle, which is inheritable"""
             return DuplicateHandle(GetCurrentProcess(), handle,
             return DuplicateHandle(GetCurrentProcess(), handle,
                                    GetCurrentProcess(), 0, 1,
                                    GetCurrentProcess(), 0, 1,
                                    DUPLICATE_SAME_ACCESS)
                                    DUPLICATE_SAME_ACCESS)
 
 
 
 
         def _find_w9xpopen(self):
         def _find_w9xpopen(self):
-            """Find and return absolut path to w9xpopen.exe"""
+            """!Find and return absolut path to w9xpopen.exe"""
             w9xpopen = os.path.join(os.path.dirname(GetModuleFileName(0)),
             w9xpopen = os.path.join(os.path.dirname(GetModuleFileName(0)),
                                     "w9xpopen.exe")
                                     "w9xpopen.exe")
             if not os.path.exists(w9xpopen):
             if not os.path.exists(w9xpopen):
@@ -656,7 +656,7 @@ class Popen(object):
                            p2cread, p2cwrite,
                            p2cread, p2cwrite,
                            c2pread, c2pwrite,
                            c2pread, c2pwrite,
                            errread, errwrite):
                            errread, errwrite):
-            """Execute program (MS Windows version)"""
+            """!Execute program (MS Windows version)"""
 
 
             if not isinstance(args, types.StringTypes):
             if not isinstance(args, types.StringTypes):
                 args = list2cmdline(args)
                 args = list2cmdline(args)
@@ -731,7 +731,7 @@ class Popen(object):
 
 
 
 
         def poll(self):
         def poll(self):
-            """Check if child process has terminated.  Returns returncode
+            """!Check if child process has terminated.  Returns returncode
             attribute."""
             attribute."""
             if self.returncode == None:
             if self.returncode == None:
                 if WaitForSingleObject(self._handle, 0) == WAIT_OBJECT_0:
                 if WaitForSingleObject(self._handle, 0) == WAIT_OBJECT_0:
@@ -741,7 +741,7 @@ class Popen(object):
 
 
 
 
         def wait(self):
         def wait(self):
-            """Wait for child process to terminate.  Returns returncode
+            """!Wait for child process to terminate.  Returns returncode
             attribute."""
             attribute."""
             if self.returncode == None:
             if self.returncode == None:
                 obj = WaitForSingleObject(self._handle, INFINITE)
                 obj = WaitForSingleObject(self._handle, INFINITE)
@@ -755,7 +755,7 @@ class Popen(object):
 
 
 
 
         def communicate(self, input=None):
         def communicate(self, input=None):
-            """Interact with process: Send data to stdin.  Read data from
+            """!Interact with process: Send data to stdin.  Read data from
             stdout and stderr, until end-of-file is reached.  Wait for
             stdout and stderr, until end-of-file is reached.  Wait for
             process to terminate.  The optional input argument should be a
             process to terminate.  The optional input argument should be a
             string to be sent to the child process, or None, if no data
             string to be sent to the child process, or None, if no data
@@ -812,7 +812,7 @@ class Popen(object):
         # POSIX methods
         # POSIX methods
         #
         #
         def _get_handles(self, stdin, stdout, stderr):
         def _get_handles(self, stdin, stdout, stderr):
-            """Construct and return tupel with IO objects:
+            """!Construct and return tupel with IO objects:
             p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite
             p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite
             """
             """
             p2cread, p2cwrite = None, None
             p2cread, p2cwrite = None, None
@@ -882,7 +882,7 @@ class Popen(object):
                            p2cread, p2cwrite,
                            p2cread, p2cwrite,
                            c2pread, c2pwrite,
                            c2pread, c2pwrite,
                            errread, errwrite):
                            errread, errwrite):
-            """Execute program (POSIX version)"""
+            """!Execute program (POSIX version)"""
 
 
             if isinstance(args, types.StringTypes):
             if isinstance(args, types.StringTypes):
                 args = [args]
                 args = [args]
@@ -988,7 +988,7 @@ class Popen(object):
 
 
 
 
         def poll(self):
         def poll(self):
-            """Check if child process has terminated.  Returns returncode
+            """!Check if child process has terminated.  Returns returncode
             attribute."""
             attribute."""
             if self.returncode == None:
             if self.returncode == None:
                 try:
                 try:
@@ -1001,7 +1001,7 @@ class Popen(object):
 
 
 
 
         def wait(self):
         def wait(self):
-            """Wait for child process to terminate.  Returns returncode
+            """!Wait for child process to terminate.  Returns returncode
             attribute."""
             attribute."""
             if self.returncode == None:
             if self.returncode == None:
                 pid, sts = os.waitpid(self.pid, 0)
                 pid, sts = os.waitpid(self.pid, 0)
@@ -1010,7 +1010,7 @@ class Popen(object):
 
 
 
 
         def communicate(self, input=None):
         def communicate(self, input=None):
-            """Interact with process: Send data to stdin.  Read data from
+            """!Interact with process: Send data to stdin.  Read data from
             stdout and stderr, until end-of-file is reached.  Wait for
             stdout and stderr, until end-of-file is reached.  Wait for
             process to terminate.  The optional input argument should be a
             process to terminate.  The optional input argument should be a
             string to be sent to the child process, or None, if no data
             string to be sent to the child process, or None, if no data

+ 13 - 13
gui/wxpython/gis_set.py

@@ -41,7 +41,7 @@ import wx.lib.filebrowsebutton as filebrowse
 import wx.lib.mixins.listctrl as listmix
 import wx.lib.mixins.listctrl as listmix
 
 
 class GRASSStartup(wx.Frame):
 class GRASSStartup(wx.Frame):
-    """GRASS start-up screen"""
+    """!GRASS start-up screen"""
     def __init__(self, parent=None, id=wx.ID_ANY, style=wx.DEFAULT_FRAME_STYLE):
     def __init__(self, parent=None, id=wx.ID_ANY, style=wx.DEFAULT_FRAME_STYLE):
 
 
         #
         #
@@ -168,7 +168,7 @@ class GRASSStartup(wx.Frame):
         self.Bind(wx.EVT_CLOSE,               self.OnCloseWindow)
         self.Bind(wx.EVT_CLOSE,               self.OnCloseWindow)
         
         
     def _set_properties(self):
     def _set_properties(self):
-        """Set frame properties"""
+        """!Set frame properties"""
         self.SetTitle(_("Welcome to GRASS GIS"))
         self.SetTitle(_("Welcome to GRASS GIS"))
         self.SetIcon(wx.Icon(os.path.join(globalvar.ETCICONDIR, "grass.ico"),
         self.SetIcon(wx.Icon(os.path.join(globalvar.ETCICONDIR, "grass.ico"),
                              wx.BITMAP_TYPE_ICO))
                              wx.BITMAP_TYPE_ICO))
@@ -384,7 +384,7 @@ class GRASSStartup(wx.Frame):
             return None
             return None
 
 
     def OnWizard(self, event):
     def OnWizard(self, event):
-        """Location wizard started"""
+        """!Location wizard started"""
         from gui_modules import location_wizard
         from gui_modules import location_wizard
         gWizard = location_wizard.LocationWizard(self, self.tgisdbase.GetValue())
         gWizard = location_wizard.LocationWizard(self, self.tgisdbase.GetValue())
         if gWizard.location != None:
         if gWizard.location != None:
@@ -511,7 +511,7 @@ class GRASSStartup(wx.Frame):
         dlg.Destroy()
         dlg.Destroy()
 
 
     def UpdateLocations(self, dbase):
     def UpdateLocations(self, dbase):
-        """Update list of locations"""
+        """!Update list of locations"""
         self.listOfLocations = []
         self.listOfLocations = []
 
 
         for location in glob.glob(os.path.join(dbase, "*")):
         for location in glob.glob(os.path.join(dbase, "*")):
@@ -534,7 +534,7 @@ class GRASSStartup(wx.Frame):
         return self.listOfLocations
         return self.listOfLocations
 
 
     def UpdateMapsets(self, location):
     def UpdateMapsets(self, location):
-        """Update list of mapsets"""
+        """!Update list of mapsets"""
         self.FormerMapsetSelection = wx.NOT_FOUND # for non-selectable item
         self.FormerMapsetSelection = wx.NOT_FOUND # for non-selectable item
 
 
         self.listOfMapsets = []
         self.listOfMapsets = []
@@ -591,7 +591,7 @@ class GRASSStartup(wx.Frame):
         return self.listOfMapsets
         return self.listOfMapsets
 
 
     def OnSelectLocation(self, event):
     def OnSelectLocation(self, event):
-        """Location selected"""
+        """!Location selected"""
         if event:
         if event:
             self.lblocations.SetSelection(event.GetIndex())
             self.lblocations.SetSelection(event.GetIndex())
             
             
@@ -633,7 +633,7 @@ class GRASSStartup(wx.Frame):
             self.manageloc.Enable(False)
             self.manageloc.Enable(False)
         
         
     def OnSelectMapset(self, event):
     def OnSelectMapset(self, event):
-        """Mapset selected"""
+        """!Mapset selected"""
         self.lbmapsets.SetSelection(event.GetIndex())
         self.lbmapsets.SetSelection(event.GetIndex())
 
 
         if event.GetText() not in self.listOfMapsetsSelectable:
         if event.GetText() not in self.listOfMapsetsSelectable:
@@ -643,7 +643,7 @@ class GRASSStartup(wx.Frame):
             event.Skip()
             event.Skip()
 
 
     def OnSetDatabase(self, event):
     def OnSetDatabase(self, event):
-        """Database set"""
+        """!Database set"""
         self.gisdbase = self.tgisdbase.GetValue()
         self.gisdbase = self.tgisdbase.GetValue()
         
         
         self.UpdateLocations(self.gisdbase)
         self.UpdateLocations(self.gisdbase)
@@ -664,7 +664,7 @@ class GRASSStartup(wx.Frame):
         dlg.Destroy()
         dlg.Destroy()
 
 
     def OnCreateMapset(self,event):
     def OnCreateMapset(self,event):
-        """Create new mapset"""
+        """!Create new mapset"""
         self.gisdbase = self.tgisdbase.GetValue()
         self.gisdbase = self.tgisdbase.GetValue()
         location = self.listOfLocations[self.lblocations.GetSelection()]
         location = self.listOfLocations[self.lblocations.GetSelection()]
 
 
@@ -725,12 +725,12 @@ class GRASSStartup(wx.Frame):
         event.Skip()
         event.Skip()
 
 
     def OnCloseWindow(self, event):
     def OnCloseWindow(self, event):
-        """Close window event"""
+        """!Close window event"""
         event.Skip()
         event.Skip()
         sys.exit(2)
         sys.exit(2)
 
 
 class HelpWindow(wx.Frame):
 class HelpWindow(wx.Frame):
-    """GRASS Quickstart help window"""
+    """!GRASS Quickstart help window"""
     def __init__(self, parent, id, title, size, file):
     def __init__(self, parent, id, title, size, file):
 
 
         wx.Frame.__init__(self, parent=parent, id=id, title=title, size=size)
         wx.Frame.__init__(self, parent=parent, id=id, title=title, size=size)
@@ -755,7 +755,7 @@ class HelpWindow(wx.Frame):
         self.Layout()
         self.Layout()
 
 
 class GListBox(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin):
 class GListBox(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin):
-    """Use wx.ListCtrl instead of wx.ListBox, different style for
+    """!Use wx.ListCtrl instead of wx.ListBox, different style for
     non-selectable items (e.g. mapsets with denied permission)"""
     non-selectable items (e.g. mapsets with denied permission)"""
     def __init__(self, parent, id, size,
     def __init__(self, parent, id, size,
                  choices, disabled=[]):
                  choices, disabled=[]):
@@ -808,7 +808,7 @@ class GListBox(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin):
         return self.selected
         return self.selected
         
         
 class StartUp(wx.App):
 class StartUp(wx.App):
-    """Start-up application"""
+    """!Start-up application"""
 
 
     def OnInit(self):
     def OnInit(self):
         wx.InitAllImageHandlers()
         wx.InitAllImageHandlers()

+ 16 - 16
gui/wxpython/gui_modules/colorrules.py

@@ -296,12 +296,12 @@ class ColorTable(wx.Frame):
         return cr_panel        
         return cr_panel        
 
 
     def OnAddRules(self, event):
     def OnAddRules(self, event):
-        """Add rules button pressed"""
+        """!Add rules button pressed"""
         nrules = self.numRules.GetValue()
         nrules = self.numRules.GetValue()
         self.AddRules(nrules)
         self.AddRules(nrules)
         
         
     def AddRules(self, nrules):
     def AddRules(self, nrules):
-        """Add rules"""
+        """!Add rules"""
         snum = len(self.ruleslines.keys())
         snum = len(self.ruleslines.keys())
         for num in range(snum, snum+nrules):
         for num in range(snum, snum+nrules):
             # enable
             # enable
@@ -422,7 +422,7 @@ class ColorTable(wx.Frame):
         self.vect['rgb'] = event.GetString()
         self.vect['rgb'] = event.GetString()
         
         
     def OnRuleEnable(self, event):
     def OnRuleEnable(self, event):
-        """Rule enabled/disabled"""
+        """!Rule enabled/disabled"""
         id = event.GetId()
         id = event.GetId()
         
         
         if event.IsChecked():
         if event.IsChecked():
@@ -439,7 +439,7 @@ class ColorTable(wx.Frame):
             del self.ruleslines[id]
             del self.ruleslines[id]
         
         
     def OnRuleValue(self, event):
     def OnRuleValue(self, event):
-        """Rule value changed"""
+        """!Rule value changed"""
         num = event.GetId()
         num = event.GetId()
         vals = event.GetString().strip()
         vals = event.GetString().strip()
 
 
@@ -477,7 +477,7 @@ class ColorTable(wx.Frame):
                     return
                     return
         
         
     def OnRuleColor(self, event):
     def OnRuleColor(self, event):
-        """Rule color changed"""
+        """!Rule color changed"""
         num = event.GetId()
         num = event.GetId()
         
         
         rgba_color = event.GetValue()
         rgba_color = event.GetValue()
@@ -512,7 +512,7 @@ class ColorTable(wx.Frame):
         self.Destroy()
         self.Destroy()
         
         
     def OnPreview(self, event):
     def OnPreview(self, event):
-        """Update preview"""
+        """!Update preview"""
         # raster
         # raster
         if self.elem == 'cell':
         if self.elem == 'cell':
             cmdlist = ['d.rast',
             cmdlist = ['d.rast',
@@ -563,14 +563,14 @@ class ColorTable(wx.Frame):
                                 map = self.inmap)
                                 map = self.inmap)
         
         
     def OnHelp(self, event):
     def OnHelp(self, event):
-        """Show GRASS manual page"""
+        """!Show GRASS manual page"""
         gcmd.RunCommand('g.manual',
         gcmd.RunCommand('g.manual',
                         quiet = True,
                         quiet = True,
                         parent = self,
                         parent = self,
                         entry = self.cmd)
                         entry = self.cmd)
         
         
     def CreateColorTable(self, force=False):
     def CreateColorTable(self, force=False):
-        """Creates color table"""
+        """!Creates color table"""
         rulestxt = ''
         rulestxt = ''
         
         
         for rule in self.ruleslines.itervalues():
         for rule in self.ruleslines.itervalues():
@@ -613,7 +613,7 @@ class ColorTable(wx.Frame):
                             input = gtemp)
                             input = gtemp)
         
         
 class BufferedWindow(wx.Window):
 class BufferedWindow(wx.Window):
-    """A Buffered window class"""
+    """!A Buffered window class"""
     def __init__(self, parent, id,
     def __init__(self, parent, id,
                  pos = wx.DefaultPosition,
                  pos = wx.DefaultPosition,
                  size = wx.DefaultSize,
                  size = wx.DefaultSize,
@@ -654,7 +654,7 @@ class BufferedWindow(wx.Window):
         self.Map.SetRegion()
         self.Map.SetRegion()
 
 
     def Draw(self, pdc, img=None, pdctype='image'):
     def Draw(self, pdc, img=None, pdctype='image'):
-        """Draws preview or clears window"""
+        """!Draws preview or clears window"""
         pdc.BeginDrawing()
         pdc.BeginDrawing()
 
 
         Debug.msg (3, "BufferedWindow.Draw(): pdctype=%s" % (pdctype))
         Debug.msg (3, "BufferedWindow.Draw(): pdctype=%s" % (pdctype))
@@ -678,7 +678,7 @@ class BufferedWindow(wx.Window):
         self.Refresh()
         self.Refresh()
 
 
     def OnPaint(self, event):
     def OnPaint(self, event):
-        """Draw pseudo DC to buffer"""
+        """!Draw pseudo DC to buffer"""
         self._Buffer = wx.EmptyBitmap(self.Map.width, self.Map.height)
         self._Buffer = wx.EmptyBitmap(self.Map.width, self.Map.height)
         dc = wx.BufferedPaintDC(self, self._Buffer)
         dc = wx.BufferedPaintDC(self, self._Buffer)
         
         
@@ -699,7 +699,7 @@ class BufferedWindow(wx.Window):
         self.pdc.DrawToDCClipped(dc, r)
         self.pdc.DrawToDCClipped(dc, r)
         
         
     def OnSize(self, event):
     def OnSize(self, event):
-        """Init image size to match window size"""
+        """!Init image size to match window size"""
         # set size of the input image
         # set size of the input image
         self.Map.width, self.Map.height = self.GetClientSize()
         self.Map.width, self.Map.height = self.GetClientSize()
 
 
@@ -721,7 +721,7 @@ class BufferedWindow(wx.Window):
         self.resize = True
         self.resize = True
 
 
     def OnIdle(self, event):
     def OnIdle(self, event):
-        """Only re-render a preview image from GRASS during
+        """!Only re-render a preview image from GRASS during
         idle time instead of multiple times during resizing.
         idle time instead of multiple times during resizing.
         """
         """
         if self.resize:
         if self.resize:
@@ -730,7 +730,7 @@ class BufferedWindow(wx.Window):
         event.Skip()
         event.Skip()
 
 
     def GetImage(self):
     def GetImage(self):
-        """Converts files to wx.Image"""
+        """!Converts files to wx.Image"""
         if self.Map.mapfile and os.path.isfile(self.Map.mapfile) and \
         if self.Map.mapfile and os.path.isfile(self.Map.mapfile) and \
                 os.path.getsize(self.Map.mapfile):
                 os.path.getsize(self.Map.mapfile):
             img = wx.Image(self.Map.mapfile, wx.BITMAP_TYPE_ANY)
             img = wx.Image(self.Map.mapfile, wx.BITMAP_TYPE_ANY)
@@ -740,7 +740,7 @@ class BufferedWindow(wx.Window):
         return img
         return img
     
     
     def UpdatePreview(self, img=None):
     def UpdatePreview(self, img=None):
-        """Update canvas if window changes geometry"""
+        """!Update canvas if window changes geometry"""
         Debug.msg (2, "BufferedWindow.UpdatePreview(%s): render=%s" % (img, self.render))
         Debug.msg (2, "BufferedWindow.UpdatePreview(%s): render=%s" % (img, self.render))
         oldfont = ""
         oldfont = ""
         oldencoding = ""
         oldencoding = ""
@@ -767,6 +767,6 @@ class BufferedWindow(wx.Window):
         self.resize = False
         self.resize = False
         
         
     def EraseMap(self):
     def EraseMap(self):
-        """Erase preview"""
+        """!Erase preview"""
         self.Draw(self.pdc, pdctype='clear')
         self.Draw(self.pdc, pdctype='clear')
     
     

+ 77 - 77
gui/wxpython/gui_modules/dbm.py

@@ -57,7 +57,7 @@ from dbm_dialogs import ModifyTableRecord
 from preferences import globalSettings as UserSettings
 from preferences import globalSettings as UserSettings
 
 
 def unicodeValue(value):
 def unicodeValue(value):
-    """Encode value"""
+    """!Encode value"""
     enc = UserSettings.Get(group='atm', key='encoding', subkey='value')
     enc = UserSettings.Get(group='atm', key='encoding', subkey='value')
     if enc:
     if enc:
         value = unicode(value, enc)
         value = unicode(value, enc)
@@ -79,7 +79,7 @@ class Log:
         self.parent = parent
         self.parent = parent
 
 
     def write(self, text_string):
     def write(self, text_string):
-        """Update status bar"""
+        """!Update status bar"""
         self.parent.SetStatusText(text_string.strip())
         self.parent.SetStatusText(text_string.strip())
 
 
 
 
@@ -140,12 +140,12 @@ class VirtualAttributeList(wx.ListCtrl,
         self.Bind(wx.EVT_LIST_COL_CLICK,       self.OnColumnClick)     # sorting
         self.Bind(wx.EVT_LIST_COL_CLICK,       self.OnColumnClick)     # sorting
         
         
     def Update(self, mapDBInfo):
     def Update(self, mapDBInfo):
-        """Update list according new mapDBInfo description"""
+        """!Update list according new mapDBInfo description"""
         self.mapDBInfo = mapDBInfo
         self.mapDBInfo = mapDBInfo
         self.LoadData(self.layer)
         self.LoadData(self.layer)
 
 
     def LoadData(self, layer, columns=None, where=None):
     def LoadData(self, layer, columns=None, where=None):
-        """Load data into list
+        """!Load data into list
 
 
         @param layer layer number
         @param layer layer number
         @param columns list of columns for output
         @param columns list of columns for output
@@ -317,7 +317,7 @@ class VirtualAttributeList(wx.ListCtrl,
         return keyId
         return keyId
     
     
     def OnItemSelected(self, event):
     def OnItemSelected(self, event):
-        """Item selected. Add item to selected cats..."""
+        """!Item selected. Add item to selected cats..."""
         #         cat = int(self.GetItemText(event.m_itemIndex))
         #         cat = int(self.GetItemText(event.m_itemIndex))
         #         if cat not in self.selectedCats:
         #         if cat not in self.selectedCats:
         #             self.selectedCats.append(cat)
         #             self.selectedCats.append(cat)
@@ -326,7 +326,7 @@ class VirtualAttributeList(wx.ListCtrl,
         event.Skip()
         event.Skip()
 
 
     def OnItemDeselected(self, event):
     def OnItemDeselected(self, event):
-        """Item deselected. Remove item from selected cats..."""
+        """!Item deselected. Remove item from selected cats..."""
         #         cat = int(self.GetItemText(event.m_itemIndex))
         #         cat = int(self.GetItemText(event.m_itemIndex))
         #         if cat in self.selectedCats:
         #         if cat in self.selectedCats:
         #             self.selectedCats.remove(cat)
         #             self.selectedCats.remove(cat)
@@ -335,7 +335,7 @@ class VirtualAttributeList(wx.ListCtrl,
         event.Skip()
         event.Skip()
 
 
     def GetSelectedItems(self):
     def GetSelectedItems(self):
-        """Return list of selected items (category numbers)"""
+        """!Return list of selected items (category numbers)"""
         cats = []
         cats = []
         item = self.GetFirstSelected()
         item = self.GetFirstSelected()
         while item != -1:
         while item != -1:
@@ -345,22 +345,22 @@ class VirtualAttributeList(wx.ListCtrl,
         return cats
         return cats
 
 
     def GetColumnText(self, index, col):
     def GetColumnText(self, index, col):
-        """Return column text"""
+        """!Return column text"""
         item = self.GetItem(index, col)
         item = self.GetItem(index, col)
         return item.GetText()
         return item.GetText()
 
 
     def GetListCtrl(self):
     def GetListCtrl(self):
-        """Returt list"""
+        """!Returt list"""
         return self
         return self
 
 
     def OnGetItemText(self, item, col):
     def OnGetItemText(self, item, col):
-        """Get item text"""
+        """!Get item text"""
         index = self.itemIndexMap[item]
         index = self.itemIndexMap[item]
         s = self.itemDataMap[index][col]
         s = self.itemDataMap[index][col]
         return s
         return s
 
 
     def OnGetItemAttr(self, item):
     def OnGetItemAttr(self, item):
-        """Get item attributes"""
+        """!Get item attributes"""
         index = self.itemIndexMap[item]
         index = self.itemIndexMap[item]
         if ( index % 2) == 0:
         if ( index % 2) == 0:
             return self.attr2
             return self.attr2
@@ -368,7 +368,7 @@ class VirtualAttributeList(wx.ListCtrl,
             return self.attr1
             return self.attr1
 
 
     def OnColumnClick(self, event):
     def OnColumnClick(self, event):
-        """Column heading clicked -> sorting"""
+        """!Column heading clicked -> sorting"""
         self._col = event.GetColumn()
         self._col = event.GetColumn()
 
 
         # remove duplicated arrow symbol from column header
         # remove duplicated arrow symbol from column header
@@ -383,7 +383,7 @@ class VirtualAttributeList(wx.ListCtrl,
         event.Skip()
         event.Skip()
 
 
     def SortItems(self, sorter=cmp):
     def SortItems(self, sorter=cmp):
-        """Sort items"""
+        """!Sort items"""
         items = list(self.itemDataMap.keys())
         items = list(self.itemDataMap.keys())
         items.sort(self.Sorter)
         items.sort(self.Sorter)
         self.itemIndexMap = items
         self.itemIndexMap = items
@@ -417,11 +417,11 @@ class VirtualAttributeList(wx.ListCtrl,
             return -cmpVal
             return -cmpVal
 
 
     def GetSortImages(self):
     def GetSortImages(self):
-        """Used by the ColumnSorterMixin, see wx/lib/mixins/listctrl.py"""
+        """!Used by the ColumnSorterMixin, see wx/lib/mixins/listctrl.py"""
         return (self.sm_dn, self.sm_up)
         return (self.sm_dn, self.sm_up)
 
 
     def IsEmpty(self):
     def IsEmpty(self):
-        """Check if list if empty"""
+        """!Check if list if empty"""
         if self.columns:
         if self.columns:
             return False
             return False
         
         
@@ -552,7 +552,7 @@ class AttributeManager(wx.Frame):
         self.SetMinSize(self.GetSize())
         self.SetMinSize(self.GetSize())
 
 
     def __createBrowsePage(self, onlyLayer=-1):
     def __createBrowsePage(self, onlyLayer=-1):
-        """Create browse tab page"""
+        """!Create browse tab page"""
         for layer in self.mapDBInfo.layers.keys():
         for layer in self.mapDBInfo.layers.keys():
             if onlyLayer > 0 and layer != onlyLayer:
             if onlyLayer > 0 and layer != onlyLayer:
                 continue
                 continue
@@ -694,7 +694,7 @@ class AttributeManager(wx.Frame):
             self.layer = None
             self.layer = None
         
         
     def __createManageTablePage(self, onlyLayer=-1):
     def __createManageTablePage(self, onlyLayer=-1):
-        """Create manage page (create/link and alter tables)"""
+        """!Create manage page (create/link and alter tables)"""
         for layer in self.mapDBInfo.layers.keys():
         for layer in self.mapDBInfo.layers.keys():
             if onlyLayer > 0 and layer != onlyLayer:
             if onlyLayer > 0 and layer != onlyLayer:
                 continue
                 continue
@@ -864,7 +864,7 @@ class AttributeManager(wx.Frame):
             self.layer = None
             self.layer = None
         
         
     def __createTableDesc(self, parent, table):
     def __createTableDesc(self, parent, table):
-        """Create list with table description"""
+        """!Create list with table description"""
         list = TableListCtrl(parent=parent, id=wx.ID_ANY,
         list = TableListCtrl(parent=parent, id=wx.ID_ANY,
                              table=self.mapDBInfo.tables[table],
                              table=self.mapDBInfo.tables[table],
                              columns=self.mapDBInfo.GetColumns(table))
                              columns=self.mapDBInfo.GetColumns(table))
@@ -876,7 +876,7 @@ class AttributeManager(wx.Frame):
         return list
         return list
 
 
     def __createManageLayerPage(self):
     def __createManageLayerPage(self):
-        """Create manage page"""
+        """!Create manage page"""
         splitterWin = wx.SplitterWindow(parent=self.manageLayerPage, id=wx.ID_ANY)
         splitterWin = wx.SplitterWindow(parent=self.manageLayerPage, id=wx.ID_ANY)
         splitterWin.SetMinimumPaneSize(100)
         splitterWin.SetMinimumPaneSize(100)
         
         
@@ -929,7 +929,7 @@ class AttributeManager(wx.Frame):
         splitterWin.Fit()
         splitterWin.Fit()
 
 
     def __createLayerDesc(self, parent):
     def __createLayerDesc(self, parent):
-        """Create list of linked layers"""
+        """!Create list of linked layers"""
         list = LayerListCtrl(parent=parent, id=wx.ID_ANY,
         list = LayerListCtrl(parent=parent, id=wx.ID_ANY,
                              layers=self.mapDBInfo.layers)
                              layers=self.mapDBInfo.layers)
         
         
@@ -941,7 +941,7 @@ class AttributeManager(wx.Frame):
         return list
         return list
 
 
     def __layout(self):
     def __layout(self):
-        """Do layout"""
+        """!Do layout"""
         # frame body
         # frame body
         mainSizer = wx.BoxSizer(wx.VERTICAL)
         mainSizer = wx.BoxSizer(wx.VERTICAL)
 
 
@@ -961,7 +961,7 @@ class AttributeManager(wx.Frame):
         self.Layout()
         self.Layout()
         
         
     def OnDataRightUp(self, event):
     def OnDataRightUp(self, event):
-        """Table description area, context menu"""
+        """!Table description area, context menu"""
         if not hasattr(self, "popupDataID1"):
         if not hasattr(self, "popupDataID1"):
             self.popupDataID1 = wx.NewId()
             self.popupDataID1 = wx.NewId()
             self.popupDataID2 = wx.NewId()
             self.popupDataID2 = wx.NewId()
@@ -1023,7 +1023,7 @@ class AttributeManager(wx.Frame):
                            list.GetItemCount())
                            list.GetItemCount())
 
 
     def OnDataItemDelete(self, event):
     def OnDataItemDelete(self, event):
-        """Delete selected item(s) from the list (layer/category pair)"""
+        """!Delete selected item(s) from the list (layer/category pair)"""
         list = self.FindWindowById(self.layerPage[self.layer]['data'])
         list = self.FindWindowById(self.layerPage[self.layer]['data'])
         item = list.GetFirstSelected()
         item = list.GetFirstSelected()
 
 
@@ -1087,7 +1087,7 @@ class AttributeManager(wx.Frame):
         return True
         return True
 
 
     def OnDataItemDeleteAll(self, event):
     def OnDataItemDeleteAll(self, event):
-        """Delete all items from the list"""
+        """!Delete all items from the list"""
         list = self.FindWindowById(self.layerPage[self.layer]['data'])
         list = self.FindWindowById(self.layerPage[self.layer]['data'])
         if UserSettings.Get(group='atm', key='askOnDeleteRec', subkey='enabled'):
         if UserSettings.Get(group='atm', key='askOnDeleteRec', subkey='enabled'):
             deleteDialog = wx.MessageBox(parent=self,
             deleteDialog = wx.MessageBox(parent=self,
@@ -1112,7 +1112,7 @@ class AttributeManager(wx.Frame):
         event.Skip()
         event.Skip()
 
 
     def _drawSelected(self, zoom):
     def _drawSelected(self, zoom):
-        """Highlight selected features"""
+        """!Highlight selected features"""
         if not self.map or not self.mapdisplay:
         if not self.map or not self.mapdisplay:
             return
             return
         
         
@@ -1177,7 +1177,7 @@ class AttributeManager(wx.Frame):
             self.mapdisplay.MapWindow.UpdateMap(render=False, renderVector=True)
             self.mapdisplay.MapWindow.UpdateMap(render=False, renderVector=True)
         
         
     def OnDataDrawSelected(self, event):
     def OnDataDrawSelected(self, event):
-        """Reload table description"""
+        """!Reload table description"""
         self._drawSelected(zoom=False)
         self._drawSelected(zoom=False)
         event.Skip()
         event.Skip()
 
 
@@ -1186,7 +1186,7 @@ class AttributeManager(wx.Frame):
         event.Skip()
         event.Skip()
         
         
     def OnDataItemAdd(self, event):
     def OnDataItemAdd(self, event):
-        """Add new record to the attribute table"""
+        """!Add new record to the attribute table"""
         list      = self.FindWindowById(self.layerPage[self.layer]['data'])
         list      = self.FindWindowById(self.layerPage[self.layer]['data'])
         table     = self.mapDBInfo.layers[self.layer]['table']
         table     = self.mapDBInfo.layers[self.layer]['table']
         keyColumn = self.mapDBInfo.layers[self.layer]['key']
         keyColumn = self.mapDBInfo.layers[self.layer]['key']
@@ -1299,7 +1299,7 @@ class AttributeManager(wx.Frame):
             self.ApplyCommands()
             self.ApplyCommands()
             
             
     def OnDataItemEdit(self, event):
     def OnDataItemEdit(self, event):
-        """Edit selected record of the attribute table"""
+        """!Edit selected record of the attribute table"""
         list      = self.FindWindowById(self.layerPage[self.layer]['data'])
         list      = self.FindWindowById(self.layerPage[self.layer]['data'])
         item      = list.GetFirstSelected()
         item      = list.GetFirstSelected()
         if item == -1:
         if item == -1:
@@ -1395,12 +1395,12 @@ class AttributeManager(wx.Frame):
             list.Update(self.mapDBInfo)
             list.Update(self.mapDBInfo)
                         
                         
     def OnDataReload(self, event):
     def OnDataReload(self, event):
-        """Reload list of records"""
+        """!Reload list of records"""
         self.OnApplySqlStatement(None)
         self.OnApplySqlStatement(None)
         self.listOfSQLStatements = []
         self.listOfSQLStatements = []
 
 
     def OnDataSelectAll(self, event):
     def OnDataSelectAll(self, event):
-        """Select all items"""
+        """!Select all items"""
         list = self.FindWindowById(self.layerPage[self.layer]['data'])
         list = self.FindWindowById(self.layerPage[self.layer]['data'])
         item = -1
         item = -1
 
 
@@ -1413,7 +1413,7 @@ class AttributeManager(wx.Frame):
         event.Skip()
         event.Skip()
 
 
     def OnDataSelectNone(self, event):
     def OnDataSelectNone(self, event):
-        """Deselect items"""
+        """!Deselect items"""
         list = self.FindWindowById(self.layerPage[self.layer]['data'])
         list = self.FindWindowById(self.layerPage[self.layer]['data'])
         item = -1
         item = -1
 
 
@@ -1427,7 +1427,7 @@ class AttributeManager(wx.Frame):
 
 
 
 
     def OnTableChangeType(self, event):
     def OnTableChangeType(self, event):
-        """Data type for new column changed. Enable or disable
+        """!Data type for new column changed. Enable or disable
         data length widget"""
         data length widget"""
         win = self.FindWindowById(self.layerPage[self.layer]['addColLength'])
         win = self.FindWindowById(self.layerPage[self.layer]['addColLength'])
         if event.GetString() == "varchar":
         if event.GetString() == "varchar":
@@ -1436,7 +1436,7 @@ class AttributeManager(wx.Frame):
             win.Enable(False)
             win.Enable(False)
 
 
     def OnTableRenameColumnName(self, event):
     def OnTableRenameColumnName(self, event):
-        """Editing column name to be added to the table"""
+        """!Editing column name to be added to the table"""
         btn  = self.FindWindowById(self.layerPage[self.layer]['renameColButton'])
         btn  = self.FindWindowById(self.layerPage[self.layer]['renameColButton'])
         col  = self.FindWindowById(self.layerPage[self.layer]['renameCol'])
         col  = self.FindWindowById(self.layerPage[self.layer]['renameCol'])
         colTo = self.FindWindowById(self.layerPage[self.layer]['renameColTo'])
         colTo = self.FindWindowById(self.layerPage[self.layer]['renameColTo'])
@@ -1448,7 +1448,7 @@ class AttributeManager(wx.Frame):
         event.Skip()
         event.Skip()
 
 
     def OnTableAddColumnName(self, event):
     def OnTableAddColumnName(self, event):
-        """Editing column name to be added to the table"""
+        """!Editing column name to be added to the table"""
         btn = self.FindWindowById(self.layerPage[self.layer]['addColButton'])
         btn = self.FindWindowById(self.layerPage[self.layer]['addColButton'])
         if len(event.GetString()) > 0:
         if len(event.GetString()) > 0:
             btn.Enable(True)
             btn.Enable(True)
@@ -1458,7 +1458,7 @@ class AttributeManager(wx.Frame):
         event.Skip()
         event.Skip()
 
 
     def OnTableItemChange(self, event):
     def OnTableItemChange(self, event):
-        """Rename column in the table"""
+        """!Rename column in the table"""
         list   = self.FindWindowById(self.layerPage[self.layer]['tableData'])
         list   = self.FindWindowById(self.layerPage[self.layer]['tableData'])
         name   = self.FindWindowById(self.layerPage[self.layer]['renameCol']).GetValue()
         name   = self.FindWindowById(self.layerPage[self.layer]['renameCol']).GetValue()
         nameTo = self.FindWindowById(self.layerPage[self.layer]['renameColTo']).GetValue()
         nameTo = self.FindWindowById(self.layerPage[self.layer]['renameColTo']).GetValue()
@@ -1510,7 +1510,7 @@ class AttributeManager(wx.Frame):
         event.Skip()
         event.Skip()
 
 
     def OnTableRightUp(self, event):
     def OnTableRightUp(self, event):
-        """Table description area, context menu"""
+        """!Table description area, context menu"""
         if not hasattr(self, "popupTableID"):
         if not hasattr(self, "popupTableID"):
             self.popupTableID1 = wx.NewId()
             self.popupTableID1 = wx.NewId()
             self.popupTableID2 = wx.NewId()
             self.popupTableID2 = wx.NewId()
@@ -1532,7 +1532,7 @@ class AttributeManager(wx.Frame):
         menu.Destroy()
         menu.Destroy()
 
 
     def OnTableItemDelete(self, event):
     def OnTableItemDelete(self, event):
-        """Delete selected item(s) from the list"""
+        """!Delete selected item(s) from the list"""
         list = self.FindWindowById(self.layerPage[self.layer]['tableData'])
         list = self.FindWindowById(self.layerPage[self.layer]['tableData'])
 
 
         item = list.GetFirstSelected()
         item = list.GetFirstSelected()
@@ -1556,7 +1556,7 @@ class AttributeManager(wx.Frame):
         event.Skip()
         event.Skip()
 
 
     def OnTableItemDeleteAll(self, event):
     def OnTableItemDeleteAll(self, event):
-        """Delete all items from the list"""
+        """!Delete all items from the list"""
         table = self.mapDBInfo.layers[self.layer]['table']
         table = self.mapDBInfo.layers[self.layer]['table']
         cols = self.mapDBInfo.GetColumns(table)
         cols = self.mapDBInfo.GetColumns(table)
         for col in cols:
         for col in cols:
@@ -1578,12 +1578,12 @@ class AttributeManager(wx.Frame):
         event.Skip()
         event.Skip()
 
 
     def OnTableReload(self, event=None):
     def OnTableReload(self, event=None):
-        """Reload table description"""
+        """!Reload table description"""
         self.FindWindowById(self.layerPage[self.layer]['tableData']).Populate(update=True)
         self.FindWindowById(self.layerPage[self.layer]['tableData']).Populate(update=True)
         self.listOfCommands = []
         self.listOfCommands = []
 
 
     def OnTableItemAdd(self, event):
     def OnTableItemAdd(self, event):
-        """Add new column to the table"""
+        """!Add new column to the table"""
 	table = self.mapDBInfo.layers[self.layer]['table']
 	table = self.mapDBInfo.layers[self.layer]['table']
         name = self.FindWindowById(self.layerPage[self.layer]['addColName']).GetValue()
         name = self.FindWindowById(self.layerPage[self.layer]['addColName']).GetValue()
 
 
@@ -1639,7 +1639,7 @@ class AttributeManager(wx.Frame):
         event.Skip()
         event.Skip()
         
         
     def OnLayerPageChanged(self, event):
     def OnLayerPageChanged(self, event):
-        """Layer tab changed"""
+        """!Layer tab changed"""
         pageNum = event.GetSelection()
         pageNum = event.GetSelection()
         self.layer = self.mapDBInfo.layers.keys()[pageNum]
         self.layer = self.mapDBInfo.layers.keys()[pageNum]
         
         
@@ -1682,11 +1682,11 @@ class AttributeManager(wx.Frame):
         event.Skip()
         event.Skip()
         
         
     def OnLayerRightUp(self, event):
     def OnLayerRightUp(self, event):
-        """Layer description area, context menu"""
+        """!Layer description area, context menu"""
         pass
         pass
 
 
     def OnChangeSql(self, event):
     def OnChangeSql(self, event):
-        """Switch simple/advanced sql statement"""
+        """!Switch simple/advanced sql statement"""
         if self.FindWindowById(self.layerPage[self.layer]['simple']).GetValue():
         if self.FindWindowById(self.layerPage[self.layer]['simple']).GetValue():
             self.FindWindowById(self.layerPage[self.layer]['where']).Enable(True)
             self.FindWindowById(self.layerPage[self.layer]['where']).Enable(True)
             self.FindWindowById(self.layerPage[self.layer]['statement']).Enable(False)
             self.FindWindowById(self.layerPage[self.layer]['statement']).Enable(False)
@@ -1697,7 +1697,7 @@ class AttributeManager(wx.Frame):
             self.FindWindowById(self.layerPage[self.layer]['builder']).Enable(True)
             self.FindWindowById(self.layerPage[self.layer]['builder']).Enable(True)
 
 
     def ApplyCommands(self):
     def ApplyCommands(self):
-        """Apply changes"""
+        """!Apply changes"""
         # perform GRASS commands (e.g. v.db.addcol)
         # perform GRASS commands (e.g. v.db.addcol)
         if len(self.listOfCommands) > 0:
         if len(self.listOfCommands) > 0:
             for cmd in self.listOfCommands:
             for cmd in self.listOfCommands:
@@ -1753,7 +1753,7 @@ class AttributeManager(wx.Frame):
             self.listOfSQLStatements = []
             self.listOfSQLStatements = []
 
 
     def OnApplySqlStatement(self, event):
     def OnApplySqlStatement(self, event):
-        """Apply simple/advanced sql statement"""
+        """!Apply simple/advanced sql statement"""
         keyColumn = -1 # index of key column
         keyColumn = -1 # index of key column
         listWin = self.FindWindowById(self.layerPage[self.layer]['data'])
         listWin = self.FindWindowById(self.layerPage[self.layer]['data'])
         if self.FindWindowById(self.layerPage[self.layer]['simple']).GetValue():
         if self.FindWindowById(self.layerPage[self.layer]['simple']).GetValue():
@@ -1805,7 +1805,7 @@ class AttributeManager(wx.Frame):
                            self.FindWindowById(self.layerPage[self.layer]['data']).GetItemCount())
                            self.FindWindowById(self.layerPage[self.layer]['data']).GetItemCount())
 
 
     def ValidateSelectStatement(self, statement):
     def ValidateSelectStatement(self, statement):
-        """Validate SQL select statement
+        """!Validate SQL select statement
 
 
         @return (columns, where)
         @return (columns, where)
         @return None on error
         @return None on error
@@ -1844,7 +1844,7 @@ class AttributeManager(wx.Frame):
         return (cols, where)
         return (cols, where)
     
     
     def __createDbInfoDesc(self, panel, layer):
     def __createDbInfoDesc(self, panel, layer):
-        """Create database connection information content"""
+        """!Create database connection information content"""
         infoFlexSizer = wx.FlexGridSizer (cols=2, hgap=1, vgap=1)
         infoFlexSizer = wx.FlexGridSizer (cols=2, hgap=1, vgap=1)
         infoFlexSizer.AddGrowableCol(1)
         infoFlexSizer.AddGrowableCol(1)
         
         
@@ -1868,12 +1868,12 @@ class AttributeManager(wx.Frame):
         return infoFlexSizer
         return infoFlexSizer
         
         
     def OnCloseWindow(self, event):
     def OnCloseWindow(self, event):
-        """Cancel button pressed"""
+        """!Cancel button pressed"""
         self.Close()
         self.Close()
         event.Skip()
         event.Skip()
 
 
     def OnBuilder(self,event):
     def OnBuilder(self,event):
-        """SQL Builder button pressed"""
+        """!SQL Builder button pressed"""
         self.builder = sqlbuilder.SQLFrame(parent=self, id=wx.ID_ANY,
         self.builder = sqlbuilder.SQLFrame(parent=self, id=wx.ID_ANY,
                                            title=_("SQL Builder"),
                                            title=_("SQL Builder"),
                                            vectorName=self.vectorName)
                                            vectorName=self.vectorName)
@@ -1884,7 +1884,7 @@ class AttributeManager(wx.Frame):
         pass
         pass
 
 
     def OnDataItemActivated(self, event):
     def OnDataItemActivated(self, event):
-        """Item activated, highlight selected item"""
+        """!Item activated, highlight selected item"""
         self.OnDataDrawSelected(event)
         self.OnDataDrawSelected(event)
 
 
         event.Skip()
         event.Skip()
@@ -1939,7 +1939,7 @@ class AttributeManager(wx.Frame):
             self.mapdisplay.MapWindow.UpdateMap(render=True, renderVector=True)
             self.mapdisplay.MapWindow.UpdateMap(render=True, renderVector=True)
         
         
     def AddQueryMapLayer(self):
     def AddQueryMapLayer(self):
-        """Redraw a map
+        """!Redraw a map
 
 
         Return True if map has been redrawn, False if no map is given
         Return True if map has been redrawn, False if no map is given
         """
         """
@@ -1959,7 +1959,7 @@ class AttributeManager(wx.Frame):
         return self.qlayer
         return self.qlayer
     
     
     def UpdateDialog(self, layer):
     def UpdateDialog(self, layer):
-        """Updates dialog layout for given layer"""
+        """!Updates dialog layout for given layer"""
         #
         #
         # delete page
         # delete page
         #
         #
@@ -2018,7 +2018,7 @@ class AttributeManager(wx.Frame):
 class TableListCtrl(wx.ListCtrl,
 class TableListCtrl(wx.ListCtrl,
                     listmix.ListCtrlAutoWidthMixin):
                     listmix.ListCtrlAutoWidthMixin):
                     #                    listmix.TextEditMixin):
                     #                    listmix.TextEditMixin):
-    """Table description list"""
+    """!Table description list"""
 
 
     def __init__(self, parent, id, table, columns, pos=wx.DefaultPosition,
     def __init__(self, parent, id, table, columns, pos=wx.DefaultPosition,
                  size=wx.DefaultSize):
                  size=wx.DefaultSize):
@@ -2034,12 +2034,12 @@ class TableListCtrl(wx.ListCtrl,
         # listmix.TextEditMixin.__init__(self)
         # listmix.TextEditMixin.__init__(self)
 
 
     def Update(self, table, columns):
     def Update(self, table, columns):
-        """Update column description"""
+        """!Update column description"""
         self.table   = table
         self.table   = table
         self.columns = columns
         self.columns = columns
 
 
     def Populate(self, update=False):
     def Populate(self, update=False):
-        """Populate the list"""
+        """!Populate the list"""
         itemData = {} # requested by sorter
         itemData = {} # requested by sorter
 
 
         if not update:
         if not update:
@@ -2072,7 +2072,7 @@ class LayerListCtrl(wx.ListCtrl,
                     listmix.ListCtrlAutoWidthMixin):
                     listmix.ListCtrlAutoWidthMixin):
                     # listmix.ColumnSorterMixin):
                     # listmix.ColumnSorterMixin):
                     # listmix.TextEditMixin):
                     # listmix.TextEditMixin):
-    """Layer description list"""
+    """!Layer description list"""
 
 
     def __init__(self, parent, id, layers,
     def __init__(self, parent, id, layers,
                  pos=wx.DefaultPosition,
                  pos=wx.DefaultPosition,
@@ -2088,11 +2088,11 @@ class LayerListCtrl(wx.ListCtrl,
         # listmix.TextEditMixin.__init__(self)
         # listmix.TextEditMixin.__init__(self)
 
 
     def Update(self, layers):
     def Update(self, layers):
-        """Update description"""
+        """!Update description"""
         self.layers = layers
         self.layers = layers
 
 
     def Populate(self, update=False):
     def Populate(self, update=False):
-        """Populate the list"""
+        """!Populate the list"""
         itemData = {} # requested by sorter
         itemData = {} # requested by sorter
 
 
         if not update:
         if not update:
@@ -2134,7 +2134,7 @@ class LayerListCtrl(wx.ListCtrl,
         return itemData
         return itemData
 
 
 class LayerBook(wx.Notebook):
 class LayerBook(wx.Notebook):
-    """Manage layers (add, delete, modify)"""
+    """!Manage layers (add, delete, modify)"""
     def __init__(self, parent, id,
     def __init__(self, parent, id,
                  parentDialog,
                  parentDialog,
                  style=wx.BK_DEFAULT):
                  style=wx.BK_DEFAULT):
@@ -2188,7 +2188,7 @@ class LayerBook(wx.Notebook):
         self.__createModifyPage()
         self.__createModifyPage()
 
 
     def __createAddPage(self):
     def __createAddPage(self):
-        """Add new layer"""
+        """!Add new layer"""
         self.addPanel = wx.Panel(parent=self, id=wx.ID_ANY)
         self.addPanel = wx.Panel(parent=self, id=wx.ID_ANY)
         self.AddPage(page=self.addPanel, text=_("Add layer"))
         self.AddPage(page=self.addPanel, text=_("Add layer"))
         
         
@@ -2379,7 +2379,7 @@ class LayerBook(wx.Notebook):
         pageSizer.Fit(self.addPanel)
         pageSizer.Fit(self.addPanel)
         
         
     def __createDeletePage(self):
     def __createDeletePage(self):
-        """Delete layer"""
+        """!Delete layer"""
         self.deletePanel = wx.Panel(parent=self, id=wx.ID_ANY)
         self.deletePanel = wx.Panel(parent=self, id=wx.ID_ANY)
         self.AddPage(page=self.deletePanel, text=_("Delete layer"))
         self.AddPage(page=self.deletePanel, text=_("Delete layer"))
 
 
@@ -2447,7 +2447,7 @@ class LayerBook(wx.Notebook):
         self.deletePanel.SetSizer(pageSizer)
         self.deletePanel.SetSizer(pageSizer)
 
 
     def __createModifyPage(self):
     def __createModifyPage(self):
-        """Modify layer"""
+        """!Modify layer"""
         self.modifyPanel = wx.Panel(parent=self, id=wx.ID_ANY)
         self.modifyPanel = wx.Panel(parent=self, id=wx.ID_ANY)
         self.AddPage(page=self.modifyPanel, text=_("Modify layer"))
         self.AddPage(page=self.modifyPanel, text=_("Modify layer"))
 
 
@@ -2557,7 +2557,7 @@ class LayerBook(wx.Notebook):
         self.modifyPanel.SetSizer(pageSizer)
         self.modifyPanel.SetSizer(pageSizer)
 
 
     def __getTables(self, driver, database):
     def __getTables(self, driver, database):
-        """Get list of tables for given driver and database"""
+        """!Get list of tables for given driver and database"""
         tables = []
         tables = []
 
 
         ret = gcmd.RunCommand('db.tables',
         ret = gcmd.RunCommand('db.tables',
@@ -2581,7 +2581,7 @@ class LayerBook(wx.Notebook):
         return tables
         return tables
 
 
     def __getColumns(self, driver, database, table):
     def __getColumns(self, driver, database, table):
-        """Get list of column of given table"""
+        """!Get list of column of given table"""
         columns = []
         columns = []
 
 
         ret = gcmd.RunCommand('db.columns',
         ret = gcmd.RunCommand('db.columns',
@@ -2601,7 +2601,7 @@ class LayerBook(wx.Notebook):
         return columns
         return columns
 
 
     def OnDriverChanged(self, event):
     def OnDriverChanged(self, event):
-        """Driver selection changed, update list of tables"""
+        """!Driver selection changed, update list of tables"""
         driver = event.GetString()
         driver = event.GetString()
         database = self.addLayerWidgets['database'][1].GetValue()
         database = self.addLayerWidgets['database'][1].GetValue()
 
 
@@ -2618,11 +2618,11 @@ class LayerBook(wx.Notebook):
         event.Skip()
         event.Skip()
 
 
     def OnDatabaseChanged(self, event):
     def OnDatabaseChanged(self, event):
-        """Database selection changed, update list of tables"""
+        """!Database selection changed, update list of tables"""
         event.Skip()
         event.Skip()
 
 
     def OnTableChanged(self, event):
     def OnTableChanged(self, event):
-        """Table name changed, update list of columns"""
+        """!Table name changed, update list of columns"""
         driver   = self.addLayerWidgets['driver'][1].GetStringSelection()
         driver   = self.addLayerWidgets['driver'][1].GetStringSelection()
         database = self.addLayerWidgets['database'][1].GetValue()
         database = self.addLayerWidgets['database'][1].GetValue()
         table    = event.GetString()
         table    = event.GetString()
@@ -2635,7 +2635,7 @@ class LayerBook(wx.Notebook):
         event.Skip()
         event.Skip()
 
 
     def OnSetDefault(self, event):
     def OnSetDefault(self, event):
-        """Set default values"""
+        """!Set default values"""
         driver   = self.addLayerWidgets['driver'][1]
         driver   = self.addLayerWidgets['driver'][1]
         database = self.addLayerWidgets['database'][1]
         database = self.addLayerWidgets['database'][1]
         table    = self.addLayerWidgets['table'][1]
         table    = self.addLayerWidgets['table'][1]
@@ -2659,7 +2659,7 @@ class LayerBook(wx.Notebook):
         event.Skip()
         event.Skip()
 
 
     def OnCreateTable(self, event):
     def OnCreateTable(self, event):
-        """Create new table (name and key column given)"""
+        """!Create new table (name and key column given)"""
         driver   = self.addLayerWidgets['driver'][1].GetStringSelection()
         driver   = self.addLayerWidgets['driver'][1].GetStringSelection()
         database = self.addLayerWidgets['database'][1].GetValue()
         database = self.addLayerWidgets['database'][1].GetValue()
         table    = self.tableWidgets['table'][1].GetValue()
         table    = self.tableWidgets['table'][1].GetValue()
@@ -2702,7 +2702,7 @@ class LayerBook(wx.Notebook):
         event.Skip()
         event.Skip()
 
 
     def OnAddLayer(self, event):
     def OnAddLayer(self, event):
-        """Add new layer to vector map"""
+        """!Add new layer to vector map"""
         layer    = int(self.addLayerWidgets['layer'][1].GetValue())
         layer    = int(self.addLayerWidgets['layer'][1].GetValue())
         layerWin = self.addLayerWidgets['layer'][1]
         layerWin = self.addLayerWidgets['layer'][1]
         driver   = self.addLayerWidgets['driver'][1].GetStringSelection()
         driver   = self.addLayerWidgets['driver'][1].GetStringSelection()
@@ -2756,7 +2756,7 @@ class LayerBook(wx.Notebook):
                 self.modifyLayerWidgets[label][1].Enable()
                 self.modifyLayerWidgets[label][1].Enable()
             
             
     def OnDeleteLayer(self, event):
     def OnDeleteLayer(self, event):
-        """Delete layer"""
+        """!Delete layer"""
         try:
         try:
             layer = int(self.deleteLayer.GetValue())
             layer = int(self.deleteLayer.GetValue())
         except:
         except:
@@ -2802,7 +2802,7 @@ class LayerBook(wx.Notebook):
         event.Skip()
         event.Skip()
 
 
     def OnChangeLayer(self, event):
     def OnChangeLayer(self, event):
-        """Layer number of layer to be deleted is changed"""
+        """!Layer number of layer to be deleted is changed"""
         try:
         try:
             layer = int(event.GetString())
             layer = int(event.GetString())
         except:
         except:
@@ -2828,7 +2828,7 @@ class LayerBook(wx.Notebook):
             event.Skip()
             event.Skip()
 
 
     def OnModifyLayer(self, event):
     def OnModifyLayer(self, event):
-        """Modify layer connection settings"""
+        """!Modify layer connection settings"""
 
 
         layer = int(self.modifyLayerWidgets['layer'][1].GetStringSelection())
         layer = int(self.modifyLayerWidgets['layer'][1].GetStringSelection())
 
 
@@ -2870,13 +2870,13 @@ class LayerBook(wx.Notebook):
         event.Skip()
         event.Skip()
 
 
 class VectorDBInfo(gselect.VectorDBInfo):
 class VectorDBInfo(gselect.VectorDBInfo):
-    """Class providing information about attribute tables
+    """!Class providing information about attribute tables
     linked to the vector map"""
     linked to the vector map"""
     def __init__(self, map):
     def __init__(self, map):
         gselect.VectorDBInfo.__init__(self, map)
         gselect.VectorDBInfo.__init__(self, map)
         
         
     def GetColumns(self, table):
     def GetColumns(self, table):
-        """Return list of columns names (based on their index)"""
+        """!Return list of columns names (based on their index)"""
         try:
         try:
             names = [''] * len(self.tables[table].keys())
             names = [''] * len(self.tables[table].keys())
         except KeyError:
         except KeyError:
@@ -2888,7 +2888,7 @@ class VectorDBInfo(gselect.VectorDBInfo):
         return names
         return names
 
 
     def SelectByPoint(self, queryCoords, qdist):
     def SelectByPoint(self, queryCoords, qdist):
-        """Get attributes by coordinates (all available layers)
+        """!Get attributes by coordinates (all available layers)
 
 
         Return line id or None if no line is found"""
         Return line id or None if no line is found"""
         line = None
         line = None
@@ -2950,7 +2950,7 @@ class VectorDBInfo(gselect.VectorDBInfo):
         return data
         return data
     
     
     def SelectFromTable(self, layer, cols='*', where=None):
     def SelectFromTable(self, layer, cols='*', where=None):
-        """Select records from the table
+        """!Select records from the table
 
 
         Return number of selected records, -1 on error
         Return number of selected records, -1 on error
         """
         """

+ 12 - 12
gui/wxpython/gui_modules/dbm_dialogs.py

@@ -166,15 +166,15 @@ class DisplayAttributesDialog(wx.Dialog):
             ### self.mapDBInfo = None
             ### self.mapDBInfo = None
 
 
     def __SelectAttributes(self, layer):
     def __SelectAttributes(self, layer):
-        """Select attributes"""
+        """!Select attributes"""
         pass
         pass
 
 
     def OnSQLStatement(self, event):
     def OnSQLStatement(self, event):
-        """Update SQL statement"""
+        """!Update SQL statement"""
         pass
         pass
 
 
     def GetSQLString(self, updateValues=False):
     def GetSQLString(self, updateValues=False):
-        """Create SQL statement string based on self.sqlStatement
+        """!Create SQL statement string based on self.sqlStatement
 
 
         If updateValues is True, update dataFrame according to values
         If updateValues is True, update dataFrame according to values
         in textfields.
         in textfields.
@@ -248,7 +248,7 @@ class DisplayAttributesDialog(wx.Dialog):
         return sqlCommands
         return sqlCommands
 
 
     def OnReset(self, event):
     def OnReset(self, event):
-        """Reset form"""
+        """!Reset form"""
         for layer in self.mapDBInfo.layers.keys():
         for layer in self.mapDBInfo.layers.keys():
             table = self.mapDBInfo.layers[layer]["table"]
             table = self.mapDBInfo.layers[layer]["table"]
             key = self.mapDBInfo.layers[layer]["key"]
             key = self.mapDBInfo.layers[layer]["key"]
@@ -266,7 +266,7 @@ class DisplayAttributesDialog(wx.Dialog):
                         self.FindWindowById(id).SetValue(str(value))
                         self.FindWindowById(id).SetValue(str(value))
 
 
     def OnCancel(self, event):
     def OnCancel(self, event):
-        """Cancel button pressed"""
+        """!Cancel button pressed"""
         self.parent.parent.dialogs['attributes'] = None
         self.parent.parent.dialogs['attributes'] = None
         if self.parent.parent.digit:
         if self.parent.parent.digit:
             self.parent.parent.digit.driver.SetSelected([])
             self.parent.parent.digit.driver.SetSelected([])
@@ -277,7 +277,7 @@ class DisplayAttributesDialog(wx.Dialog):
         self.Close()
         self.Close()
 
 
     def OnSubmit(self, event):
     def OnSubmit(self, event):
-        """Submit records"""
+        """!Submit records"""
         for sql in self.GetSQLString(updateValues=True):
         for sql in self.GetSQLString(updateValues=True):
             enc = UserSettings.Get(group='atm', key='encoding', subkey='value')
             enc = UserSettings.Get(group='atm', key='encoding', subkey='value')
             if not enc and \
             if not enc and \
@@ -298,7 +298,7 @@ class DisplayAttributesDialog(wx.Dialog):
         self.UpdateDialog(cats=self.cats, fid=self.fid)
         self.UpdateDialog(cats=self.cats, fid=self.fid)
         
         
     def GetCats(self):
     def GetCats(self):
-        """Get id of selected vector object or 'None' if nothing selected
+        """!Get id of selected vector object or 'None' if nothing selected
 
 
         @param id if true return ids otherwise cats
         @param id if true return ids otherwise cats
         """
         """
@@ -308,11 +308,11 @@ class DisplayAttributesDialog(wx.Dialog):
         return self.cats[self.fid]
         return self.cats[self.fid]
 
 
     def GetFid(self):
     def GetFid(self):
-        """Get selected feature id"""
+        """!Get selected feature id"""
         return self.fid
         return self.fid
     
     
     def UpdateDialog(self, map=None, query=None, cats=None, fid=-1):
     def UpdateDialog(self, map=None, query=None, cats=None, fid=-1):
-        """Update dialog
+        """!Update dialog
 
 
         Return True if updated otherwise False
         Return True if updated otherwise False
         """
         """
@@ -485,7 +485,7 @@ class DisplayAttributesDialog(wx.Dialog):
         return True
         return True
 
 
 class ModifyTableRecord(wx.Dialog):
 class ModifyTableRecord(wx.Dialog):
-    """Dialog for inserting/updating table record"""
+    """!Dialog for inserting/updating table record"""
     def __init__(self, parent, id, title, data, keyEditable=(-1, True),
     def __init__(self, parent, id, title, data, keyEditable=(-1, True),
                 style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
                 style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
         """
         """
@@ -556,7 +556,7 @@ class ModifyTableRecord(wx.Dialog):
         # self.SetMinSize(winSize)
         # self.SetMinSize(winSize)
 
 
     def __Layout(self):
     def __Layout(self):
-        """Do layout"""
+        """!Do layout"""
         sizer = wx.BoxSizer(wx.VERTICAL)
         sizer = wx.BoxSizer(wx.VERTICAL)
 
 
         # data area
         # data area
@@ -629,7 +629,7 @@ class ModifyTableRecord(wx.Dialog):
 
 
                 
                 
     def GetValues(self, columns=None):
     def GetValues(self, columns=None):
-        """Return list of values (casted to string).
+        """!Return list of values (casted to string).
 
 
         If columns is given (list), return only values of given columns.
         If columns is given (list), return only values of given columns.
         """
         """

+ 1 - 1
gui/wxpython/gui_modules/debug.py

@@ -53,7 +53,7 @@ class DebugMsg:
             print >> sys.stderr, "GUI D%d/%d: %s" % (level, self.debuglevel, message)
             print >> sys.stderr, "GUI D%d/%d: %s" % (level, self.debuglevel, message)
 
 
     def get_level(self):
     def get_level(self):
-        """Return current GUI debug level"""
+        """!Return current GUI debug level"""
         return self.debuglevel
         return self.debuglevel
 
 
 # Debug instance
 # Debug instance

+ 18 - 18
gui/wxpython/gui_modules/gcmd.py

@@ -62,7 +62,7 @@ import utils
 from debug import Debug as Debug
 from debug import Debug as Debug
 
 
 class GException(Exception):
 class GException(Exception):
-    """Generic exception"""
+    """!Generic exception"""
     def __init__(self, message, title=_("Error"), parent=None):
     def __init__(self, message, title=_("Error"), parent=None):
         self.message = message
         self.message = message
         self.parent = parent
         self.parent = parent
@@ -87,13 +87,13 @@ class GException(Exception):
         return ''
         return ''
     
     
 class GStdError(GException):
 class GStdError(GException):
-    """Generic exception"""
+    """!Generic exception"""
 
 
     def __init__(self, message, title=_("Error"), parent=None):
     def __init__(self, message, title=_("Error"), parent=None):
         GException.__init__(self, message, title=title, parent=parent)
         GException.__init__(self, message, title=title, parent=parent)
 
 
 class CmdError(GException):
 class CmdError(GException):
-    """Exception used for GRASS commands.
+    """!Exception used for GRASS commands.
 
 
     See Command class (command exits with EXIT_FAILURE,
     See Command class (command exits with EXIT_FAILURE,
     G_fatal_error() is called)."""
     G_fatal_error() is called)."""
@@ -103,7 +103,7 @@ class CmdError(GException):
                             parent=parent)
                             parent=parent)
 
 
 class SettingsError(GException):
 class SettingsError(GException):
-    """Exception used for GRASS settings, see
+    """!Exception used for GRASS settings, see
     gui_modules/preferences.py."""
     gui_modules/preferences.py."""
     def __init__(self, message, parent=None):
     def __init__(self, message, parent=None):
         GException.__init__(self, message,
         GException.__init__(self, message,
@@ -111,28 +111,28 @@ class SettingsError(GException):
                             parent=parent)
                             parent=parent)
 
 
 class DigitError(GException):
 class DigitError(GException):
-    """Exception raised during digitization session"""
+    """!Exception raised during digitization session"""
     def __init__(self, message, parent=None):
     def __init__(self, message, parent=None):
         GException.__init__(self, message,
         GException.__init__(self, message,
                             title=_("Vector digitizer error"),
                             title=_("Vector digitizer error"),
                             parent=parent)
                             parent=parent)
 
 
 class DBMError(GException):
 class DBMError(GException):
-    """Attribute Table Manager exception class"""
+    """!Attribute Table Manager exception class"""
     def __init__(self, message, parent=None):
     def __init__(self, message, parent=None):
         GException.__init__(self, message,
         GException.__init__(self, message,
                             title=_("Attribute table manager error"),
                             title=_("Attribute table manager error"),
                             parent=parent)
                             parent=parent)
 
 
 class NvizError(GException):
 class NvizError(GException):
-    """Nviz exception class"""
+    """!Nviz exception class"""
     def __init__(self, message, parent=None):
     def __init__(self, message, parent=None):
         GException.__init__(self, message,
         GException.__init__(self, message,
                             title=_("Nviz error"),
                             title=_("Nviz error"),
                             parent=parent)
                             parent=parent)
 
 
 class Popen(subprocess.Popen):
 class Popen(subprocess.Popen):
-    """Subclass subprocess.Popen"""
+    """!Subclass subprocess.Popen"""
     def recv(self, maxsize=None):
     def recv(self, maxsize=None):
         return self._recv('stdout', maxsize)
         return self._recv('stdout', maxsize)
     
     
@@ -154,7 +154,7 @@ class Popen(subprocess.Popen):
         setattr(self, which, None)
         setattr(self, which, None)
 
 
     def kill(self):
     def kill(self):
-        """Try to kill running process"""
+        """!Try to kill running process"""
         if subprocess.mswindows:
         if subprocess.mswindows:
             import win32api
             import win32api
             handle = win32api.OpenProcess(1, 0, self.pid)
             handle = win32api.OpenProcess(1, 0, self.pid)
@@ -279,7 +279,7 @@ def send_all(p, data):
         data = buffer(data, sent)
         data = buffer(data, sent)
 
 
 class Command:
 class Command:
-    """Run command in separate thread. Used for commands launched
+    """!Run command in separate thread. Used for commands launched
     on the background.
     on the background.
 
 
     If stdout/err is redirected, write() method is required for the
     If stdout/err is redirected, write() method is required for the
@@ -376,7 +376,7 @@ class Command:
             del os.environ["GRASS_VERBOSE"]
             del os.environ["GRASS_VERBOSE"]
             
             
     def __ReadOutput(self, stream):
     def __ReadOutput(self, stream):
-        """Read stream and return list of lines
+        """!Read stream and return list of lines
 
 
         @param stream stream to be read
         @param stream stream to be read
         """
         """
@@ -395,7 +395,7 @@ class Command:
         return lineList
         return lineList
                     
                     
     def __ReadErrOutput(self):
     def __ReadErrOutput(self):
-        """Read standard error output and return list of lines"""
+        """!Read standard error output and return list of lines"""
         return self.__ReadOutput(self.cmdThread.module.stderr)
         return self.__ReadOutput(self.cmdThread.module.stderr)
 
 
     def __ProcessStdErr(self):
     def __ProcessStdErr(self):
@@ -435,7 +435,7 @@ class Command:
         return msg
         return msg
 
 
     def __GetError(self):
     def __GetError(self):
-        """Get error message or ''"""
+        """!Get error message or ''"""
         if not self.cmdThread.module:
         if not self.cmdThread.module:
             return _("Unable to exectute command: '%s'") % ' '.join(self.cmd)
             return _("Unable to exectute command: '%s'") % ' '.join(self.cmd)
 
 
@@ -446,7 +446,7 @@ class Command:
         return ''
         return ''
     
     
 class CommandThread(Thread):
 class CommandThread(Thread):
-    """Create separate thread for command. Used for commands launched
+    """!Create separate thread for command. Used for commands launched
     on the background."""
     on the background."""
     def __init__ (self, cmd, stdin=None,
     def __init__ (self, cmd, stdin=None,
                   stdout=sys.stdout, stderr=sys.stderr):
                   stdout=sys.stdout, stderr=sys.stderr):
@@ -489,7 +489,7 @@ class CommandThread(Thread):
             del os.environ["GRASS_MESSAGE_FORMAT"]
             del os.environ["GRASS_MESSAGE_FORMAT"]
         
         
     def run(self):
     def run(self):
-        """Run command"""
+        """!Run command"""
         if len(self.cmd) == 0:
         if len(self.cmd) == 0:
             return
             return
 
 
@@ -513,7 +513,7 @@ class CommandThread(Thread):
             self.__redirect_stream()
             self.__redirect_stream()
 
 
     def __redirect_stream(self):
     def __redirect_stream(self):
-        """Redirect stream"""
+        """!Redirect stream"""
         if self.stdout:
         if self.stdout:
             # make module stdout/stderr non-blocking
             # make module stdout/stderr non-blocking
             out_fileno = self.module.stdout.fileno()
             out_fileno = self.module.stdout.fileno()
@@ -554,12 +554,12 @@ class CommandThread(Thread):
                 self.error = line
                 self.error = line
             
             
     def abort(self):
     def abort(self):
-        """Abort running process, used by main thread to signal an abort"""
+        """!Abort running process, used by main thread to signal an abort"""
         self._want_abort = True
         self._want_abort = True
     
     
 def RunCommand(prog, flags = "", overwrite = False, quiet = False, verbose = False,
 def RunCommand(prog, flags = "", overwrite = False, quiet = False, verbose = False,
                parent = None, read = False, stdin = None, **kwargs):
                parent = None, read = False, stdin = None, **kwargs):
-    """Run GRASS command"""
+    """!Run GRASS command"""
     kwargs['stderr'] = subprocess.PIPE
     kwargs['stderr'] = subprocess.PIPE
     
     
     if read:
     if read:

+ 37 - 37
gui/wxpython/gui_modules/gdialogs.py

@@ -41,7 +41,7 @@ import utils
 from preferences import globalSettings as UserSettings
 from preferences import globalSettings as UserSettings
 
 
 class NewVectorDialog(wx.Dialog):
 class NewVectorDialog(wx.Dialog):
-    """Create new vector map layer"""
+    """!Create new vector map layer"""
     def __init__(self, parent, id, title, disableAdd=False, 
     def __init__(self, parent, id, title, disableAdd=False, 
                 style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
                 style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
 
 
@@ -79,14 +79,14 @@ class NewVectorDialog(wx.Dialog):
         self.SetMinSize(self.GetSize())
         self.SetMinSize(self.GetSize())
 
 
     def OnMapName(self, event):
     def OnMapName(self, event):
-        """Name for vector map layer given"""
+        """!Name for vector map layer given"""
         if len(event.GetString()) > 0:
         if len(event.GetString()) > 0:
             self.btnOK.Enable(True)
             self.btnOK.Enable(True)
         else:
         else:
             self.btnOK.Enable(False)
             self.btnOK.Enable(False)
 
 
     def __Layout(self):
     def __Layout(self):
-        """Do layout"""
+        """!Do layout"""
         sizer = wx.BoxSizer(wx.VERTICAL)
         sizer = wx.BoxSizer(wx.VERTICAL)
 
 
         dataSizer = wx.BoxSizer(wx.VERTICAL)
         dataSizer = wx.BoxSizer(wx.VERTICAL)
@@ -119,14 +119,14 @@ class NewVectorDialog(wx.Dialog):
         sizer.Fit(self)
         sizer.Fit(self)
 
 
     def GetName(self):
     def GetName(self):
-        """Return (mapName, overwrite)"""
+        """!Return (mapName, overwrite)"""
         mapName = self.mapName.GetValue().split('@', 1)[0]
         mapName = self.mapName.GetValue().split('@', 1)[0]
 
 
         return mapName
         return mapName
     
     
 def CreateNewVector(parent, cmd, title=_('Create new vector map'),
 def CreateNewVector(parent, cmd, title=_('Create new vector map'),
                     exceptMap=None, log=None, disableAdd=False):
                     exceptMap=None, log=None, disableAdd=False):
-    """Create new vector map layer
+    """!Create new vector map layer
 
 
     @cmd cmd (prog, **kwargs)
     @cmd cmd (prog, **kwargs)
     
     
@@ -401,13 +401,13 @@ class DecorationDialog(wx.Dialog):
                 self.parent.MapWindow.overlays[self.ovlId]['propwin'].Show()
                 self.parent.MapWindow.overlays[self.ovlId]['propwin'].Show()
 
 
     def OnCancel(self, event):
     def OnCancel(self, event):
-        """Cancel dialog"""
+        """!Cancel dialog"""
         self.parent.dialogs['barscale'] = None
         self.parent.dialogs['barscale'] = None
 
 
         self.Destroy()
         self.Destroy()
 
 
     def OnOK(self, event):
     def OnOK(self, event):
-        """Button 'OK' pressed"""
+        """!Button 'OK' pressed"""
         # enable or disable overlay
         # enable or disable overlay
         self.parent.Map.GetOverlay(self.ovlId).SetActive(self.chkbox.IsChecked())
         self.parent.Map.GetOverlay(self.ovlId).SetActive(self.chkbox.IsChecked())
 
 
@@ -418,7 +418,7 @@ class DecorationDialog(wx.Dialog):
         self.OnCancel(None)
         self.OnCancel(None)
 
 
     def GetOptData(self, dcmd, layer, params, propwin):
     def GetOptData(self, dcmd, layer, params, propwin):
-        """Process decoration layer data"""
+        """!Process decoration layer data"""
         # update layer data
         # update layer data
         if params:
         if params:
             self.parent.MapWindow.overlays[self.ovlId]['params'] = params
             self.parent.MapWindow.overlays[self.ovlId]['params'] = params
@@ -559,21 +559,21 @@ class TextLayerDialog(wx.Dialog):
         self.Bind(wx.EVT_SPINCTRL,   self.OnRotation,   self.rotation)
         self.Bind(wx.EVT_SPINCTRL,   self.OnRotation,   self.rotation)
 
 
     def OnRefit(self, event):
     def OnRefit(self, event):
-        """Resize text entry to match text"""
+        """!Resize text entry to match text"""
         self.sizer.Fit(self)
         self.sizer.Fit(self)
 
 
     def OnText(self, event):
     def OnText(self, event):
-        """Change text string"""
+        """!Change text string"""
         self.currText = event.GetString()
         self.currText = event.GetString()
 
 
     def OnRotation(self, event):
     def OnRotation(self, event):
-        """Change rotation"""
+        """!Change rotation"""
         self.currRot = event.GetInt()
         self.currRot = event.GetInt()
 
 
         event.Skip()
         event.Skip()
 
 
     def OnSelectFont(self, event):
     def OnSelectFont(self, event):
-        """Change font"""
+        """!Change font"""
         data = wx.FontData()
         data = wx.FontData()
         data.EnableEffects(True)
         data.EnableEffects(True)
         data.SetColour(self.currClr)         # set colour
         data.SetColour(self.currClr)         # set colour
@@ -594,7 +594,7 @@ class TextLayerDialog(wx.Dialog):
         dlg.Destroy()
         dlg.Destroy()
 
 
     def GetValues(self):
     def GetValues(self):
-        """Get text properties"""
+        """!Get text properties"""
         return { 'text' : self.currText,
         return { 'text' : self.currText,
                  'font' : self.currFont,
                  'font' : self.currFont,
                  'color' : self.currClr,
                  'color' : self.currClr,
@@ -603,7 +603,7 @@ class TextLayerDialog(wx.Dialog):
                  'active' : self.chkbox.IsChecked() }
                  'active' : self.chkbox.IsChecked() }
 
 
 class LoadMapLayersDialog(wx.Dialog):
 class LoadMapLayersDialog(wx.Dialog):
-    """Load selected map layers (raster, vector) into layer tree"""
+    """!Load selected map layers (raster, vector) into layer tree"""
     def __init__(self, parent, title, style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
     def __init__(self, parent, title, style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
         wx.Dialog.__init__(self, parent=parent, id=wx.ID_ANY, title=title, style=style)
         wx.Dialog.__init__(self, parent=parent, id=wx.ID_ANY, title=title, style=style)
 
 
@@ -713,7 +713,7 @@ class LoadMapLayersDialog(wx.Dialog):
         return bodySizer
         return bodySizer
 
 
     def LoadMapLayers(self, type, mapset):
     def LoadMapLayers(self, type, mapset):
-        """Load list of map layers
+        """!Load list of map layers
 
 
         @param type layer type ('raster' or 'vector')
         @param type layer type ('raster' or 'vector')
         @param mapset mapset name
         @param mapset mapset name
@@ -730,7 +730,7 @@ class LoadMapLayersDialog(wx.Dialog):
             self.layers.Check(item)
             self.layers.Check(item)
 
 
     def OnChangeParams(self, event):
     def OnChangeParams(self, event):
-        """Filter parameters changed by user"""
+        """!Filter parameters changed by user"""
         # update list of layer to be loaded
         # update list of layer to be loaded
         self.LoadMapLayers(self.layerType.GetStringSelection()[:4],
         self.LoadMapLayers(self.layerType.GetStringSelection()[:4],
                            self.mapset.GetStringSelection())
                            self.mapset.GetStringSelection())
@@ -738,7 +738,7 @@ class LoadMapLayersDialog(wx.Dialog):
         event.Skip()
         event.Skip()
 
 
     def OnMenu(self, event):
     def OnMenu(self, event):
-        """Table description area, context menu"""
+        """!Table description area, context menu"""
         if not hasattr(self, "popupID1"):
         if not hasattr(self, "popupID1"):
             self.popupDataID1 = wx.NewId()
             self.popupDataID1 = wx.NewId()
             self.popupDataID2 = wx.NewId()
             self.popupDataID2 = wx.NewId()
@@ -758,12 +758,12 @@ class LoadMapLayersDialog(wx.Dialog):
         menu.Destroy()
         menu.Destroy()
 
 
     def OnSelectAll(self, event):
     def OnSelectAll(self, event):
-        """Select all map layer from list"""
+        """!Select all map layer from list"""
         for item in range(self.layers.GetCount()):
         for item in range(self.layers.GetCount()):
             self.layers.Check(item, True)
             self.layers.Check(item, True)
 
 
     def OnSelectInvert(self, event):
     def OnSelectInvert(self, event):
-        """Invert current selection"""
+        """!Invert current selection"""
         for item in range(self.layers.GetCount()):
         for item in range(self.layers.GetCount()):
             if self.layers.IsChecked(item):
             if self.layers.IsChecked(item):
                 self.layers.Check(item, False)
                 self.layers.Check(item, False)
@@ -771,12 +771,12 @@ class LoadMapLayersDialog(wx.Dialog):
                 self.layers.Check(item, True)
                 self.layers.Check(item, True)
         
         
     def OnDeselectAll(self, event):
     def OnDeselectAll(self, event):
-        """Select all map layer from list"""
+        """!Select all map layer from list"""
         for item in range(self.layers.GetCount()):
         for item in range(self.layers.GetCount()):
             self.layers.Check(item, False)
             self.layers.Check(item, False)
 
 
     def OnFilter(self, event):
     def OnFilter(self, event):
-        """Apply filter for map names"""
+        """!Apply filter for map names"""
         if len(event.GetString()) == 0:
         if len(event.GetString()) == 0:
            self.layers.Set(self.map_layers) 
            self.layers.Set(self.map_layers) 
            return 
            return 
@@ -795,7 +795,7 @@ class LoadMapLayersDialog(wx.Dialog):
         event.Skip()
         event.Skip()
 
 
     def OnToggle(self, event):
     def OnToggle(self, event):
-        """Select toggle (check or uncheck all layers)"""
+        """!Select toggle (check or uncheck all layers)"""
         check = event.Checked()
         check = event.Checked()
         for item in range(self.layers.GetCount()):
         for item in range(self.layers.GetCount()):
             self.layers.Check(item, check)
             self.layers.Check(item, check)
@@ -803,7 +803,7 @@ class LoadMapLayersDialog(wx.Dialog):
         event.Skip()
         event.Skip()
         
         
     def GetMapLayers(self):
     def GetMapLayers(self):
-        """Return list of checked map layers"""
+        """!Return list of checked map layers"""
         layerNames = []
         layerNames = []
         for indx in self.layers.GetSelections():
         for indx in self.layers.GetSelections():
             # layers.append(self.layers.GetStringSelec(indx))
             # layers.append(self.layers.GetStringSelec(indx))
@@ -819,11 +819,11 @@ class LoadMapLayersDialog(wx.Dialog):
         return layerNames
         return layerNames
     
     
     def GetLayerType(self):
     def GetLayerType(self):
-        """Get selected layer type"""
+        """!Get selected layer type"""
         return self.layerType.GetStringSelection()
         return self.layerType.GetStringSelection()
     
     
 class MultiImportDialog(wx.Dialog):
 class MultiImportDialog(wx.Dialog):
-    """Import dxf layers"""
+    """!Import dxf layers"""
     def __init__(self, parent, type,
     def __init__(self, parent, type,
                  id=wx.ID_ANY, title=_("Multiple import"), 
                  id=wx.ID_ANY, title=_("Multiple import"), 
                  style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
                  style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
@@ -970,11 +970,11 @@ class MultiImportDialog(wx.Dialog):
         self.list.SetColumnWidth(col=1, width=width/2 - 50)
         self.list.SetColumnWidth(col=1, width=width/2 - 50)
 
 
     def OnCancel(self, event=None):
     def OnCancel(self, event=None):
-        """Close dialog"""
+        """!Close dialog"""
         self.Close()
         self.Close()
 
 
     def OnRun(self, event):
     def OnRun(self, event):
-        """Import data (each layes as separate vector map)"""
+        """!Import data (each layes as separate vector map)"""
         data = self.list.GetLayers()
         data = self.list.GetLayers()
         
         
         # hide dialog
         # hide dialog
@@ -1029,14 +1029,14 @@ class MultiImportDialog(wx.Dialog):
         self.OnCancel()
         self.OnCancel()
         
         
     def OnAbort(self, event):
     def OnAbort(self, event):
-        """Abort running import
+        """!Abort running import
 
 
         @todo not yet implemented
         @todo not yet implemented
         """
         """
         pass
         pass
         
         
     def OnSetInput(self, event):
     def OnSetInput(self, event):
-        """Input DXF file/OGR dsn defined, update list of layer widget"""
+        """!Input DXF file/OGR dsn defined, update list of layer widget"""
         path = event.GetString()
         path = event.GetString()
 
 
         if self.inputType == 'dxf':
         if self.inputType == 'dxf':
@@ -1076,7 +1076,7 @@ class MultiImportDialog(wx.Dialog):
 class LayersList(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin,
 class LayersList(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin,
                  listmix.CheckListCtrlMixin):
                  listmix.CheckListCtrlMixin):
 #                 listmix.CheckListCtrlMixin, listmix.TextEditMixin):
 #                 listmix.CheckListCtrlMixin, listmix.TextEditMixin):
-    """List of layers to be imported (dxf, shp...)"""
+    """!List of layers to be imported (dxf, shp...)"""
     def __init__(self, parent, pos=wx.DefaultPosition,
     def __init__(self, parent, pos=wx.DefaultPosition,
                  log=None):
                  log=None):
         self.parent = parent
         self.parent = parent
@@ -1098,7 +1098,7 @@ class LayersList(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin,
         self.Bind(wx.EVT_RIGHT_UP,            self.OnPopupMenu) #wxGTK
         self.Bind(wx.EVT_RIGHT_UP,            self.OnPopupMenu) #wxGTK
 
 
     def LoadData(self, data=None):
     def LoadData(self, data=None):
-        """Load data into list"""
+        """!Load data into list"""
         if data is None:
         if data is None:
             return
             return
 
 
@@ -1114,7 +1114,7 @@ class LayersList(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin,
         self.SetColumnWidth(col=0, width=wx.LIST_AUTOSIZE_USEHEADER)
         self.SetColumnWidth(col=0, width=wx.LIST_AUTOSIZE_USEHEADER)
 
 
     def OnPopupMenu(self, event):
     def OnPopupMenu(self, event):
-        """Show popup menu"""
+        """!Show popup menu"""
         if self.GetItemCount() < 1:
         if self.GetItemCount() < 1:
             return
             return
         
         
@@ -1134,7 +1134,7 @@ class LayersList(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin,
         menu.Destroy()
         menu.Destroy()
 
 
     def OnSelectAll(self, event):
     def OnSelectAll(self, event):
-        """Select all items"""
+        """!Select all items"""
         item = -1
         item = -1
         
         
         while True:
         while True:
@@ -1146,7 +1146,7 @@ class LayersList(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin,
         event.Skip()
         event.Skip()
         
         
     def OnSelectNone(self, event):
     def OnSelectNone(self, event):
-        """Deselect items"""
+        """!Deselect items"""
         item = -1
         item = -1
         
         
         while True:
         while True:
@@ -1158,7 +1158,7 @@ class LayersList(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin,
         event.Skip()
         event.Skip()
         
         
     def GetLayers(self):
     def GetLayers(self):
-        """Get list of layers (layer name, output name)"""
+        """!Get list of layers (layer name, output name)"""
         data = []
         data = []
         item = -1
         item = -1
         while True:
         while True:
@@ -1173,7 +1173,7 @@ class LayersList(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin,
         return data
         return data
 
 
 class SetOpacityDialog(wx.Dialog):
 class SetOpacityDialog(wx.Dialog):
-    """Set opacity of map layers"""
+    """!Set opacity of map layers"""
     def __init__(self, parent, id=wx.ID_ANY, title=_("Set Map Layer Opacity"),
     def __init__(self, parent, id=wx.ID_ANY, title=_("Set Map Layer Opacity"),
                  size=wx.DefaultSize, pos=wx.DefaultPosition,
                  size=wx.DefaultSize, pos=wx.DefaultPosition,
                  style=wx.DEFAULT_DIALOG_STYLE, opacity=100):
                  style=wx.DEFAULT_DIALOG_STYLE, opacity=100):
@@ -1235,7 +1235,7 @@ class SetOpacityDialog(wx.Dialog):
         self.Layout()
         self.Layout()
 
 
     def GetOpacity(self):
     def GetOpacity(self):
-        """Button 'OK' pressed"""
+        """!Button 'OK' pressed"""
         # return opacity value
         # return opacity value
         opacity = float(self.value.GetValue()) / 100
         opacity = float(self.value.GetValue()) / 100
         return opacity
         return opacity

+ 26 - 26
gui/wxpython/gui_modules/georect.py

@@ -212,7 +212,7 @@ class GeorectWizard(object):
             self.Cleanup()
             self.Cleanup()
                             
                             
     def SetSrcEnv(self, location, mapset):
     def SetSrcEnv(self, location, mapset):
-        """Create environment to use for location and mapset
+        """!Create environment to use for location and mapset
         that are the source of the file(s) to georectify
         that are the source of the file(s) to georectify
 
 
         @param location source location
         @param location source location
@@ -265,13 +265,13 @@ class GeorectWizard(object):
         return True
         return True
         
         
     def OnGLMFocus(self, event):
     def OnGLMFocus(self, event):
-        """Layer Manager focus"""
+        """!Layer Manager focus"""
         # self.SwitchEnv('original')
         # self.SwitchEnv('original')
         
         
         event.Skip()
         event.Skip()
 
 
     def Cleanup(self):
     def Cleanup(self):
-        """Return to current location and mapset"""
+        """!Return to current location and mapset"""
         self.SwitchEnv('original')
         self.SwitchEnv('original')
         self.parent.georectifying = None
         self.parent.georectifying = None
 
 
@@ -355,7 +355,7 @@ class LocationPage(TitledPage):
         # self.Bind(wx.EVT_CLOSE, self.parent.Cleanup)
         # self.Bind(wx.EVT_CLOSE, self.parent.Cleanup)
 
 
     def OnMaptype(self,event):
     def OnMaptype(self,event):
-        """Change map type"""
+        """!Change map type"""
         global maptype
         global maptype
 
 
         if event.GetInt() == 0:
         if event.GetInt() == 0:
@@ -364,7 +364,7 @@ class LocationPage(TitledPage):
             maptype = 'vector'
             maptype = 'vector'
         
         
     def OnLocation(self, event):
     def OnLocation(self, event):
-        """Sets source location for map(s) to georectify"""
+        """!Sets source location for map(s) to georectify"""
         self.xylocation = event.GetString()
         self.xylocation = event.GetString()
         
         
         #create a list of valid mapsets
         #create a list of valid mapsets
@@ -386,7 +386,7 @@ class LocationPage(TitledPage):
             wx.FindWindowById(wx.ID_FORWARD).Enable(True)
             wx.FindWindowById(wx.ID_FORWARD).Enable(True)
 
 
     def OnMapset(self, event):
     def OnMapset(self, event):
-        """Sets source mapset for map(s) to georectify"""
+        """!Sets source mapset for map(s) to georectify"""
         if self.xylocation == '':
         if self.xylocation == '':
             wx.MessageBox(_('You must select a valid location before selecting a mapset'))
             wx.MessageBox(_('You must select a valid location before selecting a mapset'))
             return
             return
@@ -486,13 +486,13 @@ class GroupPage(TitledPage):
         self.xygroup = event.GetString()
         self.xygroup = event.GetString()
         
         
     def OnMkGroup(self, event):
     def OnMkGroup(self, event):
-        """Create new group in source location/mapset"""
+        """!Create new group in source location/mapset"""
         menuform.GUI().ParseCommand(['i.group'],
         menuform.GUI().ParseCommand(['i.group'],
                                     completed=(self.GetOptData, None, ''),
                                     completed=(self.GetOptData, None, ''),
                                     parentframe=self.parent.parent, modal=True)
                                     parentframe=self.parent.parent, modal=True)
 
 
     def OnVGroup(self, event):
     def OnVGroup(self, event):
-        """Add vector maps to group"""
+        """!Add vector maps to group"""
         dlg = VectGroup(parent = self,
         dlg = VectGroup(parent = self,
                         id = wx.ID_ANY,
                         id = wx.ID_ANY,
                         grassdb = self.grassdatabase,
                         grassdb = self.grassdatabase,
@@ -507,7 +507,7 @@ class GroupPage(TitledPage):
         self.OnEnterPage()
         self.OnEnterPage()
         
         
     def GetOptData(self, dcmd, layer, params, propwin):
     def GetOptData(self, dcmd, layer, params, propwin):
-        """Process i.group"""
+        """!Process i.group"""
         # update the page
         # update the page
         if dcmd:
         if dcmd:
             gcmd.RunCommand(utils.CmdToTuple(dcmd))
             gcmd.RunCommand(utils.CmdToTuple(dcmd))
@@ -615,7 +615,7 @@ class DispMapPage(TitledPage):
         self.Bind(wx.EVT_CLOSE, self.parent.Cleanup)
         self.Bind(wx.EVT_CLOSE, self.parent.Cleanup)
 
 
     def OnSelection(self,event):
     def OnSelection(self,event):
-        """Map to display selected"""
+        """!Map to display selected"""
         global xy_map
         global xy_map
 
 
         xy_map = event.GetString()
         xy_map = event.GetString()
@@ -783,7 +783,7 @@ class GCP(wx.Frame):
         # sizer.Fit(self)
         # sizer.Fit(self)
 
 
     def __del__(self):
     def __del__(self):
-        """Disable georectification mode"""
+        """!Disable georectification mode"""
         self.parent.georectifying = None
         self.parent.georectifying = None
         
         
     def SetMapDisplay(self, win):
     def SetMapDisplay(self, win):
@@ -999,7 +999,7 @@ class GCP(wx.Frame):
         #    self.RMSError(self.xygroup, self.gr_order)
         #    self.RMSError(self.xygroup, self.gr_order)
 
 
     def ReloadGCPs(self, event):
     def ReloadGCPs(self, event):
-        """Reload data from file"""
+        """!Reload data from file"""
         self.list.LoadData()
         self.list.LoadData()
     
     
     def OnFocus(self, event):
     def OnFocus(self, event):
@@ -1100,7 +1100,7 @@ class GCP(wx.Frame):
                                                 'to_table=%s' % layer[2] + '_' + self.extension])
                                                 'to_table=%s' % layer[2] + '_' + self.extension])
             
             
     def OnGeorectDone(self, **kargs):
     def OnGeorectDone(self, **kargs):
-        """Print final message"""
+        """!Print final message"""
         global maptype
         global maptype
         if maptype == 'cell':
         if maptype == 'cell':
             return
             return
@@ -1147,7 +1147,7 @@ class GCP(wx.Frame):
         self.grwiz.SwitchEnv('original')
         self.grwiz.SwitchEnv('original')
         
         
     def OnSettings(self, event):
     def OnSettings(self, event):
-        """Georectifier settings"""
+        """!Georectifier settings"""
         dlg = GrSettingsDialog(parent=self, id=wx.ID_ANY, title=_('Georectifier settings'))
         dlg = GrSettingsDialog(parent=self, id=wx.ID_ANY, title=_('Georectifier settings'))
         
         
         if dlg.ShowModal() == wx.ID_OK:
         if dlg.ShowModal() == wx.ID_OK:
@@ -1156,7 +1156,7 @@ class GCP(wx.Frame):
         dlg.Destroy()
         dlg.Destroy()
 
 
     def OnQuit(self, event):
     def OnQuit(self, event):
-        """Quit georectifier"""
+        """!Quit georectifier"""
         self.grwiz.Cleanup()
         self.grwiz.Cleanup()
 
 
         self.Destroy()
         self.Destroy()
@@ -1285,7 +1285,7 @@ class GCPList(wx.ListCtrl,
             idx_col += 1
             idx_col += 1
         
         
     def LoadData(self):
     def LoadData(self):
-        """Load data into list"""
+        """!Load data into list"""
         self.DeleteAllItems()
         self.DeleteAllItems()
 
 
         if os.path.isfile(self.gcp.file['points']):
         if os.path.isfile(self.gcp.file['points']):
@@ -1304,7 +1304,7 @@ class GCPList(wx.ListCtrl,
         self.ResizeColumns()
         self.ResizeColumns()
 
 
     def OnCheckItem(self, index, flag):
     def OnCheckItem(self, index, flag):
-        """Item is checked/unchecked"""
+        """!Item is checked/unchecked"""
         pass
         pass
     
     
     def AddGCPItem(self):
     def AddGCPItem(self):
@@ -1348,7 +1348,7 @@ class GCPList(wx.ListCtrl,
         return self.selected
         return self.selected
         
         
     def ResizeColumns(self):
     def ResizeColumns(self):
-        """Resize columns"""
+        """!Resize columns"""
         minWidth = 90
         minWidth = 90
         for i in range(self.GetColumnCount()):
         for i in range(self.GetColumnCount()):
             self.SetColumnWidth(i, wx.LIST_AUTOSIZE)
             self.SetColumnWidth(i, wx.LIST_AUTOSIZE)
@@ -1358,7 +1358,7 @@ class GCPList(wx.ListCtrl,
         self.SendSizeEvent()
         self.SendSizeEvent()
 
 
     def GetSelected(self):
     def GetSelected(self):
-        """Get index of selected item"""
+        """!Get index of selected item"""
         return self.selected
         return self.selected
 
 
     def OnItemSelected(self, event):
     def OnItemSelected(self, event):
@@ -1506,7 +1506,7 @@ class VectGroup(wx.Dialog):
         self.Layout()
         self.Layout()
         
         
     def MakeVGroup(self):
     def MakeVGroup(self):
-        """Create VREF file"""
+        """!Create VREF file"""
         vgrouplist = []
         vgrouplist = []
         for item in range(self.listMap.GetCount()):
         for item in range(self.listMap.GetCount()):
             if not self.listMap.IsChecked(item):
             if not self.listMap.IsChecked(item):
@@ -1524,7 +1524,7 @@ class EditGPC(wx.Dialog):
     def __init__(self, parent, data, id=wx.ID_ANY,
     def __init__(self, parent, data, id=wx.ID_ANY,
                  title=_("Edit GCP"),
                  title=_("Edit GCP"),
                  style=wx.DEFAULT_DIALOG_STYLE):
                  style=wx.DEFAULT_DIALOG_STYLE):
-        """Dialog for editing GPC and map coordinates in list control"""
+        """!Dialog for editing GPC and map coordinates in list control"""
 
 
         wx.Dialog.__init__(self, parent, id, title=title, style=style)
         wx.Dialog.__init__(self, parent, id, title=title, style=style)
 
 
@@ -1595,7 +1595,7 @@ class EditGPC(wx.Dialog):
         sizer.Fit(self)
         sizer.Fit(self)
 
 
     def GetValues(self, columns=None):
     def GetValues(self, columns=None):
-        """Return list of values (as strings).
+        """!Return list of values (as strings).
         """
         """
         valuelist = []
         valuelist = []
         try:
         try:
@@ -1631,7 +1631,7 @@ class GrSettingsDialog(wx.Dialog):
         self._do_layout()
         self._do_layout()
         
         
     def _do_layout(self):
     def _do_layout(self):
-        """Do layout"""
+        """!Do layout"""
         # dialog layout
         # dialog layout
         sizer = wx.BoxSizer(wx.VERTICAL)
         sizer = wx.BoxSizer(wx.VERTICAL)
 
 
@@ -1716,7 +1716,7 @@ class GrSettingsDialog(wx.Dialog):
                          value=wx.FindWindowById(self.symbol['width']).GetValue())
                          value=wx.FindWindowById(self.symbol['width']).GetValue())
 
 
     def OnSave(self, event):
     def OnSave(self, event):
-        """Button 'Save' pressed"""
+        """!Button 'Save' pressed"""
         self.UpdateSettings()
         self.UpdateSettings()
         fileSettings = {}
         fileSettings = {}
         UserSettings.ReadSettingsFile(settings=fileSettings)
         UserSettings.ReadSettingsFile(settings=fileSettings)
@@ -1726,10 +1726,10 @@ class GrSettingsDialog(wx.Dialog):
         self.Close()
         self.Close()
 
 
     def OnApply(self, event):
     def OnApply(self, event):
-        """Button 'Apply' pressed"""
+        """!Button 'Apply' pressed"""
         self.UpdateSettings()
         self.UpdateSettings()
         self.Close()
         self.Close()
 
 
     def OnCancel(self, event):
     def OnCancel(self, event):
-        """Button 'Cancel' pressed"""
+        """!Button 'Cancel' pressed"""
         self.Close()
         self.Close()

+ 4 - 4
gui/wxpython/gui_modules/globalvar.py

@@ -27,7 +27,7 @@ gettext.install('grasswxpy', os.path.join(os.getenv("GISBASE"), 'locale'), unico
 check = True
 check = True
 
 
 def CheckForWx():
 def CheckForWx():
-    """Try to import wx module and check its version"""
+    """!Try to import wx module and check its version"""
     global check
     global check
     if not check:
     if not check:
         return
         return
@@ -75,14 +75,14 @@ ETCDIR = os.path.join(os.getenv("GISBASE"), "etc")
 ETCICONDIR = os.path.join(os.getenv("GISBASE"), "etc", "gui", "icons")
 ETCICONDIR = os.path.join(os.getenv("GISBASE"), "etc", "gui", "icons")
 ETCWXDIR = os.path.join(ETCDIR, "wxpython")
 ETCWXDIR = os.path.join(ETCDIR, "wxpython")
 
 
-"""Style definition for FlatNotebook pages"""
+"""!Style definition for FlatNotebook pages"""
 FNPageStyle = FN.FNB_VC8 | \
 FNPageStyle = FN.FNB_VC8 | \
     FN.FNB_BACKGROUND_GRADIENT | \
     FN.FNB_BACKGROUND_GRADIENT | \
     FN.FNB_NODRAG | \
     FN.FNB_NODRAG | \
     FN.FNB_TABS_BORDER_SIMPLE 
     FN.FNB_TABS_BORDER_SIMPLE 
 FNPageColor = wx.Colour(125,200,175)
 FNPageColor = wx.Colour(125,200,175)
 
 
-"""Dialog widget dimension"""
+"""!Dialog widget dimension"""
 DIALOG_SPIN_SIZE = (150, -1)
 DIALOG_SPIN_SIZE = (150, -1)
 DIALOG_COMBOBOX_SIZE = (300, -1)
 DIALOG_COMBOBOX_SIZE = (300, -1)
 DIALOG_GSELECT_SIZE = (400, -1)
 DIALOG_GSELECT_SIZE = (400, -1)
@@ -101,7 +101,7 @@ MAP_DISPLAY_STATUSBAR_MODE = [_("Coordinates"),
                               _("Map scale"),
                               _("Map scale"),
                               _("Go to")]
                               _("Go to")]
 
 
-"""File name extension binaries/scripts"""
+"""!File name extension binaries/scripts"""
 if subprocess.mswindows:
 if subprocess.mswindows:
     EXT_BIN = '.exe'
     EXT_BIN = '.exe'
     EXT_SCT = '.bat'
     EXT_SCT = '.bat'

+ 21 - 21
gui/wxpython/gui_modules/goutput.py

@@ -42,12 +42,12 @@ wxCmdDone,     EVT_CMD_DONE     = NewEvent()
 wxCmdAbort,    EVT_CMD_ABORT    = NewEvent()
 wxCmdAbort,    EVT_CMD_ABORT    = NewEvent()
 
 
 def GrassCmd(cmd, stdout, stderr):
 def GrassCmd(cmd, stdout, stderr):
-    """Return GRASS command thread"""
+    """!Return GRASS command thread"""
     return gcmd.CommandThread(cmd,
     return gcmd.CommandThread(cmd,
                               stdout=stdout, stderr=stderr)
                               stdout=stdout, stderr=stderr)
 
 
 class CmdThread(threading.Thread):
 class CmdThread(threading.Thread):
-    """Thread for GRASS commands"""
+    """!Thread for GRASS commands"""
     requestId = 0
     requestId = 0
     def __init__(self, parent, requestQ, resultQ, **kwds):
     def __init__(self, parent, requestQ, resultQ, **kwds):
         threading.Thread.__init__(self, **kwds)
         threading.Thread.__init__(self, **kwds)
@@ -176,7 +176,7 @@ class GMConsole(wx.Panel):
         self.__layout()
         self.__layout()
 
 
     def __layout(self):
     def __layout(self):
-        """Do layout"""
+        """!Do layout"""
         boxsizer1 = wx.BoxSizer(wx.VERTICAL)
         boxsizer1 = wx.BoxSizer(wx.VERTICAL)
         gridsizer1 = wx.GridSizer(rows=1, cols=2, vgap=0, hgap=0)
         gridsizer1 = wx.GridSizer(rows=1, cols=2, vgap=0, hgap=0)
         boxsizer1.Add(item=self.cmd_output, proportion=1,
         boxsizer1.Add(item=self.cmd_output, proportion=1,
@@ -201,7 +201,7 @@ class GMConsole(wx.Panel):
         self.SetSizer(boxsizer1)
         self.SetSizer(boxsizer1)
 
 
     def Redirect(self):
     def Redirect(self):
-        """Redirect stderr
+        """!Redirect stderr
 
 
         @return True redirected
         @return True redirected
         @return False failed
         @return False failed
@@ -217,7 +217,7 @@ class GMConsole(wx.Panel):
 
 
     def WriteLog(self, text, style = None, wrap = None,
     def WriteLog(self, text, style = None, wrap = None,
                  switchPage = False):
                  switchPage = False):
-        """Generic method for writing log message in 
+        """!Generic method for writing log message in 
         given style
         given style
 
 
         @param line text line
         @param line text line
@@ -251,17 +251,17 @@ class GMConsole(wx.Panel):
         self.cmd_output.EnsureCaretVisible()
         self.cmd_output.EnsureCaretVisible()
         
         
     def WriteCmdLog(self, line, pid=None):
     def WriteCmdLog(self, line, pid=None):
-        """Write message in selected style"""
+        """!Write message in selected style"""
         if pid:
         if pid:
             line = '(' + str(pid) + ') ' + line
             line = '(' + str(pid) + ') ' + line
         self.WriteLog(line, style=self.cmd_output.StyleCommand, switchPage = True)
         self.WriteLog(line, style=self.cmd_output.StyleCommand, switchPage = True)
 
 
     def WriteWarning(self, line):
     def WriteWarning(self, line):
-        """Write message in warning style"""
+        """!Write message in warning style"""
         self.WriteLog(line, style=self.cmd_output.StyleWarning, switchPage = True)
         self.WriteLog(line, style=self.cmd_output.StyleWarning, switchPage = True)
 
 
     def WriteError(self, line):
     def WriteError(self, line):
-        """Write message in error style"""
+        """!Write message in error style"""
         self.WriteLog(line, style=self.cmd_output.StyleError, switchPage = True)
         self.WriteLog(line, style=self.cmd_output.StyleError, switchPage = True)
 
 
     def RunCmd(self, command, compReg=True, switchPage=False,
     def RunCmd(self, command, compReg=True, switchPage=False,
@@ -380,12 +380,12 @@ class GMConsole(wx.Panel):
         return None
         return None
 
 
     def ClearHistory(self, event):
     def ClearHistory(self, event):
-        """Clear history of commands"""
+        """!Clear history of commands"""
         self.cmd_output.ClearAll()
         self.cmd_output.ClearAll()
         self.console_progressbar.SetValue(0)
         self.console_progressbar.SetValue(0)
 
 
     def SaveHistory(self, event):
     def SaveHistory(self, event):
-        """Save history of commands"""
+        """!Save history of commands"""
         self.history = self.cmd_output.GetSelectedText()
         self.history = self.cmd_output.GetSelectedText()
         if self.history == '':
         if self.history == '':
             self.history = self.cmd_output.GetText()
             self.history = self.cmd_output.GetText()
@@ -412,11 +412,11 @@ class GMConsole(wx.Panel):
         dlg.Destroy()
         dlg.Destroy()
 
 
     def GetCmd(self):
     def GetCmd(self):
-        """Get running command or None"""
+        """!Get running command or None"""
         return self.requestQ.get()
         return self.requestQ.get()
         
         
     def OnCmdOutput(self, event):
     def OnCmdOutput(self, event):
-        """Print command output"""
+        """!Print command output"""
         message = event.text
         message = event.text
         type  = event.type
         type  = event.type
         if self.parent.notebook.GetSelection() != self.parent.goutput.pageid:
         if self.parent.notebook.GetSelection() != self.parent.goutput.pageid:
@@ -479,19 +479,19 @@ class GMConsole(wx.Panel):
         self.cmd_output.EnsureCaretVisible()
         self.cmd_output.EnsureCaretVisible()
         
         
     def OnCmdProgress(self, event):
     def OnCmdProgress(self, event):
-        """Update progress message info"""
+        """!Update progress message info"""
         self.console_progressbar.SetValue(event.value)
         self.console_progressbar.SetValue(event.value)
 
 
     def OnCmdAbort(self, event):
     def OnCmdAbort(self, event):
-        """Abort running command"""
+        """!Abort running command"""
         self.cmdThread.abort()
         self.cmdThread.abort()
 
 
     def OnCmdRun(self, event):
     def OnCmdRun(self, event):
-        """Run command"""
+        """!Run command"""
         self.WriteCmdLog('(%s)\n%s' % (str(time.ctime()), ' '.join(event.cmd)))
         self.WriteCmdLog('(%s)\n%s' % (str(time.ctime()), ' '.join(event.cmd)))
 
 
     def OnCmdDone(self, event):
     def OnCmdDone(self, event):
-        """Command done (or aborted)"""
+        """!Command done (or aborted)"""
         if event.aborted:
         if event.aborted:
             # Thread aborted (using our convention of None return)
             # Thread aborted (using our convention of None return)
             self.WriteLog(_('Please note that the data are left in incosistent stage '
             self.WriteLog(_('Please note that the data are left in incosistent stage '
@@ -574,7 +574,7 @@ class GMConsole(wx.Panel):
         self.ProcessPendingEvents()
         self.ProcessPendingEvents()
 
 
 class GMStdout:
 class GMStdout:
-    """GMConsole standard output
+    """!GMConsole standard output
 
 
     Based on FrameOutErr.py
     Based on FrameOutErr.py
 
 
@@ -600,7 +600,7 @@ class GMStdout:
             wx.PostEvent(self.parent.cmd_output, evt)
             wx.PostEvent(self.parent.cmd_output, evt)
         
         
 class GMStderr:
 class GMStderr:
-    """GMConsole standard error output
+    """!GMConsole standard error output
 
 
     Based on FrameOutErr.py
     Based on FrameOutErr.py
 
 
@@ -670,7 +670,7 @@ class GMStderr:
             wx.PostEvent(self.parent.console_progressbar, evt)
             wx.PostEvent(self.parent.console_progressbar, evt)
             
             
 class GMStc(wx.stc.StyledTextCtrl):
 class GMStc(wx.stc.StyledTextCtrl):
-    """Styled GMConsole
+    """!Styled GMConsole
 
 
     Based on FrameOutErr.py
     Based on FrameOutErr.py
 
 
@@ -744,14 +744,14 @@ class GMStc(wx.stc.StyledTextCtrl):
         self.Bind(wx.EVT_WINDOW_DESTROY, self.OnDestroy)
         self.Bind(wx.EVT_WINDOW_DESTROY, self.OnDestroy)
 
 
     def OnDestroy(self, evt):
     def OnDestroy(self, evt):
-        """The clipboard contents can be preserved after
+        """!The clipboard contents can be preserved after
         the app has exited"""
         the app has exited"""
         
         
         wx.TheClipboard.Flush()
         wx.TheClipboard.Flush()
         evt.Skip()
         evt.Skip()
 
 
     def AddTextWrapped(self, txt, wrap=None):
     def AddTextWrapped(self, txt, wrap=None):
-        """Add string to text area.
+        """!Add string to text area.
 
 
         String is wrapped and linesep is also added to the end
         String is wrapped and linesep is also added to the end
         of the string"""
         of the string"""

+ 10 - 10
gui/wxpython/gui_modules/gselect.py

@@ -118,7 +118,7 @@ class TreeCtrlComboPopup(wx.combo.ComboPopup):
         return str
         return str
 
 
     def OnPopup(self):
     def OnPopup(self):
-        """Limited only for first selected"""
+        """!Limited only for first selected"""
         # update list
         # update list
         self.seltree.DeleteAllItems()
         self.seltree.DeleteAllItems()
         self.GetElementList(self.type, self.mapsets, self.exceptOf)
         self.GetElementList(self.type, self.mapsets, self.exceptOf)
@@ -318,7 +318,7 @@ class TreeCtrlComboPopup(wx.combo.ComboPopup):
         evt.Skip()
         evt.Skip()
 
 
     def SetData(self, **kargs):
     def SetData(self, **kargs):
-        """Set object properties"""
+        """!Set object properties"""
         if kargs.has_key('type'):
         if kargs.has_key('type'):
             self.type = kargs['type']
             self.type = kargs['type']
         if kargs.has_key('mapsets'):
         if kargs.has_key('mapsets'):
@@ -329,7 +329,7 @@ class TreeCtrlComboPopup(wx.combo.ComboPopup):
             self.multiple = kargs['multiple']
             self.multiple = kargs['multiple']
         
         
 class VectorDBInfo:
 class VectorDBInfo:
-    """Class providing information about attribute tables
+    """!Class providing information about attribute tables
     linked to a vector map"""
     linked to a vector map"""
     def __init__(self, map):
     def __init__(self, map):
         self.map = map
         self.map = map
@@ -345,7 +345,7 @@ class VectorDBInfo:
         self.__DescribeTables() # -> self.tables
         self.__DescribeTables() # -> self.tables
 
 
     def __CheckDBConnection(self):
     def __CheckDBConnection(self):
-        """Check DB connection"""
+        """!Check DB connection"""
         nuldev = file(os.devnull, 'w+')
         nuldev = file(os.devnull, 'w+')
         self.layers = grass.vector_db(map=self.map, stderr=nuldev)
         self.layers = grass.vector_db(map=self.map, stderr=nuldev)
         nuldev.close()
         nuldev.close()
@@ -356,7 +356,7 @@ class VectorDBInfo:
         return True
         return True
 
 
     def __DescribeTables(self):
     def __DescribeTables(self):
-        """Describe linked tables"""
+        """!Describe linked tables"""
         for layer in self.layers.keys():
         for layer in self.layers.keys():
             # determine column names and types
             # determine column names and types
             table = self.layers[layer]["table"]
             table = self.layers[layer]["table"]
@@ -395,7 +395,7 @@ class VectorDBInfo:
         return True
         return True
     
     
     def Reset(self):
     def Reset(self):
-        """Reset"""
+        """!Reset"""
         for layer in self.layers:
         for layer in self.layers:
             table = self.layers[layer]["table"] # get table desc
             table = self.layers[layer]["table"] # get table desc
             columns = self.tables[table]
             columns = self.tables[table]
@@ -436,7 +436,7 @@ class LayerSelect(wx.Choice):
             self.SetStringSelection('1')
             self.SetStringSelection('1')
         
         
     def InsertLayers(self, vector):
     def InsertLayers(self, vector):
-        """Insert layers for a vector into the layer combobox"""
+        """!Insert layers for a vector into the layer combobox"""
         layerchoices = utils.GetVectorNumberOfLayers(vector)
         layerchoices = utils.GetVectorNumberOfLayers(vector)
         
         
         if self.all:
         if self.all:
@@ -496,7 +496,7 @@ class TableSelect(wx.ComboBox):
             self.InsertTables()
             self.InsertTables()
                 
                 
     def InsertTables(self, driver=None, database=None):
     def InsertTables(self, driver=None, database=None):
-        """Insert attribute tables into combobox"""
+        """!Insert attribute tables into combobox"""
         items = []
         items = []
 
 
         if not driver or not database:
         if not driver or not database:
@@ -537,7 +537,7 @@ class ColumnSelect(wx.ComboBox):
             self.InsertColumns(vector, layer)
             self.InsertColumns(vector, layer)
                 
                 
     def InsertColumns(self, vector, layer):
     def InsertColumns(self, vector, layer):
-        """Insert columns for a vector attribute table into the columns combobox"""
+        """!Insert columns for a vector attribute table into the columns combobox"""
         dbInfo = VectorDBInfo(vector)
         dbInfo = VectorDBInfo(vector)
         
         
         try:
         try:
@@ -553,7 +553,7 @@ class ColumnSelect(wx.ComboBox):
         self.SetValue('')
         self.SetValue('')
     
     
     def InsertTableColumns(self, table, driver=None, database=None):
     def InsertTableColumns(self, table, driver=None, database=None):
-        """Insert table columns"""
+        """!Insert table columns"""
         columns = []
         columns = []
         
         
         ret = gcmd.RunCommand('db.columns',
         ret = gcmd.RunCommand('db.columns',

+ 3 - 3
gui/wxpython/gui_modules/histogram.py

@@ -343,7 +343,7 @@ class HistFrame(wx.Frame):
 
 
 
 
     def __createToolBar(self):
     def __createToolBar(self):
-        """Creates toolbar"""
+        """!Creates toolbar"""
 
 
         toolbar = self.CreateToolBar()
         toolbar = self.CreateToolBar()
         for each in self.toolbarData():
         for each in self.toolbarData():
@@ -351,7 +351,7 @@ class HistFrame(wx.Frame):
         toolbar.Realize()
         toolbar.Realize()
 
 
     def AddToolbarButton(self, toolbar, label, icon, help, handler):
     def AddToolbarButton(self, toolbar, label, icon, help, handler):
-        """Adds buttons to the toolbar"""
+        """!Adds buttons to the toolbar"""
 
 
         if not label:
         if not label:
             toolbar.AddSeparator()
             toolbar.AddSeparator()
@@ -400,7 +400,7 @@ class HistFrame(wx.Frame):
         self.Map.geom = self.width, self.height
         self.Map.geom = self.width, self.height
 
 
     def OnOptions(self, event):
     def OnOptions(self, event):
-        """Change histogram settings"""
+        """!Change histogram settings"""
 
 
         cmd = ['d.histogram']
         cmd = ['d.histogram']
         if self.mapname != '':
         if self.mapname != '':

+ 42 - 42
gui/wxpython/gui_modules/location_wizard.py

@@ -70,26 +70,26 @@ west = ''
 resolution = ''
 resolution = ''
 
 
 class BaseClass(wx.Object):
 class BaseClass(wx.Object):
-    """Base class providing basic methods"""
+    """!Base class providing basic methods"""
     def __init__(self):
     def __init__(self):
         pass
         pass
 
 
     def MakeLabel(self, text="", style=wx.ALIGN_LEFT, parent=None):
     def MakeLabel(self, text="", style=wx.ALIGN_LEFT, parent=None):
-        """Make aligned label"""
+        """!Make aligned label"""
         if not parent:
         if not parent:
             parent = self
             parent = self
         return wx.StaticText(parent=parent, id=wx.ID_ANY, label=text,
         return wx.StaticText(parent=parent, id=wx.ID_ANY, label=text,
                              style=style)
                              style=style)
 
 
     def MakeTextCtrl(self, text='', size=(100,-1), style=0, parent=None):
     def MakeTextCtrl(self, text='', size=(100,-1), style=0, parent=None):
-        """Generic text control"""
+        """!Generic text control"""
         if not parent:
         if not parent:
             parent = self
             parent = self
         return wx.TextCtrl(parent=parent, id=wx.ID_ANY, value=text,
         return wx.TextCtrl(parent=parent, id=wx.ID_ANY, value=text,
                            size=size, style=style)
                            size=size, style=style)
 
 
     def MakeButton(self, text, id=wx.ID_ANY, size=(-1,-1), parent=None):
     def MakeButton(self, text, id=wx.ID_ANY, size=(-1,-1), parent=None):
-        """Generic button"""
+        """!Generic button"""
         if not parent:
         if not parent:
             parent = self
             parent = self
         return wx.Button(parent=parent, id=id, label=text,
         return wx.Button(parent=parent, id=id, label=text,
@@ -112,7 +112,7 @@ class TitledPage(BaseClass, wiz.WizardPageSimple):
         self.sizer = wx.GridBagSizer(vgap=0, hgap=0)
         self.sizer = wx.GridBagSizer(vgap=0, hgap=0)
         
         
     def DoLayout(self):
     def DoLayout(self):
-        """Do page layout"""
+        """!Do page layout"""
       
       
         tmpsizer = wx.BoxSizer(wx.VERTICAL)
         tmpsizer = wx.BoxSizer(wx.VERTICAL)
 
 
@@ -193,7 +193,7 @@ class DatabasePage(TitledPage):
         # self.DoLayout()
         # self.DoLayout()
 
 
     def OnChangeName(self, event):
     def OnChangeName(self, event):
-        """Name for new location was changed"""
+        """!Name for new location was changed"""
         nextButton = wx.FindWindowById(wx.ID_FORWARD)
         nextButton = wx.FindWindowById(wx.ID_FORWARD)
         if len(event.GetString()) > 0:
         if len(event.GetString()) > 0:
             if not nextButton.IsEnabled():
             if not nextButton.IsEnabled():
@@ -233,7 +233,7 @@ class DatabasePage(TitledPage):
         self.grassdatabase = self.tgisdbase.GetValue()
         self.grassdatabase = self.tgisdbase.GetValue()
 
 
     def OnEnterPage(self, event):
     def OnEnterPage(self, event):
-        """Wizard page changed"""
+        """!Wizard page changed"""
         self.grassdatabase = self.tgisdbase.GetValue()
         self.grassdatabase = self.tgisdbase.GetValue()
         self.location = self.tlocation.GetValue()
         self.location = self.tlocation.GetValue()
 
 
@@ -306,7 +306,7 @@ class CoordinateSystemPage(TitledPage):
             wx.FindWindowById(wx.ID_FORWARD).Enable()
             wx.FindWindowById(wx.ID_FORWARD).Enable()
     
     
     def SetVal(self, event):
     def SetVal(self, event):
-        """Choose method"""
+        """!Choose method"""
         global coordsys
         global coordsys
         if event.GetId() == self.radio1.GetId():
         if event.GetId() == self.radio1.GetId():
             coordsys = "proj"
             coordsys = "proj"
@@ -400,7 +400,7 @@ class ProjectionsPage(TitledPage):
             self.parent.projtypepage.hemischoices = []
             self.parent.projtypepage.hemischoices = []
 
 
     def OnText(self, event):
     def OnText(self, event):
-        """Projection name changed"""
+        """!Projection name changed"""
         self.proj = event.GetString()
         self.proj = event.GetString()
         nextButton = wx.FindWindowById(wx.ID_FORWARD)
         nextButton = wx.FindWindowById(wx.ID_FORWARD)
         if len(self.proj) == 0 and nextButton.IsEnabled():
         if len(self.proj) == 0 and nextButton.IsEnabled():
@@ -421,7 +421,7 @@ class ProjectionsPage(TitledPage):
         event.Skip()
         event.Skip()
     
     
     def OnSearch(self, event):
     def OnSearch(self, event):
-        """Search projection by desc"""
+        """!Search projection by desc"""
         str = event.GetString()
         str = event.GetString()
         try:
         try:
             self.proj, self.projdesc = self.projlist.Search(index=1, pattern=event.GetString())
             self.proj, self.projdesc = self.projlist.Search(index=1, pattern=event.GetString())
@@ -431,7 +431,7 @@ class ProjectionsPage(TitledPage):
         event.Skip()
         event.Skip()
 
 
     def OnItemSelected(self, event):
     def OnItemSelected(self, event):
-        """Projection selected"""
+        """!Projection selected"""
         index = event.m_itemIndex
         index = event.m_itemIndex
 
 
         # set values
         # set values
@@ -442,7 +442,7 @@ class ProjectionsPage(TitledPage):
 class ItemList(wx.ListCtrl,
 class ItemList(wx.ListCtrl,
                listmix.ListCtrlAutoWidthMixin,
                listmix.ListCtrlAutoWidthMixin,
                listmix.ColumnSorterMixin):
                listmix.ColumnSorterMixin):
-    """Generic list (for projections, ellipsoids, etc.)"""
+    """!Generic list (for projections, ellipsoids, etc.)"""
 
 
     def __init__(self, parent, columns, data=None):
     def __init__(self, parent, columns, data=None):
         wx.ListCtrl.__init__(self, parent=parent, id=wx.ID_ANY,
         wx.ListCtrl.__init__(self, parent=parent, id=wx.ID_ANY,
@@ -502,7 +502,7 @@ class ItemList(wx.ListCtrl,
         self.Bind(wx.EVT_LIST_COL_CLICK, self.OnColumnClick)
         self.Bind(wx.EVT_LIST_COL_CLICK, self.OnColumnClick)
 
 
     def Populate(self, data=None, update=False):
     def Populate(self, data=None, update=False):
-        """Populate list"""
+        """!Populate list"""
         self.itemDataMap  = {}
         self.itemDataMap  = {}
         self.itemIndexMap = []
         self.itemIndexMap = []
         
         
@@ -547,7 +547,7 @@ class ItemList(wx.ListCtrl,
                           caption=_("Error"), style=wx.OK | wx.ICON_ERROR)
                           caption=_("Error"), style=wx.OK | wx.ICON_ERROR)
 
 
     def OnColumnClick(self, event):
     def OnColumnClick(self, event):
-        """Sort by column"""
+        """!Sort by column"""
         self._col = event.GetColumn()
         self._col = event.GetColumn()
 
 
         # remove duplicated arrow symbol from column header
         # remove duplicated arrow symbol from column header
@@ -562,17 +562,17 @@ class ItemList(wx.ListCtrl,
         event.Skip()
         event.Skip()
 
 
     def GetSortImages(self):
     def GetSortImages(self):
-        """Used by the ColumnSorterMixin, see wx/lib/mixins/listctrl.py"""
+        """!Used by the ColumnSorterMixin, see wx/lib/mixins/listctrl.py"""
         return (self.sm_dn, self.sm_up)
         return (self.sm_dn, self.sm_up)
 
 
     def OnGetItemText(self, item, col):
     def OnGetItemText(self, item, col):
-        """Get item text"""
+        """!Get item text"""
         index = self.itemIndexMap[item]
         index = self.itemIndexMap[item]
         s = str(self.itemDataMap[index][col])
         s = str(self.itemDataMap[index][col])
         return s
         return s
 
 
     def OnGetItemAttr(self, item):
     def OnGetItemAttr(self, item):
-        """Get item attributes"""
+        """!Get item attributes"""
         index = self.itemIndexMap[item]
         index = self.itemIndexMap[item]
         if ( index % 2) == 0:
         if ( index % 2) == 0:
             return self.attr2
             return self.attr2
@@ -580,7 +580,7 @@ class ItemList(wx.ListCtrl,
             return self.attr1
             return self.attr1
 
 
     def SortItems(self, sorter=cmp):
     def SortItems(self, sorter=cmp):
-        """Sort items"""
+        """!Sort items"""
         items = list(self.itemDataMap.keys())
         items = list(self.itemDataMap.keys())
         items.sort(self.Sorter)
         items.sort(self.Sorter)
         self.itemIndexMap = items
         self.itemIndexMap = items
@@ -611,11 +611,11 @@ class ItemList(wx.ListCtrl,
             return -cmpVal
             return -cmpVal
 
 
     def GetListCtrl(self):
     def GetListCtrl(self):
-        """Used by listmix.ColumnSorterMixin"""
+        """!Used by listmix.ColumnSorterMixin"""
         return self
         return self
 
 
     def Search (self, index, pattern):
     def Search (self, index, pattern):
-        """Search projection by description
+        """!Search projection by description
 
 
         Return first found item or None
         Return first found item or None
         """
         """
@@ -1031,7 +1031,7 @@ class EllipsePage(TitledPage):
         # self.GetNext().SetPrev(self) (???)
         # self.GetNext().SetPrev(self) (???)
 
 
     def OnText(self, event):
     def OnText(self, event):
-        """Ellipspoid code changed"""
+        """!Ellipspoid code changed"""
         self.ellipse = event.GetString()
         self.ellipse = event.GetString()
         nextButton = wx.FindWindowById(wx.ID_FORWARD)
         nextButton = wx.FindWindowById(wx.ID_FORWARD)
         if len(self.ellipse) == 0 and nextButton.IsEnabled():
         if len(self.ellipse) == 0 and nextButton.IsEnabled():
@@ -1046,7 +1046,7 @@ class EllipsePage(TitledPage):
                 nextButton.Enable()
                 nextButton.Enable()
 
 
     def OnSearch(self, event):
     def OnSearch(self, event):
-        """Search ellipsoid by desc"""
+        """!Search ellipsoid by desc"""
         str =  event.GetString()
         str =  event.GetString()
         try:
         try:
             self.ellipse, self.ellipsedesc = \
             self.ellipse, self.ellipsedesc = \
@@ -1135,7 +1135,7 @@ class GeoreferencedFilePage(TitledPage):
         event.Skip()
         event.Skip()
 
 
     def OnBrowse(self, event):
     def OnBrowse(self, event):
-        """Choose file"""
+        """!Choose file"""
         dlg = wx.FileDialog(self,
         dlg = wx.FileDialog(self,
                             _("Select georeferenced file"),
                             _("Select georeferenced file"),
                             os.getcwd(), "", "*.*", wx.OPEN)
                             os.getcwd(), "", "*.*", wx.OPEN)
@@ -1213,7 +1213,7 @@ class WKTPage(TitledPage):
         event.Skip()
         event.Skip()
 
 
     def OnBrowse(self, event):
     def OnBrowse(self, event):
-        """Choose file"""
+        """!Choose file"""
         dlg = wx.FileDialog(self,
         dlg = wx.FileDialog(self,
                             _("Select WKT file"),
                             _("Select WKT file"),
                             os.getcwd(), "", "*.*", wx.OPEN)
                             os.getcwd(), "", "*.*", wx.OPEN)
@@ -1382,7 +1382,7 @@ class EPSGPage(TitledPage):
         event.Skip()
         event.Skip()
         
         
     def OnBrowse(self, event):
     def OnBrowse(self, event):
-        """Define path for EPSG code file"""
+        """!Define path for EPSG code file"""
         path = os.path.dirname(self.tfile.GetValue())
         path = os.path.dirname(self.tfile.GetValue())
         if not path:
         if not path:
             path = os.getcwd()
             path = os.getcwd()
@@ -1400,7 +1400,7 @@ class EPSGPage(TitledPage):
         event.Skip()
         event.Skip()
 
 
     def OnItemSelected(self, event):
     def OnItemSelected(self, event):
-        """EPSG code selected from the list"""
+        """!EPSG code selected from the list"""
         index = event.m_itemIndex
         index = event.m_itemIndex
         item = event.GetItem()
         item = event.GetItem()
 
 
@@ -1411,7 +1411,7 @@ class EPSGPage(TitledPage):
         event.Skip()
         event.Skip()
         
         
     def OnBrowseCodes(self, event, search=None):
     def OnBrowseCodes(self, event, search=None):
-        """Browse EPSG codes"""
+        """!Browse EPSG codes"""
 #        try:
 #        try:
         if True:
         if True:
             data = []
             data = []
@@ -1494,7 +1494,7 @@ class CustomPage(TitledPage):
         self.GetNext().SetPrev(self)
         self.GetNext().SetPrev(self)
 
 
     def GetProjstring(self, event):
     def GetProjstring(self, event):
-        """Change proj string"""
+        """!Change proj string"""
         # TODO: check PROJ.4 syntax
         # TODO: check PROJ.4 syntax
         self.customstring = event.GetString()
         self.customstring = event.GetString()
         nextButton = wx.FindWindowById(wx.ID_FORWARD)
         nextButton = wx.FindWindowById(wx.ID_FORWARD)
@@ -1531,7 +1531,7 @@ class SummaryPage(TitledPage):
         self.__DoLayout()
         self.__DoLayout()
         
         
     def __DoLayout(self):
     def __DoLayout(self):
-        """Do page layout"""
+        """!Do page layout"""
         self.sizer.AddGrowableCol(1)
         self.sizer.AddGrowableCol(1)
         self.sizer.Add(item=self.MakeLabel(_("GRASS Database:")),
         self.sizer.Add(item=self.MakeLabel(_("GRASS Database:")),
                        flag=wx.ALIGN_LEFT | wx.ALL,
                        flag=wx.ALIGN_LEFT | wx.ALL,
@@ -1773,7 +1773,7 @@ class LocationWizard(wx.Object):
                                 caption=_("Location wizard"))
                                 caption=_("Location wizard"))
 
 
     def __readData(self):
     def __readData(self):
-        """Get georeferencing information from tables in $GISBASE/etc"""
+        """!Get georeferencing information from tables in $GISBASE/etc"""
         # read projection definitions
         # read projection definitions
         f = open(os.path.join(globalvar.ETCDIR, "projections"), "r")
         f = open(os.path.join(globalvar.ETCDIR, "projections"), "r")
         self.projections = {}
         self.projections = {}
@@ -1911,7 +1911,7 @@ class LocationWizard(wx.Object):
         return success
         return success
 
 
     def XYCreate(self):
     def XYCreate(self):
-        """Create an XY location"""
+        """!Create an XY location"""
         database = self.startpage.grassdatabase
         database = self.startpage.grassdatabase
         location = self.startpage.location
         location = self.startpage.location
 
 
@@ -1966,7 +1966,7 @@ class LocationWizard(wx.Object):
             return False
             return False
 
 
     def CreateProj4String(self):
     def CreateProj4String(self):
-        """Constract PROJ.4 string"""
+        """!Constract PROJ.4 string"""
         location = self.startpage.location
         location = self.startpage.location
         proj = self.projpage.proj
         proj = self.projpage.proj
         projdesc = self.projpage.projdesc
         projdesc = self.projpage.projdesc
@@ -2035,7 +2035,7 @@ class LocationWizard(wx.Object):
         return False
         return False
 
 
     def CustomCreate(self):
     def CustomCreate(self):
-        """Create a new location based on given proj4 string"""
+        """!Create a new location based on given proj4 string"""
         proj4string = self.custompage.customstring
         proj4string = self.custompage.customstring
         location = self.startpage.location
         location = self.startpage.location
         
         
@@ -2352,7 +2352,7 @@ class RegionDef(BaseClass, wx.Frame):
         self.minWindowSize = self.GetMinSize()
         self.minWindowSize = self.GetMinSize()
     
     
     def MakeSettings3DPaneContent(self, pane):
     def MakeSettings3DPaneContent(self, pane):
-        """Create 3D region settings pane"""
+        """!Create 3D region settings pane"""
         border = wx.BoxSizer(wx.VERTICAL)
         border = wx.BoxSizer(wx.VERTICAL)
         gridSizer = wx.GridBagSizer(vgap=0, hgap=0)
         gridSizer = wx.GridBagSizer(vgap=0, hgap=0)
 
 
@@ -2429,7 +2429,7 @@ class RegionDef(BaseClass, wx.Frame):
         border.Fit(pane)
         border.Fit(pane)
 
 
     def OnSettings3DPaneChanged(self, event):
     def OnSettings3DPaneChanged(self, event):
-        """Collapse 3D settings box"""
+        """!Collapse 3D settings box"""
 
 
         if self.settings3D.IsExpanded():
         if self.settings3D.IsExpanded():
             self.settings3D.SetLabel(self.infoCollapseLabelCol)
             self.settings3D.SetLabel(self.infoCollapseLabelCol)
@@ -2445,7 +2445,7 @@ class RegionDef(BaseClass, wx.Frame):
         self.SendSizeEvent()
         self.SendSizeEvent()
 
 
     def __DoLayout(self, panel):
     def __DoLayout(self, panel):
-        """Window layout"""
+        """!Window layout"""
         frameSizer = wx.BoxSizer(wx.VERTICAL)
         frameSizer = wx.BoxSizer(wx.VERTICAL)
         gridSizer = wx.GridBagSizer(vgap=0, hgap=0)
         gridSizer = wx.GridBagSizer(vgap=0, hgap=0)
         settings3DSizer = wx.BoxSizer(wx.VERTICAL)
         settings3DSizer = wx.BoxSizer(wx.VERTICAL)
@@ -2549,7 +2549,7 @@ class RegionDef(BaseClass, wx.Frame):
         self.Layout()
         self.Layout()
 
 
     def OnValue(self, event):
     def OnValue(self, event):
-        """Set given value"""
+        """!Set given value"""
         try:
         try:
             if event.GetId() == self.tnorth.GetId():
             if event.GetId() == self.tnorth.GetId():
                 self.north = float(event.GetString())
                 self.north = float(event.GetString())
@@ -2598,7 +2598,7 @@ class RegionDef(BaseClass, wx.Frame):
         event.Skip()
         event.Skip()
 
 
     def __UpdateInfo(self):
     def __UpdateInfo(self):
-        """Update number of rows/cols/cells"""
+        """!Update number of rows/cols/cells"""
         self.rows = int((self.north - self.south) / self.nsres)
         self.rows = int((self.north - self.south) / self.nsres)
         self.cols = int((self.east - self.west) / self.ewres)
         self.cols = int((self.east - self.west) / self.ewres)
         self.cells = self.rows * self.cols
         self.cells = self.rows * self.cols
@@ -2615,7 +2615,7 @@ class RegionDef(BaseClass, wx.Frame):
         self.lcells3.SetLabel(_("3D Cells: %d" % self.cells3))
         self.lcells3.SetLabel(_("3D Cells: %d" % self.cells3))
 
 
     def OnSetButton(self, event=None):
     def OnSetButton(self, event=None):
-        """Set default region"""
+        """!Set default region"""
         ret = gcmd.RunCommand('g.region',
         ret = gcmd.RunCommand('g.region',
                               flags = 'sgpa',
                               flags = 'sgpa',
                               n = self.north,
                               n = self.north,
@@ -2634,7 +2634,7 @@ class RegionDef(BaseClass, wx.Frame):
         self.Destroy()
         self.Destroy()
 
 
 class SelectDatumDialog(wx.Dialog):
 class SelectDatumDialog(wx.Dialog):
-    """Dialog for selecting datum transformations"""
+    """!Dialog for selecting datum transformations"""
     def __init__(self, parent, datums, title=_("Select datum transformation"),
     def __init__(self, parent, datums, title=_("Select datum transformation"),
                  pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_DIALOG_STYLE):
                  pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_DIALOG_STYLE):
 
 
@@ -2706,7 +2706,7 @@ class SelectDatumDialog(wx.Dialog):
         self.SetSize(self.GetBestSize())
         self.SetSize(self.GetBestSize())
 
 
     def OnChangeDatum(self, event):
     def OnChangeDatum(self, event):
-        """Datum changed, update description text"""
+        """!Datum changed, update description text"""
         self.datumDesc.SetLabel('\n'.join(self.datums[event.GetString()]))
         self.datumDesc.SetLabel('\n'.join(self.datums[event.GetString()]))
 #        self.textWidth = self.GetSize()[0]
 #        self.textWidth = self.GetSize()[0]
 #        self.datumDesc.Wrap(self.textWidth)
 #        self.datumDesc.Wrap(self.textWidth)
@@ -2714,7 +2714,7 @@ class SelectDatumDialog(wx.Dialog):
         event.Skip()
         event.Skip()
 
 
     def GetDatum(self):
     def GetDatum(self):
-        """Get selected datum"""
+        """!Get selected datum"""
         return self.cdatums.GetStringSelection()
         return self.cdatums.GetStringSelection()
 
 
 if __name__ == "__main__":
 if __name__ == "__main__":

+ 11 - 11
gui/wxpython/gui_modules/mapdisp.py

@@ -792,7 +792,7 @@ class MapFrame(wx.Frame):
         self.goTo.SetFocus()
         self.goTo.SetFocus()
         
         
     def StatusbarUpdate(self):
     def StatusbarUpdate(self):
-        """Update statusbar content"""
+        """!Update statusbar content"""
 
 
         self.showRegion.Hide()
         self.showRegion.Hide()
         self.compResolution.Hide()
         self.compResolution.Hide()
@@ -903,13 +903,13 @@ class MapFrame(wx.Frame):
             self.statusbar.SetStatusText("", 1)
             self.statusbar.SetStatusText("", 1)
 
 
     def StatusbarEnableLongHelp(self, enable=True):
     def StatusbarEnableLongHelp(self, enable=True):
-        """Enable/disable toolbars long help"""
+        """!Enable/disable toolbars long help"""
         for toolbar in self.toolbars.itervalues():
         for toolbar in self.toolbars.itervalues():
             if toolbar:
             if toolbar:
                 toolbar.EnableLongHelp(enable)
                 toolbar.EnableLongHelp(enable)
                 
                 
     def StatusbarReposition(self):
     def StatusbarReposition(self):
-        """Reposition checkbox in statusbar"""
+        """!Reposition checkbox in statusbar"""
         # reposition checkbox
         # reposition checkbox
         widgets = [(0, self.showRegion),
         widgets = [(0, self.showRegion),
                    (0, self.compResolution),
                    (0, self.compResolution),
@@ -1259,7 +1259,7 @@ class MapFrame(wx.Frame):
                 self.dialogs['attributes'].Hide()
                 self.dialogs['attributes'].Hide()
         
         
     def OnQuery(self, event):
     def OnQuery(self, event):
-        """Query tools menu"""
+        """!Query tools menu"""
         if self.toolbars['map']:
         if self.toolbars['map']:
             self.toolbars['map'].OnTool(event)
             self.toolbars['map'].OnTool(event)
             action = self.toolbars['map'].GetAction()
             action = self.toolbars['map'].GetAction()
@@ -1459,7 +1459,7 @@ class MapFrame(wx.Frame):
         self.profile.OnSelectRaster(None)
         self.profile.OnSelectRaster(None)
 
 
     def FormatDist(self, dist):
     def FormatDist(self, dist):
-        """Format length numbers and units in a nice way,
+        """!Format length numbers and units in a nice way,
         as a function of length. From code by Hamish Bowman
         as a function of length. From code by Hamish Bowman
         Grass Development Team 2006"""
         Grass Development Team 2006"""
 
 
@@ -1705,7 +1705,7 @@ class MapFrame(wx.Frame):
 
 
     def SetProperties(self, render=False, mode=0, showCompExtent=False,
     def SetProperties(self, render=False, mode=0, showCompExtent=False,
                       constrainRes=False):
                       constrainRes=False):
-        """Set properies of map display window"""
+        """!Set properies of map display window"""
         self.autoRender.SetValue(render)
         self.autoRender.SetValue(render)
         self.toggleStatus.SetSelection(mode)
         self.toggleStatus.SetSelection(mode)
         self.StatusbarUpdate()
         self.StatusbarUpdate()
@@ -1715,14 +1715,14 @@ class MapFrame(wx.Frame):
             self.MapWindow.regionCoords = []
             self.MapWindow.regionCoords = []
 
 
     def IsStandalone(self):
     def IsStandalone(self):
-        """Check if Map display is standalone"""
+        """!Check if Map display is standalone"""
         if self._layerManager:
         if self._layerManager:
             return False
             return False
         
         
         return True
         return True
     
     
     def GetLayerManager(self):
     def GetLayerManager(self):
-        """Get reference to Layer Manager
+        """!Get reference to Layer Manager
 
 
         @return window reference
         @return window reference
         @return None (if standalone)
         @return None (if standalone)
@@ -1764,10 +1764,10 @@ class MapApp(wx.App):
             # stop the timer
             # stop the timer
             self.timer.Stop()
             self.timer.Stop()
             # terminate thread (a bit ugly)
             # terminate thread (a bit ugly)
-            os.system("""echo "quit" >> %s""" % (cmdfilename))
+            os.system("""!echo "quit" >> %s""" % (cmdfilename))
 
 
     def watcher(self):
     def watcher(self):
-        """Redraw, if new layer appears"""
+        """!Redraw, if new layer appears"""
         if self.redraw:
         if self.redraw:
             self.mapFrm.OnDraw(None)
             self.mapFrm.OnDraw(None)
         self.redraw = False
         self.redraw = False
@@ -1798,7 +1798,7 @@ if __name__ == "__main__":
     gm_map.MainLoop()
     gm_map.MainLoop()
     
     
     os.remove(cmdfilename)
     os.remove(cmdfilename)
-    os.system("""g.gisenv set="GRASS_PYCMDFILE" """)
+    os.system("""!g.gisenv set="GRASS_PYCMDFILE" """)
 
 
     print >> sys.stderr, "\nStopping monitor <%s>...\n" % (title)
     print >> sys.stderr, "\nStopping monitor <%s>...\n" % (title)
 
 

+ 2 - 2
gui/wxpython/gui_modules/mapdisp_window.py

@@ -947,7 +947,7 @@ class BufferedWindow(MapWindow, wx.Window):
 
 
     def DrawCross(self, pdc, coords, size, rotation=0,
     def DrawCross(self, pdc, coords, size, rotation=0,
                   text=None, textAlign='lr', textOffset=(5, 5)):
                   text=None, textAlign='lr', textOffset=(5, 5)):
-        """Draw cross in PseudoDC
+        """!Draw cross in PseudoDC
 
 
         @todo implement rotation
         @todo implement rotation
 
 
@@ -2603,7 +2603,7 @@ class BufferedWindow(MapWindow, wx.Window):
             os.environ["GRASS_REGION"] = tmpreg
             os.environ["GRASS_REGION"] = tmpreg
 
 
     def Distance(self, beginpt, endpt, screen=True):
     def Distance(self, beginpt, endpt, screen=True):
-        """Calculete distance
+        """!Calculete distance
 
 
         LL-locations not supported
         LL-locations not supported
 
 

+ 19 - 19
gui/wxpython/gui_modules/menuform.py

@@ -147,7 +147,7 @@ def color_resolve(color):
 
 
 
 
 def normalize_whitespace(text):
 def normalize_whitespace(text):
-    """Remove redundant whitespace from a string"""
+    """!Remove redundant whitespace from a string"""
     return string.join( string.split(text), ' ')
     return string.join( string.split(text), ' ')
 
 
 def text_beautify( someString , width=70):
 def text_beautify( someString , width=70):
@@ -163,11 +163,11 @@ def text_beautify( someString , width=70):
         return escape_ampersand( string.strip(normalize_whitespace(someString ), ".,;:" ))
         return escape_ampersand( string.strip(normalize_whitespace(someString ), ".,;:" ))
     
     
 def escape_ampersand(text):
 def escape_ampersand(text):
-    """Escapes ampersands with additional ampersand for GUI"""
+    """!Escapes ampersands with additional ampersand for GUI"""
     return string.replace(text, "&", "&&")
     return string.replace(text, "&", "&&")
 
 
 class UpdateThread(Thread):
 class UpdateThread(Thread):
-    """Update dialog widgets in the thread"""
+    """!Update dialog widgets in the thread"""
     def __init__(self, parent, event, eventId, task):
     def __init__(self, parent, event, eventId, task):
         Thread.__init__(self)
         Thread.__init__(self)
         
         
@@ -268,7 +268,7 @@ def UpdateDialog(parent, event, eventId, task):
     return UpdateThread(parent, event, eventId, task)
     return UpdateThread(parent, event, eventId, task)
 
 
 class UpdateQThread(Thread):
 class UpdateQThread(Thread):
-    """Update dialog widgets in the thread"""
+    """!Update dialog widgets in the thread"""
     requestId = 0
     requestId = 0
     def __init__(self, parent, requestQ, resultQ, **kwds):
     def __init__(self, parent, requestQ, resultQ, **kwds):
         Thread.__init__(self, **kwds)
         Thread.__init__(self, **kwds)
@@ -336,7 +336,7 @@ class grassTask:
             xml.sax.parseString( getInterfaceDescription( grassModule ) , processTask( self ) )
             xml.sax.parseString( getInterfaceDescription( grassModule ) , processTask( self ) )
 
 
     def get_list_params(self, element = 'name'):
     def get_list_params(self, element = 'name'):
-        """Get list of parameters"""
+        """!Get list of parameters"""
         params = []
         params = []
         for p in self.params:
         for p in self.params:
             params.append(p['name'])
             params.append(p['name'])
@@ -344,7 +344,7 @@ class grassTask:
         return params
         return params
 
 
     def get_list_flags(self, element = 'name'):
     def get_list_flags(self, element = 'name'):
-        """Get list of parameters"""
+        """!Get list of parameters"""
         flags = []
         flags = []
         for p in self.flags:
         for p in self.flags:
             flags.append(p['name'])
             flags.append(p['name'])
@@ -352,7 +352,7 @@ class grassTask:
         return flags
         return flags
     
     
     def get_param(self, value, element='name', raiseError=True):
     def get_param(self, value, element='name', raiseError=True):
-        """Find and return a param by name."""
+        """!Find and return a param by name."""
         for p in self.params:
         for p in self.params:
             if p[element] == value:
             if p[element] == value:
                 return p
                 return p
@@ -920,17 +920,17 @@ class mainFrame(wx.Frame):
         self.Layout()
         self.Layout()
 
 
     def updateValuesHook(self):
     def updateValuesHook(self):
-        """Update status bar data"""
+        """!Update status bar data"""
         self.SetStatusText(' '.join(self.notebookpanel.createCmd(ignoreErrors = True)) )
         self.SetStatusText(' '.join(self.notebookpanel.createCmd(ignoreErrors = True)) )
 
 
     def OnOK(self, event):
     def OnOK(self, event):
-        """OK button pressed"""
+        """!OK button pressed"""
         cmd = self.OnApply(event)
         cmd = self.OnApply(event)
         if cmd is not None and self.get_dcmd is not None:
         if cmd is not None and self.get_dcmd is not None:
             self.OnCancel(event)
             self.OnCancel(event)
 
 
     def OnApply(self, event):
     def OnApply(self, event):
-        """Apply the command"""
+        """!Apply the command"""
         cmd = self.createCmd()
         cmd = self.createCmd()
 
 
         if cmd is not None and self.get_dcmd is not None:
         if cmd is not None and self.get_dcmd is not None:
@@ -944,7 +944,7 @@ class mainFrame(wx.Frame):
         return cmd
         return cmd
 
 
     def OnRun(self, event):
     def OnRun(self, event):
-        """Run the command"""
+        """!Run the command"""
         cmd = self.createCmd()
         cmd = self.createCmd()
         
         
         if cmd == None or len(cmd) < 2:
         if cmd == None or len(cmd) < 2:
@@ -975,12 +975,12 @@ class mainFrame(wx.Frame):
         self.btn_abort.Enable(True)
         self.btn_abort.Enable(True)
 
 
     def OnAbort(self, event):
     def OnAbort(self, event):
-        """Abort running command"""
+        """!Abort running command"""
         event = goutput.wxCmdAbort(aborted=True)
         event = goutput.wxCmdAbort(aborted=True)
         wx.PostEvent(self.goutput, event)
         wx.PostEvent(self.goutput, event)
 
 
     def OnCopy(self, event):
     def OnCopy(self, event):
-        """Copy the command"""
+        """!Copy the command"""
         cmddata = wx.TextDataObject()
         cmddata = wx.TextDataObject()
         # list -> string
         # list -> string
         cmdstring = ' '.join(self.createCmd(ignoreErrors=True))
         cmdstring = ' '.join(self.createCmd(ignoreErrors=True))
@@ -993,7 +993,7 @@ class mainFrame(wx.Frame):
                                     (cmdstring))
                                     (cmdstring))
 
 
     def OnCancel(self, event):
     def OnCancel(self, event):
-        """Cancel button pressed"""
+        """!Cancel button pressed"""
         self.MakeModal(False)
         self.MakeModal(False)
         
         
         if self.get_dcmd and \
         if self.get_dcmd and \
@@ -1014,7 +1014,7 @@ class mainFrame(wx.Frame):
             self.Destroy()
             self.Destroy()
 
 
     def OnHelp(self, event):
     def OnHelp(self, event):
-        """Show manual page (switch to the 'Manual' notebook page)"""
+        """!Show manual page (switch to the 'Manual' notebook page)"""
         if hasattr(self.notebookpanel, "manual_tab_id"):
         if hasattr(self.notebookpanel, "manual_tab_id"):
             self.notebookpanel.notebook.SetSelection(self.notebookpanel.manual_tab_id)
             self.notebookpanel.notebook.SetSelection(self.notebookpanel.manual_tab_id)
             self.notebookpanel.OnPageChange(None)
             self.notebookpanel.OnPageChange(None)
@@ -1022,7 +1022,7 @@ class mainFrame(wx.Frame):
         event.Skip()
         event.Skip()
         
         
     def createCmd(self, ignoreErrors = False):
     def createCmd(self, ignoreErrors = False):
-        """Create command string (python list)"""
+        """!Create command string (python list)"""
         return self.notebookpanel.createCmd(ignoreErrors=ignoreErrors)
         return self.notebookpanel.createCmd(ignoreErrors=ignoreErrors)
 
 
 class cmdPanel(wx.Panel):
 class cmdPanel(wx.Panel):
@@ -1584,7 +1584,7 @@ class cmdPanel(wx.Panel):
             fn(**kwargs)
             fn(**kwargs)
         
         
     def OnVerbosity(self, event):
     def OnVerbosity(self, event):
-        """Verbosity level changed"""
+        """!Verbosity level changed"""
         verbose = self.FindWindowById(self.task.get_flag('verbose')['wxId'])
         verbose = self.FindWindowById(self.task.get_flag('verbose')['wxId'])
         quiet = self.FindWindowById(self.task.get_flag('quiet')['wxId'])
         quiet = self.FindWindowById(self.task.get_flag('quiet')['wxId'])
         if event.IsChecked():
         if event.IsChecked():
@@ -1793,7 +1793,7 @@ class GUI:
         self.grass_task = None
         self.grass_task = None
 
 
     def ParseInterface(self, cmd):
     def ParseInterface(self, cmd):
-        """Parse interface
+        """!Parse interface
 
 
         @param cmd command to be parsed (given as list)
         @param cmd command to be parsed (given as list)
         """
         """
@@ -1895,7 +1895,7 @@ class GUI:
         return cmd
         return cmd
 
 
     def GetCommandInputMapParamKey(self, cmd):
     def GetCommandInputMapParamKey(self, cmd):
-        """Get parameter key for input raster/vector map
+        """!Get parameter key for input raster/vector map
         
         
         @param cmd module name
         @param cmd module name
         
         

+ 32 - 32
gui/wxpython/gui_modules/nviz_mapdisp.py

@@ -58,7 +58,7 @@ class NvizThread(Thread):
         self.nvizClass = wxnviz.Nviz(self.log)
         self.nvizClass = wxnviz.Nviz(self.log)
         
         
 class GLWindow(MapWindow, glcanvas.GLCanvas):
 class GLWindow(MapWindow, glcanvas.GLCanvas):
-    """OpenGL canvas for Map Display Window"""
+    """!OpenGL canvas for Map Display Window"""
     def __init__(self, parent, id,
     def __init__(self, parent, id,
                  pos=wx.DefaultPosition,
                  pos=wx.DefaultPosition,
                  size=wx.DefaultSize,
                  size=wx.DefaultSize,
@@ -232,7 +232,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         self.ReleaseMouse()
         self.ReleaseMouse()
 
 
     def UpdateView(self, event):
     def UpdateView(self, event):
-        """Change view settings"""
+        """!Change view settings"""
         self.nvizClass.SetView(self.view['pos']['x'], self.view['pos']['y'],
         self.nvizClass.SetView(self.view['pos']['x'], self.view['pos']['y'],
                                self.iview['height']['value'],
                                self.iview['height']['value'],
                                self.view['persp']['value'],
                                self.view['persp']['value'],
@@ -300,7 +300,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         self.SwapBuffers()
         self.SwapBuffers()
 
 
     def IsLoaded(self, item):
     def IsLoaded(self, item):
-        """Check if layer (item) is already loaded
+        """!Check if layer (item) is already loaded
 
 
         @param item layer item
         @param item layer item
         """
         """
@@ -321,7 +321,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         return 1
         return 1
 
 
     def _GetDataLayers(self, item, litems):
     def _GetDataLayers(self, item, litems):
-        """Return get list of enabled map layers"""
+        """!Return get list of enabled map layers"""
         # load raster & vector maps
         # load raster & vector maps
         while item and item.IsOk():
         while item and item.IsOk():
             type = self.tree.GetPyData(item)[0]['type']
             type = self.tree.GetPyData(item)[0]['type']
@@ -340,7 +340,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
             item = self.tree.GetNextSibling(item)
             item = self.tree.GetNextSibling(item)
         
         
     def LoadDataLayers(self):
     def LoadDataLayers(self):
-        """Load raster/vector from current layer tree
+        """!Load raster/vector from current layer tree
 
 
         @todo volumes
         @todo volumes
         """
         """
@@ -385,7 +385,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         # print stop - start
         # print stop - start
         
         
     def UnloadDataLayers(self):
     def UnloadDataLayers(self):
-        """Unload any layers that have been deleted from layer tree"""
+        """!Unload any layers that have been deleted from layer tree"""
         if not self.tree:
         if not self.tree:
             return
             return
         
         
@@ -423,7 +423,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         Debug.msg(3, "GLWindow.UnloadDataLayers(): time=%f" % (stop-start))        
         Debug.msg(3, "GLWindow.UnloadDataLayers(): time=%f" % (stop-start))        
 
 
     def SetMapObjProperties(self, item, id, nvizType):
     def SetMapObjProperties(self, item, id, nvizType):
-        """Set map object properties
+        """!Set map object properties
 
 
         Properties must be afterwards updated by
         Properties must be afterwards updated by
         UpdateMapObjProperties().
         UpdateMapObjProperties().
@@ -497,21 +497,21 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         return data
         return data
 
 
     def LoadRaster(self, item):
     def LoadRaster(self, item):
-        """Load 2d raster map and set surface attributes
+        """!Load 2d raster map and set surface attributes
 
 
         @param layer item
         @param layer item
         """
         """
         return self._loadRaster(item)
         return self._loadRaster(item)
 
 
     def LoadRaster3d(self, item):
     def LoadRaster3d(self, item):
-        """Load 3d raster map and set surface attributes
+        """!Load 3d raster map and set surface attributes
 
 
         @param layer item
         @param layer item
         """
         """
         return self._loadRaster(item)
         return self._loadRaster(item)
 
 
     def _loadRaster(self, item):
     def _loadRaster(self, item):
-        """Load 2d/3d raster map and set its attributes
+        """!Load 2d/3d raster map and set its attributes
 
 
         @param layer item
         @param layer item
         """
         """
@@ -561,21 +561,21 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         return id
         return id
 
 
     def UnloadRaster(self, item):
     def UnloadRaster(self, item):
-        """Unload 2d raster map
+        """!Unload 2d raster map
 
 
         @param layer item
         @param layer item
         """
         """
         return self._unloadRaster(item)
         return self._unloadRaster(item)
 
 
     def UnloadRaster3d(self, item):
     def UnloadRaster3d(self, item):
-        """Unload 3d raster map
+        """!Unload 3d raster map
 
 
         @param layer item
         @param layer item
         """
         """
         return self._unloadRaster(item)
         return self._unloadRaster(item)
 
 
     def _unloadRaster(self, item):
     def _unloadRaster(self, item):
-        """Unload 2d/3d raster map
+        """!Unload 2d/3d raster map
 
 
         @param item layer item
         @param item layer item
         """
         """
@@ -623,7 +623,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
                 toolWin.page['settings']['id'] = 1
                 toolWin.page['settings']['id'] = 1
 
 
     def LoadVector(self, item, vecType=None):
     def LoadVector(self, item, vecType=None):
-        """Load 2D or 3D vector map overlay
+        """!Load 2D or 3D vector map overlay
 
 
         @param item layer item
         @param item layer item
         @param vecType vector type (lines / points)
         @param vecType vector type (lines / points)
@@ -678,7 +678,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         return id
         return id
 
 
     def UnloadVector(self, item, vecType=None):
     def UnloadVector(self, item, vecType=None):
-        """Unload vector map overlay
+        """!Unload vector map overlay
 
 
         @param item layer item
         @param item layer item
         @param vecType vector type (lines, points)
         @param vecType vector type (lines, points)
@@ -726,7 +726,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
                 toolWin.page['settings']['id'] = 1
                 toolWin.page['settings']['id'] = 1
         
         
     def GetDrawMode(self, mode=None, style=None, shade=None, string=False):
     def GetDrawMode(self, mode=None, style=None, shade=None, string=False):
-        """Get surface draw mode (value) from description/selection
+        """!Get surface draw mode (value) from description/selection
 
 
         @param mode,style,shade modes
         @param mode,style,shade modes
         @param string if True input parameters are strings otherwise
         @param string if True input parameters are strings otherwise
@@ -789,7 +789,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         return (value, desc)
         return (value, desc)
     
     
     def SetSurfaceDefaultProp(self, data):
     def SetSurfaceDefaultProp(self, data):
-        """Set default surface data properties"""
+        """!Set default surface data properties"""
         #
         #
         # attributes
         # attributes
         #
         #
@@ -832,7 +832,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
                                  'update': None }
                                  'update': None }
 
 
     def SetVolumeDefaultProp(self, data):
     def SetVolumeDefaultProp(self, data):
-        """Set default volume data properties"""
+        """!Set default volume data properties"""
         #
         #
         # draw
         # draw
         #
         #
@@ -869,12 +869,12 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
                 data['attribute'][attrb][key] = value
                 data['attribute'][attrb][key] = value
         
         
     def SetVectorDefaultProp(self, data):
     def SetVectorDefaultProp(self, data):
-        """Set default vector data properties"""
+        """!Set default vector data properties"""
         self.SetVectorLinesDefaultProp(data['lines'])
         self.SetVectorLinesDefaultProp(data['lines'])
         self.SetVectorPointsDefaultProp(data['points'])
         self.SetVectorPointsDefaultProp(data['points'])
 
 
     def SetVectorLinesDefaultProp(self, data):
     def SetVectorLinesDefaultProp(self, data):
-        """Set default vector properties -- lines"""
+        """!Set default vector properties -- lines"""
         # width
         # width
         data['width'] = {'value' : UserSettings.Get(group='nviz', key='vector',
         data['width'] = {'value' : UserSettings.Get(group='nviz', key='vector',
                                                     subkey=['lines', 'width']) }
                                                     subkey=['lines', 'width']) }
@@ -914,7 +914,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
                 data[attrb]['update'] = None
                 data[attrb]['update'] = None
         
         
     def SetVectorPointsDefaultProp(self, data):
     def SetVectorPointsDefaultProp(self, data):
-        """Set default vector properties -- points"""
+        """!Set default vector properties -- points"""
         # size
         # size
         data['size'] = { 'value' : UserSettings.Get(group='nviz', key='vector',
         data['size'] = { 'value' : UserSettings.Get(group='nviz', key='vector',
                                                     subkey=['points', 'size']) }
                                                     subkey=['points', 'size']) }
@@ -950,7 +950,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
                 data[attrb]['update'] = None
                 data[attrb]['update'] = None
         
         
     def Reset(self):
     def Reset(self):
-        """Reset (unload data)"""
+        """!Reset (unload data)"""
         for item in self.layers:
         for item in self.layers:
             type = self.tree.GetPyData(item)[0]['maplayer'].type
             type = self.tree.GetPyData(item)[0]['maplayer'].type
             if type == 'raster':
             if type == 'raster':
@@ -980,7 +980,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         self.nvizClass.SetViewportDefault()
         self.nvizClass.SetViewportDefault()
 
 
     def ResetView(self):
     def ResetView(self):
-        """Reset to default view"""
+        """!Reset to default view"""
         self.view['z-exag']['value'], \
         self.view['z-exag']['value'], \
             self.iview['height']['value'], \
             self.iview['height']['value'], \
             self.iview['height']['min'], \
             self.iview['height']['min'], \
@@ -1000,7 +1000,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         wx.PostEvent(self, event)
         wx.PostEvent(self, event)
         
         
     def UpdateMapObjProperties(self, event):
     def UpdateMapObjProperties(self, event):
-        """Generic method to update data layer properties"""
+        """!Generic method to update data layer properties"""
         data = event.data
         data = event.data
         
         
         if data.has_key('surface'):
         if data.has_key('surface'):
@@ -1024,7 +1024,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
                     data['vector'][type]['object']['init'] = True
                     data['vector'][type]['object']['init'] = True
         
         
     def UpdateSurfaceProperties(self, id, data):
     def UpdateSurfaceProperties(self, id, data):
-        """Update surface map object properties"""
+        """!Update surface map object properties"""
         # surface attributes
         # surface attributes
         for attrb in ('topo', 'color', 'mask',
         for attrb in ('topo', 'color', 'mask',
                      'transp', 'shine', 'emit'):
                      'transp', 'shine', 'emit'):
@@ -1109,7 +1109,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
             data['position'].pop('update')
             data['position'].pop('update')
         
         
     def UpdateVolumeProperties(self, id, data, isosurfId=None):
     def UpdateVolumeProperties(self, id, data, isosurfId=None):
-        """Update volume (isosurface/slice) map object properties"""
+        """!Update volume (isosurface/slice) map object properties"""
         #
         #
         # draw
         # draw
         #
         #
@@ -1167,7 +1167,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
             isosurfId += 1
             isosurfId += 1
         
         
     def UpdateVectorProperties(self, id, data, type):
     def UpdateVectorProperties(self, id, data, type):
-        """Update vector layer properties
+        """!Update vector layer properties
 
 
         @param id layer id
         @param id layer id
         @param data properties
         @param data properties
@@ -1179,7 +1179,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
             self.UpdateVectorLinesProperties(id, data[type])
             self.UpdateVectorLinesProperties(id, data[type])
     
     
     def UpdateVectorLinesProperties(self, id, data):
     def UpdateVectorLinesProperties(self, id, data):
-        """Update vector line map object properties"""
+        """!Update vector line map object properties"""
         # mode
         # mode
         if data['color'].has_key('update') or \
         if data['color'].has_key('update') or \
                 data['width'].has_key('update') or \
                 data['width'].has_key('update') or \
@@ -1218,7 +1218,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
             data['mode'].pop('update')
             data['mode'].pop('update')
         
         
     def UpdateVectorPointsProperties(self, id, data):
     def UpdateVectorPointsProperties(self, id, data):
-        """Update vector point map object properties"""
+        """!Update vector point map object properties"""
         if data['size'].has_key('update') or \
         if data['size'].has_key('update') or \
                 data['width'].has_key('update') or \
                 data['width'].has_key('update') or \
                 data['marker'].has_key('update') or \
                 data['marker'].has_key('update') or \
@@ -1256,7 +1256,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
             data['mode'].pop('update')
             data['mode'].pop('update')
 
 
     def GetLayerNames(self, type):
     def GetLayerNames(self, type):
-        """Return list of map layer names of given type"""
+        """!Return list of map layer names of given type"""
         layerName = []
         layerName = []
         
         
         for item in self.layers:
         for item in self.layers:
@@ -1269,7 +1269,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         return layerName
         return layerName
     
     
     def GetLayerData(self, type, name):
     def GetLayerData(self, type, name):
-        """Return layer item data
+        """!Return layer item data
 
 
         @return {} if no layer item found
         @return {} if no layer item found
         """
         """
@@ -1281,7 +1281,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         return {}
         return {}
     
     
     def GetLayerId(self, type, name):
     def GetLayerId(self, type, name):
-        """Get layer object id or -1"""
+        """!Get layer object id or -1"""
         if len(name) < 1:
         if len(name) < 1:
             return -1
             return -1
         
         

+ 58 - 58
gui/wxpython/gui_modules/nviz_tools.py

@@ -33,7 +33,7 @@ sys.path.append(os.path.join(globalvar.ETCWXDIR, "nviz"))
 import grass7_wxnviz as wxnviz
 import grass7_wxnviz as wxnviz
 
 
 class NvizToolWindow(wx.Frame):
 class NvizToolWindow(wx.Frame):
-    """Experimental window for Nviz tools
+    """!Experimental window for Nviz tools
 
 
     @todo integrate with Map display
     @todo integrate with Map display
     """
     """
@@ -104,12 +104,12 @@ class NvizToolWindow(wx.Frame):
         self.notebook.ChangeSelection(new)
         self.notebook.ChangeSelection(new)
     
     
     def PostViewEvent(self, zExag=False):
     def PostViewEvent(self, zExag=False):
-        """Change view settings"""
+        """!Change view settings"""
         event = wxUpdateView(zExag=zExag)
         event = wxUpdateView(zExag=zExag)
         wx.PostEvent(self.mapWindow, event)
         wx.PostEvent(self.mapWindow, event)
 
 
     def __createViewPage(self):
     def __createViewPage(self):
-        """Create view settings page"""
+        """!Create view settings page"""
         panel = wx.Panel(parent=self.notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=self.notebook, id=wx.ID_ANY)
         self.notebook.AddPage(page=panel,
         self.notebook.AddPage(page=panel,
                               text=" %s " % _("View"))
                               text=" %s " % _("View"))
@@ -229,7 +229,7 @@ class NvizToolWindow(wx.Frame):
         return panel.GetBestSize()
         return panel.GetBestSize()
 
 
     def __createSurfacePage(self):
     def __createSurfacePage(self):
-        """Create view settings page"""
+        """!Create view settings page"""
         panel = wx.Panel(parent=self.notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=self.notebook, id=wx.ID_ANY)
         self.page['surface'] = {}
         self.page['surface'] = {}
         self.page['surface']['id'] = -1
         self.page['surface']['id'] = -1
@@ -500,7 +500,7 @@ class NvizToolWindow(wx.Frame):
         return panel.GetBestSize()
         return panel.GetBestSize()
 
 
     def __createVectorPage(self):
     def __createVectorPage(self):
-        """Create view settings page"""
+        """!Create view settings page"""
         panel = wx.Panel(parent=self.notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=self.notebook, id=wx.ID_ANY)
         self.page['vector'] = {}
         self.page['vector'] = {}
         self.page['vector']['id'] = -1
         self.page['vector']['id'] = -1
@@ -725,7 +725,7 @@ class NvizToolWindow(wx.Frame):
         return panel.GetBestSize()
         return panel.GetBestSize()
 
 
     def __createVolumePage(self):
     def __createVolumePage(self):
-        """Create view settings page"""
+        """!Create view settings page"""
         panel = wx.Panel(parent=self.notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=self.notebook, id=wx.ID_ANY)
         self.page['volume'] = {}
         self.page['volume'] = {}
         self.page['volume']['id'] = -1
         self.page['volume']['id'] = -1
@@ -944,7 +944,7 @@ class NvizToolWindow(wx.Frame):
         return panel.GetBestSize()
         return panel.GetBestSize()
     
     
     def __createSettingsPage(self):
     def __createSettingsPage(self):
-        """Create settings page"""
+        """!Create settings page"""
         panel = wx.Panel(parent=self.notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=self.notebook, id=wx.ID_ANY)
         self.notebook.AddPage(page=panel,
         self.notebook.AddPage(page=panel,
                               text=" %s " % _("Settings"))
                               text=" %s " % _("Settings"))
@@ -1291,7 +1291,7 @@ class NvizToolWindow(wx.Frame):
         return panel.GetBestSize()
         return panel.GetBestSize()
 
 
     def CreateControl(self, parent, dict, name, range, bind, sliderHor=True, size=200):
     def CreateControl(self, parent, dict, name, range, bind, sliderHor=True, size=200):
-        """Add control (Slider + SpinCtrl)"""
+        """!Add control (Slider + SpinCtrl)"""
         dict[name] = {}
         dict[name] = {}
         if sliderHor:
         if sliderHor:
             style = wx.SL_HORIZONTAL | wx.SL_AUTOTICKS | \
             style = wx.SL_HORIZONTAL | wx.SL_AUTOTICKS | \
@@ -1332,7 +1332,7 @@ class NvizToolWindow(wx.Frame):
         dict[name]['spin'] = spin.GetId()
         dict[name]['spin'] = spin.GetId()
 
 
     def UpdateSettings(self):
     def UpdateSettings(self):
-        """Update dialog settings"""
+        """!Update dialog settings"""
         for control in ('height',
         for control in ('height',
                         'persp',
                         'persp',
                         'twist',
                         'twist',
@@ -1363,7 +1363,7 @@ class NvizToolWindow(wx.Frame):
         return None
         return None
 
 
     def OnViewChange(self, event):
     def OnViewChange(self, event):
-        """Change view, render in quick mode"""
+        """!Change view, render in quick mode"""
         # find control
         # find control
         winName = self.__GetWindowName(self.win['view'], event.GetId())
         winName = self.__GetWindowName(self.win['view'], event.GetId())
         if not winName:
         if not winName:
@@ -1389,25 +1389,25 @@ class NvizToolWindow(wx.Frame):
         self.mapWindow.Refresh(False)
         self.mapWindow.Refresh(False)
 
 
     def OnViewChanged(self, event):
     def OnViewChanged(self, event):
-        """View changed, render in full resolution"""
+        """!View changed, render in full resolution"""
         self.mapWindow.render['quick'] = False
         self.mapWindow.render['quick'] = False
         self.mapWindow.Refresh(False)
         self.mapWindow.Refresh(False)
 
 
     def OnViewChangedSpin(self, event):
     def OnViewChangedSpin(self, event):
-        """View changed, render in full resolution"""
+        """!View changed, render in full resolution"""
         # TODO: use step value instead
         # TODO: use step value instead
 
 
         self.OnViewChange(event)
         self.OnViewChange(event)
         self.OnViewChanged(None)
         self.OnViewChanged(None)
 
 
     def OnResetView(self, event):
     def OnResetView(self, event):
-        """Reset to default view (view page)"""
+        """!Reset to default view (view page)"""
         self.mapWindow.ResetView()
         self.mapWindow.ResetView()
         self.UpdateSettings()
         self.UpdateSettings()
         self.mapWindow.Refresh(False)
         self.mapWindow.Refresh(False)
 
 
     def OnLookAt(self, event):
     def OnLookAt(self, event):
-        """Look at (view page)"""
+        """!Look at (view page)"""
         sel = event.GetSelection()
         sel = event.GetSelection()
         if sel == 0: # top
         if sel == 0: # top
             self.mapWindow.view['pos']['x'] = 0.5
             self.mapWindow.view['pos']['x'] = 0.5
@@ -1444,7 +1444,7 @@ class NvizToolWindow(wx.Frame):
         self.mapWindow.Refresh(False)
         self.mapWindow.Refresh(False)
 
 
     def OnDefault(self, event):
     def OnDefault(self, event):
-        """Restore default settings"""
+        """!Restore default settings"""
         settings = copy.deepcopy(UserSettings.GetDefaultSettings()['nviz'])
         settings = copy.deepcopy(UserSettings.GetDefaultSettings()['nviz'])
         UserSettings.Set(group='nviz',
         UserSettings.Set(group='nviz',
                          value=settings)
                          value=settings)
@@ -1464,7 +1464,7 @@ class NvizToolWindow(wx.Frame):
         event.Skip()
         event.Skip()
 
 
     def OnApply(self, event):
     def OnApply(self, event):
-        """Apply button pressed"""
+        """!Apply button pressed"""
         if self.notebook.GetSelection() == self.page['settings']['id']:
         if self.notebook.GetSelection() == self.page['settings']['id']:
             self.ApplySettings()
             self.ApplySettings()
         
         
@@ -1472,7 +1472,7 @@ class NvizToolWindow(wx.Frame):
             event.Skip()
             event.Skip()
 
 
     def ApplySettings(self):
     def ApplySettings(self):
-        """Apply Nviz settings for current session"""
+        """!Apply Nviz settings for current session"""
         settings = UserSettings.Get(group='nviz')
         settings = UserSettings.Get(group='nviz')
         for subgroup, key in settings.iteritems(): # view, surface, vector...
         for subgroup, key in settings.iteritems(): # view, surface, vector...
             for subkey, value in key.iteritems():
             for subkey, value in key.iteritems():
@@ -1495,7 +1495,7 @@ class NvizToolWindow(wx.Frame):
                     settings[subgroup][subkey][subvalue] = value
                     settings[subgroup][subkey][subvalue] = value
                     
                     
     def OnSave(self, event):
     def OnSave(self, event):
-        """OK button pressed
+        """!OK button pressed
         
         
         Apply changes, update map and save settings of selected layer
         Apply changes, update map and save settings of selected layer
         """
         """
@@ -1512,7 +1512,7 @@ class NvizToolWindow(wx.Frame):
             self.lmgr.goutput.WriteLog(_('Nviz settings saved to file <%s>.') % file)
             self.lmgr.goutput.WriteLog(_('Nviz settings saved to file <%s>.') % file)
 
 
     def OnBgColor(self, event):
     def OnBgColor(self, event):
-        """Background color changed"""
+        """!Background color changed"""
         color = event.GetValue()
         color = event.GetValue()
         color = str(color[0]) + ':' + str(color[1]) + ':' + str(color[2])
         color = str(color[0]) + ':' + str(color[1]) + ':' + str(color[2])
 
 
@@ -1522,14 +1522,14 @@ class NvizToolWindow(wx.Frame):
             self.mapWindow.Refresh(False)
             self.mapWindow.Refresh(False)
         
         
     def OnClose(self, event):
     def OnClose(self, event):
-        """Close button pressed
+        """!Close button pressed
         
         
         Close dialog
         Close dialog
         """
         """
         self.Hide()
         self.Hide()
 
 
     def OnMapObjUse(self, event):
     def OnMapObjUse(self, event):
-        """Set surface attribute -- use -- map/constant"""
+        """!Set surface attribute -- use -- map/constant"""
         if not self.mapWindow.init:
         if not self.mapWindow.init:
             return
             return
 
 
@@ -1583,7 +1583,7 @@ class NvizToolWindow(wx.Frame):
             self.mapWindow.Refresh(False)
             self.mapWindow.Refresh(False)
 
 
     def SetMapObjUseMap(self, nvizType, attrb, map=None):
     def SetMapObjUseMap(self, nvizType, attrb, map=None):
-        """Update dialog widgets when attribute type changed"""
+        """!Update dialog widgets when attribute type changed"""
         if attrb in ('topo', 'color', 'shine'):
         if attrb in ('topo', 'color', 'shine'):
             incSel = -1 # decrement selection (no 'unset')
             incSel = -1 # decrement selection (no 'unset')
         else:
         else:
@@ -1608,11 +1608,11 @@ class NvizToolWindow(wx.Frame):
             self.FindWindowById(self.win[nvizType][attrb]['use']).SetSelection(0)
             self.FindWindowById(self.win[nvizType][attrb]['use']).SetSelection(0)
 
 
     def OnSurfaceMap(self, event):
     def OnSurfaceMap(self, event):
-        """Set surface attribute"""
+        """!Set surface attribute"""
         self.SetMapObjAttrb(nvizType='surface', winId=event.GetId())
         self.SetMapObjAttrb(nvizType='surface', winId=event.GetId())
         
         
     def SetMapObjAttrb(self, nvizType, winId):
     def SetMapObjAttrb(self, nvizType, winId):
-        """Set map object (surface/isosurface) attribute (map/constant)"""
+        """!Set map object (surface/isosurface) attribute (map/constant)"""
         if not self.mapWindow.init:
         if not self.mapWindow.init:
             return
             return
 
 
@@ -1663,14 +1663,14 @@ class NvizToolWindow(wx.Frame):
                 self.mapWindow.Refresh(False)
                 self.mapWindow.Refresh(False)
 
 
     def OnSurfaceResolution(self, event):
     def OnSurfaceResolution(self, event):
-        """Draw resolution changed"""
+        """!Draw resolution changed"""
         self.SetSurfaceResolution()
         self.SetSurfaceResolution()
 
 
         if apply and self.parent.autoRender.IsChecked():
         if apply and self.parent.autoRender.IsChecked():
             self.mapWindow.Refresh(False)
             self.mapWindow.Refresh(False)
 
 
     def SetSurfaceResolution(self):
     def SetSurfaceResolution(self):
-        """Set draw resolution"""
+        """!Set draw resolution"""
         coarse = self.FindWindowById(self.win['surface']['draw']['res-coarse']).GetValue()
         coarse = self.FindWindowById(self.win['surface']['draw']['res-coarse']).GetValue()
         fine = self.FindWindowById(self.win['surface']['draw']['res-fine']).GetValue()
         fine = self.FindWindowById(self.win['surface']['draw']['res-fine']).GetValue()
         
         
@@ -1684,7 +1684,7 @@ class NvizToolWindow(wx.Frame):
         wx.PostEvent(self.mapWindow, event)
         wx.PostEvent(self.mapWindow, event)
         
         
     def SetSurfaceMode(self):
     def SetSurfaceMode(self):
-        """Set draw mode
+        """!Set draw mode
 
 
         @param apply allow auto-rendering
         @param apply allow auto-rendering
         """
         """
@@ -1708,7 +1708,7 @@ class NvizToolWindow(wx.Frame):
         return value, desc
         return value, desc
 
 
     def OnSurfaceMode(self, event):
     def OnSurfaceMode(self, event):
-        """Set draw mode"""
+        """!Set draw mode"""
         value, desc = self.SetSurfaceMode()
         value, desc = self.SetSurfaceMode()
         
         
         data = self.mapWindow.GetSelectedLayer(type='nviz')
         data = self.mapWindow.GetSelectedLayer(type='nviz')
@@ -1724,7 +1724,7 @@ class NvizToolWindow(wx.Frame):
             self.mapWindow.Refresh(False)
             self.mapWindow.Refresh(False)
 
 
     def OnSurfaceModeAll(self, event):
     def OnSurfaceModeAll(self, event):
-        """Set draw mode (including wire color) for all loaded surfaces"""
+        """!Set draw mode (including wire color) for all loaded surfaces"""
         value, desc = self.SetSurfaceMode()
         value, desc = self.SetSurfaceMode()
         coarse = self.FindWindowById(self.win['surface']['draw']['res-coarse']).GetValue()
         coarse = self.FindWindowById(self.win['surface']['draw']['res-coarse']).GetValue()
         fine = self.FindWindowById(self.win['surface']['draw']['res-fine']).GetValue()
         fine = self.FindWindowById(self.win['surface']['draw']['res-fine']).GetValue()
@@ -1753,11 +1753,11 @@ class NvizToolWindow(wx.Frame):
             self.mapWindow.Refresh(False)
             self.mapWindow.Refresh(False)
 
 
     def _getColorString(self, color):
     def _getColorString(self, color):
-        """Set wire color"""
+        """!Set wire color"""
         return str(color[0]) + ':' + str(color[1]) + ':' + str(color[2])
         return str(color[0]) + ':' + str(color[1]) + ':' + str(color[2])
 
 
     def OnSurfaceWireColor(self, event):
     def OnSurfaceWireColor(self, event):
-        """Set wire color"""
+        """!Set wire color"""
         data = self.mapWindow.GetSelectedLayer(type='nviz')
         data = self.mapWindow.GetSelectedLayer(type='nviz')
         value = self._getColorString(event.GetValue())
         value = self._getColorString(event.GetValue())
         data['surface']['draw']['wire-color'] = { 'value' : value,
         data['surface']['draw']['wire-color'] = { 'value' : value,
@@ -1771,7 +1771,7 @@ class NvizToolWindow(wx.Frame):
             self.mapWindow.Refresh(False)
             self.mapWindow.Refresh(False)
 
 
     def OnSurfaceAxis(self, event):
     def OnSurfaceAxis(self, event):
-        """Surface position, axis changed"""
+        """!Surface position, axis changed"""
         mapLayer = self.mapWindow.GetSelectedLayer()
         mapLayer = self.mapWindow.GetSelectedLayer()
         data = self.mapWindow.GetSelectedLayer(type='nviz')
         data = self.mapWindow.GetSelectedLayer(type='nviz')
         id = data['object']['id']
         id = data['object']['id']
@@ -1792,7 +1792,7 @@ class NvizToolWindow(wx.Frame):
             win.SetValue(z)
             win.SetValue(z)
 
 
     def OnSurfacePosition(self, event):
     def OnSurfacePosition(self, event):
-        """Surface position"""
+        """!Surface position"""
         axis = self.FindWindowById(self.win['surface']['position']['axis']).GetSelection()
         axis = self.FindWindowById(self.win['surface']['position']['axis']).GetSelection()
         value = event.GetInt()
         value = event.GetInt()
 
 
@@ -1821,7 +1821,7 @@ class NvizToolWindow(wx.Frame):
             self.mapWindow.Refresh(False)
             self.mapWindow.Refresh(False)
 
 
     def UpdateVectorShow(self, vecType, enabled):
     def UpdateVectorShow(self, vecType, enabled):
-        """Enable/disable lines/points widgets
+        """!Enable/disable lines/points widgets
 
 
         @param vecType vector type (lines, points)
         @param vecType vector type (lines, points)
         """
         """
@@ -1846,7 +1846,7 @@ class NvizToolWindow(wx.Frame):
         return True
         return True
     
     
     def OnVectorShow(self, event):
     def OnVectorShow(self, event):
-        """Show vector lines/points"""
+        """!Show vector lines/points"""
         winId = event.GetId()
         winId = event.GetId()
         if winId == self.win['vector']['lines']['show']:
         if winId == self.win['vector']['lines']['show']:
             vecType = 'lines'
             vecType = 'lines'
@@ -1883,7 +1883,7 @@ class NvizToolWindow(wx.Frame):
         event.Skip()
         event.Skip()
     
     
     def OnVectorDisplay(self, event):
     def OnVectorDisplay(self, event):
-        """Display vector lines on surface/flat"""
+        """!Display vector lines on surface/flat"""
         if event.GetSelection() == 0: # surface
         if event.GetSelection() == 0: # surface
             if len(self.mapWindow.layers['raster']['name']) < 1:
             if len(self.mapWindow.layers['raster']['name']) < 1:
                 event.Veto()
                 event.Veto()
@@ -1903,7 +1903,7 @@ class NvizToolWindow(wx.Frame):
         event.Skip()
         event.Skip()
 
 
     def OnVectorLines(self, event):
     def OnVectorLines(self, event):
-        """Set vector lines mode, apply changes if auto-rendering is enabled"""
+        """!Set vector lines mode, apply changes if auto-rendering is enabled"""
         width = self.FindWindowById(self.win['vector']['lines']['width']).GetValue()
         width = self.FindWindowById(self.win['vector']['lines']['width']).GetValue()
 
 
         color = self.FindWindowById(self.win['vector']['lines']['color']).GetColour()
         color = self.FindWindowById(self.win['vector']['lines']['color']).GetColour()
@@ -1961,7 +1961,7 @@ class NvizToolWindow(wx.Frame):
         self.mapWindow.Refresh(False)
         self.mapWindow.Refresh(False)
     
     
     def OnVectorHeightFull(self, event):
     def OnVectorHeightFull(self, event):
-        """Vector height changed, render in full resolution"""
+        """!Vector height changed, render in full resolution"""
         id = event.GetId()
         id = event.GetId()
         if id == self.win['vector']['lines']['height']['spin'] or \
         if id == self.win['vector']['lines']['height']['spin'] or \
                 id == self.win['vector']['lines']['height']['slider']:
                 id == self.win['vector']['lines']['height']['slider']:
@@ -1974,14 +1974,14 @@ class NvizToolWindow(wx.Frame):
         self.mapWindow.Refresh(False)
         self.mapWindow.Refresh(False)
 
 
     def OnVectorHeightSpin(self, event):
     def OnVectorHeightSpin(self, event):
-        """Vector height changed, render in full resolution"""
+        """!Vector height changed, render in full resolution"""
         # TODO: use step value instead
         # TODO: use step value instead
 
 
         self.OnVectorHeight(event)
         self.OnVectorHeight(event)
         self.OnVectorHeightFull(event)
         self.OnVectorHeightFull(event)
 
 
     def OnVectorSurface(self, event):
     def OnVectorSurface(self, event):
-        """Reference surface for vector map (lines/points)"""
+        """!Reference surface for vector map (lines/points)"""
         id = event.GetId()
         id = event.GetId()
         if id == self.win['vector']['lines']['surface']:
         if id == self.win['vector']['lines']['surface']:
             vtype = 'lines'
             vtype = 'lines'
@@ -1999,7 +1999,7 @@ class NvizToolWindow(wx.Frame):
             self.mapWindow.Refresh(False)
             self.mapWindow.Refresh(False)
         
         
     def OnVectorPoints(self, event):
     def OnVectorPoints(self, event):
-        """Set vector points mode, apply changes if auto-rendering is enabled"""
+        """!Set vector points mode, apply changes if auto-rendering is enabled"""
         size  = self.FindWindowById(self.win['vector']['points']['size']).GetValue()
         size  = self.FindWindowById(self.win['vector']['points']['size']).GetValue()
         width = self.FindWindowById(self.win['vector']['points']['width']).GetValue()
         width = self.FindWindowById(self.win['vector']['points']['width']).GetValue()
 
 
@@ -2024,7 +2024,7 @@ class NvizToolWindow(wx.Frame):
             self.mapWindow.Refresh(False)
             self.mapWindow.Refresh(False)
 
 
     def UpdateIsosurfButtons(self, list):
     def UpdateIsosurfButtons(self, list):
-        """Enable/disable buttons 'add', 'delete',
+        """!Enable/disable buttons 'add', 'delete',
         'move up', 'move down'"""
         'move up', 'move down'"""
         nitems = list.GetCount()
         nitems = list.GetCount()
         add = self.parent.FindWindowById(self.win['volume']['btnIsosurfAdd'])
         add = self.parent.FindWindowById(self.win['volume']['btnIsosurfAdd'])
@@ -2056,11 +2056,11 @@ class NvizToolWindow(wx.Frame):
             moveUp.Enable(True)
             moveUp.Enable(True)
         
         
     def OnVolumeIsosurfMode(self, event):
     def OnVolumeIsosurfMode(self, event):
-        """Set isosurface draw mode"""
+        """!Set isosurface draw mode"""
         self.SetIsosurfaceMode(event.GetSelection())
         self.SetIsosurfaceMode(event.GetSelection())
     
     
     def SetIsosurfaceMode(self, selection):
     def SetIsosurfaceMode(self, selection):
-        """Set isosurface draw mode"""
+        """!Set isosurface draw mode"""
         layer = self.mapWindow.GetSelectedLayer()
         layer = self.mapWindow.GetSelectedLayer()
         data = self.mapWindow.GetSelectedLayer(type='nviz')['volume']
         data = self.mapWindow.GetSelectedLayer(type='nviz')['volume']
         id = data['object']['id']
         id = data['object']['id']
@@ -2077,11 +2077,11 @@ class NvizToolWindow(wx.Frame):
             self.mapWindow.Refresh(False)
             self.mapWindow.Refresh(False)
         
         
     def OnVolumeIsosurfResolution(self, event):
     def OnVolumeIsosurfResolution(self, event):
-        """Set isosurface draw resolution"""
+        """!Set isosurface draw resolution"""
         self.SetIsosurfaceResolution(event.GetInt())
         self.SetIsosurfaceResolution(event.GetInt())
     
     
     def SetIsosurfaceResolution(self, res):
     def SetIsosurfaceResolution(self, res):
-        """Set isosurface draw resolution"""
+        """!Set isosurface draw resolution"""
         layer = self.mapWindow.GetSelectedLayer()
         layer = self.mapWindow.GetSelectedLayer()
         data = self.mapWindow.GetSelectedLayer(type='nviz')['volume']
         data = self.mapWindow.GetSelectedLayer(type='nviz')['volume']
         id = data['object']['id']
         id = data['object']['id']
@@ -2091,11 +2091,11 @@ class NvizToolWindow(wx.Frame):
             self.mapWindow.Refresh(False)
             self.mapWindow.Refresh(False)
 
 
     def OnVolumeIsosurfMap(self, event):
     def OnVolumeIsosurfMap(self, event):
-        """Set surface attribute"""
+        """!Set surface attribute"""
         self.SetMapObjAttrb(nvizType='volume', winId=event.GetId())
         self.SetMapObjAttrb(nvizType='volume', winId=event.GetId())
 
 
     def OnVolumeIsosurfCheck(self, event):
     def OnVolumeIsosurfCheck(self, event):
-        """Isosurface checked (->load) or unchecked (->unload)"""
+        """!Isosurface checked (->load) or unchecked (->unload)"""
         index = event.GetSelection()
         index = event.GetSelection()
         list = self.FindWindowById(self.win['volume']['isosurfs'])
         list = self.FindWindowById(self.win['volume']['isosurfs'])
         data = self.mapWindow.GetSelectedLayer(type='nviz')['volume']
         data = self.mapWindow.GetSelectedLayer(type='nviz')['volume']
@@ -2113,7 +2113,7 @@ class NvizToolWindow(wx.Frame):
             self.mapWindow.Refresh(False)
             self.mapWindow.Refresh(False)
         
         
     def OnVolumeIsosurfSelect(self, event):
     def OnVolumeIsosurfSelect(self, event):
-        """Isosurface item selected"""
+        """!Isosurface item selected"""
         winUp = self.FindWindowById(self.win['volume']['btnIsosurfMoveUp'])
         winUp = self.FindWindowById(self.win['volume']['btnIsosurfMoveUp'])
         winDown = self.FindWindowById(self.win['volume']['btnIsosurfMoveDown'])
         winDown = self.FindWindowById(self.win['volume']['btnIsosurfMoveDown'])
         selection = event.GetSelection()
         selection = event.GetSelection()
@@ -2138,7 +2138,7 @@ class NvizToolWindow(wx.Frame):
         self.UpdateVolumeIsosurfPage(layer, data)
         self.UpdateVolumeIsosurfPage(layer, data)
 
 
     def OnVolumeIsosurfAdd(self, event):
     def OnVolumeIsosurfAdd(self, event):
-        """Add new isosurface to the list"""
+        """!Add new isosurface to the list"""
         list = self.FindWindowById(self.win['volume']['isosurfs'])
         list = self.FindWindowById(self.win['volume']['isosurfs'])
         level = self.FindWindowById(self.win['volume']['topo']['const']).GetValue()
         level = self.FindWindowById(self.win['volume']['topo']['const']).GetValue()
         
         
@@ -2203,7 +2203,7 @@ class NvizToolWindow(wx.Frame):
         event.Skip()
         event.Skip()
         
         
     def OnVolumeIsosurfDelete(self, event):
     def OnVolumeIsosurfDelete(self, event):
-        """Remove isosurface from list"""
+        """!Remove isosurface from list"""
         list = self.FindWindowById(self.win['volume']['isosurfs'])
         list = self.FindWindowById(self.win['volume']['isosurfs'])
         
         
         # remove item from list
         # remove item from list
@@ -2231,7 +2231,7 @@ class NvizToolWindow(wx.Frame):
         event.Skip()
         event.Skip()
         
         
     def OnVolumeIsosurfMoveUp(self, event):
     def OnVolumeIsosurfMoveUp(self, event):
-        """Move isosurface up in the list"""
+        """!Move isosurface up in the list"""
         list = self.FindWindowById(self.win['volume']['isosurfs'])
         list = self.FindWindowById(self.win['volume']['isosurfs'])
         sel = list.GetSelection()
         sel = list.GetSelection()
 
 
@@ -2261,7 +2261,7 @@ class NvizToolWindow(wx.Frame):
         event.Skip()
         event.Skip()
         
         
     def OnVolumeIsosurfMoveDown(self, event):
     def OnVolumeIsosurfMoveDown(self, event):
-        """Move isosurface dowm in the list"""
+        """!Move isosurface dowm in the list"""
         list = self.FindWindowById(self.win['volume']['isosurfs'])
         list = self.FindWindowById(self.win['volume']['isosurfs'])
         sel = list.GetSelection()
         sel = list.GetSelection()
 
 
@@ -2291,7 +2291,7 @@ class NvizToolWindow(wx.Frame):
         event.Skip()
         event.Skip()
         
         
     def UpdatePage(self, pageId):
     def UpdatePage(self, pageId):
-        """Update dialog (selected page)"""
+        """!Update dialog (selected page)"""
         self.pageChanging = True
         self.pageChanging = True
         layer = self.mapWindow.GetSelectedLayer()
         layer = self.mapWindow.GetSelectedLayer()
         data = self.mapWindow.GetSelectedLayer(type='nviz')
         data = self.mapWindow.GetSelectedLayer(type='nviz')
@@ -2526,7 +2526,7 @@ class NvizToolWindow(wx.Frame):
             win.SetValue(data['points']['height']['value'])
             win.SetValue(data['points']['height']['value'])
 
 
     def UpdateVolumePage(self, layer, data):
     def UpdateVolumePage(self, layer, data):
-        """Update volume layer properties page"""
+        """!Update volume layer properties page"""
         list = self.FindWindowById(self.win['volume']['isosurfs'])
         list = self.FindWindowById(self.win['volume']['isosurfs'])
 
 
         #
         #
@@ -2557,7 +2557,7 @@ class NvizToolWindow(wx.Frame):
         self.UpdateVolumeIsosurfPage(layer, data['attribute'])
         self.UpdateVolumeIsosurfPage(layer, data['attribute'])
         
         
     def UpdateVolumeIsosurfPage(self, layer, data):
     def UpdateVolumeIsosurfPage(self, layer, data):
-        """Update dialog -- isosurface attributes"""
+        """!Update dialog -- isosurface attributes"""
         #
         #
         # isosurface attributes
         # isosurface attributes
         #
         #
@@ -2598,11 +2598,11 @@ class NvizToolWindow(wx.Frame):
                                  attrb=attrb, map=data[attrb]['map'])
                                  attrb=attrb, map=data[attrb]['map'])
             
             
     def SetPage(self, name):
     def SetPage(self, name):
-        """Get named page"""
+        """!Get named page"""
         self.notebook.SetSelection(self.page[name]['id'])
         self.notebook.SetSelection(self.page[name]['id'])
 
 
 class ViewPositionWindow(wx.Window):
 class ViewPositionWindow(wx.Window):
-    """Position control window (for NvizToolWindow)"""
+    """!Position control window (for NvizToolWindow)"""
     def __init__(self, parent, id, mapwindow,
     def __init__(self, parent, id, mapwindow,
                  pos=wx.DefaultPosition,
                  pos=wx.DefaultPosition,
                  size=wx.DefaultSize):
                  size=wx.DefaultSize):

+ 13 - 13
gui/wxpython/gui_modules/ogc_services.py

@@ -29,7 +29,7 @@ class WMSDialog(wx.Dialog):
     def __init__(self, parent, service = 'wms',
     def __init__(self, parent, service = 'wms',
                  id=wx.ID_ANY,
                  id=wx.ID_ANY,
                  style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
                  style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
-        """Dialog to import data from WMS server"""
+        """!Dialog to import data from WMS server"""
         self.parent  = parent  # GMFrame 
         self.parent  = parent  # GMFrame 
         self.service = service # currently only WMS is implemented
         self.service = service # currently only WMS is implemented
         
         
@@ -46,7 +46,7 @@ class WMSDialog(wx.Dialog):
         self.SetMinSize((550, 400))
         self.SetMinSize((550, 400))
         
         
     def __createWidgets(self):
     def __createWidgets(self):
-        """Create dialog widgets"""
+        """!Create dialog widgets"""
         #
         #
         # settings
         # settings
         #
         #
@@ -94,7 +94,7 @@ class WMSDialog(wx.Dialog):
         self.server.Bind(wx.EVT_TEXT, self.OnServer)
         self.server.Bind(wx.EVT_TEXT, self.OnServer)
         
         
     def __doLayout(self):
     def __doLayout(self):
-        """Do dialog layout"""
+        """!Do dialog layout"""
         dialogSizer = wx.BoxSizer(wx.VERTICAL)
         dialogSizer = wx.BoxSizer(wx.VERTICAL)
         
         
         #
         #
@@ -156,11 +156,11 @@ class WMSDialog(wx.Dialog):
         self.Layout()
         self.Layout()
 
 
     def OnCancel(self, event):
     def OnCancel(self, event):
-        """Button 'Cancel' pressed -> close the dialog"""
+        """!Button 'Cancel' pressed -> close the dialog"""
         self.Close()
         self.Close()
 
 
     def OnConnect(self, event):
     def OnConnect(self, event):
-        """Button 'Connect' pressed"""
+        """!Button 'Connect' pressed"""
         server = self.server.GetValue()
         server = self.server.GetValue()
         if not server:
         if not server:
             self.btn_import.Enable(False)
             self.btn_import.Enable(False)
@@ -207,7 +207,7 @@ class WMSDialog(wx.Dialog):
             self.btn_import.Enable(False)
             self.btn_import.Enable(False)
         
         
     def OnServer(self, event):
     def OnServer(self, event):
-        """Server settings changed"""
+        """!Server settings changed"""
         value = event.GetString()
         value = event.GetString()
         if value:
         if value:
             self.btn_connect.Enable(True)
             self.btn_connect.Enable(True)
@@ -215,16 +215,16 @@ class WMSDialog(wx.Dialog):
             self.btn_connect.Enable(False)
             self.btn_connect.Enable(False)
         
         
     def GetLayers(self):
     def GetLayers(self):
-        """Get list of selected layers/styles to be imported"""
+        """!Get list of selected layers/styles to be imported"""
         return self.list.GetSelectedLayers()
         return self.list.GetSelectedLayers()
 
 
     def GetSettings(self):
     def GetSettings(self):
-        """Get connection settings"""
+        """!Get connection settings"""
         return { 'server' : self.server.GetValue() }
         return { 'server' : self.server.GetValue() }
     
     
 class LayersList(TreeListCtrl, listmix.ListCtrlAutoWidthMixin):
 class LayersList(TreeListCtrl, listmix.ListCtrlAutoWidthMixin):
     def __init__(self, parent, pos=wx.DefaultPosition):
     def __init__(self, parent, pos=wx.DefaultPosition):
-        """List of layers to be imported (dxf, shp...)"""
+        """!List of layers to be imported (dxf, shp...)"""
         self.parent = parent
         self.parent = parent
         
         
         TreeListCtrl.__init__(self, parent, wx.ID_ANY,
         TreeListCtrl.__init__(self, parent, wx.ID_ANY,
@@ -242,7 +242,7 @@ class LayersList(TreeListCtrl, listmix.ListCtrlAutoWidthMixin):
         self.root = None
         self.root = None
         
         
     def LoadData(self, data = {}):
     def LoadData(self, data = {}):
-        """Load data into list"""
+        """!Load data into list"""
         # detete first all items
         # detete first all items
         self.DeleteAllItems()
         self.DeleteAllItems()
         self.root = self.AddRoot(_("Layers"))
         self.root = self.AddRoot(_("Layers"))
@@ -270,15 +270,15 @@ class LayersList(TreeListCtrl, listmix.ListCtrlAutoWidthMixin):
         self.Expand(self.root)
         self.Expand(self.root)
         
         
     def GetItemCount(self):
     def GetItemCount(self):
-        """Required for listmix.ListCtrlAutoWidthMixin"""
+        """!Required for listmix.ListCtrlAutoWidthMixin"""
         return 0
         return 0
 
 
     def GetCountPerPage(self):
     def GetCountPerPage(self):
-        """Required for listmix.ListCtrlAutoWidthMixin"""
+        """!Required for listmix.ListCtrlAutoWidthMixin"""
         return 0
         return 0
 
 
     def GetSelectedLayers(self):
     def GetSelectedLayers(self):
-        """Get selected layers/styles"""
+        """!Get selected layers/styles"""
         layers = {}
         layers = {}
 
 
         for item in self.GetSelections():
         for item in self.GetSelections():

+ 25 - 25
gui/wxpython/gui_modules/preferences.py

@@ -42,7 +42,7 @@ import globalvar
 from debug import Debug as Debug
 from debug import Debug as Debug
 
 
 class Settings:
 class Settings:
-    """Generic class where to store settings"""
+    """!Generic class where to store settings"""
     def __init__(self):
     def __init__(self):
         #
         #
         # settings filename
         # settings filename
@@ -555,7 +555,7 @@ class Settings:
         self.internalSettings['vdigit']['bgmap']['value'] = ''
         self.internalSettings['vdigit']['bgmap']['value'] = ''
         
         
     def ReadSettingsFile(self, settings=None):
     def ReadSettingsFile(self, settings=None):
-        """Reads settings file (mapset, location, gisdbase)"""
+        """!Reads settings file (mapset, location, gisdbase)"""
         if settings is None:
         if settings is None:
             settings = self.userSettings
             settings = self.userSettings
 
 
@@ -592,7 +592,7 @@ class Settings:
                                                 key='font', subkey='encoding')
                                                 key='font', subkey='encoding')
         
         
     def __ReadFile(self, filename, settings=None):
     def __ReadFile(self, filename, settings=None):
-        """Read settings from file to dict"""
+        """!Read settings from file to dict"""
         if settings is None:
         if settings is None:
             settings = self.userSettings
             settings = self.userSettings
 
 
@@ -628,7 +628,7 @@ class Settings:
         file.close()
         file.close()
 
 
     def SaveToFile(self, settings=None):
     def SaveToFile(self, settings=None):
-        """Save settings to the file"""
+        """!Save settings to the file"""
         if settings is None:
         if settings is None:
             settings = self.userSettings
             settings = self.userSettings
         
         
@@ -690,7 +690,7 @@ class Settings:
         return filePath
         return filePath
 
 
     def __parseValue(self, value, read=False):
     def __parseValue(self, value, read=False):
-        """Parse value to be store in settings file"""
+        """!Parse value to be store in settings file"""
         if read: # -> read settings (cast values)
         if read: # -> read settings (cast values)
             if value == 'True':
             if value == 'True':
                 value = True
                 value = True
@@ -720,7 +720,7 @@ class Settings:
         return value
         return value
 
 
     def Get(self, group, key=None, subkey=None, internal=False):
     def Get(self, group, key=None, subkey=None, internal=False):
-        """Get value by key/subkey
+        """!Get value by key/subkey
 
 
         Raise KeyError if key is not found
         Raise KeyError if key is not found
         
         
@@ -756,7 +756,7 @@ class Settings:
                 (group, key, subkey)
                 (group, key, subkey)
         
         
     def Set(self, group, value, key=None, subkey=None, internal=False):
     def Set(self, group, value, key=None, subkey=None, internal=False):
-        """Set value of key/subkey
+        """!Set value of key/subkey
 
 
         Raise KeyError if group/key is not found
         Raise KeyError if group/key is not found
         
         
@@ -786,7 +786,7 @@ class Settings:
             raise gcmd.SettingsError("%s '%s:%s:%s'" % (_("Unable to set "), group, key, subkey))
             raise gcmd.SettingsError("%s '%s:%s:%s'" % (_("Unable to set "), group, key, subkey))
 
 
     def Append(self, dict, group, key, subkey, value):
     def Append(self, dict, group, key, subkey, value):
-        """Set value of key/subkey
+        """!Set value of key/subkey
 
 
         Create group/key/subkey if not exists
         Create group/key/subkey if not exists
         
         
@@ -811,13 +811,13 @@ class Settings:
             dict[group][key][subkey] = value
             dict[group][key][subkey] = value
 
 
     def GetDefaultSettings(self):
     def GetDefaultSettings(self):
-        """Get default user settings"""
+        """!Get default user settings"""
         return self.defaultSettings
         return self.defaultSettings
 
 
 globalSettings = Settings()
 globalSettings = Settings()
 
 
 class PreferencesDialog(wx.Dialog):
 class PreferencesDialog(wx.Dialog):
-    """User preferences dialog"""
+    """!User preferences dialog"""
     def __init__(self, parent, title=_("User GUI settings"),
     def __init__(self, parent, title=_("User GUI settings"),
                  settings=globalSettings,
                  settings=globalSettings,
                  style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
                  style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
@@ -883,7 +883,7 @@ class PreferencesDialog(wx.Dialog):
         self.SetSize((500, 375))
         self.SetSize((500, 375))
 
 
     def __CreateGeneralPage(self, notebook):
     def __CreateGeneralPage(self, notebook):
-        """Create notebook page for general settings"""
+        """!Create notebook page for general settings"""
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         notebook.AddPage(page=panel, text=_("General"))
         notebook.AddPage(page=panel, text=_("General"))
 
 
@@ -975,7 +975,7 @@ class PreferencesDialog(wx.Dialog):
         return panel
         return panel
 
 
     def __CreateDisplayPage(self, notebook):
     def __CreateDisplayPage(self, notebook):
-        """Create notebook page for display settings"""
+        """!Create notebook page for display settings"""
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         notebook.AddPage(page=panel, text=_("Display"))
         notebook.AddPage(page=panel, text=_("Display"))
 
 
@@ -1121,7 +1121,7 @@ class PreferencesDialog(wx.Dialog):
         return panel
         return panel
 
 
     def __CreateCmdPage(self, notebook):
     def __CreateCmdPage(self, notebook):
-        """Create notebook page for commad dialog settings"""
+        """!Create notebook page for commad dialog settings"""
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         notebook.AddPage(page=panel, text=_("Command"))
         notebook.AddPage(page=panel, text=_("Command"))
         
         
@@ -1238,7 +1238,7 @@ class PreferencesDialog(wx.Dialog):
         return panel
         return panel
 
 
     def __CreateAttributeManagerPage(self, notebook):
     def __CreateAttributeManagerPage(self, notebook):
-        """Create notebook page for 'Attribute Table Manager' settings"""
+        """!Create notebook page for 'Attribute Table Manager' settings"""
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         notebook.AddPage(page=panel, text=_("Attributes"))
         notebook.AddPage(page=panel, text=_("Attributes"))
 
 
@@ -1367,7 +1367,7 @@ class PreferencesDialog(wx.Dialog):
         return panel
         return panel
 
 
     def __CreateWorkspacePage(self, notebook):
     def __CreateWorkspacePage(self, notebook):
-        """Create notebook page for workspace settings"""
+        """!Create notebook page for workspace settings"""
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         notebook.AddPage(page=panel, text=_("Workspace"))
         notebook.AddPage(page=panel, text=_("Workspace"))
 
 
@@ -1411,7 +1411,7 @@ class PreferencesDialog(wx.Dialog):
         return panel
         return panel
 
 
     def __CreateAdvancedPage(self, notebook):
     def __CreateAdvancedPage(self, notebook):
-        """Create notebook page for advanced settings"""
+        """!Create notebook page for advanced settings"""
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         notebook.AddPage(page=panel, text=_("Advanced"))
         notebook.AddPage(page=panel, text=_("Advanced"))
 
 
@@ -1503,23 +1503,23 @@ class PreferencesDialog(wx.Dialog):
         event.Skip()
         event.Skip()
         
         
     def OnSave(self, event):
     def OnSave(self, event):
-        """Button 'Save' pressed"""
+        """!Button 'Save' pressed"""
         if self.__UpdateSettings():
         if self.__UpdateSettings():
             file = self.settings.SaveToFile()
             file = self.settings.SaveToFile()
             self.parent.goutput.WriteLog(_('Settings saved to file \'%s\'.') % file)
             self.parent.goutput.WriteLog(_('Settings saved to file \'%s\'.') % file)
             self.Close()
             self.Close()
 
 
     def OnApply(self, event):
     def OnApply(self, event):
-        """Button 'Apply' pressed"""
+        """!Button 'Apply' pressed"""
         if self.__UpdateSettings():
         if self.__UpdateSettings():
             self.Close()
             self.Close()
 
 
     def OnCancel(self, event):
     def OnCancel(self, event):
-        """Button 'Cancel' pressed"""
+        """!Button 'Cancel' pressed"""
         self.Close()
         self.Close()
 
 
     def OnDefault(self, event):
     def OnDefault(self, event):
-        """Button 'Set to default' pressed"""
+        """!Button 'Set to default' pressed"""
         self.settings.userSettings = copy.deepcopy(self.settings.defaultSettings)
         self.settings.userSettings = copy.deepcopy(self.settings.defaultSettings)
         
         
         # update widgets
         # update widgets
@@ -1541,7 +1541,7 @@ class PreferencesDialog(wx.Dialog):
                 value = win.SetValue(value)
                 value = win.SetValue(value)
 
 
     def __UpdateSettings(self):
     def __UpdateSettings(self):
-        """Update user settings"""
+        """!Update user settings"""
         for item in self.winId.keys():
         for item in self.winId.keys():
             try:
             try:
                 group, key, subkey = item.split(':')
                 group, key, subkey = item.split(':')
@@ -1792,7 +1792,7 @@ class MapsetAccess(wx.Dialog):
         self.SetMinSize(size)
         self.SetMinSize(size)
         
         
     def GetMapsets(self):
     def GetMapsets(self):
-        """Get list of checked mapsets"""
+        """!Get list of checked mapsets"""
         ms = []
         ms = []
         i = 0
         i = 0
         for mset in self.all_mapsets:
         for mset in self.all_mapsets:
@@ -1803,7 +1803,7 @@ class MapsetAccess(wx.Dialog):
         return ms
         return ms
 
 
 class CheckListMapset(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin, listmix.CheckListCtrlMixin):
 class CheckListMapset(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin, listmix.CheckListCtrlMixin):
-    """List of mapset/owner/group"""
+    """!List of mapset/owner/group"""
     def __init__(self, parent, pos=wx.DefaultPosition,
     def __init__(self, parent, pos=wx.DefaultPosition,
                  log=None):
                  log=None):
         self.parent = parent
         self.parent = parent
@@ -1817,7 +1817,7 @@ class CheckListMapset(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin, listmix.Check
         listmix.ListCtrlAutoWidthMixin.__init__(self)
         listmix.ListCtrlAutoWidthMixin.__init__(self)
 
 
     def LoadData(self):
     def LoadData(self):
-        """Load data into list"""
+        """!Load data into list"""
         self.InsertColumn(0, _('Mapset'))
         self.InsertColumn(0, _('Mapset'))
         self.InsertColumn(1, _('Owner'))
         self.InsertColumn(1, _('Owner'))
         ### self.InsertColumn(2, _('Group'))
         ### self.InsertColumn(2, _('Group'))
@@ -1852,7 +1852,7 @@ class CheckListMapset(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin, listmix.Check
         ### self.SetColumnWidth(col=1, width=wx.LIST_AUTOSIZE)
         ### self.SetColumnWidth(col=1, width=wx.LIST_AUTOSIZE)
         
         
     def OnCheckItem(self, index, flag):
     def OnCheckItem(self, index, flag):
-        """Mapset checked/unchecked"""
+        """!Mapset checked/unchecked"""
         mapset = self.parent.all_mapsets[index]
         mapset = self.parent.all_mapsets[index]
         if mapset == 'PERMANENT' or mapset == self.parent.curr_mapset:
         if mapset == 'PERMANENT' or mapset == self.parent.curr_mapset:
             self.CheckItem(index, True)
             self.CheckItem(index, True)

+ 9 - 9
gui/wxpython/gui_modules/profile.py

@@ -594,7 +594,7 @@ class ProfileFrame(wx.Frame):
         self.client.SaveFile()
         self.client.SaveFile()
 
 
     def DrawPointLabel(self, dc, mDataDict):
     def DrawPointLabel(self, dc, mDataDict):
-        """This is the fuction that defines how the pointLabels are plotted
+        """!This is the fuction that defines how the pointLabels are plotted
             dc - DC that will be passed
             dc - DC that will be passed
             mDataDict - Dictionary of data that you want to use for the pointLabel
             mDataDict - Dictionary of data that you want to use for the pointLabel
 
 
@@ -891,7 +891,7 @@ class TextDialog(wx.Dialog):
         self._do_layout()
         self._do_layout()
         
         
     def _do_layout(self):
     def _do_layout(self):
-        """Do layout"""
+        """!Do layout"""
         # dialog layout
         # dialog layout
         sizer = wx.BoxSizer(wx.VERTICAL)
         sizer = wx.BoxSizer(wx.VERTICAL)
 
 
@@ -1071,7 +1071,7 @@ class TextDialog(wx.Dialog):
         self.properties['font']['wxfont'].SetWeight(weight)
         self.properties['font']['wxfont'].SetWeight(weight)
 
 
     def OnSave(self, event):
     def OnSave(self, event):
-        """Button 'Save' pressed"""
+        """!Button 'Save' pressed"""
         self.UpdateSettings()
         self.UpdateSettings()
         fileSettings = {}
         fileSettings = {}
         UserSettings.ReadSettingsFile(settings=fileSettings)
         UserSettings.ReadSettingsFile(settings=fileSettings)
@@ -1081,12 +1081,12 @@ class TextDialog(wx.Dialog):
         self.Close()
         self.Close()
 
 
     def OnApply(self, event):
     def OnApply(self, event):
-        """Button 'Apply' pressed"""
+        """!Button 'Apply' pressed"""
         self.UpdateSettings()
         self.UpdateSettings()
         self.Close()
         self.Close()
 
 
     def OnCancel(self, event):
     def OnCancel(self, event):
-        """Button 'Cancel' pressed"""
+        """!Button 'Cancel' pressed"""
         self.Close()
         self.Close()
         
         
 class OptDialog(wx.Dialog):
 class OptDialog(wx.Dialog):
@@ -1125,7 +1125,7 @@ class OptDialog(wx.Dialog):
         self._do_layout()
         self._do_layout()
 
 
     def _do_layout(self):
     def _do_layout(self):
-        """Do layout"""
+        """!Do layout"""
         # dialog layout
         # dialog layout
         sizer = wx.BoxSizer(wx.VERTICAL)
         sizer = wx.BoxSizer(wx.VERTICAL)
 
 
@@ -1416,7 +1416,7 @@ class OptDialog(wx.Dialog):
         self.properties['legend']['enabled'] = self.FindWindowById(self.wxId['legend']['enabled']).IsChecked()
         self.properties['legend']['enabled'] = self.FindWindowById(self.wxId['legend']['enabled']).IsChecked()
 
 
     def OnSave(self, event):
     def OnSave(self, event):
-        """Button 'Save' pressed"""
+        """!Button 'Save' pressed"""
         self.UpdateSettings()
         self.UpdateSettings()
         fileSettings = {}
         fileSettings = {}
         UserSettings.ReadSettingsFile(settings=fileSettings)
         UserSettings.ReadSettingsFile(settings=fileSettings)
@@ -1426,10 +1426,10 @@ class OptDialog(wx.Dialog):
         self.Close()
         self.Close()
 
 
     def OnApply(self, event):
     def OnApply(self, event):
-        """Button 'Apply' pressed"""
+        """!Button 'Apply' pressed"""
         self.UpdateSettings()
         self.UpdateSettings()
         self.Close()
         self.Close()
 
 
     def OnCancel(self, event):
     def OnCancel(self, event):
-        """Button 'Cancel' pressed"""
+        """!Button 'Cancel' pressed"""
         self.Close()
         self.Close()

+ 16 - 16
gui/wxpython/gui_modules/prompt.py

@@ -31,14 +31,14 @@ import menuform
 from grass.script import core as grass
 from grass.script import core as grass
 
 
 class GPrompt:
 class GPrompt:
-    """Interactive GRASS prompt"""
+    """!Interactive GRASS prompt"""
     def __init__(self, parent):
     def __init__(self, parent):
         self.parent = parent
         self.parent = parent
                 
                 
         self.panel, self.input = self.__create()
         self.panel, self.input = self.__create()
         
         
     def __create(self):
     def __create(self):
-        """Create widget"""
+        """!Create widget"""
         cmdprompt = wx.Panel(self.parent)
         cmdprompt = wx.Panel(self.parent)
         
         
         label = wx.Button(parent = cmdprompt, id = wx.ID_ANY,
         label = wx.Button(parent = cmdprompt, id = wx.ID_ANY,
@@ -85,19 +85,19 @@ class GPrompt:
         return cmdprompt, cmdinput
         return cmdprompt, cmdinput
 
 
     def GetPanel(self):
     def GetPanel(self):
-        """Get main widget panel"""
+        """!Get main widget panel"""
         return self.panel
         return self.panel
 
 
     def GetInput(self):
     def GetInput(self):
-        """Get main prompt widget"""
+        """!Get main prompt widget"""
         return self.input
         return self.input
     
     
     def OnCmdErase(self, event):
     def OnCmdErase(self, event):
-        """Erase command prompt"""
+        """!Erase command prompt"""
         self.input.SetValue('')
         self.input.SetValue('')
         
         
     def OnRunCmd(self, event):
     def OnRunCmd(self, event):
-        """Run command"""
+        """!Run command"""
         cmdString = event.GetString()
         cmdString = event.GetString()
         
         
         if self.parent.GetName() != "LayerManager":
         if self.parent.GetName() != "LayerManager":
@@ -115,7 +115,7 @@ class GPrompt:
         self.OnUpdateStatusBar(None)
         self.OnUpdateStatusBar(None)
         
         
     def OnUpdateStatusBar(self, event):
     def OnUpdateStatusBar(self, event):
-        """Update Layer Manager status bar"""
+        """!Update Layer Manager status bar"""
         if self.parent.GetName() != "LayerManager":
         if self.parent.GetName() != "LayerManager":
             return
             return
         
         
@@ -192,7 +192,7 @@ class TextCtrlAutoComplete(wx.TextCtrl, listmix.ColumnSorterMixin):
         self.dropdownlistbox.Bind(wx.EVT_LIST_COL_CLICK, self.OnListColClick)
         self.dropdownlistbox.Bind(wx.EVT_LIST_COL_CLICK, self.OnListColClick)
         
         
     def _updateDataList(self, choices):
     def _updateDataList(self, choices):
-        """Update data list"""
+        """!Update data list"""
         # delete, if need, all the previous data
         # delete, if need, all the previous data
         if self.dropdownlistbox.GetColumnCount() != 0:
         if self.dropdownlistbox.GetColumnCount() != 0:
             self.dropdownlistbox.DeleteAllColumns()
             self.dropdownlistbox.DeleteAllColumns()
@@ -206,7 +206,7 @@ class TextCtrlAutoComplete(wx.TextCtrl, listmix.ColumnSorterMixin):
         self.SetColumnCount(numVal)
         self.SetColumnCount(numVal)
     
     
     def _setListSize(self):
     def _setListSize(self):
-        """Set list size"""
+        """!Set list size"""
         choices = self._choices
         choices = self._choices
         longest = 0
         longest = 0
         for choice in choices:
         for choice in choices:
@@ -287,7 +287,7 @@ class TextCtrlAutoComplete(wx.TextCtrl, listmix.ColumnSorterMixin):
             self._showDropDown(False)
             self._showDropDown(False)
          
          
     def GetListCtrl(self):
     def GetListCtrl(self):
-        """Method required by listmix.ColumnSorterMixin"""
+        """!Method required by listmix.ColumnSorterMixin"""
         return self.dropdownlistbox
         return self.dropdownlistbox
     
     
     def SetChoices(self, choices, type = 'module'):
     def SetChoices(self, choices, type = 'module'):
@@ -320,18 +320,18 @@ class TextCtrlAutoComplete(wx.TextCtrl, listmix.ColumnSorterMixin):
         self._colFetch = -1
         self._colFetch = -1
         
         
     def OnListClick(self, evt):
     def OnListClick(self, evt):
-        """Left mouse button pressed"""
+        """!Left mouse button pressed"""
         toSel, flag = self.dropdownlistbox.HitTest( evt.GetPosition() )
         toSel, flag = self.dropdownlistbox.HitTest( evt.GetPosition() )
         #no values on poition, return
         #no values on poition, return
         if toSel == -1: return
         if toSel == -1: return
         self.dropdownlistbox.Select(toSel)
         self.dropdownlistbox.Select(toSel)
 
 
     def OnListDClick(self, evt):
     def OnListDClick(self, evt):
-        """Mouse button double click"""
+        """!Mouse button double click"""
         self._setValueFromSelected()
         self._setValueFromSelected()
 
 
     def OnListColClick(self, evt):
     def OnListColClick(self, evt):
-        """Left mouse button pressed on column"""
+        """!Left mouse button pressed on column"""
         col = evt.GetColumn()
         col = evt.GetColumn()
         # reverse the sort
         # reverse the sort
         if col == self._colSearch:
         if col == self._colSearch:
@@ -341,12 +341,12 @@ class TextCtrlAutoComplete(wx.TextCtrl, listmix.ColumnSorterMixin):
         evt.Skip()
         evt.Skip()
 
 
     def OnListItemSelected(self, event):
     def OnListItemSelected(self, event):
-        """Item selected"""
+        """!Item selected"""
         self._setValueFromSelected()
         self._setValueFromSelected()
         event.Skip()
         event.Skip()
 
 
     def OnEnteredText(self, event):
     def OnEnteredText(self, event):
-        """Text entered"""
+        """!Text entered"""
         text = event.GetString()
         text = event.GetString()
         
         
         if not text:
         if not text:
@@ -445,7 +445,7 @@ class TextCtrlAutoComplete(wx.TextCtrl, listmix.ColumnSorterMixin):
             event.Skip()
             event.Skip()
         
         
     def OnControlChanged(self, event):
     def OnControlChanged(self, event):
-        """Control changed"""
+        """!Control changed"""
         if self.IsShown():
         if self.IsShown():
             self._showDropDown(False)
             self._showDropDown(False)
         
         

+ 20 - 20
gui/wxpython/gui_modules/render.py

@@ -54,7 +54,7 @@ wxUpdateProgressBar, EVT_UPDATE_PRGBAR = NewEvent()
 USE_GPNMCOMP = True
 USE_GPNMCOMP = True
 
 
 class Layer(object):
 class Layer(object):
-    """Virtual class which stores information about layers (map layers and
+    """!Virtual class which stores information about layers (map layers and
     overlays) of the map composition.
     overlays) of the map composition.
 
 
     For map layer use MapLayer class.
     For map layer use MapLayer class.
@@ -108,7 +108,7 @@ class Layer(object):
                    (self.name, self.GetCmd(string=True)))
                    (self.name, self.GetCmd(string=True)))
 
 
     def Render(self):
     def Render(self):
-        """Render layer to image
+        """!Render layer to image
 
 
         @return rendered image filename
         @return rendered image filename
         @return None on error
         @return None on error
@@ -217,7 +217,7 @@ class Layer(object):
             return self.cmd
             return self.cmd
 
 
     def GetType(self):
     def GetType(self):
-        """Get map layer type"""
+        """!Get map layer type"""
         return self.type
         return self.type
     
     
     def GetOpacity(self, float=False):
     def GetOpacity(self, float=False):
@@ -234,7 +234,7 @@ class Layer(object):
         return int (self.opacity * 100)
         return int (self.opacity * 100)
 
 
     def GetName(self, fullyQualified=True):
     def GetName(self, fullyQualified=True):
-        """Get map layer name
+        """!Get map layer name
 
 
         @param fullyQualified if True return 'name@mapset' otherwise
         @param fullyQualified if True return 'name@mapset' otherwise
         ('name', 'mapset')
         ('name', 'mapset')
@@ -250,11 +250,11 @@ class Layer(object):
                          'mapset' : '' }
                          'mapset' : '' }
         
         
     def IsActive(self):
     def IsActive(self):
-        """Check if layer is activated for rendering"""
+        """!Check if layer is activated for rendering"""
         return self.active
         return self.active
 
 
     def SetType(self, type):
     def SetType(self, type):
-        """Set layer type"""
+        """!Set layer type"""
         if type not in ('raster', '3d-raster', 'vector',
         if type not in ('raster', '3d-raster', 'vector',
                         'overlay', 'command',
                         'overlay', 'command',
                         'shaded', 'rgb', 'his', 'rastarrow', 'rastnum',
                         'shaded', 'rgb', 'his', 'rastarrow', 'rastnum',
@@ -265,19 +265,19 @@ class Layer(object):
         self.type = type
         self.type = type
 
 
     def SetName(self, name):
     def SetName(self, name):
-        """Set layer name"""
+        """!Set layer name"""
         self.name = name
         self.name = name
         
         
     def SetActive(self, enable=True):
     def SetActive(self, enable=True):
-        """Active or deactive layer"""
+        """!Active or deactive layer"""
         self.active = bool(enable)
         self.active = bool(enable)
 
 
     def SetHidden(self, enable=False):
     def SetHidden(self, enable=False):
-        """Hide or show map layer in Layer Manager"""
+        """!Hide or show map layer in Layer Manager"""
         self.hidden = bool(enable)
         self.hidden = bool(enable)
 
 
     def SetOpacity(self, value):
     def SetOpacity(self, value):
-        """Set opacity value"""
+        """!Set opacity value"""
         if value < 0:
         if value < 0:
             value = 0.
             value = 0.
         elif value > 1:
         elif value > 1:
@@ -286,7 +286,7 @@ class Layer(object):
         self.opacity = float(value)
         self.opacity = float(value)
         
         
     def SetCmd(self, cmd):
     def SetCmd(self, cmd):
-        """Set new command for layer"""
+        """!Set new command for layer"""
         if self.type == 'command':
         if self.type == 'command':
             self.cmd = []
             self.cmd = []
             for c in cmd:
             for c in cmd:
@@ -299,7 +299,7 @@ class Layer(object):
         self.force_render = True
         self.force_render = True
         
         
 class MapLayer(Layer):
 class MapLayer(Layer):
-    """Represents map layer in the map canvas"""
+    """!Represents map layer in the map canvas"""
     def __init__(self, type, cmd, name=None,
     def __init__(self, type, cmd, name=None,
                  active=True, hidden=False, opacity=1.0):
                  active=True, hidden=False, opacity=1.0):
         """
         """
@@ -332,7 +332,7 @@ class MapLayer(Layer):
             return self.name
             return self.name
 
 
 class Overlay(Layer):
 class Overlay(Layer):
-    """Represents overlay displayed in map canvas"""
+    """!Represents overlay displayed in map canvas"""
     def __init__(self, id, type, cmd,
     def __init__(self, id, type, cmd,
                  active=True, hidden=True, opacity=1.0):
                  active=True, hidden=True, opacity=1.0):
         """
         """
@@ -445,7 +445,7 @@ class Map(object):
             os.environ["GISRC"] = gisrc_orig
             os.environ["GISRC"] = gisrc_orig
 
 
     def GetWindow(self):
     def GetWindow(self):
-        """Read WIND file and set up self.wind dictionary"""
+        """!Read WIND file and set up self.wind dictionary"""
         # FIXME: duplicated region WIND == g.region (at least some values)
         # FIXME: duplicated region WIND == g.region (at least some values)
         filename = os.path.join (self.env['GISDBASE'],
         filename = os.path.join (self.env['GISDBASE'],
                                  self.env['LOCATION_NAME'],
                                  self.env['LOCATION_NAME'],
@@ -526,7 +526,7 @@ class Map(object):
         return new
         return new
 
 
     def AlignExtentFromDisplay(self):
     def AlignExtentFromDisplay(self):
-        """Align region extent based on display size from center point"""
+        """!Align region extent based on display size from center point"""
 
 
         # calculate new bounding box based on center of display
         # calculate new bounding box based on center of display
         if self.region["ewres"] > self.region["nsres"]:
         if self.region["ewres"] > self.region["nsres"]:
@@ -554,7 +554,7 @@ class Map(object):
                 self.region['s'] = -90.0
                 self.region['s'] = -90.0
         
         
     def ChangeMapSize(self, (width, height)):
     def ChangeMapSize(self, (width, height)):
-        """Change size of rendered map.
+        """!Change size of rendered map.
         
         
         @param width,height map size
         @param width,height map size
 
 
@@ -671,7 +671,7 @@ class Map(object):
         return region
         return region
 
 
     def GetCurrentRegion(self):
     def GetCurrentRegion(self):
-        """Get current display region settings"""
+        """!Get current display region settings"""
         return self.region
         return self.region
 
 
     def SetRegion(self, windres=False):
     def SetRegion(self, windres=False):
@@ -1251,7 +1251,7 @@ class Map(object):
         return overlay
         return overlay
 
 
     def GetOverlay(self, id, list=False):
     def GetOverlay(self, id, list=False):
-        """Return overlay(s) with 'id'
+        """!Return overlay(s) with 'id'
 
 
         @param id overlay id
         @param id overlay id
         @param list return list of overlays of True
         @param list return list of overlays of True
@@ -1275,7 +1275,7 @@ class Map(object):
         return ovl
         return ovl
 
 
     def DeleteOverlay(self, overlay):
     def DeleteOverlay(self, overlay):
-        """Delete overlay
+        """!Delete overlay
 
 
         @param id overlay id
         @param id overlay id
 
 
@@ -1320,7 +1320,7 @@ class Map(object):
         self.layers = []
         self.layers = []
 
 
     def ReverseListOfLayers(self):
     def ReverseListOfLayers(self):
-        """Reverse list of layers"""
+        """!Reverse list of layers"""
         return self.layers.reverse()
         return self.layers.reverse()
 
 
 if __name__ == "__main__":
 if __name__ == "__main__":

+ 4 - 4
gui/wxpython/gui_modules/sqlbuilder.py

@@ -36,7 +36,7 @@ imagepath = images.__path__[0]
 sys.path.append(imagepath)
 sys.path.append(imagepath)
 
 
 class SQLFrame(wx.Frame):
 class SQLFrame(wx.Frame):
-    """SQL Frame class"""
+    """!SQL Frame class"""
     def __init__(self, parent, id, title, vectmap, qtype="select"):
     def __init__(self, parent, id, title, vectmap, qtype="select"):
 
 
         wx.Frame.__init__(self, parent, id, title)
         wx.Frame.__init__(self, parent, id, title)
@@ -219,7 +219,7 @@ class SQLFrame(wx.Frame):
         self.Show(True)
         self.Show(True)
 
 
     def GetColumns(self):
     def GetColumns(self):
-        """Get columns"""
+        """!Get columns"""
         ret = gcmd.RunCommand('db.describe',
         ret = gcmd.RunCommand('db.describe',
                               quiet = True,
                               quiet = True,
                               read = True,
                               read = True,
@@ -243,7 +243,7 @@ class SQLFrame(wx.Frame):
         self.list_values.Clear()
         self.list_values.Clear()
         column = self.list_columns.GetString(idx)
         column = self.list_columns.GetString(idx)
         i = 0
         i = 0
-        for line in os.popen("""db.select -c database=%s driver=%s sql="SELECT %s FROM %s" """ %\
+        for line in os.popen("""!db.select -c database=%s driver=%s sql="SELECT %s FROM %s" """ %\
                 (self.database,self.driver,column,self.tablename)):
                 (self.database,self.driver,column,self.tablename)):
                 if justsample and i < 256 or \
                 if justsample and i < 256 or \
                    not justsample:
                    not justsample:
@@ -314,7 +314,7 @@ class SQLFrame(wx.Frame):
                 pass
                 pass
     def OnVerify(self,event):
     def OnVerify(self,event):
         if self.text_sql.GetValue():
         if self.text_sql.GetValue():
-            if os.system("""db.select -t driver=%s database=%s sql="SELECT * FROM %s WHERE %s" """ % \
+            if os.system("""!db.select -t driver=%s database=%s sql="SELECT * FROM %s WHERE %s" """ % \
                     (self.driver, self.database,self.tablename,
                     (self.driver, self.database,self.tablename,
                         self.text_sql.GetValue().strip().replace("\n"," "))):
                         self.text_sql.GetValue().strip().replace("\n"," "))):
                 # FIXME: LOG
                 # FIXME: LOG

+ 49 - 49
gui/wxpython/gui_modules/toolbars.py

@@ -40,12 +40,12 @@ gmpath = os.path.join(globalvar.ETCWXDIR, "icons")
 sys.path.append(gmpath)
 sys.path.append(gmpath)
 
 
 class AbstractToolbar(object):
 class AbstractToolbar(object):
-    """Abstract toolbar class"""
+    """!Abstract toolbar class"""
     def __init__(self):
     def __init__(self):
         pass
         pass
     
     
     def InitToolbar(self, parent, toolbar, toolData):
     def InitToolbar(self, parent, toolbar, toolData):
-        """Initialize toolbar, i.e. add tools to the toolbar
+        """!Initialize toolbar, i.e. add tools to the toolbar
 
 
         @return list of ids (of added tools)
         @return list of ids (of added tools)
         """
         """
@@ -59,12 +59,12 @@ class AbstractToolbar(object):
         self.parent = parent
         self.parent = parent
         
         
     def ToolbarData(self):
     def ToolbarData(self):
-        """Toolbar data"""
+        """!Toolbar data"""
         return None
         return None
 
 
     def CreateTool(self, parent, toolbar, tool, label, bitmap, kind,
     def CreateTool(self, parent, toolbar, tool, label, bitmap, kind,
                    shortHelp, longHelp, handler):
                    shortHelp, longHelp, handler):
-        """Add tool to the toolbar
+        """!Add tool to the toolbar
 
 
         @return id of tool
         @return id of tool
         """
         """
@@ -84,11 +84,11 @@ class AbstractToolbar(object):
         return tool
         return tool
 
 
     def GetToolbar(self):
     def GetToolbar(self):
-        """Get toolbar widget reference"""
+        """!Get toolbar widget reference"""
         return self._toolbar
         return self._toolbar
 
 
     def EnableLongHelp(self, enable=True):
     def EnableLongHelp(self, enable=True):
-        """Enable/disable long help
+        """!Enable/disable long help
 
 
         @param enable True for enable otherwise disable
         @param enable True for enable otherwise disable
         """
         """
@@ -102,7 +102,7 @@ class AbstractToolbar(object):
                 self._toolbar.SetToolLongHelp(tool[0], "")
                 self._toolbar.SetToolLongHelp(tool[0], "")
 
 
     def OnTool(self, event):
     def OnTool(self, event):
-        """Tool selected"""
+        """!Tool selected"""
         if self.parent.toolbars['vdigit']:
         if self.parent.toolbars['vdigit']:
             # update vdigit toolbar (unselect currently selected tool)
             # update vdigit toolbar (unselect currently selected tool)
             id = self.parent.toolbars['vdigit'].GetAction(type='id')
             id = self.parent.toolbars['vdigit'].GetAction(type='id')
@@ -124,18 +124,18 @@ class AbstractToolbar(object):
             self._toolbar.ToggleTool(self.action['id'], True)
             self._toolbar.ToggleTool(self.action['id'], True)
     
     
     def GetAction(self, type='desc'):
     def GetAction(self, type='desc'):
-        """Get current action info"""
+        """!Get current action info"""
         return self.action.get(type, '')
         return self.action.get(type, '')
 
 
     def SelectDefault(self, event):
     def SelectDefault(self, event):
-        """Select default tool"""
+        """!Select default tool"""
         self._toolbar.ToggleTool(self.defaultAction['id'], True)
         self._toolbar.ToggleTool(self.defaultAction['id'], True)
         self.defaultAction['bind'](event)
         self.defaultAction['bind'](event)
         self.action = { 'id' : self.defaultAction['id'],
         self.action = { 'id' : self.defaultAction['id'],
                         'desc' : self.defaultAction.get('desc', '') }
                         'desc' : self.defaultAction.get('desc', '') }
         
         
     def FixSize(self, width):
     def FixSize(self, width):
-	"""Fix toolbar width on Windows
+	"""!Fix toolbar width on Windows
         
         
 	@todo Determine why combobox causes problems here
 	@todo Determine why combobox causes problems here
 	"""
 	"""
@@ -183,7 +183,7 @@ class MapToolbar(AbstractToolbar):
         self.FixSize(width = 90)
         self.FixSize(width = 90)
         
         
     def ToolbarData(self):
     def ToolbarData(self):
-        """Toolbar data"""
+        """!Toolbar data"""
 
 
         self.displaymap = wx.NewId()
         self.displaymap = wx.NewId()
         self.rendermap = wx.NewId()
         self.rendermap = wx.NewId()
@@ -276,7 +276,7 @@ class MapToolbar(AbstractToolbar):
             self.mapdisplay.toolbars['nviz'].OnExit()
             self.mapdisplay.toolbars['nviz'].OnExit()
 
 
     def Enable2D(self, enabled):
     def Enable2D(self, enabled):
-        """Enable/Disable 2D display mode specific tools"""
+        """!Enable/Disable 2D display mode specific tools"""
         for tool in (self.pointer,
         for tool in (self.pointer,
                      self.query,
                      self.query,
                      self.pan,
                      self.pan,
@@ -310,7 +310,7 @@ class GRToolbar(AbstractToolbar):
         self.toolbar.Realize()
         self.toolbar.Realize()
 
 
     def ToolbarData(self):
     def ToolbarData(self):
-        """Toolbar data"""
+        """!Toolbar data"""
 
 
         self.displaymap = wx.NewId()
         self.displaymap = wx.NewId()
         self.rendermap = wx.NewId()
         self.rendermap = wx.NewId()
@@ -356,7 +356,7 @@ class GRToolbar(AbstractToolbar):
             )
             )
 
 
     def OnZoomMap(self, event):
     def OnZoomMap(self, event):
-        """Zoom to selected map"""
+        """!Zoom to selected map"""
         self.mapdisplay.MapWindow.ZoomToMap(layers = self.mapcontent.GetListOfLayers())
         self.mapdisplay.MapWindow.ZoomToMap(layers = self.mapcontent.GetListOfLayers())
 
 
         event.Skip()
         event.Skip()
@@ -576,7 +576,7 @@ class VDigitToolbar(AbstractToolbar):
         return data
         return data
 
 
     def OnTool(self, event):
     def OnTool(self, event):
-        """Tool selected -> disable selected tool in map toolbar"""
+        """!Tool selected -> disable selected tool in map toolbar"""
         # update map toolbar (unselect currently selected tool)
         # update map toolbar (unselect currently selected tool)
         id = self.parent.toolbars['map'].GetAction(type='id')
         id = self.parent.toolbars['map'].GetAction(type='id')
         self.parent.toolbars['map'].toolbar.ToggleTool(id, False)
         self.parent.toolbars['map'].toolbar.ToggleTool(id, False)
@@ -611,7 +611,7 @@ class VDigitToolbar(AbstractToolbar):
                 self.parent.MapWindow.OnMiddleDown(None)
                 self.parent.MapWindow.OnMiddleDown(None)
         
         
     def OnAddPoint(self, event):
     def OnAddPoint(self, event):
-        """Add point to the vector map Laier"""
+        """!Add point to the vector map Laier"""
         Debug.msg (2, "VDigitToolbar.OnAddPoint()")
         Debug.msg (2, "VDigitToolbar.OnAddPoint()")
         self.action = { 'desc' : "addLine",
         self.action = { 'desc' : "addLine",
                         'type' : "point",
                         'type' : "point",
@@ -619,7 +619,7 @@ class VDigitToolbar(AbstractToolbar):
         self.parent.MapWindow.mouse['box'] = 'point'
         self.parent.MapWindow.mouse['box'] = 'point'
 
 
     def OnAddLine(self, event):
     def OnAddLine(self, event):
-        """Add line to the vector map layer"""
+        """!Add line to the vector map layer"""
         Debug.msg (2, "VDigitToolbar.OnAddLine()")
         Debug.msg (2, "VDigitToolbar.OnAddLine()")
         self.action = { 'desc' : "addLine",
         self.action = { 'desc' : "addLine",
                         'type' : "line",
                         'type' : "line",
@@ -628,7 +628,7 @@ class VDigitToolbar(AbstractToolbar):
         ### self.parent.MapWindow.polycoords = [] # reset temp line
         ### self.parent.MapWindow.polycoords = [] # reset temp line
 
 
     def OnAddBoundary(self, event):
     def OnAddBoundary(self, event):
-        """Add boundary to the vector map layer"""
+        """!Add boundary to the vector map layer"""
         Debug.msg (2, "VDigitToolbar.OnAddBoundary()")
         Debug.msg (2, "VDigitToolbar.OnAddBoundary()")
         if self.action['desc'] != 'addLine' or \
         if self.action['desc'] != 'addLine' or \
                 self.action['type'] != 'boundary':
                 self.action['type'] != 'boundary':
@@ -639,7 +639,7 @@ class VDigitToolbar(AbstractToolbar):
         self.parent.MapWindow.mouse['box'] = 'line'
         self.parent.MapWindow.mouse['box'] = 'line'
 
 
     def OnAddCentroid(self, event):
     def OnAddCentroid(self, event):
-        """Add centroid to the vector map layer"""
+        """!Add centroid to the vector map layer"""
         Debug.msg (2, "VDigitToolbar.OnAddCentroid()")
         Debug.msg (2, "VDigitToolbar.OnAddCentroid()")
         self.action = { 'desc' : "addLine",
         self.action = { 'desc' : "addLine",
                         'type' : "centroid",
                         'type' : "centroid",
@@ -647,7 +647,7 @@ class VDigitToolbar(AbstractToolbar):
         self.parent.MapWindow.mouse['box'] = 'point'
         self.parent.MapWindow.mouse['box'] = 'point'
 
 
     def OnExit (self, event=None):
     def OnExit (self, event=None):
-        """Quit digitization tool"""
+        """!Quit digitization tool"""
         # stop editing of the currently selected map layer
         # stop editing of the currently selected map layer
         if self.mapLayer:
         if self.mapLayer:
             self.StopEditing()
             self.StopEditing()
@@ -665,14 +665,14 @@ class VDigitToolbar(AbstractToolbar):
         self.parent.MapWindow.polycoords = []
         self.parent.MapWindow.polycoords = []
         
         
     def OnMoveVertex(self, event):
     def OnMoveVertex(self, event):
-        """Move line vertex"""
+        """!Move line vertex"""
         Debug.msg(2, "Digittoolbar.OnMoveVertex():")
         Debug.msg(2, "Digittoolbar.OnMoveVertex():")
         self.action = { 'desc' : "moveVertex",
         self.action = { 'desc' : "moveVertex",
                         'id'   : self.moveVertex }
                         'id'   : self.moveVertex }
         self.parent.MapWindow.mouse['box'] = 'point'
         self.parent.MapWindow.mouse['box'] = 'point'
 
 
     def OnAddVertex(self, event):
     def OnAddVertex(self, event):
-        """Add line vertex"""
+        """!Add line vertex"""
         Debug.msg(2, "Digittoolbar.OnAddVertex():")
         Debug.msg(2, "Digittoolbar.OnAddVertex():")
         self.action = { 'desc' : "addVertex",
         self.action = { 'desc' : "addVertex",
                         'id'   : self.addVertex }
                         'id'   : self.addVertex }
@@ -680,7 +680,7 @@ class VDigitToolbar(AbstractToolbar):
 
 
 
 
     def OnRemoveVertex(self, event):
     def OnRemoveVertex(self, event):
-        """Remove line vertex"""
+        """!Remove line vertex"""
         Debug.msg(2, "Digittoolbar.OnRemoveVertex():")
         Debug.msg(2, "Digittoolbar.OnRemoveVertex():")
         self.action = { 'desc' : "removeVertex",
         self.action = { 'desc' : "removeVertex",
                         'id'   : self.removeVertex }
                         'id'   : self.removeVertex }
@@ -688,49 +688,49 @@ class VDigitToolbar(AbstractToolbar):
 
 
 
 
     def OnSplitLine(self, event):
     def OnSplitLine(self, event):
-        """Split line"""
+        """!Split line"""
         Debug.msg(2, "Digittoolbar.OnSplitLine():")
         Debug.msg(2, "Digittoolbar.OnSplitLine():")
         self.action = { 'desc' : "splitLine",
         self.action = { 'desc' : "splitLine",
                         'id'   : self.splitLine }
                         'id'   : self.splitLine }
         self.parent.MapWindow.mouse['box'] = 'point'
         self.parent.MapWindow.mouse['box'] = 'point'
 
 
     def OnEditLine(self, event):
     def OnEditLine(self, event):
-        """Edit line"""
+        """!Edit line"""
         Debug.msg(2, "Digittoolbar.OnEditLine():")
         Debug.msg(2, "Digittoolbar.OnEditLine():")
         self.action = { 'desc' : "editLine",
         self.action = { 'desc' : "editLine",
                         'id'   : self.editLine }
                         'id'   : self.editLine }
         self.parent.MapWindow.mouse['box'] = 'line'
         self.parent.MapWindow.mouse['box'] = 'line'
 
 
     def OnMoveLine(self, event):
     def OnMoveLine(self, event):
-        """Move line"""
+        """!Move line"""
         Debug.msg(2, "Digittoolbar.OnMoveLine():")
         Debug.msg(2, "Digittoolbar.OnMoveLine():")
         self.action = { 'desc' : "moveLine",
         self.action = { 'desc' : "moveLine",
                         'id'   : self.moveLine }
                         'id'   : self.moveLine }
         self.parent.MapWindow.mouse['box'] = 'box'
         self.parent.MapWindow.mouse['box'] = 'box'
 
 
     def OnDeleteLine(self, event):
     def OnDeleteLine(self, event):
-        """Delete line"""
+        """!Delete line"""
         Debug.msg(2, "Digittoolbar.OnDeleteLine():")
         Debug.msg(2, "Digittoolbar.OnDeleteLine():")
         self.action = { 'desc' : "deleteLine",
         self.action = { 'desc' : "deleteLine",
                         'id'   : self.deleteLine }
                         'id'   : self.deleteLine }
         self.parent.MapWindow.mouse['box'] = 'box'
         self.parent.MapWindow.mouse['box'] = 'box'
 
 
     def OnDisplayCats(self, event):
     def OnDisplayCats(self, event):
-        """Display/update categories"""
+        """!Display/update categories"""
         Debug.msg(2, "Digittoolbar.OnDisplayCats():")
         Debug.msg(2, "Digittoolbar.OnDisplayCats():")
         self.action = { 'desc' : "displayCats",
         self.action = { 'desc' : "displayCats",
                         'id'   : self.displayCats }
                         'id'   : self.displayCats }
         self.parent.MapWindow.mouse['box'] = 'point'
         self.parent.MapWindow.mouse['box'] = 'point'
 
 
     def OnDisplayAttr(self, event):
     def OnDisplayAttr(self, event):
-        """Display/update attributes"""
+        """!Display/update attributes"""
         Debug.msg(2, "Digittoolbar.OnDisplayAttr():")
         Debug.msg(2, "Digittoolbar.OnDisplayAttr():")
         self.action = { 'desc' : "displayAttrs",
         self.action = { 'desc' : "displayAttrs",
                         'id'   : self.displayAttr }
                         'id'   : self.displayAttr }
         self.parent.MapWindow.mouse['box'] = 'point'
         self.parent.MapWindow.mouse['box'] = 'point'
 
 
     def OnCopyCA(self, event):
     def OnCopyCA(self, event):
-        """Copy categories/attributes menu"""
+        """!Copy categories/attributes menu"""
         point = wx.GetMousePosition()
         point = wx.GetMousePosition()
         toolMenu = wx.Menu()
         toolMenu = wx.Menu()
         # Add items to the menu
         # Add items to the menu
@@ -759,7 +759,7 @@ class VDigitToolbar(AbstractToolbar):
             self.toolbar[0].ToggleTool(self.copyCats, False)
             self.toolbar[0].ToggleTool(self.copyCats, False)
         
         
     def OnCopyCats(self, event):
     def OnCopyCats(self, event):
-        """Copy categories"""
+        """!Copy categories"""
         if self.action['desc'] == 'copyCats': # select previous action
         if self.action['desc'] == 'copyCats': # select previous action
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.copyCats, False)
             self.toolbar[0].ToggleTool(self.copyCats, False)
@@ -784,13 +784,13 @@ class VDigitToolbar(AbstractToolbar):
         self.parent.MapWindow.mouse['box'] = 'point'
         self.parent.MapWindow.mouse['box'] = 'point'
         
         
     def OnUndo(self, event):
     def OnUndo(self, event):
-        """Undo previous changes"""
+        """!Undo previous changes"""
         self.parent.digit.Undo()
         self.parent.digit.Undo()
 
 
         event.Skip()
         event.Skip()
 
 
     def EnableUndo(self, enable=True):
     def EnableUndo(self, enable=True):
-        """Enable 'Undo' in toolbar
+        """!Enable 'Undo' in toolbar
 
 
         @param enable False for disable
         @param enable False for disable
         """
         """
@@ -802,7 +802,7 @@ class VDigitToolbar(AbstractToolbar):
                 self.toolbar[0].EnableTool(self.undo, False)
                 self.toolbar[0].EnableTool(self.undo, False)
         
         
     def OnSettings(self, event):
     def OnSettings(self, event):
-        """Show settings dialog"""
+        """!Show settings dialog"""
 
 
         if self.parent.digit is None:
         if self.parent.digit is None:
             reload(vdigit)
             reload(vdigit)
@@ -815,7 +815,7 @@ class VDigitToolbar(AbstractToolbar):
             self.settingsDialog.Show()
             self.settingsDialog.Show()
 
 
     def OnAdditionalToolMenu(self, event):
     def OnAdditionalToolMenu(self, event):
-        """Menu for additional tools"""
+        """!Menu for additional tools"""
         point = wx.GetMousePosition()
         point = wx.GetMousePosition()
         toolMenu = wx.Menu()
         toolMenu = wx.Menu()
         # Add items to the menu
         # Add items to the menu
@@ -900,7 +900,7 @@ class VDigitToolbar(AbstractToolbar):
             self.toolbar[0].ToggleTool(self.additionalTools, False)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
         
         
     def OnCopy(self, event):
     def OnCopy(self, event):
-        """Copy selected features from (background) vector map"""
+        """!Copy selected features from (background) vector map"""
         if self.action['desc'] == 'copyLine': # select previous action
         if self.action['desc'] == 'copyLine': # select previous action
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
@@ -913,7 +913,7 @@ class VDigitToolbar(AbstractToolbar):
         self.parent.MapWindow.mouse['box'] = 'box'
         self.parent.MapWindow.mouse['box'] = 'box'
 
 
     def OnFlip(self, event):
     def OnFlip(self, event):
-        """Flip selected lines/boundaries"""
+        """!Flip selected lines/boundaries"""
         if self.action['desc'] == 'flipLine': # select previous action
         if self.action['desc'] == 'flipLine': # select previous action
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
@@ -926,7 +926,7 @@ class VDigitToolbar(AbstractToolbar):
         self.parent.MapWindow.mouse['box'] = 'box'
         self.parent.MapWindow.mouse['box'] = 'box'
 
 
     def OnMerge(self, event):
     def OnMerge(self, event):
-        """Merge selected lines/boundaries"""
+        """!Merge selected lines/boundaries"""
         if self.action['desc'] == 'mergeLine': # select previous action
         if self.action['desc'] == 'mergeLine': # select previous action
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
@@ -939,7 +939,7 @@ class VDigitToolbar(AbstractToolbar):
         self.parent.MapWindow.mouse['box'] = 'box'
         self.parent.MapWindow.mouse['box'] = 'box'
 
 
     def OnBreak(self, event):
     def OnBreak(self, event):
-        """Break selected lines/boundaries"""
+        """!Break selected lines/boundaries"""
         if self.action['desc'] == 'breakLine': # select previous action
         if self.action['desc'] == 'breakLine': # select previous action
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
@@ -952,7 +952,7 @@ class VDigitToolbar(AbstractToolbar):
         self.parent.MapWindow.mouse['box'] = 'box'
         self.parent.MapWindow.mouse['box'] = 'box'
 
 
     def OnSnap(self, event):
     def OnSnap(self, event):
-        """Snap selected features"""
+        """!Snap selected features"""
         if self.action['desc'] == 'snapLine': # select previous action
         if self.action['desc'] == 'snapLine': # select previous action
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
@@ -965,7 +965,7 @@ class VDigitToolbar(AbstractToolbar):
         self.parent.MapWindow.mouse['box'] = 'box'
         self.parent.MapWindow.mouse['box'] = 'box'
 
 
     def OnConnect(self, event):
     def OnConnect(self, event):
-        """Connect selected lines/boundaries"""
+        """!Connect selected lines/boundaries"""
         if self.action['desc'] == 'connectLine': # select previous action
         if self.action['desc'] == 'connectLine': # select previous action
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
@@ -978,7 +978,7 @@ class VDigitToolbar(AbstractToolbar):
         self.parent.MapWindow.mouse['box'] = 'box'
         self.parent.MapWindow.mouse['box'] = 'box'
 
 
     def OnQuery(self, event):
     def OnQuery(self, event):
-        """Query selected lines/boundaries"""
+        """!Query selected lines/boundaries"""
         if self.action['desc'] == 'queryLine': # select previous action
         if self.action['desc'] == 'queryLine': # select previous action
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
@@ -992,7 +992,7 @@ class VDigitToolbar(AbstractToolbar):
         self.parent.MapWindow.mouse['box'] = 'box'
         self.parent.MapWindow.mouse['box'] = 'box'
 
 
     def OnZBulk(self, event):
     def OnZBulk(self, event):
-        """Z bulk-labeling selected lines/boundaries"""
+        """!Z bulk-labeling selected lines/boundaries"""
         if self.action['desc'] == 'zbulkLine': # select previous action
         if self.action['desc'] == 'zbulkLine': # select previous action
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.addPoint, True)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
             self.toolbar[0].ToggleTool(self.additionalTools, False)
@@ -1005,7 +1005,7 @@ class VDigitToolbar(AbstractToolbar):
         self.parent.MapWindow.mouse['box'] = 'line'
         self.parent.MapWindow.mouse['box'] = 'line'
 
 
     def OnTypeConversion(self, event):
     def OnTypeConversion(self, event):
-        """Feature type conversion
+        """!Feature type conversion
 
 
         Supported conversions:
         Supported conversions:
          - point <-> centroid
          - point <-> centroid
@@ -1138,7 +1138,7 @@ class VDigitToolbar(AbstractToolbar):
         return True
         return True
 
 
     def StopEditing (self):
     def StopEditing (self):
-        """Stop editing of selected vector map layer.
+        """!Stop editing of selected vector map layer.
 
 
         @return True on success
         @return True on success
         @return False on failure
         @return False on failure
@@ -1240,7 +1240,7 @@ class VDigitToolbar(AbstractToolbar):
         return layerNameList
         return layerNameList
 
 
     def GetLayer(self):
     def GetLayer(self):
-        """Get selected layer for editing -- MapLayer instance"""
+        """!Get selected layer for editing -- MapLayer instance"""
         return self.mapLayer
         return self.mapLayer
 
 
 class ProfileToolbar(AbstractToolbar):
 class ProfileToolbar(AbstractToolbar):
@@ -1262,7 +1262,7 @@ class ProfileToolbar(AbstractToolbar):
         self.toolbar.Realize()
         self.toolbar.Realize()
 
 
     def ToolbarData(self):
     def ToolbarData(self):
-        """Toolbar data"""
+        """!Toolbar data"""
 
 
         self.transect = wx.NewId()
         self.transect = wx.NewId()
         self.addraster = wx.NewId()
         self.addraster = wx.NewId()
@@ -1333,7 +1333,7 @@ class NvizToolbar(AbstractToolbar):
         self.toolbar.Realize()
         self.toolbar.Realize()
 
 
     def ToolbarData(self):
     def ToolbarData(self):
-        """Toolbar data"""
+        """!Toolbar data"""
 
 
         self.settings = wx.NewId()
         self.settings = wx.NewId()
         self.quit = wx.NewId()
         self.quit = wx.NewId()
@@ -1356,7 +1356,7 @@ class NvizToolbar(AbstractToolbar):
             self.parent.nvizToolWin.Hide()
             self.parent.nvizToolWin.Hide()
 
 
     def OnExit (self, event=None):
     def OnExit (self, event=None):
-        """Quit nviz tool (swith to 2D mode)"""
+        """!Quit nviz tool (swith to 2D mode)"""
 
 
         # hide dialogs if still open
         # hide dialogs if still open
         if self.parent.nvizToolWin:
         if self.parent.nvizToolWin:

+ 11 - 11
gui/wxpython/gui_modules/utils.py

@@ -64,7 +64,7 @@ def GetTempfile(pref=None):
 
 
 def GetLayerNameFromCmd(dcmd, fullyQualified=False, param=None,
 def GetLayerNameFromCmd(dcmd, fullyQualified=False, param=None,
                         layerType=None):
                         layerType=None):
-    """Get map name from GRASS command
+    """!Get map name from GRASS command
 
 
     @param dcmd GRASS command (given as tuple)
     @param dcmd GRASS command (given as tuple)
     @param fullyQualified change map name to be fully qualified
     @param fullyQualified change map name to be fully qualified
@@ -127,7 +127,7 @@ def GetLayerNameFromCmd(dcmd, fullyQualified=False, param=None,
     return mapname
     return mapname
 
 
 def GetValidLayerName(name):
 def GetValidLayerName(name):
-    """Make layer name SQL compliant, based on G_str_to_sql()
+    """!Make layer name SQL compliant, based on G_str_to_sql()
     
     
     @todo: Better use directly GRASS Python SWIG...
     @todo: Better use directly GRASS Python SWIG...
     """
     """
@@ -157,7 +157,7 @@ def GetValidLayerName(name):
     return retName
     return retName
 
 
 def ListOfCatsToRange(cats):
 def ListOfCatsToRange(cats):
-    """Convert list of category number to range(s)
+    """!Convert list of category number to range(s)
 
 
     Used for example for d.vect cats=[range]
     Used for example for d.vect cats=[range]
 
 
@@ -195,7 +195,7 @@ def ListOfCatsToRange(cats):
     return catstr.strip(',')
     return catstr.strip(',')
 
 
 def ListOfMapsets(all=False):
 def ListOfMapsets(all=False):
-    """Get list of available/accessible mapsets
+    """!Get list of available/accessible mapsets
 
 
     @param all if True get list of all mapsets
     @param all if True get list of all mapsets
 
 
@@ -230,11 +230,11 @@ def ListOfMapsets(all=False):
     return mapsets
     return mapsets
 
 
 def ListSortLower(list):
 def ListSortLower(list):
-    """Sort list items (not case-sensitive)"""
+    """!Sort list items (not case-sensitive)"""
     list.sort(cmp=lambda x, y: cmp(x.lower(), y.lower()))
     list.sort(cmp=lambda x, y: cmp(x.lower(), y.lower()))
 
 
 def GetVectorNumberOfLayers(vector):
 def GetVectorNumberOfLayers(vector):
-    """Get list of vector layers"""
+    """!Get list of vector layers"""
     cmdlist = ['v.category',
     cmdlist = ['v.category',
                'input=%s' % vector,
                'input=%s' % vector,
                'option=report']
                'option=report']
@@ -262,7 +262,7 @@ def GetVectorNumberOfLayers(vector):
     return layers
     return layers
 
 
 def Deg2DMS(lon, lat):
 def Deg2DMS(lon, lat):
-    """Convert deg value to dms string
+    """!Convert deg value to dms string
 
 
     @param lat latitude
     @param lat latitude
     @param lon longitude
     @param lon longitude
@@ -301,7 +301,7 @@ def Deg2DMS(lon, lat):
     return slon + hlon + '; ' + slat + hlat
     return slon + hlon + '; ' + slat + hlat
 
 
 def __ll_parts(value):
 def __ll_parts(value):
-    """Converts deg to d:m:s string"""
+    """!Converts deg to d:m:s string"""
     if value == 0.0:
     if value == 0.0:
         return '00:00:00.0000'
         return '00:00:00.0000'
     
     
@@ -340,7 +340,7 @@ def GetCmdString(cmd):
     return scmd
     return scmd
 
 
 def CmdToTuple(cmd):
 def CmdToTuple(cmd):
-    """Convert command list to tuple for gcmd.RunCommand()"""
+    """!Convert command list to tuple for gcmd.RunCommand()"""
     if len(cmd) < 1:
     if len(cmd) < 1:
         return None
         return None
         
         
@@ -358,7 +358,7 @@ def CmdToTuple(cmd):
             dcmd)
             dcmd)
 
 
 def PathJoin(*args):
 def PathJoin(*args):
-    """Check path created by os.path.join"""
+    """!Check path created by os.path.join"""
     path = os.path.join(*args)
     path = os.path.join(*args)
     if platform.system() == 'Windows' and \
     if platform.system() == 'Windows' and \
             '/' in path:
             '/' in path:
@@ -367,7 +367,7 @@ def PathJoin(*args):
     return path
     return path
     
     
 def reexec_with_pythonw():
 def reexec_with_pythonw():
-    """Re-execute Python on Mac OS"""
+    """!Re-execute Python on Mac OS"""
     if sys.platform == 'darwin' and \
     if sys.platform == 'darwin' and \
             not sys.executable.endswith('MacOS/Python'):
             not sys.executable.endswith('MacOS/Python'):
         print >> sys.stderr, 're-executing using pythonw'
         print >> sys.stderr, 're-executing using pythonw'

+ 94 - 94
gui/wxpython/gui_modules/vdigit.py

@@ -68,7 +68,7 @@ class AbstractDigit:
     Abstract digitization class
     Abstract digitization class
     """
     """
     def __init__(self, mapwindow):
     def __init__(self, mapwindow):
-        """Initialization
+        """!Initialization
 
 
         @param mapwindow reference to mapwindow (MapFrame) instance
         @param mapwindow reference to mapwindow (MapFrame) instance
         @param settings  initial settings of digitization tool
         @param settings  initial settings of digitization tool
@@ -87,7 +87,7 @@ class AbstractDigit:
         pass
         pass
     
     
     def SetCategoryNextToUse(self):
     def SetCategoryNextToUse(self):
-        """Find maximum category number in the map layer
+        """!Find maximum category number in the map layer
         and update Digit.settings['category']
         and update Digit.settings['category']
 
 
         @return 'True' on success, 'False' on failure
         @return 'True' on success, 'False' on failure
@@ -102,14 +102,14 @@ class AbstractDigit:
                              value=cat)
                              value=cat)
         
         
     def SetCategory(self):
     def SetCategory(self):
-        """Return category number to use (according Settings)"""
+        """!Return category number to use (according Settings)"""
         if UserSettings.Get(group='vdigit', key="categoryMode", subkey='selection') == 0:
         if UserSettings.Get(group='vdigit', key="categoryMode", subkey='selection') == 0:
             self.SetCategoryNextToUse()
             self.SetCategoryNextToUse()
 
 
         return UserSettings.Get(group='vdigit', key="category", subkey='value')
         return UserSettings.Get(group='vdigit', key="category", subkey='value')
 
 
     def SetMapName(self, map):
     def SetMapName(self, map):
-        """Set map name
+        """!Set map name
 
 
         @param map map name to be set up or None (will close currently edited map)
         @param map map name to be set up or None (will close currently edited map)
         """
         """
@@ -142,7 +142,7 @@ class AbstractDigit:
         self.digit.InitCats()
         self.digit.InitCats()
         
         
     def SelectLinesByQueryThresh(self):
     def SelectLinesByQueryThresh(self):
-        """Generic method used for SelectLinesByQuery()
+        """!Generic method used for SelectLinesByQuery()
         -- to get threshold value"""
         -- to get threshold value"""
         thresh = 0.0
         thresh = 0.0
         if UserSettings.Get(group='vdigit', key='query', subkey='selection') == 0:
         if UserSettings.Get(group='vdigit', key='query', subkey='selection') == 0:
@@ -157,7 +157,7 @@ class AbstractDigit:
         return thresh
         return thresh
 
 
     def GetSelectType(self):
     def GetSelectType(self):
-        """Get type(s) to be selected
+        """!Get type(s) to be selected
 
 
         Used by SelectLinesByBox() and SelectLinesByPoint()"""
         Used by SelectLinesByBox() and SelectLinesByPoint()"""
 
 
@@ -173,7 +173,7 @@ class AbstractDigit:
         return type
         return type
 
 
     def SelectLinesFromBackgroundMap(self, pos1, pos2):
     def SelectLinesFromBackgroundMap(self, pos1, pos2):
-        """Select features from background map
+        """!Select features from background map
 
 
         @param pos1,pos2 bounding box
         @param pos1,pos2 bounding box
         """
         """
@@ -224,7 +224,7 @@ class VDigit(AbstractDigit):
     Under development (wxWidgets C/C++ background)
     Under development (wxWidgets C/C++ background)
     """
     """
     def __init__(self, mapwindow):
     def __init__(self, mapwindow):
-        """Initialization
+        """!Initialization
 
 
         @param mapwindow reference to mapwindow (MapFrame) instance
         @param mapwindow reference to mapwindow (MapFrame) instance
         @param settings  initial settings of digitization tool
         @param settings  initial settings of digitization tool
@@ -245,7 +245,7 @@ class VDigit(AbstractDigit):
         del self.digit
         del self.digit
         
         
     def AddPoint (self, map, point, x, y, z=None):
     def AddPoint (self, map, point, x, y, z=None):
-        """Add new point/centroid
+        """!Add new point/centroid
 
 
         @param map   map name (unused, for compatability with VEdit)
         @param map   map name (unused, for compatability with VEdit)
         @param point feature type (if true point otherwise centroid)
         @param point feature type (if true point otherwise centroid)
@@ -278,7 +278,7 @@ class VDigit(AbstractDigit):
         return ret
         return ret
         
         
     def AddLine (self, map, line, coords):
     def AddLine (self, map, line, coords):
-        """Add line/boundary
+        """!Add line/boundary
 
 
         @param map    map name (unused, for compatability with VEdit)
         @param map    map name (unused, for compatability with VEdit)
         @param line   feature type (if True line, otherwise boundary)
         @param line   feature type (if True line, otherwise boundary)
@@ -317,7 +317,7 @@ class VDigit(AbstractDigit):
         return ret
         return ret
     
     
     def DeleteSelectedLines(self):
     def DeleteSelectedLines(self):
-        """Delete selected features
+        """!Delete selected features
 
 
         @return number of deleted lines
         @return number of deleted lines
         """
         """
@@ -329,7 +329,7 @@ class VDigit(AbstractDigit):
         return nlines
         return nlines
 
 
     def MoveSelectedLines(self, move):
     def MoveSelectedLines(self, move):
-        """Move selected features
+        """!Move selected features
 
 
         @param move direction (x, y)
         @param move direction (x, y)
         """
         """
@@ -350,7 +350,7 @@ class VDigit(AbstractDigit):
         return nlines
         return nlines
 
 
     def MoveSelectedVertex(self, coords, move):
     def MoveSelectedVertex(self, coords, move):
-        """Move selected vertex of the line
+        """!Move selected vertex of the line
 
 
         @param coords click coordinates
         @param coords click coordinates
         @param move   X,Y direction
         @param move   X,Y direction
@@ -374,7 +374,7 @@ class VDigit(AbstractDigit):
         return moved
         return moved
 
 
     def AddVertex(self, coords):
     def AddVertex(self, coords):
-        """Add new vertex to the selected line/boundary on position 'coords'
+        """!Add new vertex to the selected line/boundary on position 'coords'
 
 
         @param coords coordinates to add vertex
         @param coords coordinates to add vertex
 
 
@@ -391,7 +391,7 @@ class VDigit(AbstractDigit):
         return added
         return added
 
 
     def RemoveVertex(self, coords):
     def RemoveVertex(self, coords):
-        """Remove vertex from the selected line/boundary on position 'coords'
+        """!Remove vertex from the selected line/boundary on position 'coords'
 
 
         @param coords coordinates to remove vertex
         @param coords coordinates to remove vertex
 
 
@@ -409,7 +409,7 @@ class VDigit(AbstractDigit):
 
 
 
 
     def SplitLine(self, coords):
     def SplitLine(self, coords):
-        """Split selected line/boundary on position 'coords'
+        """!Split selected line/boundary on position 'coords'
 
 
         @param coords coordinates to split line
         @param coords coordinates to split line
 
 
@@ -426,7 +426,7 @@ class VDigit(AbstractDigit):
         return ret
         return ret
 
 
     def EditLine(self, line, coords):
     def EditLine(self, line, coords):
-        """Edit existing line/boundary
+        """!Edit existing line/boundary
 
 
         @param line id of line to be modified
         @param line id of line to be modified
         @param coords list of coordinates of modified line
         @param coords list of coordinates of modified line
@@ -465,7 +465,7 @@ class VDigit(AbstractDigit):
         return ret
         return ret
 
 
     def FlipLine(self):
     def FlipLine(self):
-        """Flip selected lines/boundaries
+        """!Flip selected lines/boundaries
 
 
         @return number of modified lines
         @return number of modified lines
         @return -1 on error
         @return -1 on error
@@ -478,7 +478,7 @@ class VDigit(AbstractDigit):
         return ret
         return ret
 
 
     def MergeLine(self):
     def MergeLine(self):
-        """Merge selected lines/boundaries
+        """!Merge selected lines/boundaries
 
 
         @return number of modified lines
         @return number of modified lines
         @return -1 on error
         @return -1 on error
@@ -491,7 +491,7 @@ class VDigit(AbstractDigit):
         return ret
         return ret
 
 
     def BreakLine(self):
     def BreakLine(self):
-        """Break selected lines/boundaries
+        """!Break selected lines/boundaries
 
 
         @return number of modified lines
         @return number of modified lines
         @return -1 on error
         @return -1 on error
@@ -504,7 +504,7 @@ class VDigit(AbstractDigit):
         return ret
         return ret
 
 
     def SnapLine(self):
     def SnapLine(self):
-        """Snap selected lines/boundaries
+        """!Snap selected lines/boundaries
 
 
         @return on success
         @return on success
         @return -1 on error
         @return -1 on error
@@ -518,7 +518,7 @@ class VDigit(AbstractDigit):
         return ret
         return ret
 
 
     def ConnectLine(self):
     def ConnectLine(self):
-        """Connect selected lines/boundaries
+        """!Connect selected lines/boundaries
 
 
         @return 1 lines connected
         @return 1 lines connected
         @return 0 lines not connected
         @return 0 lines not connected
@@ -533,7 +533,7 @@ class VDigit(AbstractDigit):
         return ret
         return ret
         
         
     def CopyLine(self, ids=[]):
     def CopyLine(self, ids=[]):
-        """Copy features from (background) vector map
+        """!Copy features from (background) vector map
 
 
         @param ids list of line ids to be copied
         @param ids list of line ids to be copied
 
 
@@ -554,7 +554,7 @@ class VDigit(AbstractDigit):
         return ret
         return ret
 
 
     def CopyCats(self, fromId, toId, copyAttrb=False):
     def CopyCats(self, fromId, toId, copyAttrb=False):
-        """Copy given categories to objects with id listed in ids
+        """!Copy given categories to objects with id listed in ids
 
 
         @param cats ids of 'from' feature
         @param cats ids of 'from' feature
         @param ids  ids of 'to' feature(s)
         @param ids  ids of 'to' feature(s)
@@ -573,7 +573,7 @@ class VDigit(AbstractDigit):
         return ret
         return ret
 
 
     def SelectLinesByQuery(self, pos1, pos2):
     def SelectLinesByQuery(self, pos1, pos2):
-        """Select features by query
+        """!Select features by query
 
 
         @param pos1, pos2 bounding box definition
         @param pos1, pos2 bounding box definition
         """
         """
@@ -600,14 +600,14 @@ class VDigit(AbstractDigit):
         return ids
         return ids
 
 
     def GetLineCats(self, line=-1):
     def GetLineCats(self, line=-1):
-        """Get layer/category pairs from given (selected) line
+        """!Get layer/category pairs from given (selected) line
         
         
         @param line feature id (-1 for first selected line)
         @param line feature id (-1 for first selected line)
         """
         """
         return dict(self.digit.GetLineCats(line))
         return dict(self.digit.GetLineCats(line))
 
 
     def SetLineCats(self, line, layer, cats, add=True):
     def SetLineCats(self, line, layer, cats, add=True):
-        """Set categories for given line and layer
+        """!Set categories for given line and layer
 
 
         @param line feature id
         @param line feature id
         @param layer layer number (-1 for first selected line)
         @param layer layer number (-1 for first selected line)
@@ -625,11 +625,11 @@ class VDigit(AbstractDigit):
         return ret
         return ret
 
 
     def GetLayers(self):
     def GetLayers(self):
-        """Get list of layers"""
+        """!Get list of layers"""
         return self.digit.GetLayers()
         return self.digit.GetLayers()
 
 
     def TypeConvForSelectedLines(self):
     def TypeConvForSelectedLines(self):
-        """Feature type conversion for selected objects.
+        """!Feature type conversion for selected objects.
 
 
         Supported conversions:
         Supported conversions:
          - point <-> centroid
          - point <-> centroid
@@ -646,7 +646,7 @@ class VDigit(AbstractDigit):
         return ret
         return ret
 
 
     def Undo(self, level=-1):
     def Undo(self, level=-1):
-        """Undo action
+        """!Undo action
 
 
         @param level levels to undo (0 to revert all)
         @param level levels to undo (0 to revert all)
 
 
@@ -666,11 +666,11 @@ class VDigit(AbstractDigit):
             self.toolbar.EnableUndo(False)
             self.toolbar.EnableUndo(False)
 
 
     def GetUndoLevel(self):
     def GetUndoLevel(self):
-        """Get undo level (number of active changesets)"""
+        """!Get undo level (number of active changesets)"""
         return self.digit.GetUndoLevel()
         return self.digit.GetUndoLevel()
 
 
     def UpdateSettings(self):
     def UpdateSettings(self):
-        """Update digit settigs"""
+        """!Update digit settigs"""
         if not self.digit:
         if not self.digit:
             return
             return
         
         
@@ -682,7 +682,7 @@ class VDigit(AbstractDigit):
                                                    subkey='enabled'))
                                                    subkey='enabled'))
         
         
     def __getSnapThreshold(self):
     def __getSnapThreshold(self):
-        """Get snap mode and threshold value
+        """!Get snap mode and threshold value
 
 
         @return (snap, thresh)
         @return (snap, thresh)
         """
         """
@@ -699,7 +699,7 @@ class VDigit(AbstractDigit):
         return (snap, thresh)
         return (snap, thresh)
 
 
 class Digit(VDigit):
 class Digit(VDigit):
-    """Default digit class"""
+    """!Default digit class"""
     def __init__(self, mapwindow):
     def __init__(self, mapwindow):
         VDigit.__init__(self, mapwindow)
         VDigit.__init__(self, mapwindow)
         self.type = 'vdigit'
         self.type = 'vdigit'
@@ -708,9 +708,9 @@ class Digit(VDigit):
         VDigit.__del__(self)
         VDigit.__del__(self)
         
         
 class AbstractDisplayDriver:
 class AbstractDisplayDriver:
-    """Abstract classs for display driver"""
+    """!Abstract classs for display driver"""
     def __init__(self, parent, mapwindow):
     def __init__(self, parent, mapwindow):
-        """Initialization
+        """!Initialization
 
 
         @param parent
         @param parent
         @param mapwindow reference to mapwindow (MFrame)
         @param mapwindow reference to mapwindow (MFrame)
@@ -722,7 +722,7 @@ class AbstractDisplayDriver:
         self.selected    = []   # list of selected objects (grassId!)
         self.selected    = []   # list of selected objects (grassId!)
 
 
     def GetThreshold(self, type='snapping', value=None, units=None):
     def GetThreshold(self, type='snapping', value=None, units=None):
-        """Return threshold in map units
+        """!Return threshold in map units
 
 
         @param value threshold to be set up
         @param value threshold to be set up
         @param units units (map, screen)
         @param units units (map, screen)
@@ -757,7 +757,7 @@ class CDisplayDriver(AbstractDisplayDriver):
     Display driver using grass7_wxdriver module
     Display driver using grass7_wxdriver module
     """
     """
     def __init__(self, parent, mapwindow):
     def __init__(self, parent, mapwindow):
-        """Initialization
+        """!Initialization
 
 
         @param parent
         @param parent
         @param mapwindow reference to mapwindow (MFrame)
         @param mapwindow reference to mapwindow (MFrame)
@@ -782,18 +782,18 @@ class CDisplayDriver(AbstractDisplayDriver):
         self.UpdateSettings()
         self.UpdateSettings()
 
 
     def GetDevice(self):
     def GetDevice(self):
-        """Get device"""
+        """!Get device"""
         return self.__display
         return self.__display
     
     
     def SetDevice(self, pdc):
     def SetDevice(self, pdc):
-        """Set device for driver
+        """!Set device for driver
 
 
         @param pdc wx.PseudoDC instance
         @param pdc wx.PseudoDC instance
         """
         """
         self.__display.SetDevice(pdc)
         self.__display.SetDevice(pdc)
             
             
     def Reset(self, map):
     def Reset(self, map):
-        """Reset map
+        """!Reset map
 
 
         Open or close the vector map by driver.
         Open or close the vector map by driver.
 
 
@@ -816,7 +816,7 @@ class CDisplayDriver(AbstractDisplayDriver):
         return ret
         return ret
     
     
     def ReloadMap(self):
     def ReloadMap(self):
-        """Reload map (close and re-open).
+        """!Reload map (close and re-open).
 
 
         Needed for v.edit, TODO: get rid of that..."""
         Needed for v.edit, TODO: get rid of that..."""
         
         
@@ -824,7 +824,7 @@ class CDisplayDriver(AbstractDisplayDriver):
         self.__display.ReloadMap()
         self.__display.ReloadMap()
 
 
     def DrawMap(self):
     def DrawMap(self):
-        """Draw vector map layer content
+        """!Draw vector map layer content
 
 
         @return wx.Image instance
         @return wx.Image instance
         """
         """
@@ -834,7 +834,7 @@ class CDisplayDriver(AbstractDisplayDriver):
         return nlines
         return nlines
 
 
     def SelectLinesByBox(self, begin, end, type=0, drawSeg=False):
     def SelectLinesByBox(self, begin, end, type=0, drawSeg=False):
-        """Select vector features by given bounding box.
+        """!Select vector features by given bounding box.
 
 
         If type is given, only vector features of given type are selected.
         If type is given, only vector features of given type are selected.
 
 
@@ -856,7 +856,7 @@ class CDisplayDriver(AbstractDisplayDriver):
         return nselected
         return nselected
 
 
     def SelectLineByPoint(self, point, type=0):
     def SelectLineByPoint(self, point, type=0):
-        """Select vector feature by coordinates of click point (in given threshold).
+        """!Select vector feature by coordinates of click point (in given threshold).
 
 
         If type is given, only vector features of given type are selected.
         If type is given, only vector features of given type are selected.
 
 
@@ -876,7 +876,7 @@ class CDisplayDriver(AbstractDisplayDriver):
             return None
             return None
         
         
     def GetSelected(self, grassId=True):
     def GetSelected(self, grassId=True):
-        """Return ids of selected vector features
+        """!Return ids of selected vector features
         
         
         @param grassId if grassId is True returns GRASS ids, otherwise
         @param grassId if grassId is True returns GRASS ids, otherwise
         internal ids of objects drawn in PseudoDC"""
         internal ids of objects drawn in PseudoDC"""
@@ -891,15 +891,15 @@ class CDisplayDriver(AbstractDisplayDriver):
         return selected
         return selected
 
 
     def GetSelectedCoord(self):
     def GetSelectedCoord(self):
-        """Return ids of selected vector features and their coordinates"""
+        """!Return ids of selected vector features and their coordinates"""
         return dict(self.__display.GetSelectedCoord())
         return dict(self.__display.GetSelectedCoord())
         
         
     def GetRegionSelected(self):
     def GetRegionSelected(self):
-        """Get minimal region extent of selected features (ids/cats)"""
+        """!Get minimal region extent of selected features (ids/cats)"""
         return self.__display.GetRegionSelected()
         return self.__display.GetRegionSelected()
     
     
     def GetDuplicates(self):
     def GetDuplicates(self):
-        """Return ids of (selected) duplicated vector features
+        """!Return ids of (selected) duplicated vector features
         """
         """
         # -> id : (list of ids)
         # -> id : (list of ids)
         dupl = dict(self.__display.GetDuplicates())
         dupl = dict(self.__display.GetDuplicates())
@@ -926,7 +926,7 @@ class CDisplayDriver(AbstractDisplayDriver):
         return dupl_full
         return dupl_full
 
 
     def GetSelectedVertex(self, coords):
     def GetSelectedVertex(self, coords):
-        """Get PseudoDC id(s) of vertex (of selected line)
+        """!Get PseudoDC id(s) of vertex (of selected line)
         on position 'coords'
         on position 'coords'
 
 
         @param coords click position
         @param coords click position
@@ -941,7 +941,7 @@ class CDisplayDriver(AbstractDisplayDriver):
         return id 
         return id 
 
 
     def SetSelected(self, id, field=-1):
     def SetSelected(self, id, field=-1):
-        """Set selected vector features
+        """!Set selected vector features
 
 
         @param id list of feature ids/categories to be selected
         @param id list of feature ids/categories to be selected
         @param field field(layer) number, -1 for ids instead of cats
         @param field field(layer) number, -1 for ids instead of cats
@@ -952,7 +952,7 @@ class CDisplayDriver(AbstractDisplayDriver):
         self.__display.SetSelected(id, field)
         self.__display.SetSelected(id, field)
 
 
     def UnSelect(self, id):
     def UnSelect(self, id):
-        """Unselect vector features
+        """!Unselect vector features
 
 
         @param id list of feature id(s)
         @param id list of feature id(s)
         """
         """
@@ -963,7 +963,7 @@ class CDisplayDriver(AbstractDisplayDriver):
         self.__display.UnSelect(id)
         self.__display.UnSelect(id)
 
 
     def UpdateRegion(self):
     def UpdateRegion(self):
-        """Set geographical region
+        """!Set geographical region
         
         
         Needed for 'cell2pixel' conversion"""
         Needed for 'cell2pixel' conversion"""
         
         
@@ -981,7 +981,7 @@ class CDisplayDriver(AbstractDisplayDriver):
                                  map.width, map.height)
                                  map.width, map.height)
 
 
     def GetMapBoundingBox(self):
     def GetMapBoundingBox(self):
-        """Return bounding box of given vector map layer
+        """!Return bounding box of given vector map layer
 
 
         @return (w,s,b,e,n,t)
         @return (w,s,b,e,n,t)
         """
         """
@@ -989,11 +989,11 @@ class CDisplayDriver(AbstractDisplayDriver):
         return self.__display.GetMapBoundingBox()
         return self.__display.GetMapBoundingBox()
 
 
     def DrawSelected(self, draw=True):
     def DrawSelected(self, draw=True):
-        """Show/hide selected features"""
+        """!Show/hide selected features"""
         self.__display.DrawSelected(draw)
         self.__display.DrawSelected(draw)
         
         
     def UpdateSettings(self, alpha=255):
     def UpdateSettings(self, alpha=255):
-        """Update display driver settings"""
+        """!Update display driver settings"""
         # TODO map units
         # TODO map units
 
 
         if not self.__display:
         if not self.__display:
@@ -1119,7 +1119,7 @@ class VDigitSettingsDialog(wx.Dialog):
         mainSizer.Fit(self)
         mainSizer.Fit(self)
 
 
     def __CreateSymbologyPage(self, notebook):
     def __CreateSymbologyPage(self, notebook):
-        """Create notebook page concerning with symbology settings"""
+        """!Create notebook page concerning with symbology settings"""
 
 
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         notebook.AddPage(page=panel, text=_("Symbology"))
         notebook.AddPage(page=panel, text=_("Symbology"))
@@ -1157,7 +1157,7 @@ class VDigitSettingsDialog(wx.Dialog):
         return panel
         return panel
 
 
     def __CreateGeneralPage(self, notebook):
     def __CreateGeneralPage(self, notebook):
-        """Create notebook page concerning with symbology settings"""
+        """!Create notebook page concerning with symbology settings"""
 
 
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         notebook.AddPage(page=panel, text=_("General"))
         notebook.AddPage(page=panel, text=_("General"))
@@ -1303,7 +1303,7 @@ class VDigitSettingsDialog(wx.Dialog):
         return panel
         return panel
 
 
     def __CreateQueryPage(self, notebook):
     def __CreateQueryPage(self, notebook):
-        """Create notebook page for query tool"""
+        """!Create notebook page for query tool"""
 
 
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         notebook.AddPage(page=panel, text=_("Query tool"))
         notebook.AddPage(page=panel, text=_("Query tool"))
@@ -1385,7 +1385,7 @@ class VDigitSettingsDialog(wx.Dialog):
         return panel
         return panel
 
 
     def __CreateAttributesPage(self, notebook):
     def __CreateAttributesPage(self, notebook):
-        """Create notebook page for query tool"""
+        """!Create notebook page for query tool"""
 
 
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
         notebook.AddPage(page=panel, text=_("Attributes"))
         notebook.AddPage(page=panel, text=_("Attributes"))
@@ -1514,7 +1514,7 @@ class VDigitSettingsDialog(wx.Dialog):
             (_("Direction"), "direction"),)
             (_("Direction"), "direction"),)
 
 
     def OnChangeCategoryMode(self, event):
     def OnChangeCategoryMode(self, event):
-        """Change category mode"""
+        """!Change category mode"""
 
 
         mode = event.GetSelection()
         mode = event.GetSelection()
         UserSettings.Set(group='vdigit', key="categoryMode", subkey='selection', value=mode)
         UserSettings.Set(group='vdigit', key="categoryMode", subkey='selection', value=mode)
@@ -1530,7 +1530,7 @@ class VDigitSettingsDialog(wx.Dialog):
         self.category.SetValue(UserSettings.Get(group='vdigit', key='category', subkey='value'))
         self.category.SetValue(UserSettings.Get(group='vdigit', key='category', subkey='value'))
 
 
     def OnChangeLayer(self, event):
     def OnChangeLayer(self, event):
-        """Layer changed"""
+        """!Layer changed"""
         layer = int(event.GetString())
         layer = int(event.GetString())
         if layer > 0:
         if layer > 0:
             UserSettings.Set(group='vdigit', key='layer', subkey='value', value=layer)
             UserSettings.Set(group='vdigit', key='layer', subkey='value', value=layer)
@@ -1540,11 +1540,11 @@ class VDigitSettingsDialog(wx.Dialog):
         event.Skip()
         event.Skip()
 
 
     def OnChangeAddRecord(self, event):
     def OnChangeAddRecord(self, event):
-        """Checkbox 'Add new record' status changed"""
+        """!Checkbox 'Add new record' status changed"""
         self.category.SetValue(self.parent.digit.SetCategory())
         self.category.SetValue(self.parent.digit.SetCategory())
             
             
     def OnChangeSnappingValue(self, event):
     def OnChangeSnappingValue(self, event):
-        """Change snapping value - update static text"""
+        """!Change snapping value - update static text"""
         value = self.snappingValue.GetValue()
         value = self.snappingValue.GetValue()
         
         
         if value < 0:
         if value < 0:
@@ -1572,7 +1572,7 @@ class VDigitSettingsDialog(wx.Dialog):
         event.Skip()
         event.Skip()
 
 
     def OnChangeSnappingUnits(self, event):
     def OnChangeSnappingUnits(self, event):
-        """Snapping units change -> update static text"""
+        """!Snapping units change -> update static text"""
         value = self.snappingValue.GetValue()
         value = self.snappingValue.GetValue()
         units = self.snappingUnit.GetStringSelection()
         units = self.snappingUnit.GetStringSelection()
         threshold = self.parent.digit.driver.GetThreshold(value=value, units=units)
         threshold = self.parent.digit.driver.GetThreshold(value=value, units=units)
@@ -1589,7 +1589,7 @@ class VDigitSettingsDialog(wx.Dialog):
         event.Skip()
         event.Skip()
 
 
     def OnChangeQuery(self, event):
     def OnChangeQuery(self, event):
-        """Change query"""
+        """!Change query"""
         if self.queryLength.GetValue():
         if self.queryLength.GetValue():
             # length
             # length
             self.queryLengthSL.Enable(True)
             self.queryLengthSL.Enable(True)
@@ -1604,7 +1604,7 @@ class VDigitSettingsDialog(wx.Dialog):
             self.queryDangleValue.Enable(True)
             self.queryDangleValue.Enable(True)
 
 
     def OnSave(self, event):
     def OnSave(self, event):
-        """Button 'Save' clicked"""
+        """!Button 'Save' clicked"""
         self.UpdateSettings()
         self.UpdateSettings()
         self.parent.toolbars['vdigit'].settingsDialog = None
         self.parent.toolbars['vdigit'].settingsDialog = None
 
 
@@ -1620,11 +1620,11 @@ class VDigitSettingsDialog(wx.Dialog):
         event.Skip()
         event.Skip()
         
         
     def OnApply(self, event):
     def OnApply(self, event):
-        """Button 'Apply' clicked"""
+        """!Button 'Apply' clicked"""
         self.UpdateSettings()
         self.UpdateSettings()
 
 
     def OnCancel(self, event):
     def OnCancel(self, event):
-        """Button 'Cancel' clicked"""
+        """!Button 'Cancel' clicked"""
         self.parent.toolbars['vdigit'].settingsDialog = None
         self.parent.toolbars['vdigit'].settingsDialog = None
         self.Destroy()
         self.Destroy()
 
 
@@ -1632,7 +1632,7 @@ class VDigitSettingsDialog(wx.Dialog):
             event.Skip()
             event.Skip()
         
         
     def UpdateSettings(self):
     def UpdateSettings(self):
-        """Update UserSettings"""
+        """!Update UserSettings"""
 
 
         # symbology
         # symbology
         for key, (enabled, color) in self.symbology.iteritems():
         for key, (enabled, color) in self.symbology.iteritems():
@@ -1907,19 +1907,19 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
         self.Bind(wx.EVT_LIST_COL_CLICK, self.OnColClick, self.list)
         self.Bind(wx.EVT_LIST_COL_CLICK, self.OnColClick, self.list)
 
 
     def GetListCtrl(self):
     def GetListCtrl(self):
-        """Used by ColumnSorterMixin"""
+        """!Used by ColumnSorterMixin"""
         return self.list
         return self.list
 
 
     def OnColClick(self, event):
     def OnColClick(self, event):
-        """Click on column header (order by)"""
+        """!Click on column header (order by)"""
         event.Skip()
         event.Skip()
         
         
     def OnBeginEdit(self, event):
     def OnBeginEdit(self, event):
-        """Editing of item started"""
+        """!Editing of item started"""
         event.Allow()
         event.Allow()
 
 
     def OnEndEdit(self, event):
     def OnEndEdit(self, event):
-        """Finish editing of item"""
+        """!Finish editing of item"""
         itemIndex = event.GetIndex()
         itemIndex = event.GetIndex()
         layerOld = int (self.list.GetItem(itemIndex, 0).GetText())
         layerOld = int (self.list.GetItem(itemIndex, 0).GetText())
         catOld = int (self.list.GetItem(itemIndex, 1).GetText())
         catOld = int (self.list.GetItem(itemIndex, 1).GetText())
@@ -1951,7 +1951,7 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
             return False
             return False
 
 
     def OnRightDown(self, event):
     def OnRightDown(self, event):
-        """Mouse right button down"""
+        """!Mouse right button down"""
         x = event.GetX()
         x = event.GetX()
         y = event.GetY()
         y = event.GetY()
         item, flags = self.list.HitTest((x, y))
         item, flags = self.list.HitTest((x, y))
@@ -1963,7 +1963,7 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
         event.Skip()
         event.Skip()
 
 
     def OnRightUp(self, event):
     def OnRightUp(self, event):
-        """Mouse right button up"""
+        """!Mouse right button up"""
         if not hasattr(self, "popupID1"):
         if not hasattr(self, "popupID1"):
             self.popupID1 = wx.NewId()
             self.popupID1 = wx.NewId()
             self.popupID2 = wx.NewId()
             self.popupID2 = wx.NewId()
@@ -1986,11 +1986,11 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
         menu.Destroy()
         menu.Destroy()
 
 
     def OnItemSelected(self, event):
     def OnItemSelected(self, event):
-        """Item selected"""
+        """!Item selected"""
         event.Skip()
         event.Skip()
 
 
     def OnItemDelete(self, event):
     def OnItemDelete(self, event):
-        """Delete selected item(s) from the list (layer/category pair)"""
+        """!Delete selected item(s) from the list (layer/category pair)"""
         item = self.list.GetFirstSelected()
         item = self.list.GetFirstSelected()
         while item != -1:
         while item != -1:
             layer = int (self.list.GetItem(item, 0).GetText())
             layer = int (self.list.GetItem(item, 0).GetText())
@@ -2003,14 +2003,14 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
         event.Skip()
         event.Skip()
         
         
     def OnItemDeleteAll(self, event):
     def OnItemDeleteAll(self, event):
-        """Delete all items from the list"""
+        """!Delete all items from the list"""
         self.list.DeleteAllItems()
         self.list.DeleteAllItems()
         self.cats[self.fid] = {}
         self.cats[self.fid] = {}
 
 
         event.Skip()
         event.Skip()
 
 
     def OnFeature(self, event):
     def OnFeature(self, event):
-        """Feature id changed (on duplicates)"""
+        """!Feature id changed (on duplicates)"""
         self.fid = int(event.GetString())
         self.fid = int(event.GetString())
         
         
         self.itemDataMap = self.list.Populate(self.cats[self.fid],
         self.itemDataMap = self.list.Populate(self.cats[self.fid],
@@ -2026,7 +2026,7 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
         event.Skip()
         event.Skip()
         
         
     def __GetCategories(self, coords, qdist):
     def __GetCategories(self, coords, qdist):
-        """Get layer/category pairs for all available
+        """!Get layer/category pairs for all available
         layers
         layers
 
 
         Return True line found or False if not found"""
         Return True line found or False if not found"""
@@ -2056,7 +2056,7 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
         return True
         return True
 
 
     def OnReload(self, event):
     def OnReload(self, event):
-        """Reload button pressed"""
+        """!Reload button pressed"""
         # restore original list
         # restore original list
         self.cats = copy.deepcopy(self.cats_orig)
         self.cats = copy.deepcopy(self.cats_orig)
 
 
@@ -2067,7 +2067,7 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
         event.Skip()
         event.Skip()
 
 
     def OnCancel(self, event):
     def OnCancel(self, event):
-        """Cancel button pressed"""
+        """!Cancel button pressed"""
         self.parent.parent.dialogs['category'] = None
         self.parent.parent.dialogs['category'] = None
         if self.parent.parent.digit:
         if self.parent.parent.digit:
             self.parent.parent.digit.driver.SetSelected([])
             self.parent.parent.digit.driver.SetSelected([])
@@ -2078,7 +2078,7 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
         self.Close()
         self.Close()
 
 
     def OnApply(self, event):
     def OnApply(self, event):
-        """Apply button pressed"""
+        """!Apply button pressed"""
         for fid in self.cats.keys():
         for fid in self.cats.keys():
             newfid = self.ApplyChanges(fid)
             newfid = self.ApplyChanges(fid)
             if fid == self.fid:
             if fid == self.fid:
@@ -2131,12 +2131,12 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
         return newfid
         return newfid
 
 
     def OnOK(self, event):
     def OnOK(self, event):
-        """OK button pressed"""
+        """!OK button pressed"""
         self.OnApply(event)
         self.OnApply(event)
         self.OnCancel(event)
         self.OnCancel(event)
 
 
     def OnAddCat(self, event):
     def OnAddCat(self, event):
-        """Button 'Add' new category pressed"""
+        """!Button 'Add' new category pressed"""
         try:
         try:
             layer = int(self.layerNew.GetStringSelection())
             layer = int(self.layerNew.GetStringSelection())
             cat   = int(self.catNew.GetValue())
             cat   = int(self.catNew.GetValue())
@@ -2170,11 +2170,11 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
         return True
         return True
 
 
     def GetLine(self):
     def GetLine(self):
-        """Get id of selected line of 'None' if no line is selected"""
+        """!Get id of selected line of 'None' if no line is selected"""
         return self.cats.keys()
         return self.cats.keys()
 
 
     def UpdateDialog(self, query=None, cats=None):
     def UpdateDialog(self, query=None, cats=None):
-        """Update dialog
+        """!Update dialog
         
         
         @param query {coordinates, distance} - v.edit/v.what
         @param query {coordinates, distance} - v.edit/v.what
         @param cats  directory layer/cats    - vdigit
         @param cats  directory layer/cats    - vdigit
@@ -2229,7 +2229,7 @@ class VDigitCategoryDialog(wx.Dialog, listmix.ColumnSorterMixin):
 class CategoryListCtrl(wx.ListCtrl,
 class CategoryListCtrl(wx.ListCtrl,
                        listmix.ListCtrlAutoWidthMixin,
                        listmix.ListCtrlAutoWidthMixin,
                        listmix.TextEditMixin):
                        listmix.TextEditMixin):
-    """List of layers/categories"""
+    """!List of layers/categories"""
 
 
     def __init__(self, parent, id, pos=wx.DefaultPosition,
     def __init__(self, parent, id, pos=wx.DefaultPosition,
                  size=wx.DefaultSize, style=0):
                  size=wx.DefaultSize, style=0):
@@ -2242,7 +2242,7 @@ class CategoryListCtrl(wx.ListCtrl,
         listmix.TextEditMixin.__init__(self)
         listmix.TextEditMixin.__init__(self)
 
 
     def Populate(self, cats, update=False):
     def Populate(self, cats, update=False):
-        """Populate the list"""
+        """!Populate the list"""
 
 
         itemData = {} # requested by sorter
         itemData = {} # requested by sorter
 
 
@@ -2395,7 +2395,7 @@ class VDigitDuplicatesDialog(wx.Dialog):
         self.SetMinSize((250, 180))
         self.SetMinSize((250, 180))
 
 
     def GetUnSelected(self):
     def GetUnSelected(self):
-        """Get unselected items (feature id)
+        """!Get unselected items (feature id)
 
 
         @return list of ids
         @return list of ids
         """
         """
@@ -2410,7 +2410,7 @@ class VDigitDuplicatesDialog(wx.Dialog):
         return ids
         return ids
 
 
 class CheckListFeature(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin, listmix.CheckListCtrlMixin):
 class CheckListFeature(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin, listmix.CheckListCtrlMixin):
-    """List of mapset/owner/group"""
+    """!List of mapset/owner/group"""
     def __init__(self, parent, data,
     def __init__(self, parent, data,
                  pos=wx.DefaultPosition, log=None):
                  pos=wx.DefaultPosition, log=None):
         self.parent = parent
         self.parent = parent
@@ -2429,7 +2429,7 @@ class CheckListFeature(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin, listmix.Chec
         self.LoadData(self.data)
         self.LoadData(self.data)
 
 
     def LoadData(self, data):
     def LoadData(self, data):
-        """Load data into list"""
+        """!Load data into list"""
         self.InsertColumn(0, _('Feature id'))
         self.InsertColumn(0, _('Feature id'))
         self.InsertColumn(1, _('Layer (Categories)'))
         self.InsertColumn(1, _('Layer (Categories)'))
 
 
@@ -2445,5 +2445,5 @@ class CheckListFeature(wx.ListCtrl, listmix.ListCtrlAutoWidthMixin, listmix.Chec
         self.SetColumnWidth(col=1, width=wx.LIST_AUTOSIZE_USEHEADER)
         self.SetColumnWidth(col=1, width=wx.LIST_AUTOSIZE_USEHEADER)
                 
                 
     def OnCheckItem(self, index, flag):
     def OnCheckItem(self, index, flag):
-        """Mapset checked/unchecked"""
+        """!Mapset checked/unchecked"""
         pass
         pass

+ 13 - 13
gui/wxpython/gui_modules/workspace.py

@@ -69,7 +69,7 @@ class ProcessWorkspaceFile(HandlerBase):
         self.displayIndex = -1 # first display has index '0'
         self.displayIndex = -1 # first display has index '0'
 
 
     def __filterValue(self, value):
     def __filterValue(self, value):
-        """Translate value"""
+        """!Translate value"""
         value = value.replace('&lt;', '<')
         value = value.replace('&lt;', '<')
         value = value.replace('&gt;', '>')
         value = value.replace('&gt;', '>')
         
         
@@ -342,7 +342,7 @@ class ProcessWorkspaceFile(HandlerBase):
             self.value += ch
             self.value += ch
 
 
 class WriteWorkspaceFile(object):
 class WriteWorkspaceFile(object):
-    """Generic class for writing workspace file"""
+    """!Generic class for writing workspace file"""
     def __init__(self, lmgr, file):
     def __init__(self, lmgr, file):
         self.file =  file
         self.file =  file
         self.lmgr = lmgr
         self.lmgr = lmgr
@@ -403,14 +403,14 @@ class WriteWorkspaceFile(object):
         file.write('%s</gxw>\n' % (' ' * self.indent))
         file.write('%s</gxw>\n' % (' ' * self.indent))
 
 
     def __filterValue(self, value):
     def __filterValue(self, value):
-        """Make value XML-valid"""
+        """!Make value XML-valid"""
         value = value.replace('<', '&lt;')
         value = value.replace('<', '&lt;')
         value = value.replace('>', '&gt;')
         value = value.replace('>', '&gt;')
         
         
         return value
         return value
     
     
     def __writeLayer(self, mapTree, item):
     def __writeLayer(self, mapTree, item):
-        """Write bunch of layers to GRASS Workspace XML file"""
+        """!Write bunch of layers to GRASS Workspace XML file"""
         self.indent += 4
         self.indent += 4
         itemSelected = mapTree.GetSelections()
         itemSelected = mapTree.GetSelections()
         while item and item.IsOk():
         while item and item.IsOk():
@@ -481,7 +481,7 @@ class WriteWorkspaceFile(object):
         self.indent -= 4
         self.indent -= 4
 
 
     def __writeNvizSurface(self, data):
     def __writeNvizSurface(self, data):
-        """Save Nviz raster layer properties to workspace
+        """!Save Nviz raster layer properties to workspace
 
 
         @param data Nviz layer properties
         @param data Nviz layer properties
         """
         """
@@ -555,7 +555,7 @@ class WriteWorkspaceFile(object):
         self.indent -= 4
         self.indent -= 4
 
 
     def __writeNvizVector(self, data):
     def __writeNvizVector(self, data):
-        """Save Nviz vector layer properties (lines/points) to workspace
+        """!Save Nviz vector layer properties (lines/points) to workspace
 
 
         @param data Nviz layer properties
         @param data Nviz layer properties
         """
         """
@@ -601,7 +601,7 @@ class WriteWorkspaceFile(object):
 
 
 class ProcessGrcFile(object):
 class ProcessGrcFile(object):
     def __init__(self, filename):
     def __init__(self, filename):
-        """Process GRC file"""
+        """!Process GRC file"""
         self.filename = filename
         self.filename = filename
 
 
         # elements
         # elements
@@ -617,7 +617,7 @@ class ProcessGrcFile(object):
         self.num_error = 0
         self.num_error = 0
 
 
     def read(self, parent):
     def read(self, parent):
-        """Read GRC file
+        """!Read GRC file
 
 
         @param parent parent window
         @param parent parent window
 
 
@@ -651,7 +651,7 @@ class ProcessGrcFile(object):
         return self.layers
         return self.layers
 
 
     def process_line(self, line, line_id):
     def process_line(self, line, line_id):
-        """Process line definition"""
+        """!Process line definition"""
         element = self._get_element(line)
         element = self._get_element(line)
         if element == 'Group':
         if element == 'Group':
             self.groupName = self._get_value(line)
             self.groupName = self._get_value(line)
@@ -862,18 +862,18 @@ class ProcessGrcFile(object):
             self.num_error += 1
             self.num_error += 1
 
 
     def _get_value(self, line):
     def _get_value(self, line):
-        """Get value of element"""
+        """!Get value of element"""
         try:
         try:
             return line.strip(' ').split(' ')[1].strip(' ')
             return line.strip(' ').split(' ')[1].strip(' ')
         except:
         except:
             return ''
             return ''
 
 
     def _get_element(self, line):
     def _get_element(self, line):
-        """Get element tag"""
+        """!Get element tag"""
         return line.strip(' ').split(' ')[0].strip(' ')
         return line.strip(' ').split(' ')[0].strip(' ')
 
 
     def _get_cmd_param_index(self, cmd, name):
     def _get_cmd_param_index(self, cmd, name):
-        """Get index of parameter in cmd list
+        """!Get index of parameter in cmd list
 
 
         @param cmd cmd list
         @param cmd cmd list
         @param name parameter name
         @param name parameter name
@@ -894,7 +894,7 @@ class ProcessGrcFile(object):
         return -1
         return -1
 
 
     def _color_name_to_rgb(self, value):
     def _color_name_to_rgb(self, value):
-        """Convert color name (#) to rgb values"""
+        """!Convert color name (#) to rgb values"""
         col = wx.NamedColour(value)
         col = wx.NamedColour(value)
         return str(col.Red()) + ':' + \
         return str(col.Red()) + ':' + \
             str(col.Green()) + ':' + \
             str(col.Green()) + ':' + \

+ 26 - 26
gui/wxpython/gui_modules/wxgui_utils.py

@@ -208,7 +208,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         event.Skip()
         event.Skip()
         
         
     def OnKeyUp(self, event):
     def OnKeyUp(self, event):
-        """Key pressed"""
+        """!Key pressed"""
         key = event.GetKeyCode()
         key = event.GetKeyCode()
         if key == wx.WXK_DELETE and self.lmgr:
         if key == wx.WXK_DELETE and self.lmgr:
             self.lmgr.OnDeleteLayer(None)
             self.lmgr.OnDeleteLayer(None)
@@ -216,11 +216,11 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         event.Skip()
         event.Skip()
 
 
     #def OnChangeLayerName (self, event):
     #def OnChangeLayerName (self, event):
-    #    """Change layer name"""
+    #    """!Change layer name"""
     #    Debug.msg (3, "LayerTree.OnChangeLayerName: name=%s" % event.GetLabel())
     #    Debug.msg (3, "LayerTree.OnChangeLayerName: name=%s" % event.GetLabel())
 
 
     def OnLayerContextMenu (self, event):
     def OnLayerContextMenu (self, event):
-        """Contextual menu for item/layer"""
+        """!Contextual menu for item/layer"""
         if not self.layer_selected:
         if not self.layer_selected:
             event.Skip()
             event.Skip()
             return
             return
@@ -377,7 +377,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         self.popupMenu.Destroy()
         self.popupMenu.Destroy()
 
 
     def OnMetadata(self, event):
     def OnMetadata(self, event):
-        """Print metadata of raster/vector map layer
+        """!Print metadata of raster/vector map layer
         TODO: Dialog to modify metadata
         TODO: Dialog to modify metadata
         """
         """
         mapLayer = self.GetPyData(self.layer_selected)[0]['maplayer']
         mapLayer = self.GetPyData(self.layer_selected)[0]['maplayer']
@@ -393,7 +393,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         self.lmgr.goutput.RunCmd(cmd, switchPage=True)
         self.lmgr.goutput.RunCmd(cmd, switchPage=True)
 
 
     def OnSetCompRegFromRaster(self, event):
     def OnSetCompRegFromRaster(self, event):
-        """Set computational region from selected raster map (ignore NULLs)"""
+        """!Set computational region from selected raster map (ignore NULLs)"""
         mapLayer = self.GetPyData(self.layer_selected)[0]['maplayer']
         mapLayer = self.GetPyData(self.layer_selected)[0]['maplayer']
         
         
         cmd = ['g.region',
         cmd = ['g.region',
@@ -404,7 +404,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         self.lmgr.goutput.RunCmd(cmd)
         self.lmgr.goutput.RunCmd(cmd)
          
          
     def OnSetCompRegFromMap(self, event):
     def OnSetCompRegFromMap(self, event):
-        """Set computational region from selected raster/vector map"""
+        """!Set computational region from selected raster/vector map"""
         rast = []
         rast = []
         vect = []
         vect = []
         rast3d = []
         rast3d = []
@@ -433,7 +433,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             self.lmgr.goutput.RunCmd(cmd)
             self.lmgr.goutput.RunCmd(cmd)
         
         
     def OnProfile(self, event):
     def OnProfile(self, event):
-        """Plot profile of given raster map layer"""
+        """!Plot profile of given raster map layer"""
         mapLayer = self.GetPyData(self.layer_selected)[0]['maplayer']
         mapLayer = self.GetPyData(self.layer_selected)[0]['maplayer']
         if not mapLayer.name:
         if not mapLayer.name:
             wx.MessageBox(parent=self,
             wx.MessageBox(parent=self,
@@ -456,7 +456,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             self.profileFrame.Show()
             self.profileFrame.Show()
         
         
     def OnColorTable(self, event):
     def OnColorTable(self, event):
-        """Set color table for raster map"""
+        """!Set color table for raster map"""
         name = self.GetPyData(self.layer_selected)[0]['maplayer'].name
         name = self.GetPyData(self.layer_selected)[0]['maplayer'].name
         menuform.GUI().ParseCommand(['r.colors',
         menuform.GUI().ParseCommand(['r.colors',
                                      'map=%s' % name],
                                      'map=%s' % name],
@@ -536,7 +536,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         self.mapdisplay.imgVectorMap = None
         self.mapdisplay.imgVectorMap = None
         
         
     def OnSetBgMap(self, event):
     def OnSetBgMap(self, event):
-        """Set background vector map for editing sesstion"""
+        """!Set background vector map for editing sesstion"""
         if event.IsChecked():
         if event.IsChecked():
             mapName = self.GetPyData(self.layer_selected)[0]['maplayer'].GetName()
             mapName = self.GetPyData(self.layer_selected)[0]['maplayer'].GetName()
             UserSettings.Set(group='vdigit', key='bgmap', subkey='value',
             UserSettings.Set(group='vdigit', key='bgmap', subkey='value',
@@ -546,11 +546,11 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                              value='', internal=True)
                              value='', internal=True)
         
         
     def OnPopupProperties (self, event):
     def OnPopupProperties (self, event):
-        """Popup properties dialog"""
+        """!Popup properties dialog"""
         self.PropertiesDialog(self.layer_selected)
         self.PropertiesDialog(self.layer_selected)
 
 
     def OnPopupOpacityLevel(self, event):
     def OnPopupOpacityLevel(self, event):
-        """Popup opacity level indicator"""
+        """!Popup opacity level indicator"""
         if not self.GetPyData(self.layer_selected)[0]['ctrl']:
         if not self.GetPyData(self.layer_selected)[0]['ctrl']:
             return
             return
 
 
@@ -590,7 +590,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             #    self.mapdisplay.OnRender(None)
             #    self.mapdisplay.OnRender(None)
 
 
     def OnNvizProperties(self, event):
     def OnNvizProperties(self, event):
-        """Nviz-related properties (raster/vector/volume)
+        """!Nviz-related properties (raster/vector/volume)
 
 
         @todo vector/volume
         @todo vector/volume
         """
         """
@@ -600,12 +600,12 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         self.mapdisplay.nvizToolWin.SetPage('surface')
         self.mapdisplay.nvizToolWin.SetPage('surface')
 
 
     def RenameLayer (self, event):
     def RenameLayer (self, event):
-        """Rename layer"""
+        """!Rename layer"""
         self.EditLabel(self.layer_selected)
         self.EditLabel(self.layer_selected)
 
 
     def AddLayer(self, ltype, lname=None, lchecked=None,
     def AddLayer(self, ltype, lname=None, lchecked=None,
                  lopacity=1.0, lcmd=None, lgroup=None, lnviz=None):
                  lopacity=1.0, lcmd=None, lgroup=None, lnviz=None):
-        """Add new item to the layer tree, create corresponding MapLayer instance.
+        """!Add new item to the layer tree, create corresponding MapLayer instance.
         Launch property dialog if needed (raster, vector, etc.)
         Launch property dialog if needed (raster, vector, etc.)
 
 
         @param ltype layer type (raster, vector, 3d-raster, ...)
         @param ltype layer type (raster, vector, 3d-raster, ...)
@@ -822,7 +822,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         return layer
         return layer
 
 
     def PropertiesDialog (self, layer, show=True):
     def PropertiesDialog (self, layer, show=True):
-        """Launch the properties dialog"""
+        """!Launch the properties dialog"""
         if self.GetPyData(layer)[0].has_key('propwin') and \
         if self.GetPyData(layer)[0].has_key('propwin') and \
                 self.GetPyData(layer)[0]['propwin'] is not None:
                 self.GetPyData(layer)[0]['propwin'] is not None:
             # recycle GUI dialogs
             # recycle GUI dialogs
@@ -912,7 +912,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             pass
             pass
         
         
     def OnActivateLayer(self, event):
     def OnActivateLayer(self, event):
-        """Double click on the layer item.
+        """!Double click on the layer item.
         Launch property dialog, or expand/collapse group of items, etc."""
         Launch property dialog, or expand/collapse group of items, etc."""
         
         
         layer = event.GetItem()
         layer = event.GetItem()
@@ -927,7 +927,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 self.Expand(layer)
                 self.Expand(layer)
 
 
     def OnDeleteLayer(self, event):
     def OnDeleteLayer(self, event):
-        """Remove selected layer item from the layer tree"""
+        """!Remove selected layer item from the layer tree"""
 
 
         item = event.GetItem()
         item = event.GetItem()
 
 
@@ -968,7 +968,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         event.Skip()
         event.Skip()
 
 
     def OnLayerChecked(self, event):
     def OnLayerChecked(self, event):
-        """Enable/disable data layer"""
+        """!Enable/disable data layer"""
         item    = event.GetItem()
         item    = event.GetItem()
         checked = item.IsChecked()
         checked = item.IsChecked()
 
 
@@ -1043,7 +1043,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         #    self.mapdisplay.OnRender(None)
         #    self.mapdisplay.OnRender(None)
 
 
     def OnCmdChanged(self, event):
     def OnCmdChanged(self, event):
-        """Change command string"""
+        """!Change command string"""
         ctrl = event.GetEventObject().GetId()
         ctrl = event.GetEventObject().GetId()
         cmd = event.GetString()
         cmd = event.GetString()
         
         
@@ -1061,7 +1061,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         event.Skip()
         event.Skip()
 
 
     def OnChangeSel(self, event):
     def OnChangeSel(self, event):
-        """Selection changed"""
+        """!Selection changed"""
         oldlayer = event.GetOldItem()
         oldlayer = event.GetOldItem()
         layer = event.GetItem()
         layer = event.GetItem()
         if layer == oldlayer:
         if layer == oldlayer:
@@ -1275,7 +1275,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         return newItem
         return newItem
 
 
     def GetOptData(self, dcmd, layer, params, propwin):
     def GetOptData(self, dcmd, layer, params, propwin):
-        """Process layer data"""
+        """!Process layer data"""
         # set layer text to map name
         # set layer text to map name
         if dcmd:
         if dcmd:
             mapLayer = self.GetPyData(layer)[0]['maplayer']
             mapLayer = self.GetPyData(layer)[0]['maplayer']
@@ -1341,7 +1341,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                     mapWin.ResetView()
                     mapWin.ResetView()
         
         
     def ReorderLayers(self):
     def ReorderLayers(self):
-        """Add commands from data associated with
+        """!Add commands from data associated with
         any valid layers (checked or not) to layer list in order to
         any valid layers (checked or not) to layer list in order to
         match layers in layer tree."""
         match layers in layer tree."""
 
 
@@ -1374,7 +1374,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         self.reorder = False
         self.reorder = False
 
 
     def ChangeLayer(self, item):
     def ChangeLayer(self, item):
-        """Change layer"""
+        """!Change layer"""
         type = self.GetPyData(item)[0]['type']
         type = self.GetPyData(item)[0]['type']
         layerName = None
         layerName = None
         
         
@@ -1421,12 +1421,12 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         # self.Map.Clean()
         # self.Map.Clean()
 
 
     def FindItemByData(self, key, value):
     def FindItemByData(self, key, value):
-        """Find item based on key and value (see PyData[0])"""
+        """!Find item based on key and value (see PyData[0])"""
         item = self.GetFirstChild(self.root)[0]
         item = self.GetFirstChild(self.root)[0]
         return self.__FindSubItemByData(item, key, value)
         return self.__FindSubItemByData(item, key, value)
 
 
     def EnableItemType(self, type, enable=True):
     def EnableItemType(self, type, enable=True):
-        """Enable/disable items in layer tree"""
+        """!Enable/disable items in layer tree"""
         item = self.GetFirstChild(self.root)[0]
         item = self.GetFirstChild(self.root)[0]
         while item and item.IsOk():
         while item and item.IsOk():
             mapLayer = self.GetPyData(item)[0]['maplayer']
             mapLayer = self.GetPyData(item)[0]['maplayer']
@@ -1436,7 +1436,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             item = self.GetNextSibling(item)
             item = self.GetNextSibling(item)
         
         
     def __FindSubItemByData(self, item, key, value):
     def __FindSubItemByData(self, item, key, value):
-        """Support method for FindItemByValue"""
+        """!Support method for FindItemByValue"""
         while item and item.IsOk():
         while item and item.IsOk():
             itemValue = self.GetPyData(item)[0][key]
             itemValue = self.GetPyData(item)[0][key]
             if value == itemValue:
             if value == itemValue:

+ 2 - 2
gui/wxpython/icons/icon.py

@@ -103,11 +103,11 @@ class MetaIcon:
             self.description = ''
             self.description = ''
 
 
     def __str__(self):
     def __str__(self):
-        """Debugging"""
+        """!Debugging"""
         return "label=%s, img=%s, type=%s" % (self.label, self.imagepath, self.type)
         return "label=%s, img=%s, type=%s" % (self.label, self.imagepath, self.type)
 
 
     def GetBitmap(self, size=None):
     def GetBitmap(self, size=None):
-        """Get bitmap"""
+        """!Get bitmap"""
         bmp = None
         bmp = None
 
 
         if self.type == 'wx':
         if self.type == 'wx':

+ 1 - 1
gui/wxpython/support/update_menu_desc.py

@@ -61,7 +61,7 @@ def read_menudata():
         print '                 ),'
         print '                 ),'
 
 
 def get_description(item):
 def get_description(item):
-    """Return command desctiption based on interface
+    """!Return command desctiption based on interface
     description"""
     description"""
     print 
     print 
     desc, type, cmd = item
     desc, type, cmd = item

+ 55 - 55
gui/wxpython/wxgui.py

@@ -193,13 +193,13 @@ class GMFrame(wx.Frame):
         self.Raise()
         self.Raise()
         
         
     def __createCommandPrompt(self):
     def __createCommandPrompt(self):
-        """Creates command-line input area"""
+        """!Creates command-line input area"""
         p = prompt.GPrompt(self)
         p = prompt.GPrompt(self)
 
 
         return p.GetPanel(), p.GetInput()
         return p.GetPanel(), p.GetInput()
     
     
     def __createMenuBar(self):
     def __createMenuBar(self):
-        """Creates menubar"""
+        """!Creates menubar"""
 
 
         self.menubar = wx.MenuBar()
         self.menubar = wx.MenuBar()
         menud = menudata.Data()
         menud = menudata.Data()
@@ -213,7 +213,7 @@ class GMFrame(wx.Frame):
         return self.menubar
         return self.menubar
 
 
     def __createMenu(self, menuData):
     def __createMenu(self, menuData):
-        """Creates menu"""
+        """!Creates menu"""
 
 
         menu = wx.Menu()
         menu = wx.Menu()
         for eachItem in menuData:
         for eachItem in menuData:
@@ -227,7 +227,7 @@ class GMFrame(wx.Frame):
         return menu
         return menu
 
 
     def __createMenuItem(self, menu, label, help, handler, gcmd, kind=wx.ITEM_NORMAL):
     def __createMenuItem(self, menu, label, help, handler, gcmd, kind=wx.ITEM_NORMAL):
-        """Creates menu items"""
+        """!Creates menu items"""
 
 
         if not label:
         if not label:
             menu.AppendSeparator()
             menu.AppendSeparator()
@@ -251,7 +251,7 @@ class GMFrame(wx.Frame):
         self.Bind(wx.EVT_MENU, rhandler, menuItem)
         self.Bind(wx.EVT_MENU, rhandler, menuItem)
 
 
     def __createNoteBook(self):
     def __createNoteBook(self):
-        """Creates notebook widgets"""
+        """!Creates notebook widgets"""
 
 
         #create main notebook widget
         #create main notebook widget
         nbStyle = FN.FNB_FANCY_TABS | \
         nbStyle = FN.FNB_FANCY_TABS | \
@@ -290,7 +290,7 @@ class GMFrame(wx.Frame):
         return self.notebook
         return self.notebook
 
 
     def __createToolBar(self):
     def __createToolBar(self):
-        """Creates toolbar"""
+        """!Creates toolbar"""
 
 
         self.toolbar = self.CreateToolBar()
         self.toolbar = self.CreateToolBar()
         self.toolbar.SetToolBitmapSize(globalvar.toolbarSize)
         self.toolbar.SetToolBitmapSize(globalvar.toolbarSize)
@@ -343,7 +343,7 @@ class GMFrame(wx.Frame):
         pass
         pass
 
 
     def OnCBPageChanged(self, event):
     def OnCBPageChanged(self, event):
-        """Page in notebook (display) changed"""
+        """!Page in notebook (display) changed"""
         old_pgnum = event.GetOldSelection()
         old_pgnum = event.GetOldSelection()
         new_pgnum = event.GetSelection()
         new_pgnum = event.GetSelection()
         
         
@@ -359,7 +359,7 @@ class GMFrame(wx.Frame):
         event.Skip()
         event.Skip()
 
 
     def OnPageChanged(self, event):
     def OnPageChanged(self, event):
-        """Page in notebook changed"""
+        """!Page in notebook changed"""
         page = event.GetSelection()
         page = event.GetSelection()
         if page == self.goutput.pageid:
         if page == self.goutput.pageid:
             # remove '(...)'
             # remove '(...)'
@@ -411,11 +411,11 @@ class GMFrame(wx.Frame):
         event.Skip()
         event.Skip()
         
         
     def GetLogWindow(self):
     def GetLogWindow(self):
-        """Get widget for command output"""
+        """!Get widget for command output"""
         return self.goutput
         return self.goutput
     
     
     def GetMenuCmd(self, event):
     def GetMenuCmd(self, event):
-        """Get GRASS command from menu item
+        """!Get GRASS command from menu item
 
 
         Return command as a list"""
         Return command as a list"""
         layer = None
         layer = None
@@ -448,17 +448,17 @@ class GMFrame(wx.Frame):
         return cmdlist
         return cmdlist
 
 
     def RunMenuCmd(self, event):
     def RunMenuCmd(self, event):
-        """Run command selected from menu"""
+        """!Run command selected from menu"""
         cmd = self.GetMenuCmd(event)
         cmd = self.GetMenuCmd(event)
         self.goutput.RunCmd(cmd, switchPage=True)
         self.goutput.RunCmd(cmd, switchPage=True)
 
 
     def OnMenuCmd(self, event):
     def OnMenuCmd(self, event):
-        """Parse command selected from menu"""
+        """!Parse command selected from menu"""
         cmd = self.GetMenuCmd(event)
         cmd = self.GetMenuCmd(event)
         menuform.GUI().ParseCommand(cmd, parentframe=self)
         menuform.GUI().ParseCommand(cmd, parentframe=self)
 
 
     def OnNewVector(self, event):
     def OnNewVector(self, event):
-        """Create new vector map layer"""
+        """!Create new vector map layer"""
         name, add = gdialogs.CreateNewVector(self, log = self.goutput,
         name, add = gdialogs.CreateNewVector(self, log = self.goutput,
                                              cmd = (('v.edit',
                                              cmd = (('v.edit',
                                                      { 'tool' : 'create' },
                                                      { 'tool' : 'create' },
@@ -473,7 +473,7 @@ class GMFrame(wx.Frame):
                                             lcmd=['d.vect', 'map=%s' % name])
                                             lcmd=['d.vect', 'map=%s' % name])
             
             
     def OnAboutGRASS(self, event):
     def OnAboutGRASS(self, event):
-        """Display 'About GRASS' dialog"""
+        """!Display 'About GRASS' dialog"""
         info = wx.AboutDialogInfo()
         info = wx.AboutDialogInfo()
         
         
         # name
         # name
@@ -506,7 +506,7 @@ class GMFrame(wx.Frame):
         wx.AboutBox(info)
         wx.AboutBox(info)
         
         
     def OnWorkspace(self, event):
     def OnWorkspace(self, event):
-        """Workspace menu (new, load)"""
+        """!Workspace menu (new, load)"""
         point = wx.GetMousePosition()
         point = wx.GetMousePosition()
         menu = wx.Menu()
         menu = wx.Menu()
 
 
@@ -526,7 +526,7 @@ class GMFrame(wx.Frame):
         menu.Destroy()
         menu.Destroy()
 
 
     def OnWorkspaceNew(self, event=None):
     def OnWorkspaceNew(self, event=None):
-        """Create new workspace file
+        """!Create new workspace file
 
 
         Erase current workspace settings first"""
         Erase current workspace settings first"""
 
 
@@ -567,7 +567,7 @@ class GMFrame(wx.Frame):
         self.SetTitle(self.baseTitle)
         self.SetTitle(self.baseTitle)
         
         
     def OnWorkspaceOpen(self, event=None):
     def OnWorkspaceOpen(self, event=None):
-        """Open file with workspace definition"""
+        """!Open file with workspace definition"""
         dlg = wx.FileDialog(parent=self, message=_("Choose workspace file"),
         dlg = wx.FileDialog(parent=self, message=_("Choose workspace file"),
                             defaultDir=os.getcwd(), wildcard="*.gxw")
                             defaultDir=os.getcwd(), wildcard="*.gxw")
 
 
@@ -589,7 +589,7 @@ class GMFrame(wx.Frame):
         self.SetTitle(self.baseTitle + " - " +  os.path.basename(self.workspaceFile))
         self.SetTitle(self.baseTitle + " - " +  os.path.basename(self.workspaceFile))
 
 
     def LoadWorkspaceFile(self, filename):
     def LoadWorkspaceFile(self, filename):
-        """Load layer tree definition stored in GRASS Workspace XML file (gxw)
+        """!Load layer tree definition stored in GRASS Workspace XML file (gxw)
 
 
         Return True on success
         Return True on success
         Return False on error"""
         Return False on error"""
@@ -738,7 +738,7 @@ class GMFrame(wx.Frame):
         return True
         return True
 
 
     def OnWorkspaceLoad(self, event=None):
     def OnWorkspaceLoad(self, event=None):
-        """Load given map layers into layer tree"""
+        """!Load given map layers into layer tree"""
         dialog = gdialogs.LoadMapLayersDialog(parent=self, title=_("Load map layers into layer tree"))
         dialog = gdialogs.LoadMapLayersDialog(parent=self, title=_("Load map layers into layer tree"))
 
 
         if dialog.ShowModal() == wx.ID_OK:
         if dialog.ShowModal() == wx.ID_OK:
@@ -766,7 +766,7 @@ class GMFrame(wx.Frame):
             busy.Destroy()
             busy.Destroy()
 
 
     def OnWorkspaceLoadGrcFile(self, event):
     def OnWorkspaceLoadGrcFile(self, event):
-        """Load map layers from GRC file (Tcl/Tk GUI) into map layer tree"""
+        """!Load map layers from GRC file (Tcl/Tk GUI) into map layer tree"""
         dlg = wx.FileDialog(parent=self, message=_("Choose GRC file to load"),
         dlg = wx.FileDialog(parent=self, message=_("Choose GRC file to load"),
                             defaultDir=os.getcwd(), wildcard="*.grc")
                             defaultDir=os.getcwd(), wildcard="*.grc")
 
 
@@ -804,7 +804,7 @@ class GMFrame(wx.Frame):
             maptree.Map.ReverseListOfLayers()
             maptree.Map.ReverseListOfLayers()
 
 
     def OnWorkspaceSaveAs(self, event=None):
     def OnWorkspaceSaveAs(self, event=None):
-        """Save workspace definition to selected file"""
+        """!Save workspace definition to selected file"""
 
 
         dlg = wx.FileDialog(parent=self, message=_("Choose file to save current workspace"),
         dlg = wx.FileDialog(parent=self, message=_("Choose file to save current workspace"),
                             defaultDir=os.getcwd(), wildcard="*.gxw", style=wx.FD_SAVE)
                             defaultDir=os.getcwd(), wildcard="*.gxw", style=wx.FD_SAVE)
@@ -835,7 +835,7 @@ class GMFrame(wx.Frame):
         self.SetTitle(self.baseTitle + " - " + os.path.basename(self.workspaceFile))
         self.SetTitle(self.baseTitle + " - " + os.path.basename(self.workspaceFile))
 
 
     def OnWorkspaceSave(self, event=None):
     def OnWorkspaceSave(self, event=None):
-        """Save file with workspace definition"""
+        """!Save file with workspace definition"""
 
 
         if self.workspaceFile:
         if self.workspaceFile:
             dlg = wx.MessageDialog(self, message=_("Workspace file <%s> already exists. "
             dlg = wx.MessageDialog(self, message=_("Workspace file <%s> already exists. "
@@ -851,7 +851,7 @@ class GMFrame(wx.Frame):
             self.OnWorkspaceSaveAs()
             self.OnWorkspaceSaveAs()
 
 
     def SaveToWorkspaceFile(self, filename):
     def SaveToWorkspaceFile(self, filename):
-        """Save layer tree layout to workspace file
+        """!Save layer tree layout to workspace file
 
 
         Return True on success, False on error
         Return True on success, False on error
         """
         """
@@ -879,7 +879,7 @@ class GMFrame(wx.Frame):
         return True
         return True
     
     
     def OnWorkspaceClose(self, event=None):
     def OnWorkspaceClose(self, event=None):
-        """Close file with workspace definition
+        """!Close file with workspace definition
 
 
         If workspace has been modified ask user to save the changes.
         If workspace has been modified ask user to save the changes.
         """
         """
@@ -933,7 +933,7 @@ class GMFrame(wx.Frame):
                 self.goutput.RunCmd(cmdlist)
                 self.goutput.RunCmd(cmdlist)
 
 
     def OnPreferences(self, event):
     def OnPreferences(self, event):
-        """General GUI preferences/settings"""
+        """!General GUI preferences/settings"""
         preferences.PreferencesDialog(parent=self).ShowModal()
         preferences.PreferencesDialog(parent=self).ShowModal()
 
 
     def DispHistogram(self, event):
     def DispHistogram(self, event):
@@ -977,7 +977,7 @@ class GMFrame(wx.Frame):
                                                         dimension=3)
                                                         dimension=3)
 
 
     def AddToolbarButton(self, toolbar, label, icon, help, handler):
     def AddToolbarButton(self, toolbar, label, icon, help, handler):
-        """Adds button to the given toolbar"""
+        """!Adds button to the given toolbar"""
 
 
         if not label:
         if not label:
             toolbar.AddSeparator()
             toolbar.AddSeparator()
@@ -1020,25 +1020,25 @@ class GMFrame(wx.Frame):
                   )
                   )
 
 
     def OnImportDxfFile(self, event):
     def OnImportDxfFile(self, event):
-        """Convert multiple DXF layers to GRASS vector map layers"""
+        """!Convert multiple DXF layers to GRASS vector map layers"""
         dlg = gdialogs.MultiImportDialog(parent=self, type='dxf',
         dlg = gdialogs.MultiImportDialog(parent=self, type='dxf',
                                          title=_("Import DXF layers"))
                                          title=_("Import DXF layers"))
         dlg.ShowModal()
         dlg.ShowModal()
 
 
     def OnImportGdalLayers(self, event):
     def OnImportGdalLayers(self, event):
-        """Convert multiple GDAL layers to GRASS vector map layers"""
+        """!Convert multiple GDAL layers to GRASS vector map layers"""
         dlg = gdialogs.MultiImportDialog(parent=self, type='gdal',
         dlg = gdialogs.MultiImportDialog(parent=self, type='gdal',
                                          title=_("Import GDAL layers"))
                                          title=_("Import GDAL layers"))
         dlg.ShowModal()
         dlg.ShowModal()
 
 
     def OnImportOgrLayers(self, event):
     def OnImportOgrLayers(self, event):
-        """Convert multiple OGR layers to GRASS vector map layers"""
+        """!Convert multiple OGR layers to GRASS vector map layers"""
         dlg = gdialogs.MultiImportDialog(parent=self, type='ogr',
         dlg = gdialogs.MultiImportDialog(parent=self, type='ogr',
                                          title=_("Import OGR layers"))
                                          title=_("Import OGR layers"))
         dlg.ShowModal()
         dlg.ShowModal()
     
     
     def OnImportWMS(self, event):
     def OnImportWMS(self, event):
-        """Import data from OGC WMS server"""
+        """!Import data from OGC WMS server"""
         dlg = ogc_services.WMSDialog(parent = self, service = 'wms')
         dlg = ogc_services.WMSDialog(parent = self, service = 'wms')
         dlg.CenterOnScreen()
         dlg.CenterOnScreen()
         
         
@@ -1107,11 +1107,11 @@ class GMFrame(wx.Frame):
         self.dbmanager.Show()
         self.dbmanager.Show()
 
 
     def OnNewDisplay(self, event=None):
     def OnNewDisplay(self, event=None):
-        """Create new layer tree and map display instance"""
+        """!Create new layer tree and map display instance"""
         self.NewDisplay()
         self.NewDisplay()
 
 
     def NewDisplay(self, show=True):
     def NewDisplay(self, show=True):
-        """Create new layer tree, which will
+        """!Create new layer tree, which will
         create an associated map display frame
         create an associated map display frame
 
 
         @param show show map display window if True
         @param show show map display window if True
@@ -1159,7 +1159,7 @@ class GMFrame(wx.Frame):
 
 
     # toolBar button handlers
     # toolBar button handlers
     def OnAddRaster(self, event):
     def OnAddRaster(self, event):
-        """Add raster map layer"""
+        """!Add raster map layer"""
         # start new map display if no display is available
         # start new map display if no display is available
         if not self.curr_page:
         if not self.curr_page:
             self.NewDisplay(show=False)
             self.NewDisplay(show=False)
@@ -1167,7 +1167,7 @@ class GMFrame(wx.Frame):
         self.AddRaster(event)
         self.AddRaster(event)
         
         
     def OnAddRasterMisc(self, event):
     def OnAddRasterMisc(self, event):
-        """Add raster menu"""
+        """!Add raster menu"""
         # start new map display if no display is available
         # start new map display if no display is available
         if not self.curr_page:
         if not self.curr_page:
             self.NewDisplay(show=False)
             self.NewDisplay(show=False)
@@ -1216,7 +1216,7 @@ class GMFrame(wx.Frame):
         self.curr_page.maptree.mapdisplay.Show()
         self.curr_page.maptree.mapdisplay.Show()
 
 
     def OnAddVector(self, event):
     def OnAddVector(self, event):
-        """Add vector map layer"""
+        """!Add vector map layer"""
         # start new map display if no display is available
         # start new map display if no display is available
         if not self.curr_page:
         if not self.curr_page:
             self.NewDisplay(show=False)
             self.NewDisplay(show=False)
@@ -1224,7 +1224,7 @@ class GMFrame(wx.Frame):
         self.AddVector(event)
         self.AddVector(event)
         
         
     def OnAddVectorMisc(self, event):
     def OnAddVectorMisc(self, event):
-        """Add vector menu"""
+        """!Add vector menu"""
         # start new map display if no display is available
         # start new map display if no display is available
         if not self.curr_page:
         if not self.curr_page:
             self.NewDisplay(show=False)
             self.NewDisplay(show=False)
@@ -1251,7 +1251,7 @@ class GMFrame(wx.Frame):
         self.curr_page.maptree.mapdisplay.Show()
         self.curr_page.maptree.mapdisplay.Show()
 
 
     def OnAddOverlay(self, event):
     def OnAddOverlay(self, event):
-        """Add overlay menu""" 
+        """!Add overlay menu""" 
         # start new map display if no display is available
         # start new map display if no display is available
         if not self.curr_page:
         if not self.curr_page:
             self.NewDisplay(show=False)
             self.NewDisplay(show=False)
@@ -1296,47 +1296,47 @@ class GMFrame(wx.Frame):
         self.curr_page.maptree.AddLayer('3d-raster')
         self.curr_page.maptree.AddLayer('3d-raster')
 
 
     def AddRGB(self, event):
     def AddRGB(self, event):
-        """Add RGB layer"""
+        """!Add RGB layer"""
         self.notebook.SetSelection(0)
         self.notebook.SetSelection(0)
         self.curr_page.maptree.AddLayer('rgb')
         self.curr_page.maptree.AddLayer('rgb')
 
 
     def AddHIS(self, event):
     def AddHIS(self, event):
-        """Add HIS layer"""
+        """!Add HIS layer"""
         self.notebook.SetSelection(0)
         self.notebook.SetSelection(0)
         self.curr_page.maptree.AddLayer('his')
         self.curr_page.maptree.AddLayer('his')
 
 
     def AddShaded(self, event):
     def AddShaded(self, event):
-        """Add shaded relief map layer"""
+        """!Add shaded relief map layer"""
         self.notebook.SetSelection(0)
         self.notebook.SetSelection(0)
         self.curr_page.maptree.AddLayer('shaded')
         self.curr_page.maptree.AddLayer('shaded')
 
 
     def AddRastarrow(self, event):
     def AddRastarrow(self, event):
-        """Add raster flow arrows map"""
+        """!Add raster flow arrows map"""
         self.notebook.SetSelection(0)
         self.notebook.SetSelection(0)
         self.curr_page.maptree.AddLayer('rastarrow')
         self.curr_page.maptree.AddLayer('rastarrow')
 
 
     def AddRastnum(self, event):
     def AddRastnum(self, event):
-        """Add raster map with cell numbers"""
+        """!Add raster map with cell numbers"""
         self.notebook.SetSelection(0)
         self.notebook.SetSelection(0)
         self.curr_page.maptree.AddLayer('rastnum')
         self.curr_page.maptree.AddLayer('rastnum')
 
 
     def AddVector(self, event):
     def AddVector(self, event):
-        """Add vector layer"""
+        """!Add vector layer"""
         self.notebook.SetSelection(0)
         self.notebook.SetSelection(0)
         self.curr_page.maptree.AddLayer('vector')
         self.curr_page.maptree.AddLayer('vector')
 
 
     def AddThemeMap(self, event):
     def AddThemeMap(self, event):
-        """Add thematic map layer"""
+        """!Add thematic map layer"""
         self.notebook.SetSelection(0)
         self.notebook.SetSelection(0)
         self.curr_page.maptree.AddLayer('thememap')
         self.curr_page.maptree.AddLayer('thememap')
 
 
     def AddThemeChart(self, event):
     def AddThemeChart(self, event):
-        """Add thematic chart layer"""
+        """!Add thematic chart layer"""
         self.notebook.SetSelection(0)
         self.notebook.SetSelection(0)
         self.curr_page.maptree.AddLayer('themechart')
         self.curr_page.maptree.AddLayer('themechart')
 
 
     def OnAddCommand(self, event):
     def OnAddCommand(self, event):
-        """Add command line layer"""
+        """!Add command line layer"""
         # start new map display if no display is available
         # start new map display if no display is available
         if not self.curr_page:
         if not self.curr_page:
             self.NewDisplay(show=False)
             self.NewDisplay(show=False)
@@ -1348,7 +1348,7 @@ class GMFrame(wx.Frame):
         self.curr_page.maptree.mapdisplay.Show()
         self.curr_page.maptree.mapdisplay.Show()
 
 
     def OnAddGroup(self, event):
     def OnAddGroup(self, event):
-        """Add layer group"""
+        """!Add layer group"""
         # start new map display if no display is available
         # start new map display if no display is available
         if not self.curr_page:
         if not self.curr_page:
             self.NewDisplay(show=False)
             self.NewDisplay(show=False)
@@ -1360,22 +1360,22 @@ class GMFrame(wx.Frame):
         self.curr_page.maptree.mapdisplay.Show()
         self.curr_page.maptree.mapdisplay.Show()
 
 
     def AddGrid(self, event):
     def AddGrid(self, event):
-        """Add layer grid"""
+        """!Add layer grid"""
         self.notebook.SetSelection(0)
         self.notebook.SetSelection(0)
         self.curr_page.maptree.AddLayer('grid')
         self.curr_page.maptree.AddLayer('grid')
 
 
     def AddGeodesic(self, event):
     def AddGeodesic(self, event):
-        """Add layer geodesic"""
+        """!Add layer geodesic"""
         self.notebook.SetSelection(0)
         self.notebook.SetSelection(0)
         self.curr_page.maptree.AddLayer('geodesic')
         self.curr_page.maptree.AddLayer('geodesic')
 
 
     def AddRhumb(self, event):
     def AddRhumb(self, event):
-        """Add layer rhumb"""
+        """!Add layer rhumb"""
         self.notebook.SetSelection(0)
         self.notebook.SetSelection(0)
         self.curr_page.maptree.AddLayer('rhumb')
         self.curr_page.maptree.AddLayer('rhumb')
 
 
     def OnAddLabels(self, event):
     def OnAddLabels(self, event):
-        """Add layer vector labels"""
+        """!Add layer vector labels"""
         # start new map display if no display is available
         # start new map display if no display is available
         if not self.curr_page:
         if not self.curr_page:
             self.NewDisplay(show=False)
             self.NewDisplay(show=False)
@@ -1428,7 +1428,7 @@ class GMFrame(wx.Frame):
             self.curr_page.maptree.Delete(layer)
             self.curr_page.maptree.Delete(layer)
         
         
     def OnCloseWindow(self, event):
     def OnCloseWindow(self, event):
-        """Cleanup when wxGUI is quit"""
+        """!Cleanup when wxGUI is quit"""
         if not self.curr_page:
         if not self.curr_page:
             self._auimgr.UnInit()
             self._auimgr.UnInit()
             self.Destroy()
             self.Destroy()
@@ -1474,7 +1474,7 @@ class GMFrame(wx.Frame):
         self.Destroy()
         self.Destroy()
         
         
     def MsgNoLayerSelected(self):
     def MsgNoLayerSelected(self):
-        """Show dialog message 'No layer selected'"""
+        """!Show dialog message 'No layer selected'"""
         wx.MessageBox(parent=self,
         wx.MessageBox(parent=self,
                       message=_("No map layer selected. Operation cancelled."),
                       message=_("No map layer selected. Operation cancelled."),
                       caption=_("Message"),
                       caption=_("Message"),
@@ -1516,7 +1516,7 @@ class Usage(Exception):
         self.msg = msg
         self.msg = msg
 
 
 def printHelp():
 def printHelp():
-    """Print program help"""
+    """!Print program help"""
     print >> sys.stderr, "Usage:"
     print >> sys.stderr, "Usage:"
     print >> sys.stderr, " python wxgui.py [options]"
     print >> sys.stderr, " python wxgui.py [options]"
     print >> sys.stderr, "%sOptions:" % os.linesep
     print >> sys.stderr, "%sOptions:" % os.linesep
@@ -1524,7 +1524,7 @@ def printHelp():
     sys.exit(0)
     sys.exit(0)
 
 
 def process_opt(opts, args):
 def process_opt(opts, args):
-    """Process command-line arguments"""
+    """!Process command-line arguments"""
     workspaceFile = None
     workspaceFile = None
     for o, a in opts:
     for o, a in opts:
         if o in ("-h", "--help"):
         if o in ("-h", "--help"):