diff options
| author | blasty <peter@haxx.in> | 2026-08-06 23:07:30 +0200 |
|---|---|---|
| committer | blasty <peter@haxx.in> | 2026-08-06 23:07:30 +0200 |
| commit | 01f316bc219a7c4d6d3ba0681527b807a8faf5f6 (patch) | |
| tree | 52fd1f7f145f924b4e0ff8d45d2440e0b74c9b49 /tests | |
| parent | app: lift trace navigation out of IdaTui (diff) | |
| download | ida-tui-01f316bc219a7c4d6d3ba0681527b807a8faf5f6.tar.gz ida-tui-01f316bc219a7c4d6d3ba0681527b807a8faf5f6.tar.xz ida-tui-01f316bc219a7c4d6d3ba0681527b807a8faf5f6.zip | |
app: lift database edits out of IdaTui, and one prompt abstraction
Second cut at the 4000-line class, and the biggest: 702 contiguous lines of
rename/comment/retype/make-data/literal-format/define, now EditController.
What stays on IdaTui is what Textual insists on owning -- on_<Message> handlers,
which it dispatches by name on the DOMNode, and @work entry points, whose worker
machinery wants a DOMNode host. Both are one-line delegates.
Underneath them was the duplication that made this worth doing rather than just
moving lines. Opening a prompt (hide the status bar, set placeholder, can_focus,
display, value, focus) was written out five times; closing it four; and Esc was a
six-branch ladder in on_key with one copy of the same four lines per prompt. They
had drifted -- search cancelled its highlight, goto restored focus, the edit
prompts did neither consistently. Prompt/PromptBar own that discipline once, and
close() HANDS BACK the context it was holding, so it can't be read twice or go
stale: the listing's rename had to capture _rename_addr by hand before
_end_rename cleared it, or the name went to address 0.
_line_ea_for stays on the app -- rpc.py and the goto readback ask the same
question, so it was never an edit helper.
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions
