further progress on watch window pass; multi-cursor, multi-selection, autocomplete lister, etc

This commit is contained in:
Ryan Fleury
2024-05-15 09:26:16 -07:00
parent aa73e62240
commit 03844d81d2
2 changed files with 159 additions and 64 deletions
+8 -2
View File
@@ -315,6 +315,8 @@ struct DF_WatchViewPoint
typedef struct DF_WatchViewTextEditState DF_WatchViewTextEditState;
struct DF_WatchViewTextEditState
{
DF_WatchViewTextEditState *pt_hash_next;
DF_WatchViewPoint pt;
TxtPt cursor;
TxtPt mark;
U8 input_buffer[1024];
@@ -337,8 +339,9 @@ struct DF_WatchViewState
// rjf: text input state
Arena *text_edit_arena;
U64 text_edit_count;
DF_WatchViewTextEditState *text_edit_states;
U64 text_edit_state_slots_count;
DF_WatchViewTextEditState dummy_text_edit_state;
DF_WatchViewTextEditState **text_edit_state_slots;
B32 text_editing;
// rjf: table column width state
@@ -486,6 +489,9 @@ internal Vec2S64 df_tbl_from_watch_view_point(DF_EvalVizBlockList *blocks, DF_Wa
//- rjf: table coordinates -> strings
internal String8 df_string_from_eval_viz_row_column_kind(Arena *arena, DF_EvalView *ev, TG_Graph *graph, RDI_Parsed *rdi, DF_EvalVizRow *row, DF_WatchViewColumnKind col_kind, B32 editable);
//- rjf: table coordinates -> text edit state
internal DF_WatchViewTextEditState *df_watch_view_text_edit_state_from_pt(DF_WatchViewState *wv, DF_WatchViewPoint pt);
//- rjf: windowed watch tree visualization
internal DF_EvalVizBlockList df_eval_viz_block_list_from_watch_view_state(Arena *arena, DBGI_Scope *scope, DF_CtrlCtx *ctrl_ctx, EVAL_ParseCtx *parse_ctx, EVAL_String2ExprMap *macro_map, DF_View *view, DF_WatchViewState *ews);