From 9c6e20b391eb71bbaa72ee36003babf30172edd0 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Sat, 20 Jan 2024 12:56:30 -0800 Subject: [PATCH] notes for next ui pass --- src/raddbg/raddbg.h | 67 +++++++++++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 24 deletions(-) diff --git a/src/raddbg/raddbg.h b/src/raddbg/raddbg.h index 87014e65..12b35f39 100644 --- a/src/raddbg/raddbg.h +++ b/src/raddbg/raddbg.h @@ -1,6 +1,49 @@ // Copyright (c) 2024 Epic Games Tools // Licensed under the MIT license (https://opensource.org/license/mit/) +//////////////////////////////// +//~ rjf: Frontend/UI Pass Tasks +// +// [ ] source view -> floating margin/line-nums +// [ ] theme colors -> more explicit about e.g. opaque backgrounds vs. floating +// & scrollbars etc. +// [ ] drag/drop tab cleanup +// [ ] target/breakpoint/watch-pin reordering +// [ ] watch window reordering +// [ ] query views, cleanup & floating - maybe merge "applies to view" vs. not +// [ ] standard way to filter +// [ ] visualize remapped files (via path map) +// [ ] hovering truncated string for a short time -> tooltip with full wrapped +// string +// [ ] theme lister -> fonts & font sizes +// [ ] font lister +// [ ] per-panel font size overrides +// +// [ ] For the Scheduler window, it would be nice if you could dim or +// folderize threads that are not your threads - eg., if a thread doesn't +// have any resolved stack pointers in your executable code, then you can +// ignore it when you are focusing on your own code. I don't know what the +// best way to detect this is, other than by walking the call stack... one +// way might be to just have a way to separate threads you've named from +// threads you haven't? Or, there could even be a debugger-specific API +// that you use to tag them. Just some way that would make it easier to +// focus on your own threads. +// +// [ ] autocomplete lister should respect position in edited expression, +// tabbing through should autocomplete but not exit, etc. +// +// [ ] it would be nice to have "show in explorer" for right click on source +// file tab (opens explorer & selects the file) +// [ ] it would be nice if Alt+o in source file would switch between .h and +// .c/cpp file (just look for same name in same folder) +// +// [ ] what's up with decimal number coloring where every group of 3 are in +// different color? can I turn it off? And why sometimes digits in number +// start with brighter color, but sometimes with darker - shouldn't it +// always have the same color ordering? +// +// [ ] middle mouse button on tab should close it + //////////////////////////////// //~ rjf: Hot, High Priority Tasks (Complete Unusability, Crashes, Fire-Worthy) // @@ -202,8 +245,6 @@ // path as file picking, and this doesn't give the user a clean path to // actually pick a folder, just navigate with them // -// [ ] ** Hover-Eval-Popup-While-Scrolling is very annoying! -// // [ ] ** In the call stack, I would like to be able to click quickly and move // around the stack. Right now, you can do that with the first and third // column, but the second column drops down a context menu. Since right @@ -252,21 +293,12 @@ // [ ] can it ignore stepping into _RTC_CheckStackVars generated functions? // [ ] mouse back button should make view to go back after I double clicked // on function to open it -// [ ] middle mouse button on tab should close it // [ ] pressing random keyboard keys in source code advances text cursor like // you were inputting text, very strange. // [ ] Alt+8 to switch to disassembly would be nice (regardless on which // panel was previous, don't want to use ctrl+, multiple times) // Alt+8 for disasm and Alt+6 for memory view are shortcuts I often use // in VS -// [ ] what's up with decimal number coloring where every group of 3 are in -// different color? can I turn it off? And why sometimes digits in number -// start with brighter color, but sometimes with darker - shouldn't it -// always have the same color ordering? -// [ ] it would be nice to have "show in explorer" for right click on source -// file tab (opens explorer & selects the file) -// [ ] it would be nice if Alt+o in source file would switch between .h and -// .c/cpp file (just look for same name in same folder) // [ ] in watch window when I enter some new expression and then click mouse // away from cell, then it should behave the same as if I pressed enter. // Currently it does the same as if I have pressed esc and I have lost my @@ -287,19 +319,6 @@ //////////////////////////////// //~ rjf: Hot, Feature Tasks (Not really "low priority" but less urgent than fixes) // -// [ ] For the Scheduler window, it would be nice if you could dim or -// folderize threads that are not your threads - eg., if a thread doesn't -// have any resolved stack pointers in your executable code, then you can -// ignore it when you are focusing on your own code. I don't know what the -// best way to detect this is, other than by walking the call stack... one -// way might be to just have a way to separate threads you've named from -// threads you haven't? Or, there could even be a debugger-specific API -// that you use to tag them. Just some way that would make it easier to -// focus on your own threads. -// -// [ ] autocomplete lister should respect position in edited expression, -// tabbing through should autocomplete but not exit, etc. -// // [ ] Fancy View Rules // [ ] table column boundaries should be checked against *AFTER* table // contents, not before