Browse Source

wxGUI: minor fixes in nviz and atm
(merge from devbr6, https://trac.osgeo.org/grass/changeset/33319)


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

Martin Landa 16 years ago
parent
commit
e2a2353e4a

+ 4 - 2
gui/wxpython/gui_modules/dbm.py

@@ -1838,8 +1838,10 @@ class AttributeManager(wx.Frame):
         Return True if map has been redrawn, False if no map is given
         """
         list = self.FindWindowById(self.layerPage[self.layer]['data'])
-        cats = list.GetSelectedItems() # FIXME: category can be hiden in list
-
+        cats = { 
+            self.layer : list.GetSelectedItems()
+            }
+        
         if self.mapdisplay.Map.GetLayerIndex(self.qlayer) < 0:
             self.qlayer = None
             

+ 17 - 8
gui/wxpython/gui_modules/nviz_mapdisp.py

@@ -315,24 +315,33 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
 
         return 1
 
-    def LoadDataLayers(self):
-        """Load raster/vector from current layer tree
-
-        @todo volumes
-        """
-        listOfItems = []
+    def _GetDataLayers(self, item, litems):
+        """Return get list of enabled map layers"""
         # load raster & vector maps
-        item = self.tree.GetFirstChild(self.tree.root)[0]
         while item and item.IsOk():
             type = self.tree.GetPyData(item)[0]['type']
+            if type == 'group':
+                subItem = self.tree.GetFirstChild(item)[0]
+                self._GetDataLayers(subItem, litems)
+                item = self.tree.GetNextSibling(item)
+                
             if not item.IsChecked() or \
                     type not in ('raster', 'vector', '3d-raster'):
                 item = self.tree.GetNextSibling(item)
                 continue
 
-            listOfItems.append(item)
+            litems.append(item)
 
             item = self.tree.GetNextSibling(item)
+        
+    def LoadDataLayers(self):
+        """Load raster/vector from current layer tree
+
+        @todo volumes
+        """
+        listOfItems = []
+        item = self.tree.GetFirstChild(self.tree.root)[0]
+        self._GetDataLayers(item, listOfItems)
 
         start = time.time()
 

+ 4 - 4
gui/wxpython/gui_modules/nviz_tools.py

@@ -1895,9 +1895,9 @@ class NvizToolWindow(wx.Frame):
         data = self.mapWindow.GetSelectedLayer(type='nviz')
         for attrb in ('width', 'color', 'mode'):
             data['vector']['lines'][attrb]['update'] = None
-        data['vector']['lines']['width'] = width
-        data['vector']['lines']['color'] = color
-        data['vector']['lines']['mode'] = mode
+        data['vector']['lines']['width']['value'] = width
+        data['vector']['lines']['color']['value'] = color
+        data['vector']['lines']['mode']['value'] = mode
         
         # update properties
         event = wxUpdateProperties(data=data)
@@ -2313,7 +2313,7 @@ class NvizToolWindow(wx.Frame):
                                          page=panel,
                                          text=" %s " % _("Layer properties"),
                                          select=True)
-                
+            
             self.UpdateVectorPage(layer, data['vector'])
             
         elif pageId == 'volume':

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

@@ -1326,9 +1326,10 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         """Enable/disable items in layer tree"""
         item = self.GetFirstChild(self.root)[0]
         while item and item.IsOk():
-            ltype = self.GetPyData(item)[0]['maplayer'].type
-            if type == ltype:
+            mapLayer = self.GetPyData(item)[0]['maplayer']
+            if mapLayer and type == mapLayer.type:
                 self.EnableItem(item, enable)
+            
             item = self.GetNextSibling(item)
         
     def __FindSubItemByData(self, item, key, value):