Ver código fonte

wxGUI: force rename when adding group to the Layer Tree

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@48443 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 13 anos atrás
pai
commit
d2e9cea203
1 arquivos alterados com 12 adições e 2 exclusões
  1. 12 2
      gui/wxpython/gui_modules/layertree.py

+ 12 - 2
gui/wxpython/gui_modules/layertree.py

@@ -700,9 +700,13 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         
     def OnRenamed(self, event):
         """!Layer renamed"""
+        if not event.GetLabel():
+            event.Skip()
+            return
+        
         item = self.layer_selected
         self.GetPyData(item)[0]['label'] = event.GetLabel()
-        self.SetItemText(item, self._getLayerName(item)) # not working, why?
+        self.SetItemText(item, self._getLayerName(item))
         
         event.Skip()
 
@@ -924,9 +928,12 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
                 ctrl.SetValue(lname)
             else:
                 self.SetItemText(layer, self._getLayerName(layer, lname))
+        else:
+            if ltype == 'group':
+                self.OnRenameLayer(None)
         
         # updated progress bar range (mapwindow statusbar)
-        if checked is True:
+        if checked:
             self.mapdisplay.statusbarWin['progress'].SetRange(len(self.Map.GetListOfLayers(l_active = True)))
             
         return layer
@@ -1413,6 +1420,9 @@ class LayerTree(treemixin.DragAndDrop, CT.CustomTreeCtrl):
         @param lname optional layer name
         """
         mapLayer = self.GetPyData(item)[0]['maplayer']
+        if not mapLayer:
+            return lname
+        
         if not lname:
             lname  = self.GetPyData(item)[0]['label']
         opacity  = int(mapLayer.GetOpacity(float = True) * 100)