forked from 1b-agent/opencadstudio-upstream
feat(statusbar): highlight cycling-list object on row hover
Add a scene hover_highlight handle that renders an entity with the selection colour without joining the real selection. The cycling list box sets it on row enter / clears on exit, so hovering a row glows the matching object in the drawing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
bcbda65746
commit
a9228b9021
4 files changed
+45
-6
No files matched your search
@@ -3631,19 +3631,27 @@ impl OpenCADStudio {
|
||||
Message::ToggleSelectionCycling => {
|
||||
self.selection_cycling ^= true;
|
||||
self.cycle_candidates = None;
|
||||
self.tabs[self.active_tab].scene.set_hover_highlight(None);
|
||||
Task::none()
|
||||
}
|
||||
Message::CycleSelect(handle) => {
|
||||
// Add the picked object to the current selection (accumulate).
|
||||
self.cycle_candidates = None;
|
||||
let i = self.active_tab;
|
||||
self.tabs[i].scene.set_hover_highlight(None);
|
||||
self.tabs[i].scene.select_entity(handle, false);
|
||||
self.tabs[i].scene.expand_selection_for_groups(&[handle]);
|
||||
self.refresh_properties();
|
||||
Task::none()
|
||||
}
|
||||
Message::CycleHover(handle) => {
|
||||
let i = self.active_tab;
|
||||
self.tabs[i].scene.set_hover_highlight(handle);
|
||||
Task::none()
|
||||
}
|
||||
Message::CycleCancel => {
|
||||
self.cycle_candidates = None;
|
||||
self.tabs[self.active_tab].scene.set_hover_highlight(None);
|
||||
Task::none()
|
||||
}
|
||||
Message::ToggleSelectionFilterPopup => {
|
||||
|
||||
Reference in new issue
Block a user