浏览代码

reflect d.legend option changes (https://trac.osgeo.org/grass/ticket/2303), backport of https://trac.osgeo.org/grass/changeset/60103,4 from trunk

git-svn-id: https://svn.osgeo.org/grass/grass/branches/releasebranch_7_0@60395 15284696-431f-4ddb-bdfa-cd5b030d7da7
Hamish Bowman 11 年之前
父节点
当前提交
98f0a0a4b0

+ 1 - 1
gui/wxpython/core/render.py

@@ -358,7 +358,7 @@ class Overlay(Layer):
         @param id overlay id (for PseudoDC)
         @param type overlay type ('barscale', 'legend', etc.)
         @param cmd GRASS command to render overlay,
-        given as list, e.g. ['d.legend', 'map=elevation@PERMANENT']
+        given as list, e.g. ['d.legend', 'rast=elevation@PERMANENT']
         @param Map render.Map instance
         @param active layer is active, will be rendered only if True
         @param hidden layer is hidden, won't be listed in Layer Manager if True

+ 3 - 3
gui/wxpython/mapdisp/frame.py

@@ -1072,15 +1072,15 @@ class MapFrame(SingleMapFrame):
                     for i, legendParam in enumerate(self.legend.cmd[1:]):
                         idx = i + 1
                         param, val = legendParam.split('=')
-                        if param == 'map':
-                            self.legend.cmd[idx] = 'map={rast}'.format(rast=layer.maplayer.name)
+                        if param == 'rast':
+                            self.legend.cmd[idx] = 'rast={rast}'.format(rast=layer.maplayer.name)
                             isMap = True
                         elif param in ('use', 'range'):
                             # clear range or use to avoid problems
                             del self.legend.cmd[idx]
 
                     if not isMap:  # for the first time
-                        self.legend.cmd.append('map=%s' % layer.maplayer.name)
+                        self.legend.cmd.append('rast=%s' % layer.maplayer.name)
                     break
 
         if not showDialog and self.legend.CmdIsValid():

+ 6 - 1
gui/wxpython/mapwin/decorations.py

@@ -229,9 +229,14 @@ class LegendController(OverlayController):
             return x, y
 
     def CmdIsValid(self):
+        inputs = 0
         for param in self._cmd:
             param = param.split('=')
-            if param[0] == 'map' and len(param) == 2:
+            if param[0] == 'rast' and len(param) == 2:
+                inputs += 1
+            elif param[0] == 'rast3d' and len(param) == 2:
+                inputs += 1
+            if inputs == 1:
                 return True
         return False
 

+ 3 - 1
scripts/d.rast.leg/d.rast.leg.py

@@ -162,12 +162,14 @@ def main():
 #        lflags += 'n'
 
     make_frame(f, 0, 90, 70, 100)
-    grass.run_command('d.legend', flags = lflags, map = lmap, lines = nlines, at = leg_at)
+    grass.run_command('d.legend', flags = lflags, rast = lmap, lines = nlines, at = leg_at)
 
     #draw map
     make_frame(f, 0, 100, 0, 70)
     grass.run_command('d.rast', map = map)
 
+
 if __name__ == "__main__":
     options, flags = grass.parser()
     main()
+