Browse Source

wxGUI: launch ATM when creating new vector map (cont'ed)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@47337 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 13 years ago
parent
commit
25ee22e262
3 changed files with 25 additions and 12 deletions
  1. 2 2
      gui/wxpython/gui_modules/dbm.py
  2. 13 3
      gui/wxpython/gui_modules/gdialogs.py
  3. 10 7
      gui/wxpython/wxgui.py

+ 2 - 2
gui/wxpython/gui_modules/dbm.py

@@ -2063,8 +2063,8 @@ class AttributeManager(wx.Frame):
             if not dlg:
                 return
             
-            if dlg.GetName() and dlg.IsChecked('add'):
-                name = dlg.GetName() + '@' + grass.gisenv()['MAPSET']
+            name = dlg.GetName(full = True)
+            if name and dlg.IsChecked('add'):
                 # add layer to map layer tree
                 self.parent.curr_page.maptree.AddLayer(ltype = 'vector',
                                                        lname = name,

+ 13 - 3
gui/wxpython/gui_modules/gdialogs.py

@@ -275,9 +275,19 @@ class NewVectorDialog(ElementDialog):
         self.panel.SetSizer(self.sizer)
         self.sizer.Fit(self)
 
-    def GetName(self):
-        """!Get name of vector map to be created"""
-        return self.GetElement().split('@', 1)[0]
+    def GetName(self, full = False):
+        """!Get name of vector map to be created
+
+        @param full True to get fully qualified name
+        """
+        name = self.GetElement()
+        if full:
+            if '@' in name:
+                return name
+            else:
+                return name + '@' + grass.gisenv()['MAPSET']
+        
+        return name.split('@', 1)[0]
 
     def IsChecked(self, key):
         """!Get dialog properties

+ 10 - 7
gui/wxpython/wxgui.py

@@ -647,18 +647,21 @@ class GMFrame(wx.Frame):
         
     def OnNewVector(self, event):
         """!Create new vector map layer"""
-        name, add = gdialogs.CreateNewVector(self, log = self.goutput,
-                                             cmd = (('v.edit',
-                                                     { 'tool' : 'create' },
-                                                     'map')))
+        dlg = gdialogs.CreateNewVector(self, log = self.goutput,
+                                       cmd = (('v.edit',
+                                               { 'tool' : 'create' },
+                                               'map')))
         
-        if name and add:
+        if not dlg:
+            return
+        
+        name = dlg.GetName(full = True)
+        if name and dlg.IsChecked('add'):
             # add layer to map layer tree
             self.curr_page.maptree.AddLayer(ltype = 'vector',
                                             lname = name,
-                                            lchecked = True,
-                                            lopacity = 1.0,
                                             lcmd = ['d.vect', 'map=%s' % name])
+        dlg.Destroy()
         
     def OnAboutGRASS(self, event):
         """!Display 'About GRASS' dialog"""