瀏覽代碼

wxGUI: grc2gwx: gridline support added
(merge from relbr64, https://trac.osgeo.org/grass/changeset/35438)


git-svn-id: https://svn.osgeo.org/grass/grass/trunk@35439 15284696-431f-4ddb-bdfa-cd5b030d7da7

Martin Landa 16 年之前
父節點
當前提交
3200d8f1a7
共有 3 個文件被更改,包括 71 次插入4 次删除
  1. 1 1
      gui/wxpython/gui_modules/gdialogs.py
  2. 9 2
      gui/wxpython/gui_modules/menuform.py
  3. 61 1
      gui/wxpython/gui_modules/workspace.py

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

@@ -10,7 +10,7 @@ List of classes:
  - TextLayerDialog 
  - LoadMapLayersDialog
  - MultiImportDialog
- - LayerList (used by MultiImport) 
+ - LayersList (used by MultiImport) 
  - SetOpacityDialog
 
 (C) 2008 by the GRASS Development Team

+ 9 - 2
gui/wxpython/gui_modules/menuform.py

@@ -1072,13 +1072,20 @@ class cmdPanel(wx.Panel):
                                 maxValue = 1e6
                             txt2 = wx.SpinCtrl(parent=which_panel, id=wx.ID_ANY, size=globalvar.DIALOG_SPIN_SIZE,
                                                min=minValue, max=maxValue)
+                            txt2.SetName("SpinCtrl")
                             style = wx.BOTTOM | wx.LEFT
                         else:
                             txt2 = wx.TextCtrl(parent=which_panel, value = p.get('default',''))
+                            txt.SetName("TextCtrl")
                             style = wx.EXPAND | wx.BOTTOM | wx.LEFT
                         
-                        if p.get('value','') != '':
-                            txt2.SetValue(p['value']) # parameter previously set
+                        if p.get('value', '') != '':
+                            # parameter previously set
+                            if txt2.GetName() == "SpinCtrl":
+                                txt2.SetValue(int(p['value']))
+                            else:
+                                txt2.SetValue(p['value'])
+                        
                         which_sizer.Add(item=txt2, proportion=0,
                                         flag=style, border=5)
 

+ 61 - 1
gui/wxpython/gui_modules/workspace.py

@@ -664,7 +664,9 @@ class ProcessGrcFile(object):
                 self.inVector = False
             elif self.inGroup:
                 self.inGroup = False
-
+            elif self.inGridline:
+                self.inGridline = False
+        
         elif element == 'opacity':
             self.layers[-1]['opacity'] = float(self._get_value(line))
 
@@ -783,6 +785,64 @@ class ProcessGrcFile(object):
             if value != '':
                 self.layers[-1]['cmd'].append('cats=%s' % value)
 
+        # gridline
+        elif element == 'gridline':
+            self.inGridline = True
+            self.layers.append({
+                    "type"    : 'grid',
+                    "name"    : self._get_value(line),
+                    "checked" : None,
+                    "opacity" : None,
+                    "cmd"     : ['d.grid'],
+                    "group"   : self.inGroup,
+                    "display" : 0})
+
+        elif element == 'gridcolor':
+            value = self._get_value(line)
+            if value != '':
+                self.layers[-1]['cmd'].append('color=%s' % self._color_name_to_rgb(value))
+
+        elif element == 'gridborder':
+            value = self._get_value(line)
+            if value != '':
+                self.layers[-1]['cmd'].append('bordercolor=%s' % self._color_name_to_rgb(value))
+
+        elif element == 'textcolor':
+            value = self._get_value(line)
+            if value != '':
+                self.layers[-1]['cmd'].append('textcolor=%s' % self._color_name_to_rgb(value))
+
+        elif element in ('gridsize',
+                         'gridorigin'):
+            value = self._get_value(line)
+            if value != '':
+                self.layers[-1]['cmd'].append('%s=%s' % (element[4:], value))
+
+        elif element in 'fontsize':
+            value = self._get_value(line)
+            if value != '':
+                self.layers[-1]['cmd'].append('%s=%s' % (element, value))
+        
+        elif element == 'griddraw':
+            value = self._get_value(line)
+            if value == '0':
+                self.layers[-1]['cmd'].append('-n')
+                
+        elif element == 'gridgeo':
+            value = self._get_value(line)
+            if value == '1':
+                self.layers[-1]['cmd'].append('-g')
+        
+        elif element == 'borderdraw':
+            value = self._get_value(line)
+            if value == '0':
+                self.layers[-1]['cmd'].append('-b')
+
+        elif element == 'textdraw':
+            value = self._get_value(line)
+            if value == '0':
+                self.layers[-1]['cmd'].append('-t')
+        
         else:
             self.error += _(' row %d:') % line_id + line + os.linesep
             self.num_error += 1