mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-06 05:48:40 +00:00
fix row key uniqueness of chained expansions, fix initial edit strings for value editing
This commit is contained in:
@@ -546,6 +546,7 @@ ev_block_tree_from_expr(Arena *arena, EV_View *view, String8 filter, E_Expr *exp
|
|||||||
U64 child_id;
|
U64 child_id;
|
||||||
U64 split_relative_idx;
|
U64 split_relative_idx;
|
||||||
B32 default_expanded;
|
B32 default_expanded;
|
||||||
|
B32 force_expanded;
|
||||||
};
|
};
|
||||||
Task start_task = {0, tree.root, tree.root->eval, 1, 0};
|
Task start_task = {0, tree.root, tree.root->eval, 1, 0};
|
||||||
Task *first_task = &start_task;
|
Task *first_task = &start_task;
|
||||||
@@ -560,7 +561,7 @@ ev_block_tree_from_expr(Arena *arena, EV_View *view, String8 filter, E_Expr *exp
|
|||||||
// rjf: obtain expansion node & expansion state
|
// rjf: obtain expansion node & expansion state
|
||||||
EV_ExpandNode *expand_node = ev_expand_node_from_key(view, key);
|
EV_ExpandNode *expand_node = ev_expand_node_from_key(view, key);
|
||||||
B32 is_expanded = (expand_node != 0 && expand_node->expanded);
|
B32 is_expanded = (expand_node != 0 && expand_node->expanded);
|
||||||
if(t->default_expanded)
|
if(t->default_expanded || t->force_expanded)
|
||||||
{
|
{
|
||||||
is_expanded ^= 1;
|
is_expanded ^= 1;
|
||||||
}
|
}
|
||||||
@@ -726,9 +727,10 @@ ev_block_tree_from_expr(Arena *arena, EV_View *view, String8 filter, E_Expr *exp
|
|||||||
t->next = task;
|
t->next = task;
|
||||||
task->parent_block = t->parent_block;
|
task->parent_block = t->parent_block;
|
||||||
task->eval = e_eval_from_expr(arena, t->eval.expr->next);
|
task->eval = e_eval_from_expr(arena, t->eval.expr->next);
|
||||||
task->child_id = t->child_id;
|
task->child_id = t->child_id + 1;
|
||||||
task->split_relative_idx = 0;
|
task->split_relative_idx = 0;
|
||||||
task->default_expanded = t->default_expanded;
|
task->default_expanded = t->default_expanded;
|
||||||
|
task->force_expanded = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
scratch_end(scratch);
|
scratch_end(scratch);
|
||||||
|
|||||||
@@ -3100,6 +3100,10 @@ rd_view_ui(Rng2F32 rect)
|
|||||||
{
|
{
|
||||||
any_edits_started = 1;
|
any_edits_started = 1;
|
||||||
String8 string = cell->edit_string;
|
String8 string = cell->edit_string;
|
||||||
|
if(string.size == 0)
|
||||||
|
{
|
||||||
|
string = dr_string_from_fstrs(scratch.arena, &cell_info.fstrs);
|
||||||
|
}
|
||||||
string.size = Min(string.size, sizeof(ewv->dummy_text_edit_state.input_buffer));
|
string.size = Min(string.size, sizeof(ewv->dummy_text_edit_state.input_buffer));
|
||||||
RD_WatchPt pt = {row->block->key, row->key, rd_id_from_watch_cell(cell)};
|
RD_WatchPt pt = {row->block->key, row->key, rd_id_from_watch_cell(cell)};
|
||||||
U64 hash = ev_hash_from_key(pt.key);
|
U64 hash = ev_hash_from_key(pt.key);
|
||||||
|
|||||||
Reference in New Issue
Block a user