notes; tweaks; fixes

This commit is contained in:
Ryan Fleury
2024-06-24 16:35:23 -07:00
parent b4b8f5f0ab
commit 0d581694e6
3 changed files with 54 additions and 23 deletions
+1
View File
@@ -11313,6 +11313,7 @@ df_code_slice(DF_Window *ws, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, DF_
DF_IconKind icon = DF_IconKind_WarningBig;
String8 explanation = df_stop_explanation_string_icon_from_ctrl_event(scratch.arena, &stop_event, &icon);
UI_Parent(line_extras_boxes[line_idx]) UI_PrefWidth(ui_children_sum(1)) UI_PrefHeight(ui_px(params->line_height_px, 1.f))
UI_Palette(ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_TextNegative)))
{
UI_Box *box = ui_build_box_from_stringf(UI_BoxFlag_DrawBorder, "###exception_info");
UI_Parent(box) UI_PrefWidth(ui_text_dim(10, 1))
+1 -1
View File
@@ -1661,7 +1661,7 @@ df_watch_view_build(DF_Window *ws, DF_Panel *panel, DF_View *view, DF_WatchViewS
ui_set_next_pref_width(ui_pct(1, 0));
ui_set_next_pref_height(ui_px(scroll_list_params.row_height_px*row->size_in_rows, 1.f));
ui_set_next_focus_hot(row_selected ? UI_FocusKind_On : UI_FocusKind_Off);
UI_Box *row_box = ui_build_box_from_stringf(row_flags|UI_BoxFlag_DrawSideBottom|UI_BoxFlag_Clickable|UI_BoxFlag_DisableFocusOverlay, "row_%I64x", row_hash);
UI_Box *row_box = ui_build_box_from_stringf(row_flags|UI_BoxFlag_DrawSideBottom|UI_BoxFlag_Clickable|(!(row->flags & DF_EvalVizRowFlag_Canvas) * UI_BoxFlag_DisableFocusOverlay), "row_%I64x", row_hash);
ui_ts_vector_idx += 1;
ui_ts_cell_idx = 0;
+52 -22
View File
@@ -2,15 +2,52 @@
// Licensed under the MIT license (https://opensource.org/license/mit/)
////////////////////////////////
//~ rjf: Frontend/UI Pass Tasks
//~ rjf: 0.9.11 TODO
//
// [ ] user settings (ui & functionality - generally need a story for it)
// [ ] hover animations
// [ ] press animations
// [ ] focus animations
// [ ] tooltip animations
// [ ] context menu animations
// [ ] scrolling animations
// [ ] background blur
// [ ] tab width
// [ ] auto-scroll output window
//
// [ ] move breakpoints to being a global thing, not nested to particular files
//
// [ ] visualize all breakpoints everywhere - source view should show up in
// disasm, disasm should show up in source view, function should show up in
// both, etc.
// [ ] ** Function breakpoints should show up in the source listing. Without
// them being visible, it is confusing when you run and you stop there,
// because you're like "wait why did it stop" and then you later remember
// that's because there was a function breakpoint there.
//
// [ ] inline breakpoint hit_count
// [ ] to count hit counts, resolve all bps to addresses, check addresses
// against stopper thread's
//
// [ ] colors: fill out rest of theme presets for new theme setup
//
// [ ] editing multiple bindings for commands
// [ ] theme lister -> fonts & font sizes
// [ ] "Browse..." buttons should adopt a more relevant starting search path,
// if possible
//
// [ ] highlighted text & ctrl+f -> auto-fill search query
// [ ] double click on procedure in procedures tab to jump to source
// [ ] double-click any part of frame in callstack view -> snap to function
////////////////////////////////
//~ rjf: Frontend/UI Pass Tasks
//
// [ ] n-row table selection, in watch window & other UIs, multi-selection
// ctrl+C
//
// [ ] target/breakpoint/watch-pin reordering
//
// [ ] theme lister -> fonts & font sizes
// [ ] font lister
// [ ] per-panel font size overrides
//
@@ -34,31 +71,26 @@
////////////////////////////////
//~ rjf: Hot, High Priority Tasks (Complete Unusability, Crashes, Fire-Worthy)
//
// [ ] "Browse..." buttons should adopt a more relevant starting search path,
// if possible
// [ ] PDB files distributed with the build are not found by DbgHelp!!!
// [ ] Jai compiler debugging crash
////////////////////////////////
//~ rjf: Hot, Medium Priority Tasks (Low-Hanging-Fruit Features, UI Jank, Cleanup)
//
// [ ] Setting the code_font/main_font values to a font name doesn't work.
// Should probably make note that you have to set it to a path to a TTF,
// since that's not normally how Windows fonts work.
////////////////////////////////
//~ rjf: Hot, Medium Priority Tasks (Low-Hanging-Fruit Features, UI Jank, Cleanup)
//
// [ ] "root" concept in hash store, which buckets keys & allows usage code to
// jettison a collection of keys in retained mode fashion
//
// [ ] Jeff Notes
// [ ] highlighted text & ctrl+f -> auto-fill search query
// [ ] double-click any part of frame in callstack view -> snap to function
// [ ] sort locals by appearance in source code (or maybe just debug info)
// [ ] sum view rule
// [ ] plot view rule
// [ ] histogram view rule
// [ ] max view rule
// [ ] min view rule
// [ ] double click on procedure in procedures tab to jump to source
//
// [ ] filesystem drag/drop support
// [ ] double-click vs. single-click for folder navigation, see if we can infer
@@ -78,6 +110,10 @@
// sense once I use the debugger more, but I just thought I'd make a note
// to say that I was confused about it after reading the manual, so
// perhaps you could elaborate a little more on it in there.
// [ ] It wasn't clear to me how you save a user or project file. I can see
// how to load them, but not how you save them. Obviously I can just copy
// the files myself in the shell, but it seemed weird that there was no
// "save" option in the menus.
//
// [ ] Right-clicking on a thread in the Scheduler window pops up a context
// menu, but you can't actually see it because the tooltip for the thread
@@ -89,11 +125,6 @@
// actual items (ie., it doesn't resize the listing based on what's
// actually visible)
//
// [ ] ** Function breakpoints should show up in the source listing. Without
// them being visible, it is confusing when you run and you stop there,
// because you're like "wait why did it stop" and then you later remember
// that's because there was a function breakpoint there.
//
// [ ] ** One very nice feature of RemedyBG that I use all the time is the
// ability to put "$err, hr" into the watch window, which will just show
// the value of GetLastError() as a string. This is super useful for
@@ -125,14 +156,7 @@
// [ ] It'd be nice to have a "goto byte" option for source views, for jumping
// to error messages that are byte-based instead of line-based.
//
// [ ] It wasn't clear to me how you save a user or project file. I can see
// how to load them, but not how you save them. Obviously I can just copy
// the files myself in the shell, but it seemed weird that there was no
// "save" option in the menus.
//
// [ ] @feature debug info overrides (both path-based AND module-based)
// [ ] configure tab size
// [ ] auto-scroll output window
//
// [ ] C++ virtual inheritance member visualization in watch window
@@ -187,6 +211,12 @@
////////////////////////////////
//~ rjf: Hot, Feature Tasks (Not really "low priority" but less urgent than fixes)
//
// [ ] @eval_upgrade
// [ ] new eval system; support strings, many address spaces, many debug
// infos, wide/async transforms (e.g. diff(blob1, blob2))
// [ ] collapse frontend visualization systems - source view, disasm view,
// callstack, modules, scheduler, should *all* be flavors of watch view
//
// [ ] Fancy View Rules
// [ ] table column boundaries should be checked against *AFTER* table
// contents, not before