Wire exact Scenario group selection and contextual admission

This commit is contained in:
2026-09-24 00:24:08 -07:00
parent 47917dd0ef
commit 879eb1d5c8
13 changed files with 1505 additions and 52 deletions
@@ -7,6 +7,7 @@ use std::{cell::RefCell, collections::BTreeSet};
mod camera;
pub(crate) mod focus;
pub(crate) mod group_reorder;
pub(crate) mod selection;
pub(crate) mod spacing;
use super::scenario_layout::{
Representation,
@@ -144,6 +145,7 @@ impl std::fmt::Display for CanvasTool {
}
#[derive(Debug, Clone)]
pub enum CanvasEvent {
Selection(Box<selection::Event>),
Spacing(spacing::Event),
Scrolled(Context, ScrollArea, iced::Vector),
Restored(Context, Id, ScrollArea, iced::Vector),
@@ -187,6 +189,7 @@ impl CanvasEvent {
pub fn context(&self) -> Context {
match self {
Self::Spacing(event) => event.stamp().context,
Self::Selection(event) => event.context,
Self::Scrolled(context, _, _)
| Self::Restored(context, ..)
| Self::Viewport(context, _)