Browse Source

wxGUI: fix trac https://trac.osgeo.org/grass/ticket/268 - the "command layer" in wxGUI does not work
(merge from devbr6, https://trac.osgeo.org/grass/changeset/33147)


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

Martin Landa 16 năm trước cách đây
mục cha
commit
23d83be10b
2 tập tin đã thay đổi với 12 bổ sung29 xóa
  1. 9 18
      gui/wxpython/gui_modules/render.py
  2. 3 11
      gui/wxpython/gui_modules/wxgui_utils.py

+ 9 - 18
gui/wxpython/gui_modules/render.py

@@ -75,8 +75,6 @@ class Layer(object):
         self.active  = active
         self.hidden  = hidden
         self.opacity = opacity
-
-        self._region = None # produced by `d.vect -r`
         
         self.force_render = True
         
@@ -103,19 +101,16 @@ class Layer(object):
         @return rendered image filename
         @return None on error
         """
-        self._region = None # reset region
-
         if len(self.cmdlist) == 0:
             return None
         
         # ignore in 2D
         if self.type == '3d-raster':
             return None
-
+        
         Debug.msg (3, "Layer.Render(): type=%s, name=%s" % \
                        (self.type, self.name))
-
-
+        
         #
         # prepare command for each layer
         #
@@ -124,7 +119,7 @@ class Layer(object):
                       'grid', 'geodesic', 'rhumb', 'labels',
                       'command',
                       'overlay']
-
+        
         if self.type not in layertypes:
             raise gcmd.GStdError(_("<%(name)s>: layer type <%(type)s> is not supported yet.") % \
                                      {'type' : self.type, 'name' : self.name})
@@ -141,7 +136,7 @@ class Layer(object):
         try:
             runcmd = gcmd.Command(cmd=self.cmdlist + ['--q'],
                                   stderr=None)
-
+            
             if runcmd.returncode != 0:
                 #clean up after probley
                 try:
@@ -152,7 +147,7 @@ class Layer(object):
                     pass
                 self.mapfile = None
                 self.maskfile = None
-
+        
         except gcmd.CmdError, e:
             print >> sys.stderr, e
             # clean up after problems
@@ -164,16 +159,16 @@ class Layer(object):
                 pass
             self.mapfile = None
             self.maskfile = None
-
+        
         #
         # stop monitor
         #
 	os.unsetenv("GRASS_PNGFILE")
-
+        
         self.force_render = False
         
         return self.mapfile
-
+    
     def GetCmd(self, string=False):
         """
         Get GRASS command as list of string.
@@ -263,11 +258,7 @@ class Layer(object):
 
         # for re-rendering
         self.force_render = True
-
-    def GetRegion(self):
-        """Get layer region or None"""
-        return self._region
-    
+        
 class MapLayer(Layer):
     """Represents map layer in the map canvas"""
     def __init__(self, type, cmd, name=None,

+ 3 - 11
gui/wxpython/gui_modules/wxgui_utils.py

@@ -949,8 +949,7 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         """Change command string"""
         ctrl = event.GetEventObject().GetId()
         cmd = event.GetString()
-        layer = None
-
+        
         layer = self.GetFirstVisibleItem()
 
         while layer and layer.IsOk():
@@ -960,15 +959,8 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
             layer = self.GetNextVisible(layer)
 
         # change parameters for item in layers list in render.Map
-        if layer == False:
-            self.ChangeLayer(layer)
-            self.GetPyData(layer)[0]['cmd'] = cmd.split(' ')
-            maplayer = self.GetPyData(layer)[0]['maplayer']
-            for option in maplayer.GetCmd():
-                if 'map=' in option:
-                    mapname = option.split('=')[1]
-                    self.Map.ChangeLayerName(maplayer, mapname)
-
+        self.ChangeLayer(layer)
+        
         event.Skip()
 
     def OnChangeSel(self, event):