- in Distance Plugin - Distance value is now updated real time regardless of the Multi Point setting

This commit is contained in:
Marius Stanciu
2021-10-13 02:18:17 +03:00
committed by Marius
parent 71306395fa
commit 0d42a2ac40
2 changed files with 19 additions and 11 deletions

View File

@@ -153,15 +153,6 @@ class Distance(AppTool):
self.app.command_active = "Distance"
# initial view of the layout
self.ui.start_entry.set_value('(0, 0)')
self.ui.stop_entry.set_value('(0, 0)')
self.ui.distance_x_entry.set_value('0.0')
self.ui.distance_y_entry.set_value('0.0')
self.ui.angle_entry.set_value('0.0')
self.ui.total_distance_entry.set_value('0.0')
self.ui.snap_center_cb.set_value(self.app.defaults['tools_dist_snap_center'])
# snap center works only for Gerber and Execellon Editor's
@@ -185,8 +176,19 @@ class Distance(AppTool):
if self.app.ui.grid_snap_btn.isChecked():
self.grid_status_memory = True
# initial view of the layout
self.initial_view()
self.app.call_source = 'measurement'
def initial_view(self):
self.display_start((0.0, 0.0))
self.display_end((0.0, 0.0))
self.ui.angle_entry.set_value('%.*f' % (self.decimals, 0.0))
self.ui.distance_x_entry.set_value('%.*f' % (self.decimals, 0.0))
self.ui.distance_y_entry.set_value('%.*f' % (self.decimals, 0.0))
self.ui.total_distance_entry.set_value('%.*f' % (self.decimals, 0.0))
def on_snap_toggled(self, state):
self.app.defaults['tools_dist_snap_center'] = state
if state:
@@ -575,6 +577,7 @@ class Distance(AppTool):
self.delete_utility_shape(self.last_shape)
if self.points:
self.add_utility_shape(start_pos=self.points[-1], end_pos=pos)
self.display_distance(self.total_distance + self.update_distance(pos, prev_pos=self.points[-1]))
except Exception as e:
self.app.log.error("Distance.on_mouse_move() update --> %s" % str(e))
self.app.ui.position_label.setText("")
@@ -594,6 +597,10 @@ class Distance(AppTool):
if val:
self.ui.angle_entry.set_value(str(self.app.dec_format(val, self.decimals)))
def display_start(self, val):
if val:
self.ui.start_entry.set_value(str(val))
def update_end_point(self, pos):
# update the end point value
end_val = (
@@ -613,9 +620,9 @@ class Distance(AppTool):
def display_deltas(self, dx, dy):
if dx:
self.ui.distance_x_entry.set_value('%.*f' % (self.decimals, abs(dx)))
self.ui.distance_x_entry.set_value(str(self.app.dec_format(abs(dx), self.decimals)))
if dy:
self.ui.distance_y_entry.set_value('%.*f' % (self.decimals, abs(dy)))
self.ui.distance_y_entry.set_value(str(self.app.dec_format(abs(dx), self.decimals)))
def update_distance(self, pos, prev_pos=None):
if prev_pos is None: