Просмотр исходного кода

wxGUI: use v.type.py instead of v.type.sh
(merge from devbr6, r33023(


git-svn-id: https://svn.osgeo.org/grass/grass/trunk@33024 15284696-431f-4ddb-bdfa-cd5b030d7da7

Martin Landa 17 лет назад
Родитель
Сommit
5e70ede253

+ 91 - 0
gui/scripts/v.type.py

@@ -0,0 +1,91 @@
+#!/usr/bin/env python
+############################################################################
+#
+# MODULE:       v.type.py (v.type wrapper script)
+#
+# AUTHOR(S):    Hamish Bowman  (Otago University, New Zealand)
+#               (original contributor, v.type.sh)
+#               Pythonized by Martin Landa <landa.martin gmail.com> (2008/08)
+#
+# PURPOSE:      Supply v.type options in a GUI compatible way
+#
+# COPYRIGHT:    (C) 2007-2008 by Hamish Bowman, and the GRASS Development Team
+#
+#               This program is free software under the GNU General Public
+#               License (>=v2). Read the file COPYING that comes with GRASS
+#               for details.
+#
+#############################################################################
+
+#%module
+#% description: Change the type of geometry elements.
+#% keywords: vector, geometry
+#%end
+
+#%option
+#% key: input
+#% type: string
+#% required: yes
+#% multiple: no
+#% key_desc: name
+#% description: Name of input vector map
+#% gisprompt: old,vector,vector
+#%end
+
+#%option
+#% key: output
+#% type: string
+#% required: yes
+#% multiple: no
+#% key_desc: name
+#% description: Name for output vector map
+#% gisprompt: new,vector,vector
+#%end
+
+#%option
+#% key: type
+#% type: string
+#% required: no
+#% multiple: no
+#% options: point to centroid,point to kernel,centroid to point,centroid to kernel,kernel to point,kernel to centroid,line to boundary,line to face,boundary to line,boundary to face,face to line,face to boundary
+#% description: Conversion
+#% answer: boundary to line
+#%end
+
+import grass
+import sys
+
+def main():
+    if options['type'] == "point to centroid":
+        type_cnv = "point,centroid"
+    elif options['type'] == "point to kernel":
+        type_cnv = "point,kernel"
+    elif options['type'] == "centroid to point":
+        type_cnv = "centroid,point"
+    elif options['type'] == "centroid to kernel":
+        type_cnv = "centroid,kernel"
+    elif options['type'] == "kernel to point":
+        type_cnv = "kernel,point"
+    elif options['type'] == "kernel to centroid":
+        type_cnv = "kernel,centroid"
+    elif options['type'] == "line to boundary":
+        type_cnv = "line,boundary"
+    elif options['type'] == "line to face":
+        type_cnv = "line,face"
+    elif options['type'] == "boundary to line":
+        type_cnv = "boundary,line"
+    elif options['type'] == "boundary to face":
+        type_cnv = "boundary,face"
+    elif options['type'] == "face to line":
+        type_cnv = "face,line"
+    elif options['type'] == "face to boundary":
+        type_cnv = "face,boundary"
+    
+    options.pop('type')
+    grass.exec_command("v.type", type = type_cnv, **options)
+
+    return 0
+
+if __name__ == "__main__":
+    options, flags = grass.parser()
+    sys.exit(main())

+ 1 - 1
gui/wxpython/gui_modules/menudata.py

@@ -1223,7 +1223,7 @@ class Data:
                                 (_("Convert object types"),
                                  _("Change the type of geometry elements."),
                                  "self.OnMenuCmd",
-                                 "v.type.sh"),
+                                 "v.type.py"),
                                 ("","","", ""),
 
                                 (_("Add centroids"),

+ 1 - 1
gui/wxpython/gui_modules/menuform.py

@@ -573,7 +573,7 @@ class mainFrame(wx.Frame):
         self.parent = parent # LayerTree | None
 
         # module name + keywords
-        title = self.task.name
+        title = self.task.name.rstrip('.py').rstrip('.sh')
         try:
             title +=  " [" + ', '.join( self.task.keywords ) + "]"
         except ValueError: