浏览代码

wxGUI: vector attributes editable only if vector map is in the current
mapset (part 2)


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

Martin Landa 15 年之前
父节点
当前提交
ae49cfcdb3
共有 1 个文件被更改,包括 12 次插入6 次删除
  1. 12 6
      gui/wxpython/gui_modules/dbm.py

+ 12 - 6
gui/wxpython/gui_modules/dbm.py

@@ -451,10 +451,10 @@ class AttributeManager(wx.Frame):
         
         
         # vector attributes can be changed only if vector map is in
         # vector attributes can be changed only if vector map is in
         # the current mapset
         # the current mapset
-        if grass.find_file(element = 'vector', name = vectorName)['mapset'] == grass.gisenv()['MAPSET']:
-            editable = True
+        if grass.find_file(name = self.vectorName, element = 'vector')['mapset'] == grass.gisenv()['MAPSET']:
+            self.editable = True
         else:
         else:
-            editable = False
+            self.editable = False
         
         
         self.cmdLog     = log    # self.parent.goutput
         self.cmdLog     = log    # self.parent.goutput
         
         
@@ -534,7 +534,7 @@ class AttributeManager(wx.Frame):
                                                style=dbmStyle)
                                                style=dbmStyle)
         #self.notebook.AddPage(self.manageTablePage, caption=_("Manage tables"))
         #self.notebook.AddPage(self.manageTablePage, caption=_("Manage tables"))
         self.notebook.AddPage(self.manageTablePage, text=_("Manage tables")) # FN
         self.notebook.AddPage(self.manageTablePage, text=_("Manage tables")) # FN
-        if not editable:
+        if not self.editable:
             self.notebook.GetPage(self.notebook.GetPageCount()-1).Enable(False)
             self.notebook.GetPage(self.notebook.GetPageCount()-1).Enable(False)
         self.manageTablePage.SetTabAreaColour(globalvar.FNPageColor)
         self.manageTablePage.SetTabAreaColour(globalvar.FNPageColor)
 
 
@@ -543,7 +543,7 @@ class AttributeManager(wx.Frame):
         #self.notebook.AddPage(self.manageLayerPage, caption=_("Manage layers"))
         #self.notebook.AddPage(self.manageLayerPage, caption=_("Manage layers"))
         self.notebook.AddPage(self.manageLayerPage, text=_("Manage layers")) # FN
         self.notebook.AddPage(self.manageLayerPage, text=_("Manage layers")) # FN
         self.manageLayerPage.SetTabAreaColour(globalvar.FNPageColor)
         self.manageLayerPage.SetTabAreaColour(globalvar.FNPageColor)
-        if not editable:
+        if not self.editable:
             self.notebook.GetPage(self.notebook.GetPageCount()-1).Enable(False)
             self.notebook.GetPage(self.notebook.GetPageCount()-1).Enable(False)
         
         
         self.__createBrowsePage()
         self.__createBrowsePage()
@@ -1015,11 +1015,15 @@ class AttributeManager(wx.Frame):
         menu = wx.Menu()
         menu = wx.Menu()
         menu.Append(self.popupDataID1, _("Edit selected record"))
         menu.Append(self.popupDataID1, _("Edit selected record"))
         selected = list.GetFirstSelected()
         selected = list.GetFirstSelected()
-        if selected == -1 or list.GetNextSelected(selected) != -1:
+        if not self.editable or selected == -1 or list.GetNextSelected(selected) != -1:
             menu.Enable(self.popupDataID1, False)
             menu.Enable(self.popupDataID1, False)
         menu.Append(self.popupDataID2, _("Insert new record"))
         menu.Append(self.popupDataID2, _("Insert new record"))
         menu.Append(self.popupDataID3, _("Delete selected record(s)"))
         menu.Append(self.popupDataID3, _("Delete selected record(s)"))
         menu.Append(self.popupDataID4, _("Delete all records"))
         menu.Append(self.popupDataID4, _("Delete all records"))
+        if not self.editable:
+            menu.Enable(self.popupDataID2, False)
+            menu.Enable(self.popupDataID3, False)
+            menu.Enable(self.popupDataID4, False)
         menu.AppendSeparator()
         menu.AppendSeparator()
         menu.Append(self.popupDataID5, _("Select all"))
         menu.Append(self.popupDataID5, _("Select all"))
         menu.Append(self.popupDataID6, _("Deselect all"))
         menu.Append(self.popupDataID6, _("Deselect all"))
@@ -1031,6 +1035,8 @@ class AttributeManager(wx.Frame):
             menu.Enable(self.popupDataID8, False)
             menu.Enable(self.popupDataID8, False)
         menu.Append(self.popupDataID9, _("Extract selected features"))
         menu.Append(self.popupDataID9, _("Extract selected features"))
         menu.Append(self.popupDataID11, _("Delete selected features"))
         menu.Append(self.popupDataID11, _("Delete selected features"))
+        if not self.editable:
+            menu.Enable(self.popupDataID11, False)
         if list.GetFirstSelected() == -1:
         if list.GetFirstSelected() == -1:
             menu.Enable(self.popupDataID3, False)
             menu.Enable(self.popupDataID3, False)
             menu.Enable(self.popupDataID9, False)
             menu.Enable(self.popupDataID9, False)