strip out root buttons idea; fix up pretty member names

This commit is contained in:
Ryan Fleury
2024-09-24 11:06:31 -07:00
parent 64f763162f
commit fbfaf1c747
9 changed files with 53 additions and 111 deletions
@@ -354,7 +354,7 @@ EV_VIEW_RULE_EXPR_RESOLUTION_FUNCTION_DEF(slice)
E_TypeKey sized_base_ptr_type_key = e_type_key_cons_ptr(e_type_state->ctx->primary_module->arch, array_type_key, 0);
E_MemberList slice_type_members = {0};
e_member_list_push(scratch.arena, &slice_type_members, count_member);
e_member_list_push(scratch.arena, &slice_type_members, &(E_Member){.kind = E_MemberKind_DataField, .type_key = sized_base_ptr_type_key, .name = base_ptr_member->name, .off = base_ptr_member->off});
e_member_list_push(scratch.arena, &slice_type_members, &(E_Member){.kind = E_MemberKind_DataField, .type_key = sized_base_ptr_type_key, .name = base_ptr_member->name, .pretty_name = base_ptr_member->pretty_name, .off = base_ptr_member->off});
E_MemberArray slice_type_members_array = e_member_array_from_list(scratch.arena, &slice_type_members);
slice_type_key = e_type_key_cons(.arch = e_type_state->ctx->primary_module->arch,
.kind = E_TypeKind_Struct,
@@ -1085,7 +1085,7 @@ ev_windowed_row_list_from_block_list(Arena *arena, EV_View *view, Rng1S64 visibl
}
internal String8
ev_expr_string_from_row(Arena *arena, EV_Row *row)
ev_expr_string_from_row(Arena *arena, EV_Row *row, EV_StringFlags flags)
{
String8 result = row->string;
E_Expr *notable_expr = row->expr;
@@ -1118,7 +1118,7 @@ ev_expr_string_from_row(Arena *arena, EV_Row *row)
}break;
case E_ExprKind_MemberAccess:
{
if(row->member != 0 && row->member->pretty_name.size != 0)
if(flags & EV_StringFlag_PrettyNames && row->member != 0 && row->member->pretty_name.size != 0)
{
result = push_str8_copy(arena, row->member->pretty_name);
}
@@ -264,6 +264,7 @@ typedef U32 EV_StringFlags;
enum
{
EV_StringFlag_ReadOnlyDisplayRules = (1<<0),
EV_StringFlag_PrettyNames = (1<<1),
};
typedef struct EV_Row EV_Row;
@@ -395,7 +396,7 @@ internal E_Expr *ev_expr_from_block_index(Arena *arena, EV_Block *block, U64 ind
internal EV_Row *ev_row_list_push_new(Arena *arena, EV_View *view, EV_WindowedRowList *rows, EV_Block *block, EV_Key key, E_Expr *expr);
internal EV_WindowedRowList ev_windowed_row_list_from_block_list(Arena *arena, EV_View *view, Rng1S64 visible_range, EV_BlockList *blocks);
internal String8 ev_expr_string_from_row(Arena *arena, EV_Row *row);
internal String8 ev_expr_string_from_row(Arena *arena, EV_Row *row, EV_StringFlags );
internal B32 ev_row_is_expandable(EV_Row *row);
internal B32 ev_row_is_editable(EV_Row *row);