- when the selection is changed in the Project Tree the selection shape on canvas is deleted
- if an object is selected on Project Tree and it does not have the selection shape drawn, first click on canvas over it will draw the selection shape
This commit is contained in:
parent
cc303ce4f2
commit
98e246a5c4
|
@ -8904,20 +8904,26 @@ class App(QtCore.QObject):
|
|||
# create the selection box around the selected object
|
||||
if self.defaults['global_selection_shape'] is True:
|
||||
self.draw_selection_shape(curr_sel_obj)
|
||||
curr_sel_obj.selection_shape_drawn = True
|
||||
|
||||
elif self.collection.get_active().options['name'] not in objects_under_the_click_list:
|
||||
elif curr_sel_obj.options['name'] not in objects_under_the_click_list:
|
||||
self.on_objects_selection(False)
|
||||
self.delete_selection_shape()
|
||||
curr_sel_obj.selection_shape_drawn = False
|
||||
|
||||
self.collection.set_active(objects_under_the_click_list[0])
|
||||
curr_sel_obj = self.collection.get_active()
|
||||
|
||||
# create the selection box around the selected object
|
||||
if self.defaults['global_selection_shape'] is True:
|
||||
self.draw_selection_shape(curr_sel_obj)
|
||||
curr_sel_obj.selection_shape_drawn = True
|
||||
|
||||
self.selected_message(curr_sel_obj=curr_sel_obj)
|
||||
|
||||
elif curr_sel_obj.selection_shape_drawn is False:
|
||||
if self.defaults['global_selection_shape'] is True:
|
||||
self.draw_selection_shape(curr_sel_obj)
|
||||
curr_sel_obj.selection_shape_drawn = True
|
||||
else:
|
||||
self.on_objects_selection(False)
|
||||
self.delete_selection_shape()
|
||||
|
@ -8932,6 +8938,7 @@ class App(QtCore.QObject):
|
|||
# make active the first element of the overlapped objects list
|
||||
if self.collection.get_active() is None:
|
||||
self.collection.set_active(objects_under_the_click_list[0])
|
||||
objects_under_the_click_list[0].selection_shape_drawn = True
|
||||
|
||||
name_sel_obj = self.collection.get_active().options['name']
|
||||
# In case that there is a selected object but it is not in the overlapped object list
|
||||
|
@ -8949,9 +8956,12 @@ class App(QtCore.QObject):
|
|||
curr_sel_obj = self.collection.get_active()
|
||||
# delete the possible selection box around a possible selected object
|
||||
self.delete_selection_shape()
|
||||
curr_sel_obj.selection_shape_drawn = False
|
||||
|
||||
# create the selection box around the selected object
|
||||
if self.defaults['global_selection_shape'] is True:
|
||||
self.draw_selection_shape(curr_sel_obj)
|
||||
curr_sel_obj.selection_shape_drawn = True
|
||||
|
||||
self.selected_message(curr_sel_obj=curr_sel_obj)
|
||||
|
||||
|
@ -8961,6 +8971,9 @@ class App(QtCore.QObject):
|
|||
# delete the possible selection box around a possible selected object
|
||||
self.delete_selection_shape()
|
||||
|
||||
for o in self.collection.get_list():
|
||||
o.selection_shape_drawn = False
|
||||
|
||||
# and as a convenience move the focus to the Project tab because Selected tab is now empty but
|
||||
# only when working on App
|
||||
if self.call_source == 'app':
|
||||
|
@ -12365,7 +12378,10 @@ class App(QtCore.QObject):
|
|||
new_color = self.defaults['global_plot_fill']
|
||||
act_name = self.sender().text().lower()
|
||||
|
||||
sel_obj = self.collection.get_active()
|
||||
sel_obj_list = self.collection.get_selected()
|
||||
|
||||
if not sel_obj_list:
|
||||
return
|
||||
|
||||
if act_name == 'red':
|
||||
new_color = '#FF0000' + \
|
||||
|
@ -12397,22 +12413,22 @@ class App(QtCore.QObject):
|
|||
new_color = str(plot_fill_color.name()) + \
|
||||
str(hex(self.ui.general_defaults_form.general_gui_group.pf_color_alpha_slider.value())[2:])
|
||||
|
||||
if self.is_legacy is False:
|
||||
new_line_color = color_variant(new_color[:7], 0.7)
|
||||
sel_obj.fill_color = new_color
|
||||
sel_obj.outline_color = new_line_color
|
||||
new_line_color = color_variant(new_color[:7], 0.7)
|
||||
|
||||
sel_obj.shapes.redraw(
|
||||
update_colors=(new_color, new_line_color)
|
||||
)
|
||||
else:
|
||||
new_line_color = color_variant(new_color[:7], 0.7)
|
||||
for sel_obj in sel_obj_list:
|
||||
if self.is_legacy is False:
|
||||
sel_obj.fill_color = new_color
|
||||
sel_obj.outline_color = new_line_color
|
||||
|
||||
sel_obj.fill_color = new_color
|
||||
sel_obj.outline_color = new_line_color
|
||||
sel_obj.shapes.redraw(
|
||||
update_colors=(new_color, new_line_color)
|
||||
)
|
||||
sel_obj.shapes.redraw(
|
||||
update_colors=(new_color, new_line_color)
|
||||
)
|
||||
else:
|
||||
sel_obj.fill_color = new_color
|
||||
sel_obj.outline_color = new_line_color
|
||||
sel_obj.shapes.redraw(
|
||||
update_colors=(new_color, new_line_color)
|
||||
)
|
||||
|
||||
def on_grid_snap_triggered(self, state):
|
||||
if state:
|
||||
|
|
|
@ -128,6 +128,9 @@ class FlatCAMObj(QtCore.QObject):
|
|||
self.isHovering = False
|
||||
self.notHovering = True
|
||||
|
||||
# Flag to show if a selection shape is drawn
|
||||
self.selection_shape_drawn = False
|
||||
|
||||
# self.units = 'IN'
|
||||
self.units = self.app.defaults['units']
|
||||
|
||||
|
|
|
@ -787,6 +787,11 @@ class ObjectCollection(QtCore.QAbstractItemModel):
|
|||
# FlatCAMApp.App.log.debug("Current: %s, Previous %s" % (str(current), str(previous)))
|
||||
|
||||
try:
|
||||
# delete selection shape
|
||||
self.app.delete_selection_shape()
|
||||
for o in self.get_list():
|
||||
o.selection_shape_drawn = False
|
||||
|
||||
obj = current.indexes()[0].internalPointer().obj
|
||||
self.item_selected.emit(obj.options['name'])
|
||||
|
||||
|
|
|
@ -16,6 +16,9 @@ CAD program, and create G-Code for Isolation routing.
|
|||
- when Printing as PDF Gerber objects now the rendered color is the print color
|
||||
- speed up the plotting in OpenGL(3D) graphic mode
|
||||
- spped up the color setting for Gerber object when using the OpenGL(3D) graphic mode
|
||||
- setting color for Gerber objects work on a selection of Gerber objects
|
||||
- when the selection is changed in the Project Tree the selection shape on canvas is deleted
|
||||
- if an object is selected on Project Tree and it does not have the selection shape drawn, first click on canvas over it will draw the selection shape
|
||||
|
||||
22.12.2019
|
||||
|
||||
|
|
Loading…
Reference in New Issue