forked from 1b-agent/opencadstudio-upstream
fix(xref): deliver row-menu clicks via press-publishing rows
Each menu row is now a single mouse_area that publishes on PRESS instead of a button nested in a mouse_area. iced_aw ContextMenu keeps its overlay element in the widget struct, so every view rebuild wipes the overlay subtree state - including a button's is_pressed between press and release - and release-time clicks published nothing. Headless simulator tests through the real overlay guard row clicks, flyout clicks, the Change Path Type hover trigger, and pin the subtree-reset mechanism. Requires iced_test as a dev-dependency; the Cargo.lock gpu-allocator/windows edge is pinned back to 0.62.2 (see docs/review-context-menu-click-delivery.md).
This commit is contained in:
1 parent
be32af38a2
commit
4b351911bf
3 files changed
+206
-43
No files matched your search
Generated
+27
-2
@@ -31,6 +31,7 @@ dependencies = [
|
||||
"iced_aw",
|
||||
"iced_core",
|
||||
"iced_runtime",
|
||||
"iced_test",
|
||||
"image",
|
||||
"inventory",
|
||||
"js-sys",
|
||||
@@ -2677,6 +2678,30 @@ dependencies = [
|
||||
"thiserror 2.0.18",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iced_selector"
|
||||
version = "0.15.0-dev"
|
||||
source = "git+https://github.com/iced-rs/iced.git?rev=23604ff22ab0aad9e00b9327cb7b8546ed84db39#23604ff22ab0aad9e00b9327cb7b8546ed84db39"
|
||||
dependencies = [
|
||||
"iced_core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iced_test"
|
||||
version = "0.15.0-dev"
|
||||
source = "git+https://github.com/iced-rs/iced.git?rev=23604ff22ab0aad9e00b9327cb7b8546ed84db39#23604ff22ab0aad9e00b9327cb7b8546ed84db39"
|
||||
dependencies = [
|
||||
"iced_futures",
|
||||
"iced_program",
|
||||
"iced_renderer",
|
||||
"iced_runtime",
|
||||
"iced_selector",
|
||||
"nom 8.0.0",
|
||||
"png 0.18.1",
|
||||
"sha2 0.10.9",
|
||||
"thiserror 2.0.18",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iced_tiny_skia"
|
||||
version = "0.15.0-dev"
|
||||
@@ -4252,7 +4277,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.61.2",
|
||||
"windows-sys 0.45.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -5872,7 +5897,7 @@ version = "0.2.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0811b01ca2c4e8718760713911feaf4675c24f94e50530a015ec646cfb622f7c"
|
||||
dependencies = [
|
||||
"skrifa 0.42.1",
|
||||
"skrifa 0.37.0",
|
||||
"yazi",
|
||||
"zeno",
|
||||
]
|
||||
|
||||
Reference in new issue
Block a user