diff --git a/FlatCAMApp.py b/FlatCAMApp.py index 94316ff3..36ee019d 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -1786,6 +1786,8 @@ class App(QtCore.QObject): self.app_cursor = None self.hover_shapes = None + self.log.debug("Setting up canvas: %s" % str(self.defaults["global_graphic_engine"])) + # setup the PlotCanvas self.on_plotcanvas_setup() @@ -11981,7 +11983,7 @@ class App(QtCore.QObject): plot_container = container else: plot_container = self.ui.right_layout - + print("step_1") if self.is_legacy is False: try: self.plotcanvas = PlotCanvas(plot_container, self) @@ -11997,9 +11999,11 @@ class App(QtCore.QObject): return 'fail' else: self.plotcanvas = PlotCanvasLegacy(plot_container, self) + print("step_2") # So it can receive key presses self.plotcanvas.native.setFocus() + print("step_3") self.mm = self.plotcanvas.graph_event_connect('mouse_move', self.on_mouse_move_over_plot) self.mp = self.plotcanvas.graph_event_connect('mouse_press', self.on_mouse_click_over_plot) @@ -12008,22 +12012,28 @@ class App(QtCore.QObject): # Keys over plot enabled self.kp = self.plotcanvas.graph_event_connect('key_press', self.ui.keyPressEvent) + print("step_4") if self.defaults['global_cursor_type'] == 'small': self.app_cursor = self.plotcanvas.new_cursor() else: self.app_cursor = self.plotcanvas.new_cursor(big=True) + print("step_5") + if self.ui.grid_snap_btn.isChecked(): self.app_cursor.enabled = True else: self.app_cursor.enabled = False + print("step_6") + if self.is_legacy is False: self.hover_shapes = ShapeCollection(parent=self.plotcanvas.view.scene, layers=1) else: # will use the default Matplotlib axes self.hover_shapes = ShapeCollectionLegacy(obj=self, app=self, name='hover') + print("step_7") def on_zoom_fit(self, event): """ diff --git a/flatcamGUI/PlotCanvas.py b/flatcamGUI/PlotCanvas.py index c6c799d6..a2db822a 100644 --- a/flatcamGUI/PlotCanvas.py +++ b/flatcamGUI/PlotCanvas.py @@ -32,9 +32,11 @@ class PlotCanvas(QtCore.QObject, VisPyCanvas): :param container: The parent container in which to draw plots. :rtype: PlotCanvas """ + print("step_1_1") super(PlotCanvas, self).__init__() # VisPyCanvas.__init__(self) + print("step_1_2") # VisPyCanvas does not allow new attributes. Override. self.unfreeze() @@ -44,6 +46,8 @@ class PlotCanvas(QtCore.QObject, VisPyCanvas): # Parent container self.container = container + print("step_1_3") + settings = QtCore.QSettings("Open Source", "FlatCAM") if settings.contains("theme"): theme = settings.value('theme', type=str) @@ -113,6 +117,8 @@ class PlotCanvas(QtCore.QObject, VisPyCanvas): } ) + print("step_1_4") + # self.create_native() self.native.setParent(self.fcapp.ui) @@ -120,6 +126,8 @@ class PlotCanvas(QtCore.QObject, VisPyCanvas): # self.container.addWidget(self.native) + print("step_1_5") + # ## AXIS # ## self.v_line = InfiniteLine(pos=0, color=(0.70, 0.3, 0.3, 0.8), vertical=True, parent=self.view.scene) @@ -127,25 +135,28 @@ class PlotCanvas(QtCore.QObject, VisPyCanvas): self.h_line = InfiniteLine(pos=0, color=(0.70, 0.3, 0.3, 0.8), vertical=False, parent=self.view.scene) + print("step_1_6") + # draw a rectangle made out of 4 lines on the canvas to serve as a hint for the work area # all CNC have a limited workspace if self.fcapp.defaults['global_workspace'] is True: self.draw_workspace(workspace_size=self.fcapp.defaults["global_workspaceT"]) + print("step_1_7") + self.line_parent = None if self.fcapp.defaults["global_cursor_color_enabled"]: c_color = Color(self.fcapp.defaults["global_cursor_color"]).rgba else: c_color = self.line_color + self.cursor_v_line = InfiniteLine(pos=None, color=c_color, vertical=True, parent=self.line_parent) self.cursor_h_line = InfiniteLine(pos=None, color=c_color, vertical=False, parent=self.line_parent) - # if self.app.defaults['global_workspace'] is True: - # if self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().upper() == 'MM': - # self.wkspace_t = Line(pos=) + print("step_1_8") self.shape_collections = [] @@ -160,7 +171,11 @@ class PlotCanvas(QtCore.QObject, VisPyCanvas): self.big_cursor = None # Keep VisPy canvas happy by letting it be "frozen" again. self.freeze() + print("step_1_9") + self.fit_view() + print("step_1_10") + self.graph_event_connect('mouse_wheel', self.on_mouse_scroll) def draw_workspace(self, workspace_size):