Kaynağa Gözat

- reverted the previous changes to object collection; it is better to create empty methods in FlatCAMScript and FlatCAMDocument objects

Marius Stanciu 5 yıl önce
ebeveyn
işleme
4cfecfa70a

+ 1 - 0
CHANGELOG.md

@@ -16,6 +16,7 @@ CHANGELOG for FlatCAM beta
 - added a label in the status bar to show if the workplace is active and what size it is
 - now the Edit command (either from Menu Edit ->Edit Object) or through the shortcut key (E key) or project tab context menu works also for the CNCJob objects (will open a text Editor with the GCode)
 - fixed the object collection methods that return a list of objects or names of objects such that they have a parameter now to allow adding to those lists (or not) for the objects of type Script or Document. Thus fixing some of the Tcl commands such Set Origin
+- reverted the previous changes to object collection; it is better to create empty methods in FlatCAMScript and FlatCAMDocument objects
 
 16.05.2020
 

+ 4 - 1
FlatCAMApp.py

@@ -3080,7 +3080,10 @@ class App(QtCore.QObject):
         :return: None
         """
 
-        xmin, ymin, xmax, ymax = obj.bounds()
+        try:
+            xmin, ymin, xmax, ymax = obj.bounds()
+        except TypeError:
+            return
         obj.options['xmin'] = xmin
         obj.options['ymin'] = ymin
         obj.options['xmax'] = xmax

BIN
assets/resources/dark_resources/etch_32.png


BIN
assets/resources/etch_32.png


+ 21 - 0
flatcamObjects/FlatCAMDocument.py

@@ -284,6 +284,27 @@ class DocumentObject(FlatCAMObj):
         self.ui.sel_color_entry.set_value(new_val)
         self.app.defaults['document_sel_color'] = new_val
 
+    def mirror(self, axis, point):
+        pass
+
+    def offset(self, vect):
+        pass
+
+    def rotate(self, angle, point):
+        pass
+
+    def scale(self, xfactor, yfactor=None, point=None):
+        pass
+
+    def skew(self, angle_x, angle_y, point):
+        pass
+
+    def buffer(self, distance, join, factor=None):
+        pass
+
+    def bounds(self, flatten=False):
+        return None, None, None, None
+
     def to_dict(self):
         """
         Returns a representation of the object as a dictionary.

+ 21 - 0
flatcamObjects/FlatCAMScript.py

@@ -228,6 +228,27 @@ class ScriptObject(FlatCAMObj):
         else:
             self.script_editor_tab.code_editor.completer_enable = False
 
+    def mirror(self, axis, point):
+        pass
+
+    def offset(self, vect):
+        pass
+
+    def rotate(self, angle, point):
+        pass
+
+    def scale(self, xfactor, yfactor=None, point=None):
+        pass
+
+    def skew(self, angle_x, angle_y, point):
+        pass
+
+    def buffer(self, distance, join, factor=None):
+        pass
+
+    def bounds(self, flatten=False):
+        return None, None, None, None
+
     def to_dict(self):
         """
         Returns a representation of the object as a dictionary.

+ 3 - 14
flatcamObjects/ObjectCollection.py

@@ -593,22 +593,16 @@ class ObjectCollection(QtCore.QAbstractItemModel):
             # always open the notebook on object added to collection
             self.app.ui.splitter.setSizes([1, 1])
 
-    def get_names(self, sel_all=None):
+    def get_names(self):
         """
         Gets a list of the names of all objects in the collection.
 
-        :param sel_all:     Will return all objects if True. If False or None all except Script and Document
         :return:            List of names.
         :rtype:             list
         """
 
         # log.debug(str(inspect.stack()[1][3]) + " --> OC.get_names()")
-        if sel_all is None or sel_all is False:
-            names_list = [x.options['name'] for x in self.get_list()]
-        else:
-            names_list = [x.options['name'] for x in self.get_list(sel_all=sel_all)]
-
-        return names_list
+        return [x.options['name'] for x in self.get_list()]
 
     def get_bounds(self):
         """
@@ -990,20 +984,15 @@ class ObjectCollection(QtCore.QAbstractItemModel):
                 self.app.inform.emit('[ERROR] %s: %s' % (_("Cause of error"), str(e)))
                 raise
 
-    def get_list(self, sel_all=None):
+    def get_list(self):
         """
         Will return a list of all objects currently opened. Except FlatCAMScript and FlatCAMDocuments
 
-        :param sel_all:     Will return all objects if True. If False or None all except Script and Document
         :return:
         """
         obj_list = []
         for group in self.root_item.child_items:
             for item in group.child_items:
-                kind = item.obj.kind
-                if sel_all is None or sel_all is False:
-                    if kind == 'document' or kind == 'script':
-                        continue
                 obj_list.append(item.obj)
 
         return obj_list