Kaynağa Gözat

wxGUI/v.clean: check input parameters, define OnDone handler

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@49488 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 13 yıl önce
ebeveyn
işleme
079faea0fe
1 değiştirilmiş dosya ile 22 ekleme ve 4 silme
  1. 22 4
      gui/wxpython/modules/vclean.py

+ 22 - 4
gui/wxpython/modules/vclean.py

@@ -21,7 +21,7 @@ import wx.lib.scrolledpanel as scrolled
 
 from grass.script import core as grass
 
-from core.gcmd        import RunCommand
+from core.gcmd        import RunCommand, GError
 from core             import globalvar
 from gui_core.gselect import Select
 from core.debug       import Debug
@@ -444,13 +444,31 @@ class VectorCleaningFrame(wx.Frame):
 	else:
 	    self.selected = -1
 
+    def OnDone(self, cmd, returncode):
+        """!Command done"""
+        self.SetStatusText('')
+        
     def OnCleaningRun(self, event):
         """!Builds options and runs v.clean
         """
+        self.GetCmdStrings()
+        
+        err = list()
+        for p, name in ((self.inmap, _('Name of input vector map')),
+                        (self.outmap, _('Name for output vector map')),
+                        (self.tools_string, _('Tools')),
+                        (self.thresh_string, _('Threshold'))):
+            if not p:
+                err.append(_("'%s' not defined") % name)
+        if err:
+            GError(_("Some parameters not defined. Operation "
+                     "cancelled.\n\n%s") % '\n'.join(err),
+                   parent = self)
+            return
+        
 	self.SetStatusText(_("Executing selected cleaning operations..."))
         snum = len(self.toolslines.keys())
-	self.GetCmdStrings()
-
+        
         if self.log:
 	    cmd = [ self.cmd,
                     'input=%s' % self.inmap,
@@ -462,7 +480,7 @@ class VectorCleaningFrame(wx.Frame):
 	    if self.overwrite.IsChecked():
 		cmd.append('--overwrite')
             
-            self.log.RunCmd(cmd)
+            self.log.RunCmd(cmd, onDone = self.OnDone)
             self.parent.Raise()
         else:
 	    if self.overwrite.IsChecked():