From 55ea7a6be045df52601222dbd52ab1a248a37b37 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Mon, 11 Oct 2021 21:21:13 +0300 Subject: [PATCH] - in Markers Plugin: changed the name of the resulting object to reflect this plugin name - fixed an issue with toggling the visibility of objects --- CHANGELOG.md | 2 ++ appGUI/MainGUI.py | 10 +++++----- appObjects/ObjectCollection.py | 1 + appPlugins/ToolMarkers.py | 26 +++++++++++++------------- app_Main.py | 14 +++++++------- 5 files changed, 28 insertions(+), 25 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4542a3c..414fd4a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ CHANGELOG for FlatCAM beta - in Distance Plugin, after setting the start point of the measurement, moving the mouse will update the end point position - in Markers Plugin: fixed the offset from center functionality +- in Markers Plugin: changed the name of the resulting object to reflect this plugin name +- fixed an issue with toggling the visibility of objects 10.10.2021 diff --git a/appGUI/MainGUI.py b/appGUI/MainGUI.py index bd55da98..2896a58f 100644 --- a/appGUI/MainGUI.py +++ b/appGUI/MainGUI.py @@ -1132,7 +1132,7 @@ class MainGUI(QtWidgets.QMainWindow): QtGui.QIcon(self.app.resource_location + '/extract32.png'), _("Extract")) self.copperfill_btn = self.toolbarplugins.addAction( QtGui.QIcon(self.app.resource_location + '/copperfill32.png'), _("Copper Thieving")) - self.corners_tool_btn = self.toolbarplugins.addAction( + self.markers_tool_btn = self.toolbarplugins.addAction( QtGui.QIcon(self.app.resource_location + '/corners_32.png'), _("Markers")) self.punch_btn = self.toolbarplugins.addAction( QtGui.QIcon(self.app.resource_location + '/punch32.png'), _("Punch Gerber")) @@ -2476,7 +2476,7 @@ class MainGUI(QtWidgets.QMainWindow): QtGui.QIcon(self.app.resource_location + '/extract32.png'), _("Extract")) self.copperfill_btn = self.toolbarplugins.addAction( QtGui.QIcon(self.app.resource_location + '/copperfill32.png'), _("Copper Thieving")) - self.corners_tool_btn = self.toolbarplugins.addAction( + self.markers_tool_btn = self.toolbarplugins.addAction( QtGui.QIcon(self.app.resource_location + '/corners_32.png'), _("Markers")) self.punch_btn = self.toolbarplugins.addAction( QtGui.QIcon(self.app.resource_location + '/punch32.png'), _("Punch Gerber")) @@ -3057,7 +3057,7 @@ class MainGUI(QtWidgets.QMainWindow): # Corner Markers Tool if key == QtCore.Qt.Key.Key_B: - self.app.corners_tool.run(toggle=True) + self.app.markers_tool.run(toggle=True) return # Calculator Tool @@ -4284,7 +4284,7 @@ class MainGUI(QtWidgets.QMainWindow): # Jump to coords if key == QtCore.Qt.Key.Key_J: self.app.on_jump_to() - elif self.app.call_source == 'corners_tool': + elif self.app.call_source == 'markers_tool': # CTRL + ALT if modifiers == QtCore.Qt.KeyboardModifier.ControlModifier | QtCore.Qt.KeyboardModifier.AltModifier: if key == QtCore.Qt.Key.Key_X: @@ -4300,7 +4300,7 @@ class MainGUI(QtWidgets.QMainWindow): elif modifiers == QtCore.Qt.KeyboardModifier.NoModifier: # Escape = Deselect All if key == QtCore.Qt.Key.Key_Escape or key == 'Escape': - self.app.corners_tool.on_exit(cancelled=True) + self.app.markers_tool.on_exit(cancelled=True) # Grid toggle if key == QtCore.Qt.Key.Key_G: diff --git a/appObjects/ObjectCollection.py b/appObjects/ObjectCollection.py index 2abcd5c5..1c7b017d 100644 --- a/appObjects/ObjectCollection.py +++ b/appObjects/ObjectCollection.py @@ -590,6 +590,7 @@ class ObjectCollection(QtCore.QAbstractItemModel): # ############################# Set the Object UI (Properties Tab) ########################################### # ############################################################################################################ obj.set_ui(obj.ui_type(app=self.app)) + obj.build_ui() # a way to signal that the object was fully loaded obj.load_complete = True diff --git a/appPlugins/ToolMarkers.py b/appPlugins/ToolMarkers.py index 12031408..f86b5d82 100644 --- a/appPlugins/ToolMarkers.py +++ b/appPlugins/ToolMarkers.py @@ -41,7 +41,7 @@ class ToolMarkers(AppTool): self.decimals = self.app.decimals self.units = '' - # here we store the locations of the selected corners + # here we store the locations of the selected locations self.points = LoudDict() self.points.set_change_callback(self.on_points_changed) @@ -285,7 +285,7 @@ class ToolMarkers(AppTool): self.ui.type_radio.set_value('c') def add_markers(self): - self.app.call_source = "corners_tool" + self.app.call_source = "markers_tool" select_type = self.ui.mode_radio.get_value() if select_type == 'a': self.handle_automatic_placement() @@ -327,7 +327,7 @@ class ToolMarkers(AppTool): if br_state: self.points['br'] = (xmax, ymin) - ret_val = self.add_corners_geo(self.points, g_obj=self.grb_object) + ret_val = self.add_marker_geo(self.points, g_obj=self.grb_object) self.app.call_source = "app" if ret_val == 'fail': self.app.call_source = "app" @@ -351,18 +351,18 @@ class ToolMarkers(AppTool): self.on_exit() return - ret_val = self.add_corners_geo(self.points, g_obj=self.grb_object) + ret_val = self.add_marker_geo(self.points, g_obj=self.grb_object) if ret_val == 'fail': self.on_exit(ok=False) self.app.inform.emit('[ERROR_NOTCL] %s' % _("Failed.")) return self.on_exit() - def add_corners_geo(self, points_storage, g_obj): + def add_marker_geo(self, points_storage, g_obj): """ Add geometry to the solid_geometry of the copper Gerber object - :param points_storage: a dictionary holding the points where to add corners + :param points_storage: a dictionary holding the points where to add markers :param g_obj: the Gerber object where to add the geometry :return: None """ @@ -372,7 +372,7 @@ class ToolMarkers(AppTool): return "fail" assert isinstance(geo_list, list), 'Geometry list should be a list but the type is: %s' % str(type(geo_list)) - new_name = '%s_%s' % (str(self.grb_object.options['name']), 'corners') + new_name = '%s_%s' % (str(self.grb_object.options['name']), 'markers') return_val = self.generate_gerber_obj_with_markers(new_grb_obj=g_obj, marker_geometry=geo_list, outname=new_name) @@ -726,7 +726,7 @@ class ToolMarkers(AppTool): return ret def on_create_drill_object(self): - self.app.call_source = "corners_tool" + self.app.call_source = "markers_tool" tooldia = self.ui.drill_dia_entry.get_value() @@ -835,7 +835,7 @@ class ToolMarkers(AppTool): self.app.inform.emit('[success] %s' % _("Excellon object with corner drills created.")) def on_create_check_object(self): - self.app.call_source = "corners_tool" + self.app.call_source = "markers_tool" tooldia = 0.1 if self.units == 'MM' else 0.0254 @@ -973,7 +973,7 @@ class ToolMarkers(AppTool): self.app.call_source = "app" return - new_name = '%s_%s' % (str(new_grb_obj.options['name']), 'corners') + new_name = '%s_%s' % (str(new_grb_obj.options['name']), 'markers') return_val = self.generate_gerber_obj_with_markers(new_grb_obj=new_grb_obj, marker_geometry=geo_list, outname=new_name) else: @@ -988,7 +988,7 @@ class ToolMarkers(AppTool): self.app.call_source = "app" return - new_name = '%s_%s' % (str(new_geo_obj.options['name']), 'corners') + new_name = '%s_%s' % (str(new_geo_obj.options['name']), 'markers') return_val = self.generate_geo_obj_with_markers(new_geo_obj=new_geo_obj, marker_geometry=geo_list, outname=new_name) if return_val == "fail": @@ -1376,9 +1376,9 @@ class MarkersUI: self.tools_box.addWidget(self.add_marker_button,) # ############################################################################################################# - # Drill in Corners Frame + # Drill in markers Frame # ############################################################################################################# - # Drill is corners + # Drill is markers self.drills_label = FCLabel('%s' % _('Drills in Locations')) self.tools_box.addWidget(self.drills_label) diff --git a/app_Main.py b/app_Main.py index 436a3344..d3d7f014 100644 --- a/app_Main.py +++ b/app_Main.py @@ -1228,7 +1228,7 @@ class App(QtCore.QObject): self.align_objects_tool = None self.punch_tool = None self.invert_tool = None - self.corners_tool = None + self.markers_tool = None self.etch_tool = None # when this list will get populated will contain a list of references to all the Plugins in this APp @@ -1964,8 +1964,8 @@ class App(QtCore.QObject): self.invert_tool = ToolInvertGerber(self) self.invert_tool.install(icon=QtGui.QIcon(self.resource_location + '/invert32.png'), pos=self.ui.menu_plugins) - self.corners_tool = ToolMarkers(self) - self.corners_tool.install(icon=QtGui.QIcon(self.resource_location + '/corners_32.png'), + self.markers_tool = ToolMarkers(self) + self.markers_tool.install(icon=QtGui.QIcon(self.resource_location + '/corners_32.png'), pos=self.ui.menu_plugins) self.etch_tool = ToolEtchCompensation(self) @@ -2029,7 +2029,7 @@ class App(QtCore.QObject): self.align_objects_tool, self.punch_tool, self.invert_tool, - self.corners_tool, + self.markers_tool, self.etch_tool ] @@ -2291,7 +2291,7 @@ class App(QtCore.QObject): self.ui.extract_btn.triggered.connect(lambda: self.extract_tool.run(toggle=True)) self.ui.copperfill_btn.triggered.connect(lambda: self.copper_thieving_tool.run(toggle=True)) - self.ui.corners_tool_btn.triggered.connect(lambda: self.corners_tool.run(toggle=True)) + self.ui.markers_tool_btn.triggered.connect(lambda: self.markers_tool.run(toggle=True)) self.ui.punch_btn.triggered.connect(lambda: self.punch_tool.run(toggle=True)) self.ui.calculators_btn.triggered.connect(lambda: self.calculator_tool.run(toggle=True)) @@ -8748,13 +8748,13 @@ class App(QtCore.QObject): # only the Gerber obj has on_plot_cb_click() method obj.ui.plot_cb.stateChanged.disconnect(obj.on_plot_cb_click) obj.ui.plot_cb.setDisabled(True) - except AttributeError: + except (AttributeError, TypeError): pass obj.set_form_item("plot") try: obj.ui.plot_cb.stateChanged.connect(obj.on_plot_cb_click) obj.ui.plot_cb.setDisabled(False) - except AttributeError: + except (AttributeError, TypeError): pass obj.options.set_change_callback(obj.on_options_change)