aboutsummaryrefslogtreecommitdiffstats
path: root/idatui/edit_ctl.py
diff options
context:
space:
mode:
authorblasty <peter@haxx.in>2026-08-06 22:12:56 +0200
committerblasty <peter@haxx.in>2026-08-06 22:12:56 +0200
commitb0a5e59b1f4a83294343d527d8de4acd73256d82 (patch)
tree07dca26ae42580b4becb51657716e1d6c1f8539d /idatui/edit_ctl.py
parenttests: one front door (diff)
downloadida-tui-b0a5e59b1f4a83294343d527d8de4acd73256d82.tar.gz
ida-tui-b0a5e59b1f4a83294343d527d8de4acd73256d82.tar.xz
ida-tui-b0a5e59b1f4a83294343d527d8de4acd73256d82.zip
app: lift trace navigation out of IdaTui
First cut at the 4000-line class. Trace is the cleanest seam: 348 contiguous lines, one coherent job (where we are in time and everything that moves us), and two suites already covering it. TraceController owns the state now -- the trace, the timestamp, the trail maps. IdaTui keeps the keys, because Textual only merges BINDINGS from DOMNode subclasses and a mixin's would be silently dropped, and it keeps the @work entry points, because the worker machinery wants a DOMNode host. Both are one-line delegates. _trace/_t/_trail_map/_trail_map_ea/_trail_line_of stay readable on the app as properties: the pilot suite and rpc.py read the position by those names, and a property means one owner rather than a copy that can drift. rpc.py itself now goes through the controller. The parallel line-map that _apply_split_map used to poke into five attributes is now one adopt_map() call -- same single shared index, but the sharing is stated rather than implied by two places assigning the same fields. 731 checks, unchanged.
Diffstat (limited to 'idatui/edit_ctl.py')
0 files changed, 0 insertions, 0 deletions