浏览代码

g.gui.iclass: allow to import training areas from other mapsets

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@58739 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 11 年之前
父节点
当前提交
6d215e523f
共有 3 个文件被更改,包括 12 次插入10 次删除
  1. 2 2
      gui/wxpython/iclass/frame.py
  2. 2 2
      gui/wxpython/vdigit/wxdigit.py
  3. 8 6
      gui/wxpython/vdigit/wxdisplay.py

+ 2 - 2
gui/wxpython/iclass/frame.py

@@ -567,12 +567,12 @@ class IClassMapFrame(DoubleMapFrame):
         
         wx.BeginBusyCursor()
         wx.Yield()
-
+        
         # close, build, copy and open again the temporary vector
         digitClass = self.GetFirstWindow().GetDigit()
         
         # open vector map to be imported
-        if digitClass.OpenMap(vector) is None:
+        if digitClass.OpenMap(vector, update=False) is None:
             GError(parent = self, message = _("Unable to open vector map <%s>") % vector)
             return
         

+ 2 - 2
gui/wxpython/vdigit/wxdigit.py

@@ -1611,7 +1611,7 @@ class IVDigit:
         """!Get display driver instance"""
         return self._display
     
-    def OpenMap(self, name, tmp = False):
+    def OpenMap(self, name, update=True, tmp = False):
         """!Open vector map for editing
         
         @param map name of vector map to be set up
@@ -1624,7 +1624,7 @@ class IVDigit:
         else:
             mapset = grass.gisenv()['MAPSET']
         
-        self.poMapInfo = self._display.OpenMap(str(name), str(mapset), True, tmp)
+        self.poMapInfo = self._display.OpenMap(str(name), str(mapset), update, tmp)
         
         if self.poMapInfo:
             self.InitCats()

+ 8 - 6
gui/wxpython/vdigit/wxdisplay.py

@@ -884,16 +884,18 @@ class DisplayDriver:
         @return 0 on success
         @return non-zero on error
         """
-        ret = 0
-        if self.poMapInfo:
+        if not self.poMapInfo:
+            return 0
+
+        if self.poMapInfo.contents.mode == GV_MODE_RW:
             # rebuild topology
             Vect_build_partial(self.poMapInfo, GV_BUILD_NONE)
             Vect_build(self.poMapInfo)
 
-            # close map and store topo/cidx
-            ret = Vect_close(self.poMapInfo)
-            del self.mapInfo
-            self.poMapInfo = self.mapInfo = None
+        # close map and store topo/cidx
+        ret = Vect_close(self.poMapInfo)
+        del self.mapInfo
+        self.poMapInfo = self.mapInfo = None
         
         return ret