From 3f70c156a0aacbc0506c9d98637715c1905ad0e0 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Fri, 20 Sep 2019 18:23:54 +0300 Subject: [PATCH] - work on ShapeCollectionLegacy --- README.md | 1 + flatcamGUI/PlotCanvasLegacy.py | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) 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 +