|
@@ -282,8 +282,15 @@ class HistogramFrame(wx.Frame):
|
|
|
self.toolbar = HistogramToolbar(parent = self)
|
|
|
self.SetToolBar(self.toolbar)
|
|
|
|
|
|
+ # find selected map
|
|
|
+ self.mapname = None
|
|
|
+ if not parent.IsStandalone():
|
|
|
+ tree = parent.GetLayerManager().GetLayerTree()
|
|
|
+
|
|
|
+ if tree.layer_selected and tree.GetPyData(tree.layer_selected)[0]['type'] == 'raster':
|
|
|
+ self.mapname = tree.GetPyData(tree.layer_selected)[0]['maplayer'].name
|
|
|
+
|
|
|
# Add statusbar
|
|
|
- self.mapname = ''
|
|
|
self.statusbar = self.CreateStatusBar(number = 1, style = 0)
|
|
|
# self.statusbar.SetStatusWidths([-2, -1])
|
|
|
hist_frame_statusbar_fields = ["Histogramming %s" % self.mapname]
|
|
@@ -305,7 +312,11 @@ class HistogramFrame(wx.Frame):
|
|
|
# Add layer to the map
|
|
|
self.layer = self.Map.AddLayer(type = "command", name = 'histogram', command = ['d.histogram'],
|
|
|
l_active = False, l_hidden = False, l_opacity = 1, l_render = False)
|
|
|
-
|
|
|
+ if self.mapname:
|
|
|
+ self.SetHistLayer(self.mapname, None)
|
|
|
+ else:
|
|
|
+ self.OnErase(None)
|
|
|
+
|
|
|
def InitDisplay(self):
|
|
|
"""!Initialize histogram display, set dimensions and region
|
|
|
"""
|
|
@@ -317,10 +328,9 @@ class HistogramFrame(wx.Frame):
|
|
|
cmd = ['d.histogram']
|
|
|
if self.mapname != '':
|
|
|
cmd.append('map=%s' % self.mapname)
|
|
|
-
|
|
|
- GUI(parent = self).ParseCommand(cmd,
|
|
|
- completed = (self.GetOptData, None, self.params))
|
|
|
-
|
|
|
+ module = GUI(parent = self)
|
|
|
+ module.ParseCommand(cmd, completed = (self.GetOptData, None, self.params))
|
|
|
+
|
|
|
def GetOptData(self, dcmd, layer, params, propwin):
|
|
|
"""!Callback method for histogram command generated by dialog
|
|
|
created in menuform.py
|
|
@@ -333,19 +343,19 @@ class HistogramFrame(wx.Frame):
|
|
|
message = _("Raster map <%s> not found") % name)
|
|
|
return
|
|
|
|
|
|
- self.SetHistLayer(name)
|
|
|
+ self.SetHistLayer(name, dcmd)
|
|
|
self.params = params
|
|
|
self.propwin = propwin
|
|
|
-
|
|
|
self.HistWindow.UpdateHist()
|
|
|
|
|
|
- def SetHistLayer(self, name):
|
|
|
+ def SetHistLayer(self, name, cmd = None):
|
|
|
"""!Set histogram layer
|
|
|
"""
|
|
|
self.mapname = name
|
|
|
-
|
|
|
+ if not cmd:
|
|
|
+ cmd = ['d.histogram',('map=%s' % self.mapname)]
|
|
|
self.layer = self.Map.ChangeLayer(layer = self.layer,
|
|
|
- command = [['d.histogram', 'map=%s' % self.mapname],],
|
|
|
+ command = [cmd],
|
|
|
active = True)
|
|
|
|
|
|
return self.layer
|