Преглед на файлове

wxGUI: close query dialog properly

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@54996 15284696-431f-4ddb-bdfa-cd5b030d7da7
Anna Petrášová преди 12 години
родител
ревизия
00fdf3e1cc
променени са 2 файла, в които са добавени 12 реда и са изтрити 1 реда
  1. 7 1
      gui/wxpython/gui_core/query.py
  2. 5 0
      gui/wxpython/mapdisp/frame.py

+ 7 - 1
gui/wxpython/gui_core/query.py

@@ -43,9 +43,10 @@ class QueryDialog(wx.Dialog):
             self._load()
             self._load()
 
 
         close = wx.Button(self.panel, id = wx.ID_CLOSE)
         close = wx.Button(self.panel, id = wx.ID_CLOSE)
-        close.Bind(wx.EVT_BUTTON, lambda evt: self.Destroy())
+        close.Bind(wx.EVT_BUTTON, lambda event: self.Close())
         copy = wx.Button(self.panel, id = wx.ID_ANY, label = _("Copy to clipboard"))
         copy = wx.Button(self.panel, id = wx.ID_ANY, label = _("Copy to clipboard"))
         copy.Bind(wx.EVT_BUTTON, self.Copy)
         copy.Bind(wx.EVT_BUTTON, self.Copy)
+        self.Bind(wx.EVT_CLOSE, self.OnClose)
 
 
         hbox = wx.BoxSizer(wx.HORIZONTAL)
         hbox = wx.BoxSizer(wx.HORIZONTAL)
         hbox.AddStretchSpacer(1)
         hbox.AddStretchSpacer(1)
@@ -114,6 +115,11 @@ class QueryDialog(wx.Dialog):
             wx.TheClipboard.SetData(do)
             wx.TheClipboard.SetData(do)
             wx.TheClipboard.Close()
             wx.TheClipboard.Close()
 
 
+    def OnClose(self, event):
+        self.Destroy()
+        event.Skip()
+
+
 def test():
 def test():
     app = wx.PySimpleApp()
     app = wx.PySimpleApp()
     import pprint
     import pprint

+ 5 - 0
gui/wxpython/mapdisp/frame.py

@@ -735,8 +735,13 @@ class MapFrame(SingleMapFrame):
             self.dialogs['query'].SetData(result)
             self.dialogs['query'].SetData(result)
         else:
         else:
             self.dialogs['query'] = QueryDialog(parent = self, data = result)
             self.dialogs['query'] = QueryDialog(parent = self, data = result)
+            self.dialogs['query'].Bind(wx.EVT_CLOSE, self._oncloseQueryDialog)
             self.dialogs['query'].Show()
             self.dialogs['query'].Show()
 
 
+    def _oncloseQueryDialog(self, event):
+        self.dialogs['query'] = None
+        event.Skip()
+
     def _queryHighlight(self, vectQuery):
     def _queryHighlight(self, vectQuery):
         """!Highlight category from query."""
         """!Highlight category from query."""
         cats = name = None
         cats = name = None