mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-06 05:48:40 +00:00
first half of first pass at multi-cursor watch window
This commit is contained in:
+580
-169
File diff suppressed because it is too large
Load Diff
+22
-5
@@ -312,6 +312,17 @@ struct DF_WatchViewPoint
|
|||||||
DF_ExpandKey key;
|
DF_ExpandKey key;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef struct DF_WatchViewTextEditState DF_WatchViewTextEditState;
|
||||||
|
struct DF_WatchViewTextEditState
|
||||||
|
{
|
||||||
|
TxtPt cursor;
|
||||||
|
TxtPt mark;
|
||||||
|
U8 input_buffer[1024];
|
||||||
|
U64 input_size;
|
||||||
|
U8 initial_buffer[1024];
|
||||||
|
U64 initial_size;
|
||||||
|
};
|
||||||
|
|
||||||
typedef struct DF_WatchViewState DF_WatchViewState;
|
typedef struct DF_WatchViewState DF_WatchViewState;
|
||||||
struct DF_WatchViewState
|
struct DF_WatchViewState
|
||||||
{
|
{
|
||||||
@@ -325,11 +336,10 @@ struct DF_WatchViewState
|
|||||||
DF_WatchViewPoint mark;
|
DF_WatchViewPoint mark;
|
||||||
|
|
||||||
// rjf: text input state
|
// rjf: text input state
|
||||||
TxtPt input_cursor;
|
Arena *text_edit_arena;
|
||||||
TxtPt input_mark;
|
U64 text_edit_count;
|
||||||
U8 input_buffer[1024];
|
DF_WatchViewTextEditState *text_edit_states;
|
||||||
U64 input_size;
|
B32 text_editing;
|
||||||
B32 input_editing;
|
|
||||||
|
|
||||||
// rjf: table column width state
|
// rjf: table column width state
|
||||||
F32 expr_column_pct;
|
F32 expr_column_pct;
|
||||||
@@ -469,6 +479,13 @@ internal String8 df_string_from_eval_root(DF_EvalRoot *root);
|
|||||||
internal DF_ExpandKey df_parent_expand_key_from_eval_root(DF_EvalRoot *root);
|
internal DF_ExpandKey df_parent_expand_key_from_eval_root(DF_EvalRoot *root);
|
||||||
internal DF_ExpandKey df_expand_key_from_eval_root(DF_EvalRoot *root);
|
internal DF_ExpandKey df_expand_key_from_eval_root(DF_EvalRoot *root);
|
||||||
|
|
||||||
|
//- rjf: watch view points <-> table coordinates
|
||||||
|
internal DF_WatchViewPoint df_watch_view_point_from_tbl(DF_EvalVizBlockList *blocks, Vec2S64 tbl);
|
||||||
|
internal Vec2S64 df_tbl_from_watch_view_point(DF_EvalVizBlockList *blocks, DF_WatchViewPoint pt);
|
||||||
|
|
||||||
|
//- 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: windowed watch tree visualization
|
//- 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);
|
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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user