- fixed selection by dragging a selection shape in Geometry Editor

This commit is contained in:
Marius Stanciu
2019-08-24 05:08:27 +03:00
committed by Marius
parent 0e96be7d9a
commit 82b39d64d2
3 changed files with 31 additions and 15 deletions

View File

@@ -3768,19 +3768,34 @@ class FlatCAMGeoEditor(QtCore.QObject):
"""
poly_selection = Polygon([start_pos, (end_pos[0], start_pos[1]), end_pos, (start_pos[0], end_pos[1])])
key_modifier = QtWidgets.QApplication.keyboardModifiers()
if key_modifier == QtCore.Qt.ShiftModifier:
mod_key = 'Shift'
elif key_modifier == QtCore.Qt.ControlModifier:
mod_key = 'Control'
else:
mod_key = None
self.app.delete_selection_shape()
sel_objects_list = []
for obj in self.storage.get_objects():
if (sel_type is True and poly_selection.contains(obj.geo)) or (sel_type is False and
poly_selection.intersects(obj.geo)):
if self.key == self.app.defaults["global_mselect_key"]:
if obj in self.selected:
self.selected.remove(obj)
else:
# add the object to the selected shapes
self.selected.append(obj)
else:
if obj not in self.selected:
self.selected.append(obj)
sel_objects_list.append(obj)
if mod_key == self.app.defaults["global_mselect_key"]:
for obj in sel_objects_list:
if obj in self.selected:
self.selected.remove(obj)
else:
# add the object to the selected shapes
self.selected.append(obj)
else:
self.selected = []
self.selected = sel_objects_list
self.replot()
def draw_utility_geometry(self, geo):