T20 round 1 fixes

- the hex demo's selection stops at memory's end
- a disassembly gutter fills its row, so an empty one takes a press
- a breakpoint's box keeps its press from the row
- ruler ticks keep the places their step needs
- the toolbar names each usual key for the platform; the app binds them
- tests: gutter press, box press, tick places
This commit is contained in:
ZacharyZhang-NY committed 2026-09-26 02:54:23 -04:00
1 parent f8bfa29c17
commit 2f3b0ac8bb
9 files changed
+161 -34

No files matched your search

+1 -1
View File
@@ -141,7 +141,7 @@ pub fn machine(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> {
frame().h(px(220.)).child(
HexViewer::new("debug-hex", memory())
.base(0x7ffd_5a20_1000)
.selected(now_picked..now_picked + 4)
.selected(now_picked..(now_picked + 4).min(memory().len()))
.on_select(move |at, _, cx| set(&pick, at, cx)),
),
)
+1 -1
View File
@@ -106,7 +106,7 @@ pub fn session(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> {
let (command, tell) = (state.clone(), said.clone());
section(
"DebugToolbar",
"The floating row that drives a session: continue or pause, the three steps while paused, restart and stop, each with its key.",
"The floating row that drives a session: continue or pause, the three steps while paused, restart and stop. Each tooltip names the usual key; the app binds it.",
cx,
)
.child(row().child(DebugToolbar::new("debug-toolbar", now_state).on_command(move |which, _, cx| {