Browse Source

wxGUI/composer: use integers instead of wx id, which can't be pickled and cause error (#641)

Anna Petrasova 5 years ago
parent
commit
1953072965

+ 1 - 1
gui/wxpython/psmap/dialogs.py

@@ -61,7 +61,7 @@ from gui_core.wrap import (
     BitmapButton, BitmapComboBox, BitmapFromImage, Button,
     BitmapButton, BitmapComboBox, BitmapFromImage, Button,
     CheckBox, Choice, ClientDC, ColourPickerCtrl, Dialog, DirBrowseButton,
     CheckBox, Choice, ClientDC, ColourPickerCtrl, Dialog, DirBrowseButton,
     EmptyBitmap, ExpandoTextCtrl, FileBrowseButton, FloatSpin, ListBox,
     EmptyBitmap, ExpandoTextCtrl, FileBrowseButton, FloatSpin, ListBox,
-    ListCtrl, NewId, Notebook, OwnerDrawnComboBox, Panel, RadioButton,
+    ListCtrl, Notebook, OwnerDrawnComboBox, Panel, RadioButton,
     Rect, ScrolledPanel, SpinCtrl, StaticBox, StaticText, TextCtrl,
     Rect, ScrolledPanel, SpinCtrl, StaticBox, StaticText, TextCtrl,
     TextEntryDialog, EmptyImage
     TextEntryDialog, EmptyImage
 )
 )

+ 2 - 2
gui/wxpython/psmap/frame.py

@@ -42,7 +42,7 @@ from core.utils import PilImageToWxImage
 from gui_core.forms import GUI
 from gui_core.forms import GUI
 from gui_core.dialogs import HyperlinkDialog
 from gui_core.dialogs import HyperlinkDialog
 from gui_core.ghelp import ShowAboutDialog
 from gui_core.ghelp import ShowAboutDialog
-from gui_core.wrap import ClientDC, PseudoDC, Rect, StockCursor, EmptyBitmap, NewId
+from gui_core.wrap import ClientDC, PseudoDC, Rect, StockCursor, EmptyBitmap
 from psmap.menudata import PsMapMenuData
 from psmap.menudata import PsMapMenuData
 from gui_core.toolbars import ToolSwitcher
 from gui_core.toolbars import ToolSwitcher
 
 
@@ -1009,7 +1009,7 @@ class PsMapFrame(wx.Frame):
 
 
     def DialogDataChanged(self, id):
     def DialogDataChanged(self, id):
         ids = id
         ids = id
-        if isinstance(id, int) or isinstance(id, wx.WindowIDRef):
+        if isinstance(id, int):
             ids = [id]
             ids = [id]
         for id in ids:
         for id in ids:
             itype = self.instruction[id].type
             itype = self.instruction[id].type

+ 5 - 1
gui/wxpython/psmap/instructions.py

@@ -46,10 +46,14 @@ from grass.script.task import cmdlist_to_tuple
 from core.gcmd import RunCommand, GError, GMessage, GWarning
 from core.gcmd import RunCommand, GError, GMessage, GWarning
 from core.utils import GetCmdString
 from core.utils import GetCmdString
 from dbmgr.vinfo import VectorDBInfo
 from dbmgr.vinfo import VectorDBInfo
-from gui_core.wrap import NewId
+from gui_core.wrap import NewId as wxNewId
 from psmap.utils import *
 from psmap.utils import *
 
 
 
 
+def NewId():
+    return int(wxNewId())
+
+
 class Instruction:
 class Instruction:
     """Class which represents instruction file"""
     """Class which represents instruction file"""