mirror of
https://github.com/Denvi/FlatCAM.git
synced 2026-03-07 00:37:08 +01:00
Merge branch 'VisPyExperemental' into develop
# Conflicts: # camlib.py
This commit is contained in:
@@ -528,8 +528,8 @@ class App(QtCore.QObject):
|
||||
self.ui.zoom_fit_btn.triggered.connect(self.on_zoom_fit)
|
||||
self.ui.zoom_in_btn.triggered.connect(lambda: self.plotcanvas.zoom(1.5))
|
||||
self.ui.zoom_out_btn.triggered.connect(lambda: self.plotcanvas.zoom(1 / 1.5))
|
||||
self.ui.clear_plot_btn.triggered.connect(self.plotcanvas.clear)
|
||||
self.ui.replot_btn.triggered.connect(self.on_toolbar_replot)
|
||||
self.ui.clear_plot_btn.triggered.connect(lambda: self.disable_plots(except_current=True))
|
||||
self.ui.replot_btn.triggered.connect(self.enable_all_plots)
|
||||
self.ui.newgeo_btn.triggered.connect(lambda: self.new_object('geometry', 'New Geometry', lambda x, y: None))
|
||||
self.ui.editgeo_btn.triggered.connect(self.edit_geometry)
|
||||
self.ui.updategeo_btn.triggered.connect(self.editor2geometry)
|
||||
@@ -1488,6 +1488,7 @@ class App(QtCore.QObject):
|
||||
self.plotcanvas.vispy_canvas.update()
|
||||
self.on_zoom_fit(None)
|
||||
|
||||
# TODO: Rework toolbar 'clear', 'replot' functions
|
||||
def on_toolbar_replot(self):
|
||||
"""
|
||||
Callback for toolbar button. Re-plots all objects.
|
||||
@@ -1669,8 +1670,6 @@ class App(QtCore.QObject):
|
||||
# Remove everything from memory
|
||||
App.log.debug("on_file_new()")
|
||||
|
||||
self.plotcanvas.clear()
|
||||
|
||||
# tcl needs to be reinitialized, otherwise old shell variables etc remains
|
||||
self.init_tcl()
|
||||
|
||||
@@ -2307,7 +2306,6 @@ class App(QtCore.QObject):
|
||||
"""
|
||||
self.log.debug("plot_all()")
|
||||
|
||||
self.plotcanvas.clear()
|
||||
self.progress.emit(10)
|
||||
|
||||
def worker_task(app_obj):
|
||||
@@ -4183,8 +4181,6 @@ class App(QtCore.QObject):
|
||||
)
|
||||
|
||||
def enable_all_plots(self, *args):
|
||||
self.plotcanvas.clear()
|
||||
|
||||
def worker_task(app_obj):
|
||||
percentage = 0.1
|
||||
try:
|
||||
|
||||
@@ -134,8 +134,8 @@ class FlatCAMGUI(QtGui.QMainWindow):
|
||||
self.zoom_fit_btn = self.toolbar.addAction(QtGui.QIcon('share/zoom_fit32.png'), "&Zoom Fit")
|
||||
self.zoom_out_btn = self.toolbar.addAction(QtGui.QIcon('share/zoom_out32.png'), "&Zoom Out")
|
||||
self.zoom_in_btn = self.toolbar.addAction(QtGui.QIcon('share/zoom_in32.png'), "&Zoom In")
|
||||
self.clear_plot_btn = self.toolbar.addAction(QtGui.QIcon('share/clear_plot32.png'), "&Clear Plot")
|
||||
self.replot_btn = self.toolbar.addAction(QtGui.QIcon('share/replot32.png'), "&Replot")
|
||||
self.clear_plot_btn = self.toolbar.addAction(QtGui.QIcon('share/clear_plot32.png'), "&Disable others")
|
||||
self.replot_btn = self.toolbar.addAction(QtGui.QIcon('share/replot32.png'), "&Enable all")
|
||||
self.newgeo_btn = self.toolbar.addAction(QtGui.QIcon('share/new_geo32.png'), "New Blank Geometry")
|
||||
self.editgeo_btn = self.toolbar.addAction(QtGui.QIcon('share/edit32.png'), "Edit Geometry")
|
||||
self.updategeo_btn = self.toolbar.addAction(QtGui.QIcon('share/edit_ok32.png'), "Update Geometry")
|
||||
|
||||
@@ -32,41 +32,42 @@ class Measurement(FlatCAMTool):
|
||||
def install(self):
|
||||
FlatCAMTool.install(self)
|
||||
self.app.ui.right_layout.addWidget(self)
|
||||
# TODO: Translate to vis
|
||||
# self.app.plotcanvas.mpl_connect('key_press_event', self.on_key_press)
|
||||
self.app.plotcanvas.vis_connect('key_press', self.on_key_press)
|
||||
|
||||
def run(self):
|
||||
self.toggle()
|
||||
|
||||
def on_click(self, event):
|
||||
pos = self.app.plotcanvas.vispy_canvas.translate_coords(event.pos)
|
||||
if self.point1 is None:
|
||||
self.point1 = (event.xdata, event.ydata)
|
||||
self.point1 = pos
|
||||
else:
|
||||
self.point2 = copy(self.point1)
|
||||
self.point1 = (event.xdata, event.ydata)
|
||||
self.point1 = pos
|
||||
self.on_move(event)
|
||||
|
||||
def on_key_press(self, event):
|
||||
if event.key == 'r':
|
||||
if event.key == 'R':
|
||||
self.toggle()
|
||||
|
||||
def toggle(self):
|
||||
if self.isVisible():
|
||||
self.setVisible(False)
|
||||
self.app.plotcanvas.mpl_disconnect(self.move_subscription)
|
||||
self.app.plotcanvas.mpl_disconnect(self.click_subscription)
|
||||
self.app.plotcanvas.vis_disconnect('mouse_move', self.on_move)
|
||||
self.app.plotcanvas.vis_disconnect('mouse_release', self.on_click)
|
||||
else:
|
||||
self.setVisible(True)
|
||||
self.move_subscription = self.app.plotcanvas.mpl_connect('motion_notify_event', self.on_move)
|
||||
self.click_subscription = self.app.plotcanvas.mpl_connect('button_press_event', self.on_click)
|
||||
self.app.plotcanvas.vis_connect('mouse_move', self.on_move)
|
||||
self.app.plotcanvas.vis_connect('mouse_release', self.on_click)
|
||||
|
||||
def on_move(self, event):
|
||||
if self.point1 is None:
|
||||
self.label.setText("Click on a reference point...")
|
||||
else:
|
||||
try:
|
||||
dx = event.xdata - self.point1[0]
|
||||
dy = event.ydata - self.point1[1]
|
||||
pos = self.app.plotcanvas.vispy_canvas.translate_coords(event.pos)
|
||||
dx = pos[0] - self.point1[0]
|
||||
dy = pos[1] - self.point1[1]
|
||||
d = sqrt(dx**2 + dy**2)
|
||||
self.label.setText("D = %.4f D(x) = %.4f D(y) = %.4f" % (d, dx, dy))
|
||||
except TypeError:
|
||||
|
||||
Reference in New Issue
Block a user