[GRASS-SVN] r37540 - in grass/trunk/gui/wxpython: . compat gui_modules icons support

svn_grass at osgeo.org svn_grass at osgeo.org
Wed May 27 15:58:36 EDT 2009


Author: martinl
Date: 2009-05-27 15:58:35 -0400 (Wed, 27 May 2009)
New Revision: 37540

Modified:
   grass/trunk/gui/wxpython/build_ext.py
   grass/trunk/gui/wxpython/compat/subprocess.py
   grass/trunk/gui/wxpython/gis_set.py
   grass/trunk/gui/wxpython/gui_modules/colorrules.py
   grass/trunk/gui/wxpython/gui_modules/dbm.py
   grass/trunk/gui/wxpython/gui_modules/dbm_dialogs.py
   grass/trunk/gui/wxpython/gui_modules/debug.py
   grass/trunk/gui/wxpython/gui_modules/gcmd.py
   grass/trunk/gui/wxpython/gui_modules/gdialogs.py
   grass/trunk/gui/wxpython/gui_modules/georect.py
   grass/trunk/gui/wxpython/gui_modules/globalvar.py
   grass/trunk/gui/wxpython/gui_modules/goutput.py
   grass/trunk/gui/wxpython/gui_modules/gselect.py
   grass/trunk/gui/wxpython/gui_modules/histogram.py
   grass/trunk/gui/wxpython/gui_modules/location_wizard.py
   grass/trunk/gui/wxpython/gui_modules/mapdisp.py
   grass/trunk/gui/wxpython/gui_modules/mapdisp_window.py
   grass/trunk/gui/wxpython/gui_modules/menuform.py
   grass/trunk/gui/wxpython/gui_modules/nviz_mapdisp.py
   grass/trunk/gui/wxpython/gui_modules/nviz_tools.py
   grass/trunk/gui/wxpython/gui_modules/ogc_services.py
   grass/trunk/gui/wxpython/gui_modules/preferences.py
   grass/trunk/gui/wxpython/gui_modules/profile.py
   grass/trunk/gui/wxpython/gui_modules/prompt.py
   grass/trunk/gui/wxpython/gui_modules/render.py
   grass/trunk/gui/wxpython/gui_modules/sqlbuilder.py
   grass/trunk/gui/wxpython/gui_modules/toolbars.py
   grass/trunk/gui/wxpython/gui_modules/utils.py
   grass/trunk/gui/wxpython/gui_modules/vdigit.py
   grass/trunk/gui/wxpython/gui_modules/workspace.py
   grass/trunk/gui/wxpython/gui_modules/wxgui_utils.py
   grass/trunk/gui/wxpython/icons/icon.py
   grass/trunk/gui/wxpython/support/update_menu_desc.py
   grass/trunk/gui/wxpython/wxgui.py
Log:
parse docstrings by doxygen


Modified: grass/trunk/gui/wxpython/build_ext.py
===================================================================
--- grass/trunk/gui/wxpython/build_ext.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/build_ext.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -4,7 +4,7 @@
 import sys
 
 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 dict dictionary to store (variable, value)
@@ -22,7 +22,7 @@
         dict[var.strip()] = val.strip()
         
 def update_opts(flag, macros, inc_dirs, lib_dirs, libs, extras):
-    """Update Extension options"""
+    """!Update Extension options"""
     global variables
     line = variables[flag]
     fw_next = False

Modified: grass/trunk/gui/wxpython/compat/subprocess.py
===================================================================
--- grass/trunk/gui/wxpython/compat/subprocess.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/compat/subprocess.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -9,7 +9,7 @@
 # Licensed to PSF under a Contributor Agreement.
 # 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
 input/output/error pipes, and obtain their return codes.  This module
@@ -402,7 +402,7 @@
 
 
 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.
 
     The arguments are the same as for the Popen constructor.  Example:
@@ -486,7 +486,7 @@
                  preexec_fn=None, close_fds=False, shell=False,
                  cwd=None, env=None, universal_newlines=False,
                  startupinfo=None, creationflags=0):
-        """Create new Popen instance."""
+        """!Create new Popen instance."""
         _cleanup()
 
         if not isinstance(bufsize, (int, long)):
@@ -568,7 +568,7 @@
         # Windows methods
         #
         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
             """
             if stdin == None and stdout == None and stderr == None:
@@ -628,14 +628,14 @@
 
 
         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,
                                    GetCurrentProcess(), 0, 1,
                                    DUPLICATE_SAME_ACCESS)
 
 
         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.exe")
             if not os.path.exists(w9xpopen):
@@ -656,7 +656,7 @@
                            p2cread, p2cwrite,
                            c2pread, c2pwrite,
                            errread, errwrite):
-            """Execute program (MS Windows version)"""
+            """!Execute program (MS Windows version)"""
 
             if not isinstance(args, types.StringTypes):
                 args = list2cmdline(args)
@@ -731,7 +731,7 @@
 
 
         def poll(self):
-            """Check if child process has terminated.  Returns returncode
+            """!Check if child process has terminated.  Returns returncode
             attribute."""
             if self.returncode == None:
                 if WaitForSingleObject(self._handle, 0) == WAIT_OBJECT_0:
@@ -741,7 +741,7 @@
 
 
         def wait(self):
-            """Wait for child process to terminate.  Returns returncode
+            """!Wait for child process to terminate.  Returns returncode
             attribute."""
             if self.returncode == None:
                 obj = WaitForSingleObject(self._handle, INFINITE)
@@ -755,7 +755,7 @@
 
 
         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
             process to terminate.  The optional input argument should be a
             string to be sent to the child process, or None, if no data
@@ -812,7 +812,7 @@
         # POSIX methods
         #
         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 = None, None
@@ -882,7 +882,7 @@
                            p2cread, p2cwrite,
                            c2pread, c2pwrite,
                            errread, errwrite):
-            """Execute program (POSIX version)"""
+            """!Execute program (POSIX version)"""
 
             if isinstance(args, types.StringTypes):
                 args = [args]
@@ -988,7 +988,7 @@
 
 
         def poll(self):
-            """Check if child process has terminated.  Returns returncode
+            """!Check if child process has terminated.  Returns returncode
             attribute."""
             if self.returncode == None:
                 try:
@@ -1001,7 +1001,7 @@
 
 
         def wait(self):
-            """Wait for child process to terminate.  Returns returncode
+            """!Wait for child process to terminate.  Returns returncode
             attribute."""
             if self.returncode == None:
                 pid, sts = os.waitpid(self.pid, 0)
@@ -1010,7 +1010,7 @@
 
 
         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
             process to terminate.  The optional input argument should be a
             string to be sent to the child process, or None, if no data

Modified: grass/trunk/gui/wxpython/gis_set.py
===================================================================
--- grass/trunk/gui/wxpython/gis_set.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gis_set.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -41,7 +41,7 @@
 import wx.lib.mixins.listctrl as listmix
 
 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):
 
         #
@@ -168,7 +168,7 @@
         self.Bind(wx.EVT_CLOSE,               self.OnCloseWindow)
         
     def _set_properties(self):
-        """Set frame properties"""
+        """!Set frame properties"""
         self.SetTitle(_("Welcome to GRASS GIS"))
         self.SetIcon(wx.Icon(os.path.join(globalvar.ETCICONDIR, "grass.ico"),
                              wx.BITMAP_TYPE_ICO))
@@ -384,7 +384,7 @@
             return None
 
     def OnWizard(self, event):
-        """Location wizard started"""
+        """!Location wizard started"""
         from gui_modules import location_wizard
         gWizard = location_wizard.LocationWizard(self, self.tgisdbase.GetValue())
         if gWizard.location != None:
@@ -511,7 +511,7 @@
         dlg.Destroy()
 
     def UpdateLocations(self, dbase):
-        """Update list of locations"""
+        """!Update list of locations"""
         self.listOfLocations = []
 
         for location in glob.glob(os.path.join(dbase, "*")):
@@ -534,7 +534,7 @@
         return self.listOfLocations
 
     def UpdateMapsets(self, location):
-        """Update list of mapsets"""
+        """!Update list of mapsets"""
         self.FormerMapsetSelection = wx.NOT_FOUND # for non-selectable item
 
         self.listOfMapsets = []
@@ -591,7 +591,7 @@
         return self.listOfMapsets
 
     def OnSelectLocation(self, event):
-        """Location selected"""
+        """!Location selected"""
         if event:
             self.lblocations.SetSelection(event.GetIndex())
             
@@ -633,7 +633,7 @@
             self.manageloc.Enable(False)
         
     def OnSelectMapset(self, event):
-        """Mapset selected"""
+        """!Mapset selected"""
         self.lbmapsets.SetSelection(event.GetIndex())
 
         if event.GetText() not in self.listOfMapsetsSelectable:
@@ -643,7 +643,7 @@
             event.Skip()
 
     def OnSetDatabase(self, event):
-        """Database set"""
+        """!Database set"""
         self.gisdbase = self.tgisdbase.GetValue()
         
         self.UpdateLocations(self.gisdbase)
@@ -664,7 +664,7 @@
         dlg.Destroy()
 
     def OnCreateMapset(self,event):
-        """Create new mapset"""
+        """!Create new mapset"""
         self.gisdbase = self.tgisdbase.GetValue()
         location = self.listOfLocations[self.lblocations.GetSelection()]
 
@@ -725,12 +725,12 @@
         event.Skip()
 
     def OnCloseWindow(self, event):
-        """Close window event"""
+        """!Close window event"""
         event.Skip()
         sys.exit(2)
 
 class HelpWindow(wx.Frame):
-    """GRASS Quickstart help window"""
+    """!GRASS Quickstart help window"""
     def __init__(self, parent, id, title, size, file):
 
         wx.Frame.__init__(self, parent=parent, id=id, title=title, size=size)
@@ -755,7 +755,7 @@
         self.Layout()
 
 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)"""
     def __init__(self, parent, id, size,
                  choices, disabled=[]):
@@ -808,7 +808,7 @@
         return self.selected
         
 class StartUp(wx.App):
-    """Start-up application"""
+    """!Start-up application"""
 
     def OnInit(self):
         wx.InitAllImageHandlers()

Modified: grass/trunk/gui/wxpython/gui_modules/colorrules.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/colorrules.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/colorrules.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -296,12 +296,12 @@
         return cr_panel        
 
     def OnAddRules(self, event):
-        """Add rules button pressed"""
+        """!Add rules button pressed"""
         nrules = self.numRules.GetValue()
         self.AddRules(nrules)
         
     def AddRules(self, nrules):
-        """Add rules"""
+        """!Add rules"""
         snum = len(self.ruleslines.keys())
         for num in range(snum, snum+nrules):
             # enable
@@ -422,7 +422,7 @@
         self.vect['rgb'] = event.GetString()
         
     def OnRuleEnable(self, event):
-        """Rule enabled/disabled"""
+        """!Rule enabled/disabled"""
         id = event.GetId()
         
         if event.IsChecked():
@@ -439,7 +439,7 @@
             del self.ruleslines[id]
         
     def OnRuleValue(self, event):
-        """Rule value changed"""
+        """!Rule value changed"""
         num = event.GetId()
         vals = event.GetString().strip()
 
@@ -477,7 +477,7 @@
                     return
         
     def OnRuleColor(self, event):
-        """Rule color changed"""
+        """!Rule color changed"""
         num = event.GetId()
         
         rgba_color = event.GetValue()
@@ -512,7 +512,7 @@
         self.Destroy()
         
     def OnPreview(self, event):
-        """Update preview"""
+        """!Update preview"""
         # raster
         if self.elem == 'cell':
             cmdlist = ['d.rast',
@@ -563,14 +563,14 @@
                                 map = self.inmap)
         
     def OnHelp(self, event):
-        """Show GRASS manual page"""
+        """!Show GRASS manual page"""
         gcmd.RunCommand('g.manual',
                         quiet = True,
                         parent = self,
                         entry = self.cmd)
         
     def CreateColorTable(self, force=False):
-        """Creates color table"""
+        """!Creates color table"""
         rulestxt = ''
         
         for rule in self.ruleslines.itervalues():
@@ -613,7 +613,7 @@
                             input = gtemp)
         
 class BufferedWindow(wx.Window):
-    """A Buffered window class"""
+    """!A Buffered window class"""
     def __init__(self, parent, id,
                  pos = wx.DefaultPosition,
                  size = wx.DefaultSize,
@@ -654,7 +654,7 @@
         self.Map.SetRegion()
 
     def Draw(self, pdc, img=None, pdctype='image'):
-        """Draws preview or clears window"""
+        """!Draws preview or clears window"""
         pdc.BeginDrawing()
 
         Debug.msg (3, "BufferedWindow.Draw(): pdctype=%s" % (pdctype))
@@ -678,7 +678,7 @@
         self.Refresh()
 
     def OnPaint(self, event):
-        """Draw pseudo DC to buffer"""
+        """!Draw pseudo DC to buffer"""
         self._Buffer = wx.EmptyBitmap(self.Map.width, self.Map.height)
         dc = wx.BufferedPaintDC(self, self._Buffer)
         
@@ -699,7 +699,7 @@
         self.pdc.DrawToDCClipped(dc, r)
         
     def OnSize(self, event):
-        """Init image size to match window size"""
+        """!Init image size to match window size"""
         # set size of the input image
         self.Map.width, self.Map.height = self.GetClientSize()
 
@@ -721,7 +721,7 @@
         self.resize = True
 
     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.
         """
         if self.resize:
@@ -730,7 +730,7 @@
         event.Skip()
 
     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 \
                 os.path.getsize(self.Map.mapfile):
             img = wx.Image(self.Map.mapfile, wx.BITMAP_TYPE_ANY)
@@ -740,7 +740,7 @@
         return img
     
     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))
         oldfont = ""
         oldencoding = ""
@@ -767,6 +767,6 @@
         self.resize = False
         
     def EraseMap(self):
-        """Erase preview"""
+        """!Erase preview"""
         self.Draw(self.pdc, pdctype='clear')
     

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

Modified: grass/trunk/gui/wxpython/gui_modules/dbm_dialogs.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/dbm_dialogs.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/dbm_dialogs.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -166,15 +166,15 @@
             ### self.mapDBInfo = None
 
     def __SelectAttributes(self, layer):
-        """Select attributes"""
+        """!Select attributes"""
         pass
 
     def OnSQLStatement(self, event):
-        """Update SQL statement"""
+        """!Update SQL statement"""
         pass
 
     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
         in textfields.
@@ -248,7 +248,7 @@
         return sqlCommands
 
     def OnReset(self, event):
-        """Reset form"""
+        """!Reset form"""
         for layer in self.mapDBInfo.layers.keys():
             table = self.mapDBInfo.layers[layer]["table"]
             key = self.mapDBInfo.layers[layer]["key"]
@@ -266,7 +266,7 @@
                         self.FindWindowById(id).SetValue(str(value))
 
     def OnCancel(self, event):
-        """Cancel button pressed"""
+        """!Cancel button pressed"""
         self.parent.parent.dialogs['attributes'] = None
         if self.parent.parent.digit:
             self.parent.parent.digit.driver.SetSelected([])
@@ -277,7 +277,7 @@
         self.Close()
 
     def OnSubmit(self, event):
-        """Submit records"""
+        """!Submit records"""
         for sql in self.GetSQLString(updateValues=True):
             enc = UserSettings.Get(group='atm', key='encoding', subkey='value')
             if not enc and \
@@ -298,7 +298,7 @@
         self.UpdateDialog(cats=self.cats, fid=self.fid)
         
     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
         """
@@ -308,11 +308,11 @@
         return self.cats[self.fid]
 
     def GetFid(self):
-        """Get selected feature id"""
+        """!Get selected feature id"""
         return self.fid
     
     def UpdateDialog(self, map=None, query=None, cats=None, fid=-1):
-        """Update dialog
+        """!Update dialog
 
         Return True if updated otherwise False
         """
@@ -485,7 +485,7 @@
         return True
 
 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),
                 style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
         """
@@ -556,7 +556,7 @@
         # self.SetMinSize(winSize)
 
     def __Layout(self):
-        """Do layout"""
+        """!Do layout"""
         sizer = wx.BoxSizer(wx.VERTICAL)
 
         # data area
@@ -629,7 +629,7 @@
 
                 
     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.
         """

Modified: grass/trunk/gui/wxpython/gui_modules/debug.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/debug.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/debug.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -53,7 +53,7 @@
             print >> sys.stderr, "GUI D%d/%d: %s" % (level, self.debuglevel, message)
 
     def get_level(self):
-        """Return current GUI debug level"""
+        """!Return current GUI debug level"""
         return self.debuglevel
 
 # Debug instance

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

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

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

Modified: grass/trunk/gui/wxpython/gui_modules/globalvar.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/globalvar.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/globalvar.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -27,7 +27,7 @@
 check = True
 
 def CheckForWx():
-    """Try to import wx module and check its version"""
+    """!Try to import wx module and check its version"""
     global check
     if not check:
         return
@@ -75,14 +75,14 @@
 ETCICONDIR = os.path.join(os.getenv("GISBASE"), "etc", "gui", "icons")
 ETCWXDIR = os.path.join(ETCDIR, "wxpython")
 
-"""Style definition for FlatNotebook pages"""
+"""!Style definition for FlatNotebook pages"""
 FNPageStyle = FN.FNB_VC8 | \
     FN.FNB_BACKGROUND_GRADIENT | \
     FN.FNB_NODRAG | \
     FN.FNB_TABS_BORDER_SIMPLE 
 FNPageColor = wx.Colour(125,200,175)
 
-"""Dialog widget dimension"""
+"""!Dialog widget dimension"""
 DIALOG_SPIN_SIZE = (150, -1)
 DIALOG_COMBOBOX_SIZE = (300, -1)
 DIALOG_GSELECT_SIZE = (400, -1)
@@ -101,7 +101,7 @@
                               _("Map scale"),
                               _("Go to")]
 
-"""File name extension binaries/scripts"""
+"""!File name extension binaries/scripts"""
 if subprocess.mswindows:
     EXT_BIN = '.exe'
     EXT_SCT = '.bat'

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

Modified: grass/trunk/gui/wxpython/gui_modules/gselect.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/gselect.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/gselect.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -118,7 +118,7 @@
         return str
 
     def OnPopup(self):
-        """Limited only for first selected"""
+        """!Limited only for first selected"""
         # update list
         self.seltree.DeleteAllItems()
         self.GetElementList(self.type, self.mapsets, self.exceptOf)
@@ -318,7 +318,7 @@
         evt.Skip()
 
     def SetData(self, **kargs):
-        """Set object properties"""
+        """!Set object properties"""
         if kargs.has_key('type'):
             self.type = kargs['type']
         if kargs.has_key('mapsets'):
@@ -329,7 +329,7 @@
             self.multiple = kargs['multiple']
         
 class VectorDBInfo:
-    """Class providing information about attribute tables
+    """!Class providing information about attribute tables
     linked to a vector map"""
     def __init__(self, map):
         self.map = map
@@ -345,7 +345,7 @@
         self.__DescribeTables() # -> self.tables
 
     def __CheckDBConnection(self):
-        """Check DB connection"""
+        """!Check DB connection"""
         nuldev = file(os.devnull, 'w+')
         self.layers = grass.vector_db(map=self.map, stderr=nuldev)
         nuldev.close()
@@ -356,7 +356,7 @@
         return True
 
     def __DescribeTables(self):
-        """Describe linked tables"""
+        """!Describe linked tables"""
         for layer in self.layers.keys():
             # determine column names and types
             table = self.layers[layer]["table"]
@@ -395,7 +395,7 @@
         return True
     
     def Reset(self):
-        """Reset"""
+        """!Reset"""
         for layer in self.layers:
             table = self.layers[layer]["table"] # get table desc
             columns = self.tables[table]
@@ -436,7 +436,7 @@
             self.SetStringSelection('1')
         
     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)
         
         if self.all:
@@ -496,7 +496,7 @@
             self.InsertTables()
                 
     def InsertTables(self, driver=None, database=None):
-        """Insert attribute tables into combobox"""
+        """!Insert attribute tables into combobox"""
         items = []
 
         if not driver or not database:
@@ -537,7 +537,7 @@
             self.InsertColumns(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)
         
         try:
@@ -553,7 +553,7 @@
         self.SetValue('')
     
     def InsertTableColumns(self, table, driver=None, database=None):
-        """Insert table columns"""
+        """!Insert table columns"""
         columns = []
         
         ret = gcmd.RunCommand('db.columns',

Modified: grass/trunk/gui/wxpython/gui_modules/histogram.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/histogram.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/histogram.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -343,7 +343,7 @@
 
 
     def __createToolBar(self):
-        """Creates toolbar"""
+        """!Creates toolbar"""
 
         toolbar = self.CreateToolBar()
         for each in self.toolbarData():
@@ -351,7 +351,7 @@
         toolbar.Realize()
 
     def AddToolbarButton(self, toolbar, label, icon, help, handler):
-        """Adds buttons to the toolbar"""
+        """!Adds buttons to the toolbar"""
 
         if not label:
             toolbar.AddSeparator()
@@ -400,7 +400,7 @@
         self.Map.geom = self.width, self.height
 
     def OnOptions(self, event):
-        """Change histogram settings"""
+        """!Change histogram settings"""
 
         cmd = ['d.histogram']
         if self.mapname != '':

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

Modified: grass/trunk/gui/wxpython/gui_modules/mapdisp.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/mapdisp.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/mapdisp.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -792,7 +792,7 @@
         self.goTo.SetFocus()
         
     def StatusbarUpdate(self):
-        """Update statusbar content"""
+        """!Update statusbar content"""
 
         self.showRegion.Hide()
         self.compResolution.Hide()
@@ -903,13 +903,13 @@
             self.statusbar.SetStatusText("", 1)
 
     def StatusbarEnableLongHelp(self, enable=True):
-        """Enable/disable toolbars long help"""
+        """!Enable/disable toolbars long help"""
         for toolbar in self.toolbars.itervalues():
             if toolbar:
                 toolbar.EnableLongHelp(enable)
                 
     def StatusbarReposition(self):
-        """Reposition checkbox in statusbar"""
+        """!Reposition checkbox in statusbar"""
         # reposition checkbox
         widgets = [(0, self.showRegion),
                    (0, self.compResolution),
@@ -1259,7 +1259,7 @@
                 self.dialogs['attributes'].Hide()
         
     def OnQuery(self, event):
-        """Query tools menu"""
+        """!Query tools menu"""
         if self.toolbars['map']:
             self.toolbars['map'].OnTool(event)
             action = self.toolbars['map'].GetAction()
@@ -1459,7 +1459,7 @@
         self.profile.OnSelectRaster(None)
 
     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
         Grass Development Team 2006"""
 
@@ -1705,7 +1705,7 @@
 
     def SetProperties(self, render=False, mode=0, showCompExtent=False,
                       constrainRes=False):
-        """Set properies of map display window"""
+        """!Set properies of map display window"""
         self.autoRender.SetValue(render)
         self.toggleStatus.SetSelection(mode)
         self.StatusbarUpdate()
@@ -1715,14 +1715,14 @@
             self.MapWindow.regionCoords = []
 
     def IsStandalone(self):
-        """Check if Map display is standalone"""
+        """!Check if Map display is standalone"""
         if self._layerManager:
             return False
         
         return True
     
     def GetLayerManager(self):
-        """Get reference to Layer Manager
+        """!Get reference to Layer Manager
 
         @return window reference
         @return None (if standalone)
@@ -1764,10 +1764,10 @@
             # stop the timer
             self.timer.Stop()
             # terminate thread (a bit ugly)
-            os.system("""echo "quit" >> %s""" % (cmdfilename))
+            os.system("""!echo "quit" >> %s""" % (cmdfilename))
 
     def watcher(self):
-        """Redraw, if new layer appears"""
+        """!Redraw, if new layer appears"""
         if self.redraw:
             self.mapFrm.OnDraw(None)
         self.redraw = False
@@ -1798,7 +1798,7 @@
     gm_map.MainLoop()
     
     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)
 

Modified: grass/trunk/gui/wxpython/gui_modules/mapdisp_window.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/mapdisp_window.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/mapdisp_window.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -947,7 +947,7 @@
 
     def DrawCross(self, pdc, coords, size, rotation=0,
                   text=None, textAlign='lr', textOffset=(5, 5)):
-        """Draw cross in PseudoDC
+        """!Draw cross in PseudoDC
 
         @todo implement rotation
 
@@ -2603,7 +2603,7 @@
             os.environ["GRASS_REGION"] = tmpreg
 
     def Distance(self, beginpt, endpt, screen=True):
-        """Calculete distance
+        """!Calculete distance
 
         LL-locations not supported
 

Modified: grass/trunk/gui/wxpython/gui_modules/menuform.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/menuform.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/menuform.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -147,7 +147,7 @@
 
 
 def normalize_whitespace(text):
-    """Remove redundant whitespace from a string"""
+    """!Remove redundant whitespace from a string"""
     return string.join( string.split(text), ' ')
 
 def text_beautify( someString , width=70):
@@ -163,11 +163,11 @@
         return escape_ampersand( string.strip(normalize_whitespace(someString ), ".,;:" ))
     
 def escape_ampersand(text):
-    """Escapes ampersands with additional ampersand for GUI"""
+    """!Escapes ampersands with additional ampersand for GUI"""
     return string.replace(text, "&", "&&")
 
 class UpdateThread(Thread):
-    """Update dialog widgets in the thread"""
+    """!Update dialog widgets in the thread"""
     def __init__(self, parent, event, eventId, task):
         Thread.__init__(self)
         
@@ -268,7 +268,7 @@
     return UpdateThread(parent, event, eventId, task)
 
 class UpdateQThread(Thread):
-    """Update dialog widgets in the thread"""
+    """!Update dialog widgets in the thread"""
     requestId = 0
     def __init__(self, parent, requestQ, resultQ, **kwds):
         Thread.__init__(self, **kwds)
@@ -336,7 +336,7 @@
             xml.sax.parseString( getInterfaceDescription( grassModule ) , processTask( self ) )
 
     def get_list_params(self, element = 'name'):
-        """Get list of parameters"""
+        """!Get list of parameters"""
         params = []
         for p in self.params:
             params.append(p['name'])
@@ -344,7 +344,7 @@
         return params
 
     def get_list_flags(self, element = 'name'):
-        """Get list of parameters"""
+        """!Get list of parameters"""
         flags = []
         for p in self.flags:
             flags.append(p['name'])
@@ -352,7 +352,7 @@
         return flags
     
     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:
             if p[element] == value:
                 return p
@@ -920,17 +920,17 @@
         self.Layout()
 
     def updateValuesHook(self):
-        """Update status bar data"""
+        """!Update status bar data"""
         self.SetStatusText(' '.join(self.notebookpanel.createCmd(ignoreErrors = True)) )
 
     def OnOK(self, event):
-        """OK button pressed"""
+        """!OK button pressed"""
         cmd = self.OnApply(event)
         if cmd is not None and self.get_dcmd is not None:
             self.OnCancel(event)
 
     def OnApply(self, event):
-        """Apply the command"""
+        """!Apply the command"""
         cmd = self.createCmd()
 
         if cmd is not None and self.get_dcmd is not None:
@@ -944,7 +944,7 @@
         return cmd
 
     def OnRun(self, event):
-        """Run the command"""
+        """!Run the command"""
         cmd = self.createCmd()
         
         if cmd == None or len(cmd) < 2:
@@ -975,12 +975,12 @@
         self.btn_abort.Enable(True)
 
     def OnAbort(self, event):
-        """Abort running command"""
+        """!Abort running command"""
         event = goutput.wxCmdAbort(aborted=True)
         wx.PostEvent(self.goutput, event)
 
     def OnCopy(self, event):
-        """Copy the command"""
+        """!Copy the command"""
         cmddata = wx.TextDataObject()
         # list -> string
         cmdstring = ' '.join(self.createCmd(ignoreErrors=True))
@@ -993,7 +993,7 @@
                                     (cmdstring))
 
     def OnCancel(self, event):
-        """Cancel button pressed"""
+        """!Cancel button pressed"""
         self.MakeModal(False)
         
         if self.get_dcmd and \
@@ -1014,7 +1014,7 @@
             self.Destroy()
 
     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"):
             self.notebookpanel.notebook.SetSelection(self.notebookpanel.manual_tab_id)
             self.notebookpanel.OnPageChange(None)
@@ -1022,7 +1022,7 @@
         event.Skip()
         
     def createCmd(self, ignoreErrors = False):
-        """Create command string (python list)"""
+        """!Create command string (python list)"""
         return self.notebookpanel.createCmd(ignoreErrors=ignoreErrors)
 
 class cmdPanel(wx.Panel):
@@ -1584,7 +1584,7 @@
             fn(**kwargs)
         
     def OnVerbosity(self, event):
-        """Verbosity level changed"""
+        """!Verbosity level changed"""
         verbose = self.FindWindowById(self.task.get_flag('verbose')['wxId'])
         quiet = self.FindWindowById(self.task.get_flag('quiet')['wxId'])
         if event.IsChecked():
@@ -1793,7 +1793,7 @@
         self.grass_task = None
 
     def ParseInterface(self, cmd):
-        """Parse interface
+        """!Parse interface
 
         @param cmd command to be parsed (given as list)
         """
@@ -1895,7 +1895,7 @@
         return 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
         

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

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

Modified: grass/trunk/gui/wxpython/gui_modules/ogc_services.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/ogc_services.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/ogc_services.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -29,7 +29,7 @@
     def __init__(self, parent, service = 'wms',
                  id=wx.ID_ANY,
                  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.service = service # currently only WMS is implemented
         
@@ -46,7 +46,7 @@
         self.SetMinSize((550, 400))
         
     def __createWidgets(self):
-        """Create dialog widgets"""
+        """!Create dialog widgets"""
         #
         # settings
         #
@@ -94,7 +94,7 @@
         self.server.Bind(wx.EVT_TEXT, self.OnServer)
         
     def __doLayout(self):
-        """Do dialog layout"""
+        """!Do dialog layout"""
         dialogSizer = wx.BoxSizer(wx.VERTICAL)
         
         #
@@ -156,11 +156,11 @@
         self.Layout()
 
     def OnCancel(self, event):
-        """Button 'Cancel' pressed -> close the dialog"""
+        """!Button 'Cancel' pressed -> close the dialog"""
         self.Close()
 
     def OnConnect(self, event):
-        """Button 'Connect' pressed"""
+        """!Button 'Connect' pressed"""
         server = self.server.GetValue()
         if not server:
             self.btn_import.Enable(False)
@@ -207,7 +207,7 @@
             self.btn_import.Enable(False)
         
     def OnServer(self, event):
-        """Server settings changed"""
+        """!Server settings changed"""
         value = event.GetString()
         if value:
             self.btn_connect.Enable(True)
@@ -215,16 +215,16 @@
             self.btn_connect.Enable(False)
         
     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()
 
     def GetSettings(self):
-        """Get connection settings"""
+        """!Get connection settings"""
         return { 'server' : self.server.GetValue() }
     
 class LayersList(TreeListCtrl, listmix.ListCtrlAutoWidthMixin):
     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
         
         TreeListCtrl.__init__(self, parent, wx.ID_ANY,
@@ -242,7 +242,7 @@
         self.root = None
         
     def LoadData(self, data = {}):
-        """Load data into list"""
+        """!Load data into list"""
         # detete first all items
         self.DeleteAllItems()
         self.root = self.AddRoot(_("Layers"))
@@ -270,15 +270,15 @@
         self.Expand(self.root)
         
     def GetItemCount(self):
-        """Required for listmix.ListCtrlAutoWidthMixin"""
+        """!Required for listmix.ListCtrlAutoWidthMixin"""
         return 0
 
     def GetCountPerPage(self):
-        """Required for listmix.ListCtrlAutoWidthMixin"""
+        """!Required for listmix.ListCtrlAutoWidthMixin"""
         return 0
 
     def GetSelectedLayers(self):
-        """Get selected layers/styles"""
+        """!Get selected layers/styles"""
         layers = {}
 
         for item in self.GetSelections():

Modified: grass/trunk/gui/wxpython/gui_modules/preferences.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/preferences.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/preferences.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -42,7 +42,7 @@
 from debug import Debug as Debug
 
 class Settings:
-    """Generic class where to store settings"""
+    """!Generic class where to store settings"""
     def __init__(self):
         #
         # settings filename
@@ -555,7 +555,7 @@
         self.internalSettings['vdigit']['bgmap']['value'] = ''
         
     def ReadSettingsFile(self, settings=None):
-        """Reads settings file (mapset, location, gisdbase)"""
+        """!Reads settings file (mapset, location, gisdbase)"""
         if settings is None:
             settings = self.userSettings
 
@@ -592,7 +592,7 @@
                                                 key='font', subkey='encoding')
         
     def __ReadFile(self, filename, settings=None):
-        """Read settings from file to dict"""
+        """!Read settings from file to dict"""
         if settings is None:
             settings = self.userSettings
 
@@ -628,7 +628,7 @@
         file.close()
 
     def SaveToFile(self, settings=None):
-        """Save settings to the file"""
+        """!Save settings to the file"""
         if settings is None:
             settings = self.userSettings
         
@@ -690,7 +690,7 @@
         return filePath
 
     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 value == 'True':
                 value = True
@@ -720,7 +720,7 @@
         return value
 
     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
         
@@ -756,7 +756,7 @@
                 (group, key, subkey)
         
     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
         
@@ -786,7 +786,7 @@
             raise gcmd.SettingsError("%s '%s:%s:%s'" % (_("Unable to set "), group, key, subkey))
 
     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
         
@@ -811,13 +811,13 @@
             dict[group][key][subkey] = value
 
     def GetDefaultSettings(self):
-        """Get default user settings"""
+        """!Get default user settings"""
         return self.defaultSettings
 
 globalSettings = Settings()
 
 class PreferencesDialog(wx.Dialog):
-    """User preferences dialog"""
+    """!User preferences dialog"""
     def __init__(self, parent, title=_("User GUI settings"),
                  settings=globalSettings,
                  style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
@@ -883,7 +883,7 @@
         self.SetSize((500, 375))
 
     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)
         notebook.AddPage(page=panel, text=_("General"))
 
@@ -975,7 +975,7 @@
         return panel
 
     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)
         notebook.AddPage(page=panel, text=_("Display"))
 
@@ -1121,7 +1121,7 @@
         return panel
 
     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)
         notebook.AddPage(page=panel, text=_("Command"))
         
@@ -1238,7 +1238,7 @@
         return panel
 
     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)
         notebook.AddPage(page=panel, text=_("Attributes"))
 
@@ -1367,7 +1367,7 @@
         return panel
 
     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)
         notebook.AddPage(page=panel, text=_("Workspace"))
 
@@ -1411,7 +1411,7 @@
         return panel
 
     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)
         notebook.AddPage(page=panel, text=_("Advanced"))
 
@@ -1503,23 +1503,23 @@
         event.Skip()
         
     def OnSave(self, event):
-        """Button 'Save' pressed"""
+        """!Button 'Save' pressed"""
         if self.__UpdateSettings():
             file = self.settings.SaveToFile()
             self.parent.goutput.WriteLog(_('Settings saved to file \'%s\'.') % file)
             self.Close()
 
     def OnApply(self, event):
-        """Button 'Apply' pressed"""
+        """!Button 'Apply' pressed"""
         if self.__UpdateSettings():
             self.Close()
 
     def OnCancel(self, event):
-        """Button 'Cancel' pressed"""
+        """!Button 'Cancel' pressed"""
         self.Close()
 
     def OnDefault(self, event):
-        """Button 'Set to default' pressed"""
+        """!Button 'Set to default' pressed"""
         self.settings.userSettings = copy.deepcopy(self.settings.defaultSettings)
         
         # update widgets
@@ -1541,7 +1541,7 @@
                 value = win.SetValue(value)
 
     def __UpdateSettings(self):
-        """Update user settings"""
+        """!Update user settings"""
         for item in self.winId.keys():
             try:
                 group, key, subkey = item.split(':')
@@ -1792,7 +1792,7 @@
         self.SetMinSize(size)
         
     def GetMapsets(self):
-        """Get list of checked mapsets"""
+        """!Get list of checked mapsets"""
         ms = []
         i = 0
         for mset in self.all_mapsets:
@@ -1803,7 +1803,7 @@
         return ms
 
 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,
                  log=None):
         self.parent = parent
@@ -1817,7 +1817,7 @@
         listmix.ListCtrlAutoWidthMixin.__init__(self)
 
     def LoadData(self):
-        """Load data into list"""
+        """!Load data into list"""
         self.InsertColumn(0, _('Mapset'))
         self.InsertColumn(1, _('Owner'))
         ### self.InsertColumn(2, _('Group'))
@@ -1852,7 +1852,7 @@
         ### self.SetColumnWidth(col=1, width=wx.LIST_AUTOSIZE)
         
     def OnCheckItem(self, index, flag):
-        """Mapset checked/unchecked"""
+        """!Mapset checked/unchecked"""
         mapset = self.parent.all_mapsets[index]
         if mapset == 'PERMANENT' or mapset == self.parent.curr_mapset:
             self.CheckItem(index, True)

Modified: grass/trunk/gui/wxpython/gui_modules/profile.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/profile.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/profile.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -594,7 +594,7 @@
         self.client.SaveFile()
 
     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
             mDataDict - Dictionary of data that you want to use for the pointLabel
 
@@ -891,7 +891,7 @@
         self._do_layout()
         
     def _do_layout(self):
-        """Do layout"""
+        """!Do layout"""
         # dialog layout
         sizer = wx.BoxSizer(wx.VERTICAL)
 
@@ -1071,7 +1071,7 @@
         self.properties['font']['wxfont'].SetWeight(weight)
 
     def OnSave(self, event):
-        """Button 'Save' pressed"""
+        """!Button 'Save' pressed"""
         self.UpdateSettings()
         fileSettings = {}
         UserSettings.ReadSettingsFile(settings=fileSettings)
@@ -1081,12 +1081,12 @@
         self.Close()
 
     def OnApply(self, event):
-        """Button 'Apply' pressed"""
+        """!Button 'Apply' pressed"""
         self.UpdateSettings()
         self.Close()
 
     def OnCancel(self, event):
-        """Button 'Cancel' pressed"""
+        """!Button 'Cancel' pressed"""
         self.Close()
         
 class OptDialog(wx.Dialog):
@@ -1125,7 +1125,7 @@
         self._do_layout()
 
     def _do_layout(self):
-        """Do layout"""
+        """!Do layout"""
         # dialog layout
         sizer = wx.BoxSizer(wx.VERTICAL)
 
@@ -1416,7 +1416,7 @@
         self.properties['legend']['enabled'] = self.FindWindowById(self.wxId['legend']['enabled']).IsChecked()
 
     def OnSave(self, event):
-        """Button 'Save' pressed"""
+        """!Button 'Save' pressed"""
         self.UpdateSettings()
         fileSettings = {}
         UserSettings.ReadSettingsFile(settings=fileSettings)
@@ -1426,10 +1426,10 @@
         self.Close()
 
     def OnApply(self, event):
-        """Button 'Apply' pressed"""
+        """!Button 'Apply' pressed"""
         self.UpdateSettings()
         self.Close()
 
     def OnCancel(self, event):
-        """Button 'Cancel' pressed"""
+        """!Button 'Cancel' pressed"""
         self.Close()

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

Modified: grass/trunk/gui/wxpython/gui_modules/render.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/render.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/render.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -54,7 +54,7 @@
 USE_GPNMCOMP = True
 
 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.
 
     For map layer use MapLayer class.
@@ -108,7 +108,7 @@
                    (self.name, self.GetCmd(string=True)))
 
     def Render(self):
-        """Render layer to image
+        """!Render layer to image
 
         @return rendered image filename
         @return None on error
@@ -217,7 +217,7 @@
             return self.cmd
 
     def GetType(self):
-        """Get map layer type"""
+        """!Get map layer type"""
         return self.type
     
     def GetOpacity(self, float=False):
@@ -234,7 +234,7 @@
         return int (self.opacity * 100)
 
     def GetName(self, fullyQualified=True):
-        """Get map layer name
+        """!Get map layer name
 
         @param fullyQualified if True return 'name at mapset' otherwise
         ('name', 'mapset')
@@ -250,11 +250,11 @@
                          'mapset' : '' }
         
     def IsActive(self):
-        """Check if layer is activated for rendering"""
+        """!Check if layer is activated for rendering"""
         return self.active
 
     def SetType(self, type):
-        """Set layer type"""
+        """!Set layer type"""
         if type not in ('raster', '3d-raster', 'vector',
                         'overlay', 'command',
                         'shaded', 'rgb', 'his', 'rastarrow', 'rastnum',
@@ -265,19 +265,19 @@
         self.type = type
 
     def SetName(self, name):
-        """Set layer name"""
+        """!Set layer name"""
         self.name = name
         
     def SetActive(self, enable=True):
-        """Active or deactive layer"""
+        """!Active or deactive layer"""
         self.active = bool(enable)
 
     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)
 
     def SetOpacity(self, value):
-        """Set opacity value"""
+        """!Set opacity value"""
         if value < 0:
             value = 0.
         elif value > 1:
@@ -286,7 +286,7 @@
         self.opacity = float(value)
         
     def SetCmd(self, cmd):
-        """Set new command for layer"""
+        """!Set new command for layer"""
         if self.type == 'command':
             self.cmd = []
             for c in cmd:
@@ -299,7 +299,7 @@
         self.force_render = True
         
 class MapLayer(Layer):
-    """Represents map layer in the map canvas"""
+    """!Represents map layer in the map canvas"""
     def __init__(self, type, cmd, name=None,
                  active=True, hidden=False, opacity=1.0):
         """
@@ -332,7 +332,7 @@
             return self.name
 
 class Overlay(Layer):
-    """Represents overlay displayed in map canvas"""
+    """!Represents overlay displayed in map canvas"""
     def __init__(self, id, type, cmd,
                  active=True, hidden=True, opacity=1.0):
         """
@@ -445,7 +445,7 @@
             os.environ["GISRC"] = gisrc_orig
 
     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)
         filename = os.path.join (self.env['GISDBASE'],
                                  self.env['LOCATION_NAME'],
@@ -526,7 +526,7 @@
         return new
 
     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
         if self.region["ewres"] > self.region["nsres"]:
@@ -554,7 +554,7 @@
                 self.region['s'] = -90.0
         
     def ChangeMapSize(self, (width, height)):
-        """Change size of rendered map.
+        """!Change size of rendered map.
         
         @param width,height map size
 
@@ -671,7 +671,7 @@
         return region
 
     def GetCurrentRegion(self):
-        """Get current display region settings"""
+        """!Get current display region settings"""
         return self.region
 
     def SetRegion(self, windres=False):
@@ -1251,7 +1251,7 @@
         return overlay
 
     def GetOverlay(self, id, list=False):
-        """Return overlay(s) with 'id'
+        """!Return overlay(s) with 'id'
 
         @param id overlay id
         @param list return list of overlays of True
@@ -1275,7 +1275,7 @@
         return ovl
 
     def DeleteOverlay(self, overlay):
-        """Delete overlay
+        """!Delete overlay
 
         @param id overlay id
 
@@ -1320,7 +1320,7 @@
         self.layers = []
 
     def ReverseListOfLayers(self):
-        """Reverse list of layers"""
+        """!Reverse list of layers"""
         return self.layers.reverse()
 
 if __name__ == "__main__":

Modified: grass/trunk/gui/wxpython/gui_modules/sqlbuilder.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/sqlbuilder.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/sqlbuilder.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -36,7 +36,7 @@
 sys.path.append(imagepath)
 
 class SQLFrame(wx.Frame):
-    """SQL Frame class"""
+    """!SQL Frame class"""
     def __init__(self, parent, id, title, vectmap, qtype="select"):
 
         wx.Frame.__init__(self, parent, id, title)
@@ -219,7 +219,7 @@
         self.Show(True)
 
     def GetColumns(self):
-        """Get columns"""
+        """!Get columns"""
         ret = gcmd.RunCommand('db.describe',
                               quiet = True,
                               read = True,
@@ -243,7 +243,7 @@
         self.list_values.Clear()
         column = self.list_columns.GetString(idx)
         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)):
                 if justsample and i < 256 or \
                    not justsample:
@@ -314,7 +314,7 @@
                 pass
     def OnVerify(self,event):
         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.text_sql.GetValue().strip().replace("\n"," "))):
                 # FIXME: LOG

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

Modified: grass/trunk/gui/wxpython/gui_modules/utils.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/utils.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/utils.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -64,7 +64,7 @@
 
 def GetLayerNameFromCmd(dcmd, fullyQualified=False, param=None,
                         layerType=None):
-    """Get map name from GRASS command
+    """!Get map name from GRASS command
 
     @param dcmd GRASS command (given as tuple)
     @param fullyQualified change map name to be fully qualified
@@ -127,7 +127,7 @@
     return mapname
 
 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...
     """
@@ -157,7 +157,7 @@
     return retName
 
 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]
 
@@ -195,7 +195,7 @@
     return catstr.strip(',')
 
 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
 
@@ -230,11 +230,11 @@
     return mapsets
 
 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()))
 
 def GetVectorNumberOfLayers(vector):
-    """Get list of vector layers"""
+    """!Get list of vector layers"""
     cmdlist = ['v.category',
                'input=%s' % vector,
                'option=report']
@@ -262,7 +262,7 @@
     return layers
 
 def Deg2DMS(lon, lat):
-    """Convert deg value to dms string
+    """!Convert deg value to dms string
 
     @param lat latitude
     @param lon longitude
@@ -301,7 +301,7 @@
     return slon + hlon + '; ' + slat + hlat
 
 def __ll_parts(value):
-    """Converts deg to d:m:s string"""
+    """!Converts deg to d:m:s string"""
     if value == 0.0:
         return '00:00:00.0000'
     
@@ -340,7 +340,7 @@
     return scmd
 
 def CmdToTuple(cmd):
-    """Convert command list to tuple for gcmd.RunCommand()"""
+    """!Convert command list to tuple for gcmd.RunCommand()"""
     if len(cmd) < 1:
         return None
         
@@ -358,7 +358,7 @@
             dcmd)
 
 def PathJoin(*args):
-    """Check path created by os.path.join"""
+    """!Check path created by os.path.join"""
     path = os.path.join(*args)
     if platform.system() == 'Windows' and \
             '/' in path:
@@ -367,7 +367,7 @@
     return path
     
 def reexec_with_pythonw():
-    """Re-execute Python on Mac OS"""
+    """!Re-execute Python on Mac OS"""
     if sys.platform == 'darwin' and \
             not sys.executable.endswith('MacOS/Python'):
         print >> sys.stderr, 're-executing using pythonw'

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

Modified: grass/trunk/gui/wxpython/gui_modules/workspace.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/workspace.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/workspace.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -69,7 +69,7 @@
         self.displayIndex = -1 # first display has index '0'
 
     def __filterValue(self, value):
-        """Translate value"""
+        """!Translate value"""
         value = value.replace('&lt;', '<')
         value = value.replace('&gt;', '>')
         
@@ -342,7 +342,7 @@
             self.value += ch
 
 class WriteWorkspaceFile(object):
-    """Generic class for writing workspace file"""
+    """!Generic class for writing workspace file"""
     def __init__(self, lmgr, file):
         self.file =  file
         self.lmgr = lmgr
@@ -403,14 +403,14 @@
         file.write('%s</gxw>\n' % (' ' * self.indent))
 
     def __filterValue(self, value):
-        """Make value XML-valid"""
+        """!Make value XML-valid"""
         value = value.replace('<', '&lt;')
         value = value.replace('>', '&gt;')
         
         return value
     
     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
         itemSelected = mapTree.GetSelections()
         while item and item.IsOk():
@@ -481,7 +481,7 @@
         self.indent -= 4
 
     def __writeNvizSurface(self, data):
-        """Save Nviz raster layer properties to workspace
+        """!Save Nviz raster layer properties to workspace
 
         @param data Nviz layer properties
         """
@@ -555,7 +555,7 @@
         self.indent -= 4
 
     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
         """
@@ -601,7 +601,7 @@
 
 class ProcessGrcFile(object):
     def __init__(self, filename):
-        """Process GRC file"""
+        """!Process GRC file"""
         self.filename = filename
 
         # elements
@@ -617,7 +617,7 @@
         self.num_error = 0
 
     def read(self, parent):
-        """Read GRC file
+        """!Read GRC file
 
         @param parent parent window
 
@@ -651,7 +651,7 @@
         return self.layers
 
     def process_line(self, line, line_id):
-        """Process line definition"""
+        """!Process line definition"""
         element = self._get_element(line)
         if element == 'Group':
             self.groupName = self._get_value(line)
@@ -862,18 +862,18 @@
             self.num_error += 1
 
     def _get_value(self, line):
-        """Get value of element"""
+        """!Get value of element"""
         try:
             return line.strip(' ').split(' ')[1].strip(' ')
         except:
             return ''
 
     def _get_element(self, line):
-        """Get element tag"""
+        """!Get element tag"""
         return line.strip(' ').split(' ')[0].strip(' ')
 
     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 name parameter name
@@ -894,7 +894,7 @@
         return -1
 
     def _color_name_to_rgb(self, value):
-        """Convert color name (#) to rgb values"""
+        """!Convert color name (#) to rgb values"""
         col = wx.NamedColour(value)
         return str(col.Red()) + ':' + \
             str(col.Green()) + ':' + \

Modified: grass/trunk/gui/wxpython/gui_modules/wxgui_utils.py
===================================================================
--- grass/trunk/gui/wxpython/gui_modules/wxgui_utils.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/gui_modules/wxgui_utils.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -208,7 +208,7 @@
         event.Skip()
         
     def OnKeyUp(self, event):
-        """Key pressed"""
+        """!Key pressed"""
         key = event.GetKeyCode()
         if key == wx.WXK_DELETE and self.lmgr:
             self.lmgr.OnDeleteLayer(None)
@@ -216,11 +216,11 @@
         event.Skip()
 
     #def OnChangeLayerName (self, event):
-    #    """Change layer name"""
+    #    """!Change layer name"""
     #    Debug.msg (3, "LayerTree.OnChangeLayerName: name=%s" % event.GetLabel())
 
     def OnLayerContextMenu (self, event):
-        """Contextual menu for item/layer"""
+        """!Contextual menu for item/layer"""
         if not self.layer_selected:
             event.Skip()
             return
@@ -377,7 +377,7 @@
         self.popupMenu.Destroy()
 
     def OnMetadata(self, event):
-        """Print metadata of raster/vector map layer
+        """!Print metadata of raster/vector map layer
         TODO: Dialog to modify metadata
         """
         mapLayer = self.GetPyData(self.layer_selected)[0]['maplayer']
@@ -393,7 +393,7 @@
         self.lmgr.goutput.RunCmd(cmd, switchPage=True)
 
     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']
         
         cmd = ['g.region',
@@ -404,7 +404,7 @@
         self.lmgr.goutput.RunCmd(cmd)
          
     def OnSetCompRegFromMap(self, event):
-        """Set computational region from selected raster/vector map"""
+        """!Set computational region from selected raster/vector map"""
         rast = []
         vect = []
         rast3d = []
@@ -433,7 +433,7 @@
             self.lmgr.goutput.RunCmd(cmd)
         
     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']
         if not mapLayer.name:
             wx.MessageBox(parent=self,
@@ -456,7 +456,7 @@
             self.profileFrame.Show()
         
     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
         menuform.GUI().ParseCommand(['r.colors',
                                      'map=%s' % name],
@@ -536,7 +536,7 @@
         self.mapdisplay.imgVectorMap = None
         
     def OnSetBgMap(self, event):
-        """Set background vector map for editing sesstion"""
+        """!Set background vector map for editing sesstion"""
         if event.IsChecked():
             mapName = self.GetPyData(self.layer_selected)[0]['maplayer'].GetName()
             UserSettings.Set(group='vdigit', key='bgmap', subkey='value',
@@ -546,11 +546,11 @@
                              value='', internal=True)
         
     def OnPopupProperties (self, event):
-        """Popup properties dialog"""
+        """!Popup properties dialog"""
         self.PropertiesDialog(self.layer_selected)
 
     def OnPopupOpacityLevel(self, event):
-        """Popup opacity level indicator"""
+        """!Popup opacity level indicator"""
         if not self.GetPyData(self.layer_selected)[0]['ctrl']:
             return
 
@@ -590,7 +590,7 @@
             #    self.mapdisplay.OnRender(None)
 
     def OnNvizProperties(self, event):
-        """Nviz-related properties (raster/vector/volume)
+        """!Nviz-related properties (raster/vector/volume)
 
         @todo vector/volume
         """
@@ -600,12 +600,12 @@
         self.mapdisplay.nvizToolWin.SetPage('surface')
 
     def RenameLayer (self, event):
-        """Rename layer"""
+        """!Rename layer"""
         self.EditLabel(self.layer_selected)
 
     def AddLayer(self, ltype, lname=None, lchecked=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.)
 
         @param ltype layer type (raster, vector, 3d-raster, ...)
@@ -822,7 +822,7 @@
         return layer
 
     def PropertiesDialog (self, layer, show=True):
-        """Launch the properties dialog"""
+        """!Launch the properties dialog"""
         if self.GetPyData(layer)[0].has_key('propwin') and \
                 self.GetPyData(layer)[0]['propwin'] is not None:
             # recycle GUI dialogs
@@ -912,7 +912,7 @@
             pass
         
     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."""
         
         layer = event.GetItem()
@@ -927,7 +927,7 @@
                 self.Expand(layer)
 
     def OnDeleteLayer(self, event):
-        """Remove selected layer item from the layer tree"""
+        """!Remove selected layer item from the layer tree"""
 
         item = event.GetItem()
 
@@ -968,7 +968,7 @@
         event.Skip()
 
     def OnLayerChecked(self, event):
-        """Enable/disable data layer"""
+        """!Enable/disable data layer"""
         item    = event.GetItem()
         checked = item.IsChecked()
 
@@ -1043,7 +1043,7 @@
         #    self.mapdisplay.OnRender(None)
 
     def OnCmdChanged(self, event):
-        """Change command string"""
+        """!Change command string"""
         ctrl = event.GetEventObject().GetId()
         cmd = event.GetString()
         
@@ -1061,7 +1061,7 @@
         event.Skip()
 
     def OnChangeSel(self, event):
-        """Selection changed"""
+        """!Selection changed"""
         oldlayer = event.GetOldItem()
         layer = event.GetItem()
         if layer == oldlayer:
@@ -1275,7 +1275,7 @@
         return newItem
 
     def GetOptData(self, dcmd, layer, params, propwin):
-        """Process layer data"""
+        """!Process layer data"""
         # set layer text to map name
         if dcmd:
             mapLayer = self.GetPyData(layer)[0]['maplayer']
@@ -1341,7 +1341,7 @@
                     mapWin.ResetView()
         
     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
         match layers in layer tree."""
 
@@ -1374,7 +1374,7 @@
         self.reorder = False
 
     def ChangeLayer(self, item):
-        """Change layer"""
+        """!Change layer"""
         type = self.GetPyData(item)[0]['type']
         layerName = None
         
@@ -1421,12 +1421,12 @@
         # self.Map.Clean()
 
     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]
         return self.__FindSubItemByData(item, key, value)
 
     def EnableItemType(self, type, enable=True):
-        """Enable/disable items in layer tree"""
+        """!Enable/disable items in layer tree"""
         item = self.GetFirstChild(self.root)[0]
         while item and item.IsOk():
             mapLayer = self.GetPyData(item)[0]['maplayer']
@@ -1436,7 +1436,7 @@
             item = self.GetNextSibling(item)
         
     def __FindSubItemByData(self, item, key, value):
-        """Support method for FindItemByValue"""
+        """!Support method for FindItemByValue"""
         while item and item.IsOk():
             itemValue = self.GetPyData(item)[0][key]
             if value == itemValue:

Modified: grass/trunk/gui/wxpython/icons/icon.py
===================================================================
--- grass/trunk/gui/wxpython/icons/icon.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/icons/icon.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -103,11 +103,11 @@
             self.description = ''
 
     def __str__(self):
-        """Debugging"""
+        """!Debugging"""
         return "label=%s, img=%s, type=%s" % (self.label, self.imagepath, self.type)
 
     def GetBitmap(self, size=None):
-        """Get bitmap"""
+        """!Get bitmap"""
         bmp = None
 
         if self.type == 'wx':

Modified: grass/trunk/gui/wxpython/support/update_menu_desc.py
===================================================================
--- grass/trunk/gui/wxpython/support/update_menu_desc.py	2009-05-27 19:34:29 UTC (rev 37539)
+++ grass/trunk/gui/wxpython/support/update_menu_desc.py	2009-05-27 19:58:35 UTC (rev 37540)
@@ -61,7 +61,7 @@
         print '                 ),'
 
 def get_description(item):
-    """Return command desctiption based on interface
+    """!Return command desctiption based on interface
     description"""
     print 
     desc, type, cmd = item

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



More information about the grass-commit mailing list