浏览代码

wxGUI: fix RenderWMSMgr to work with RenderMapMgr

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@65212 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 10 年之前
父节点
当前提交
0ca9a345a8
共有 2 个文件被更改,包括 9 次插入4 次删除
  1. 3 2
      gui/wxpython/core/render.py
  2. 6 2
      gui/wxpython/core/ws.py

+ 3 - 2
gui/wxpython/core/render.py

@@ -570,7 +570,7 @@ class RenderMapMgr(wx.EvtHandler):
                 self.progressInfo['progresVal'] += 1
                 if layer in self.progressInfo['downloading']:
                     self.progressInfo['downloading'].remove(layer)
-
+        
         # for updating statusbar text
         stText = ''
         first = True
@@ -1124,9 +1124,10 @@ class Map(object):
         self._addLayer(layer, render, pos)
         
         renderMgr = layer.GetRenderMgr()
+        Debug.msg(1, "Map.AddLayer(): ltype={}, command={}".format(ltype, ' '.join(command)))
         if renderMgr:
             if layer.type == 'wms':
-                renderMgr.dataFetched.connect(self.layerChanged)
+                renderMgr.dataFetched.connect(self.renderMgr.ReportProgress)
             renderMgr.updateProgress.connect(self.renderMgr.ReportProgress)
         
         self.layerAdded.emit(layer=layer)

+ 6 - 2
gui/wxpython/core/ws.py

@@ -86,6 +86,9 @@ class RenderWMSMgr(wx.EvtHandler):
         if not haveGdal:
             return
 
+        Debug.msg(1, "RenderWMSMgr.Render(%s): force=%d img=%s" % \
+                  (self.layer, self.layer.forceRender, self.layer.mapfile))
+
         env = copy.copy(env)
         self.dstSize['cols'] = int(env["GRASS_RENDER_WIDTH"])
         self.dstSize['rows'] = int(env["GRASS_RENDER_HEIGHT"])
@@ -134,7 +137,8 @@ class RenderWMSMgr(wx.EvtHandler):
             env["GRASS_REGION"] = self._createRegionStr(region)
 
             self.thread.RunCmd(cmdList, env=env, stderr=self.cmdStdErr)
-
+            self.updateProgress.emit(layer=self.layer)
+            
     def OnCmdOutput(self, event):
         """Print cmd output according to debug level.
         """
@@ -171,7 +175,7 @@ class RenderWMSMgr(wx.EvtHandler):
 
         self.fetched_data_cmd = self.fetching_cmd
 
-        self.dataFetched.emit()
+        self.dataFetched.emit(layer=self.layer)
 
     def _getRegionDict(self, env):
         """Parse string from GRASS_REGION env variable into dict.