浏览代码

wxGUI: modules don't refresh the list of available maps, trac https://trac.osgeo.org/grass/ticket/218

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@32004 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 17 年之前
父节点
当前提交
da96c92825
共有 1 个文件被更改,包括 13 次插入6 次删除
  1. 13 6
      gui/wxpython/gui_modules/gselect.py

+ 13 - 6
gui/wxpython/gui_modules/gselect.py

@@ -40,7 +40,7 @@ class Select(wx.combo.ComboCtrl):
         self.SetPopupControl(self.tcp)
         self.SetPopupExtents(0,100)
         self.tcp.GetElementList(type, mapsets, exceptOf)
-        self.tcp.SetMultiple(multiple)
+        self.tcp.SetData(type, mapsets, exceptOf, multiple)
 
     def SetElementList(self, type):
         self.tcp.seltree.DeleteAllItems()
@@ -57,6 +57,9 @@ class TreeCtrlComboPopup(wx.combo.ComboPopup):
         self.value = [] # for multiple is False -> len(self.value) in [0,1]
         self.curitem = None
         self.multiple = False
+        self.type = None
+        self.mapsets = []
+        self.exceptOf = []
 
     def Create(self, parent):
         self.seltree = wx.TreeCtrl(parent, style=wx.TR_HIDE_ROOT
@@ -99,6 +102,10 @@ class TreeCtrlComboPopup(wx.combo.ComboPopup):
 
     def OnPopup(self):
         """Limited only for first selected"""
+        # update list
+        self.seltree.DeleteAllItems()
+        self.GetElementList(self.type, self.mapsets, self.exceptOf)
+
         if len(self.value) > 0:
             self.seltree.EnsureVisible(self.value[0])
             self.seltree.SelectItem(self.value[0])
@@ -253,9 +260,9 @@ class TreeCtrlComboPopup(wx.combo.ComboPopup):
 
         evt.Skip()
 
-    def SetMultiple(self, value):
+    def SetData(self, type, mapsets, exceptOf, multiple):
         """Select multiple items?"""
-        self.multiple = value
-
-
-
+        self.type = type
+        self.mapsets = mapsets
+        self.exceptOf = exceptOf
+        self.multiple = multiple