diff --git a/README.md b/README.md index 39602058..f44b69d3 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ CAD program, and create G-Code for Isolation routing. - legacy graphic engine - made the mouse cursor work (enabled/disabled, position report); snapping is not moving the cursor yet - made the mouse cursor snap to the grid when grid snapping is active - changed the axis color to the one used in the OpenGL graphic engine +- work on ShapeCollectionLegacy 19.09.2019 diff --git a/flatcamGUI/PlotCanvasLegacy.py b/flatcamGUI/PlotCanvasLegacy.py index 47a6e929..e427fe94 100644 --- a/flatcamGUI/PlotCanvasLegacy.py +++ b/flatcamGUI/PlotCanvasLegacy.py @@ -648,8 +648,9 @@ class MplCursor(Cursor): class ShapeCollectionLegacy(): - def __init__(self): + def __init__(self, obj): self._shapes = [] + self.setup_axes(obj=obj) def add(self, shape): try: @@ -666,3 +667,18 @@ class ShapeCollectionLegacy(): def redraw(self): pass + + def setup_axes(self, obj): + # Axes must exist and be attached to canvas. + if obj.axes is None or obj.axes not in obj.app.plotcanvas.figure.axes: + obj.axes = obj.app.plotcanvas.new_axes(obj.options['name']) + + if not obj.options["plot"]: + obj.axes.cla() + obj.app.plotcanvas.auto_adjust_axes() + return False + + # Clear axes or we will plot on top of them. + obj.axes.cla() # TODO: Thread safe? + return True +