Browse Source

Vaclav: add support for 3D raster legends (https://trac.osgeo.org/grass/ticket/2083)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@60104 15284696-431f-4ddb-bdfa-cd5b030d7da7
Hamish Bowman 11 năm trước cách đây
mục cha
commit
9562af2a02

+ 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