瀏覽代碼

- made sure there are no issues when plotting the Excellon object in one thread and trying to build the UI in another by using a signal

Marius Stanciu 5 年之前
父節點
當前提交
65d4f70b21
共有 2 個文件被更改,包括 8 次插入1 次删除
  1. 1 0
      CHANGELOG.md
  2. 7 1
      appObjects/FlatCAMExcellon.py

+ 1 - 0
CHANGELOG.md

@@ -21,6 +21,7 @@ CHANGELOG for FlatCAM beta
 - fixed issues with detecting older Preferences files
 - fixed some issues in Excellon Editor due of recent changes
 - moved the Gerber colors fill in the AppObject.on_object_created() slot and fixed some minor issues here
+- made sure there are no issues when plotting the Excellon object in one thread and trying to build the UI in another by using a signal
 
 20.07.2020
 

+ 7 - 1
appObjects/FlatCAMExcellon.py

@@ -38,6 +38,7 @@ class ExcellonObject(FlatCAMObj, Excellon):
 
     ui_type = ExcellonObjectUI
     optionChanged = QtCore.pyqtSignal(str)
+    multicolored_build_sig = QtCore.pyqtSignal()
 
     def __init__(self, name):
         self.decimals = self.app.decimals
@@ -185,6 +186,8 @@ class ExcellonObject(FlatCAMObj, Excellon):
         self.ui.tools_table.horizontalHeader().sectionClicked.connect(self.on_toggle_rows)
         self.ui.table_visibility_cb.stateChanged.connect(self.on_table_visibility_toggle)
 
+        self.multicolored_build_sig.connect(self.on_multicolored_build)
+
         self.units_found = self.app.defaults['units']
 
     def build_ui(self):
@@ -1194,7 +1197,10 @@ class ExcellonObject(FlatCAMObj, Excellon):
             self.shapes.clear(update=True)
 
         if multicolored:
-            self.build_ui()
+            self.multicolored_build_sig.emit()
+
+    def on_multicolored_build(self):
+        self.build_ui()
 
     @staticmethod
     def merge(exc_list, exc_final, decimals=None, fuse_tools=True):