- fixed some selection issues in the new tool Eraser in Geometry Editor
- updated the translation files
This commit is contained in:
parent
f400294027
commit
17a93b8c7d
|
@ -12,7 +12,9 @@ CAD program, and create G-Code for Isolation routing.
|
|||
22.05.2019
|
||||
|
||||
- Geo Editor - added a new editor tool, Eraser
|
||||
- PEP8 cleanup of the Geo Editor
|
||||
- some PEP8 cleanup of the Geo Editor
|
||||
- fixed some selection issues in the new tool Eraser in Geometry Editor
|
||||
- updated the translation files
|
||||
|
||||
21.05.2019
|
||||
|
||||
|
|
|
@ -7738,7 +7738,10 @@ class FlatCAMRTree(object):
|
|||
def remove_obj(self, objid, obj):
|
||||
# Use all ptids to delete from index
|
||||
for i, pt in enumerate(self.get_points(obj)):
|
||||
self.rti.delete(self.obj2points[objid][i], (pt[0], pt[1], pt[0], pt[1]))
|
||||
try:
|
||||
self.rti.delete(self.obj2points[objid][i], (pt[0], pt[1], pt[0], pt[1]))
|
||||
except IndexError:
|
||||
pass
|
||||
|
||||
def nearest(self, pt):
|
||||
"""
|
||||
|
|
|
@ -2810,16 +2810,19 @@ class FCEraser(FCShapeTool):
|
|||
|
||||
def click(self, point):
|
||||
if len(self.draw_app.get_selected()) == 0:
|
||||
|
||||
for obj_shape in self.storage.get_objects():
|
||||
try:
|
||||
__, closest_shape = self.storage.nearest(point)
|
||||
self.draw_app.selected.append(closest_shape)
|
||||
except StopIteration:
|
||||
if len(self.draw_app.selected) > 0:
|
||||
self.draw_app.app.inform.emit(_("Click to pick-up the erase shape..."))
|
||||
return ""
|
||||
|
||||
if len(self.draw_app.get_selected()) == 0:
|
||||
return "Nothing to ersase."
|
||||
else:
|
||||
self.draw_app.app.inform.emit(_("Click to pick-up the erase shape..."))
|
||||
|
||||
if self.origin is None:
|
||||
self.set_origin(point)
|
||||
|
@ -3594,13 +3597,15 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
|||
self.app.ui.rel_position_label.setText("<b>Dx</b>: %.4f <b>Dy</b>: "
|
||||
"%.4f " % (dx, dy))
|
||||
|
||||
# ## Utility geometry (animated)
|
||||
geo = self.active_tool.utility_geometry(data=(x, y))
|
||||
|
||||
if isinstance(geo, DrawToolShape) and geo.geo is not None:
|
||||
# Remove any previous utility shape
|
||||
self.tool_shape.clear(update=True)
|
||||
self.draw_utility_geometry(geo=geo)
|
||||
if event.button == 1 and event.is_dragging == 1 and isinstance(self.active_tool, FCEraser):
|
||||
pass
|
||||
else:
|
||||
# ## Utility geometry (animated)
|
||||
geo = self.active_tool.utility_geometry(data=(x, y))
|
||||
if isinstance(geo, DrawToolShape) and geo.geo is not None:
|
||||
# Remove any previous utility shape
|
||||
self.tool_shape.clear(update=True)
|
||||
self.draw_utility_geometry(geo=geo)
|
||||
|
||||
# ## Selection area on canvas section ###
|
||||
dx = pos[0] - self.pos[0]
|
||||
|
@ -3687,6 +3692,7 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
|||
self.active_tool.click_release((self.pos[0], self.pos[1]))
|
||||
# self.app.inform.emit(msg)
|
||||
self.replot()
|
||||
|
||||
except Exception as e:
|
||||
log.warning("Error: %s" % str(e))
|
||||
return
|
||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue