Browse Source

wxGUI: fix zooming to RBG layers
(merge https://trac.osgeo.org/grass/changeset/44027 from devbr6)


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

Martin Landa 14 years ago
parent
commit
d486e9c61a

+ 4 - 1
gui/wxpython/gui_modules/layertree.py

@@ -443,7 +443,10 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 vect.append(mapLayer.GetName())
             elif mltype == '3d-raster':
                 rast3d.append(mapLayer.GetName())
-
+            elif mltype == 'rgb':
+                for rname in mapLayer.GetName().splitlines():
+                    rast.append(rname)
+        
         cmd = ['g.region']
         if rast:
             cmd.append('rast=%s' % ','.join(rast))

+ 2 - 3
gui/wxpython/gui_modules/mapdisp.py

@@ -1870,9 +1870,8 @@ class MapFrame(wx.Frame):
         self.propwin[type] = propwin
 
     def OnZoomToMap(self, event):
-        """!
-        Set display extents to match selected raster (including NULLs)
-        or vector map.
+        """!Set display extents to match selected raster (including
+        NULLs) or vector map.
         """
         self.MapWindow.ZoomToMap()
 

+ 8 - 6
gui/wxpython/gui_modules/mapdisp_window.py

@@ -914,8 +914,7 @@ class BufferedWindow(MapWindow, wx.Window):
         return True
 
     def DrawCompRegionExtent(self):
-        """!
-        Draw computational region extent in the display
+        """!Draw computational region extent in the display
         
         Display region is drawn as a blue box inside the computational region,
         computational region inside a display region as a red box).
@@ -2735,12 +2734,12 @@ class BufferedWindow(MapWindow, wx.Window):
         """!Set display extents to match selected raster
         or vector map(s).
 
-        @param layer list of layers to be zoom to
-        @param ignoreNulls True to ignore null-values
+        @param layers list of layers to be zoom to
+        @param ignoreNulls True to ignore null-values (valid only for rasters)
         @param render True to re-render display
         """
         zoomreg = {}
-
+        
         if not layers:
             layers = self.GetSelectedLayer(multi = True)
         
@@ -2763,7 +2762,10 @@ class BufferedWindow(MapWindow, wx.Window):
                     updated = True
                 else:
                     vect.append(l.name)
-        
+            elif l.type == 'rgb':
+                for rname in l.GetName().splitlines():
+                    rast.append(rname)
+            
         if not updated:
             self.Map.GetRegion(rast = rast,
                                vect = vect,

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

@@ -233,7 +233,7 @@ class Layer(object):
         
         return int (self.opacity * 100)
 
-    def GetName(self, fullyQualified=True):
+    def GetName(self, fullyQualified = True):
         """!Get map layer name
 
         @param fullyQualified if True return 'name@mapset' otherwise