mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-16 00:52:23 -07:00
table lens
This commit is contained in:
@@ -1063,29 +1063,37 @@ ev_rows_from_num_range(Arena *arena, EV_View *view, String8 filter, EV_BlockRang
|
||||
return rows;
|
||||
}
|
||||
|
||||
internal B32
|
||||
ev_eval_is_expandable(E_Eval eval)
|
||||
{
|
||||
B32 result = 0;
|
||||
E_IRTreeAndType irtree = eval.irtree;
|
||||
|
||||
// rjf: determine if lenses force expandability
|
||||
if(!result)
|
||||
{
|
||||
EV_ExpandRule *expand_rule = ev_expand_rule_from_type_key(irtree.type_key);
|
||||
if(expand_rule != &ev_nil_expand_rule)
|
||||
{
|
||||
result = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// rjf: determine if type info force expandability
|
||||
if(!result)
|
||||
{
|
||||
result = ev_type_key_and_mode_is_expandable(irtree.type_key, irtree.mode);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
internal B32
|
||||
ev_row_is_expandable(EV_Row *row)
|
||||
{
|
||||
B32 result = 0;
|
||||
if(!ev_key_match(ev_key_root(), row->block->key))
|
||||
{
|
||||
E_IRTreeAndType irtree = row->eval.irtree;
|
||||
|
||||
// rjf: determine if lenses force expandability
|
||||
if(!result)
|
||||
{
|
||||
EV_ExpandRule *expand_rule = ev_expand_rule_from_type_key(irtree.type_key);
|
||||
if(expand_rule != &ev_nil_expand_rule)
|
||||
{
|
||||
result = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// rjf: determine if type info force expandability
|
||||
if(!result)
|
||||
{
|
||||
result = ev_type_key_and_mode_is_expandable(irtree.type_key, irtree.mode);
|
||||
}
|
||||
result = ev_eval_is_expandable(row->eval);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -369,6 +369,7 @@ internal U64 ev_num_from_vnum(EV_BlockRangeList *block_ranges, U64 vidx);
|
||||
internal EV_WindowedRowList ev_windowed_row_list_from_block_range_list(Arena *arena, EV_View *view, String8 filter, EV_BlockRangeList *block_ranges, Rng1U64 vnum_range);
|
||||
internal EV_Row *ev_row_from_num(Arena *arena, EV_View *view, String8 filter, EV_BlockRangeList *block_ranges, U64 num);
|
||||
internal EV_WindowedRowList ev_rows_from_num_range(Arena *arena, EV_View *view, String8 filter, EV_BlockRangeList *block_ranges, Rng1U64 num_range);
|
||||
internal B32 ev_eval_is_expandable(E_Eval eval);
|
||||
internal B32 ev_row_is_expandable(EV_Row *row);
|
||||
internal B32 ev_row_is_editable(EV_Row *row);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user