[GRASS-SVN] r54034 - in grass/trunk/gui/wxpython: gui_core lmgr mapdisp nviz
svn_grass at osgeo.org
svn_grass at osgeo.org
Sun Nov 25 08:28:03 PST 2012
Author: annakrat
Date: 2012-11-25 08:28:03 -0800 (Sun, 25 Nov 2012)
New Revision: 54034
Modified:
grass/trunk/gui/wxpython/gui_core/mapwindow.py
grass/trunk/gui/wxpython/lmgr/layertree.py
grass/trunk/gui/wxpython/mapdisp/mapwindow.py
grass/trunk/gui/wxpython/nviz/mapwindow.py
grass/trunk/gui/wxpython/nviz/tools.py
Log:
wxGUI/layertree: move method from mapwindow to layertree (co-author: wenzeslaus)
Modified: grass/trunk/gui/wxpython/gui_core/mapwindow.py
===================================================================
--- grass/trunk/gui/wxpython/gui_core/mapwindow.py 2012-11-25 13:52:42 UTC (rev 54033)
+++ grass/trunk/gui/wxpython/gui_core/mapwindow.py 2012-11-25 16:28:03 UTC (rev 54034)
@@ -275,49 +275,3 @@
return self.tree.GetLayerInfo(item, key = 'nviz')
return item
-
- def GetSelectedLayer(self, type = 'layer', multi = False):
- """!Get selected layer from layer tree
-
- @param type 'item' / 'layer' / 'nviz'
- @param multi return first selected layer or all
-
- @return layer / map layer properties / nviz properties
- @return None / [] on failure
- """
- ret = []
- if not self.tree or \
- not self.tree.GetSelection():
- if multi:
- return []
- else:
- return None
-
- if multi and \
- type == 'item':
- return self.tree.GetSelections()
-
- for item in self.tree.GetSelections():
- if not item.IsChecked():
- if multi:
- continue
- else:
- return None
-
- if type == 'item': # -> multi = False
- return item
-
- try:
- if type == 'nviz':
- layer = self.tree.GetLayerInfo(item, key = 'nviz')
- else:
- layer = self.tree.GetLayerInfo(item, key = 'maplayer')
- except:
- layer = None
-
- if multi:
- ret.append(layer)
- else:
- return layer
-
- return ret
Modified: grass/trunk/gui/wxpython/lmgr/layertree.py
===================================================================
--- grass/trunk/gui/wxpython/lmgr/layertree.py 2012-11-25 13:52:42 UTC (rev 54033)
+++ grass/trunk/gui/wxpython/lmgr/layertree.py 2012-11-25 16:28:03 UTC (rev 54034)
@@ -240,25 +240,45 @@
self.Bind(wx.EVT_IDLE, self.OnIdle)
self.Bind(wx.EVT_MOTION, self.OnMotion)
- def GetSelectedLayer(self):
+ def _getSelectedLayer(self):
"""!Get selected layer.
@return None if no layer selected
@return first layer (GenericTreeItem instance) of all selected
"""
- layers = self.GetSelections()
- if len(layers) >= 1:
- return layers[0]
- return None
+ return self.GetSelectedLayer(multi = False, checkedOnly = False)
# for compatibility
- layer_selected = property(fget = GetSelectedLayer)
+ layer_selected = property(fget = _getSelectedLayer)
- def GetSelectedLayers(self):
+ def GetSelectedLayers(self, checkedOnly = False):
"""!Get selected layers as a list.
"""
- return self.GetSelections()
+ return self.GetSelectedLayers(multi = True, checkedOnly = False)
+ def GetSelectedLayer(self, multi = False, checkedOnly = False):
+ """!Get selected layer from layer tree.
+
+ @param multi return multiple selection as a list
+ @param checkedOnly return only the checked layers
+
+ @return None or [] for multi == True if no layer selected
+ @return first layer (GenericTreeItem instance) of all selected or a list
+ """
+ ret = []
+ layers = self.GetSelections()
+
+ for layer in layers:
+ if not checkedOnly or (checkedOnly and layer.IsChecked()):
+ ret.append(layer)
+ if multi:
+ return ret
+
+ if ret:
+ return ret[0]
+
+ return None
+
def _setGradient(self, iType = None):
"""!Set gradient for items
Modified: grass/trunk/gui/wxpython/mapdisp/mapwindow.py
===================================================================
--- grass/trunk/gui/wxpython/mapdisp/mapwindow.py 2012-11-25 13:52:42 UTC (rev 54033)
+++ grass/trunk/gui/wxpython/mapdisp/mapwindow.py 2012-11-25 16:28:03 UTC (rev 54034)
@@ -54,7 +54,7 @@
def __init__(self, parent, giface, Map, frame,
id = wx.ID_ANY, tree = None, lmgr = None,
style = wx.NO_FULL_REPAINT_ON_RESIZE, **kwargs):
- MapWindow.__init__(self, parent = parent, giface = giface, id = id, Map = Map,
+ MapWindow.__init__(self, parent = parent, giface = giface, Map = Map,
frame = frame, tree = tree, lmgr = lmgr, **kwargs)
wx.Window.__init__(self, parent = parent, id = id, style = style, **kwargs)
@@ -1174,7 +1174,7 @@
message = _("Querying is not implemented in standalone mode of Map Display"))
return
- layers = self.GetSelectedLayer(type = 'item', multi = True)
+ layers = self.tree.GetSelectedLayer(multi = True, checkedOnly = True)
self.frame.Query(self.mouse['begin'][0],self.mouse['begin'][1], layers)
@@ -1579,8 +1579,9 @@
@param render True to re-render display
"""
if not layers:
- layers = self.GetSelectedLayer(multi = True)
-
+ layers = self.tree.GetSelectedLayer(multi = True, checkedOnly = False)
+ layers = [self.tree.GetLayerInfo(layer, key = 'maplayer') for layer in layers]
+
if not layers:
return
Modified: grass/trunk/gui/wxpython/nviz/mapwindow.py
===================================================================
--- grass/trunk/gui/wxpython/nviz/mapwindow.py 2012-11-25 13:52:42 UTC (rev 54033)
+++ grass/trunk/gui/wxpython/nviz/mapwindow.py 2012-11-25 16:28:03 UTC (rev 54034)
@@ -358,8 +358,9 @@
self.lmgr.nviz.UpdatePage('cplane')
self.lmgr.nviz.UpdatePage('decoration')
self.lmgr.nviz.UpdatePage('animation')
- layer = self.GetSelectedLayer()
+ layer = self.tree.GetSelectedLayer(multi = False, checkedOnly = True)
if layer:
+ layer = self.tree.GetLayerInfo(layer, key = 'maplayer')
if layer.type == 'raster':
self.lmgr.nviz.UpdatePage('surface')
self.lmgr.nviz.UpdatePage('fringe')
@@ -766,7 +767,7 @@
message = _("Querying is not implemented in standalone mode of Map Display"))
return
- layers = self.GetSelectedLayer(type = 'item', multi = True)
+ layers = self.tree.GetSelectedLayer(multi = True, checkedOnly = True)
self.frame.Query(self.mouse['begin'][0],self.mouse['begin'][1], layers)
@@ -1512,7 +1513,7 @@
# update tools window
if hasattr(self.lmgr, "nviz") and \
- item == self.GetSelectedLayer(type = 'item'):
+ item == self.tree.GetSelectedLayer(multi = False, checkedOnly = True):
toolWin = self.lmgr.nviz
if layer.type == 'raster':
win = toolWin.FindWindowById( \
@@ -1695,7 +1696,7 @@
# update tools window
if hasattr(self.lmgr, "nviz") and \
- item == self.GetSelectedLayer(type = 'item'):
+ item == self.tree.GetSelectedLayer(multi = False, checkedOnly = True):
toolWin = self.lmgr.nviz
toolWin.UpdatePage('vector')
Modified: grass/trunk/gui/wxpython/nviz/tools.py
===================================================================
--- grass/trunk/gui/wxpython/nviz/tools.py 2012-11-25 13:52:42 UTC (rev 54033)
+++ grass/trunk/gui/wxpython/nviz/tools.py 2012-11-25 16:28:03 UTC (rev 54034)
@@ -126,7 +126,8 @@
def SetInitialMaps(self):
"""!Set initial raster and vector map"""
for l_type in ('raster', 'vector', '3d-raster'):
- selectedLayer = self.mapWindow.GetSelectedLayer()
+ selectedLayer = self.parent.GetLayerTree().GetSelectedLayer(multi = False, checkedOnly = True)
+ selectedLayer = self.parent.GetLayerTree().GetLayerInfo(selectedLayer, key = 'maplayer')
layers = self.mapWindow.Map.GetListOfLayers(l_type = l_type, l_active = True)
if selectedLayer in layers:
selection = selectedLayer.GetName()
More information about the grass-commit
mailing list