diff --git a/src/raddbg/raddbg_core.c b/src/raddbg/raddbg_core.c index 94adf190..03b6cafa 100644 --- a/src/raddbg/raddbg_core.c +++ b/src/raddbg/raddbg_core.c @@ -13676,7 +13676,7 @@ rd_frame(void) String8 collection_name = str8_lit("watches"); E_Expr *expr = e_push_expr(scratch.arena, E_ExprKind_LeafOffset, 0); expr->type_key = e_type_key_cons(.kind = E_TypeKind_Set, .name = collection_name, .flags = E_TypeFlag_EditableChildren); - expr->space = e_space_make(RD_EvalSpaceKind_MetaCfg); + expr->space = e_space_make(RD_EvalSpaceKind_MetaQuery); e_string2expr_map_insert(scratch.arena, ctx->macro_map, collection_name, expr); e_lookup_rule_map_insert_new(scratch.arena, ctx->lookup_rule_map, collection_name, .info = E_LOOKUP_INFO_FUNCTION_NAME(watches), @@ -13754,7 +13754,7 @@ rd_frame(void) E_TypeKey collection_type_key = e_type_key_cons(.kind = E_TypeKind_Set, .name = collection_name); E_Expr *expr = e_push_expr(scratch.arena, E_ExprKind_LeafOffset, 0); expr->type_key = collection_type_key; - expr->space = e_space_make(RD_EvalSpaceKind_MetaCfg); + expr->space = e_space_make(RD_EvalSpaceKind_MetaQuery); e_string2expr_map_insert(scratch.arena, ctx->macro_map, collection_name, expr); e_lookup_rule_map_insert_new(scratch.arena, ctx->lookup_rule_map, collection_name, .info = E_LOOKUP_INFO_FUNCTION_NAME(cfg), @@ -13772,7 +13772,7 @@ rd_frame(void) E_TypeKey collection_type_key = e_type_key_cons(.kind = E_TypeKind_Set, .name = collection_name); E_Expr *expr = e_push_expr(scratch.arena, E_ExprKind_LeafOffset, 0); expr->type_key = collection_type_key; - expr->space = e_space_make(RD_EvalSpaceKind_MetaCtrlEntity); + expr->space = e_space_make(RD_EvalSpaceKind_MetaQuery); e_string2expr_map_insert(scratch.arena, ctx->macro_map, collection_name, expr); e_lookup_rule_map_insert_new(scratch.arena, ctx->lookup_rule_map, collection_name, .info = E_LOOKUP_INFO_FUNCTION_NAME(ctrl_entities), @@ -13799,7 +13799,7 @@ rd_frame(void) E_TypeKey type_key = e_type_key_cons(.kind = E_TypeKind_Set, .name = name); E_Expr *expr = e_push_expr(scratch.arena, E_ExprKind_LeafOffset, 0); expr->type_key = type_key; - expr->space = e_space_make(RD_EvalSpaceKind_MetaCmd); + expr->space = e_space_make(RD_EvalSpaceKind_MetaQuery); e_string2expr_map_insert(scratch.arena, ctx->macro_map, name, expr); e_lookup_rule_map_insert_new(scratch.arena, ctx->lookup_rule_map, name, .info = E_LOOKUP_INFO_FUNCTION_NAME(commands), diff --git a/src/raddbg/raddbg_core.h b/src/raddbg/raddbg_core.h index ee277276..0d25ce8c 100644 --- a/src/raddbg/raddbg_core.h +++ b/src/raddbg/raddbg_core.h @@ -82,6 +82,7 @@ typedef U64 RD_EvalSpaceKind; enum { RD_EvalSpaceKind_CtrlEntity = E_SpaceKind_FirstUserDefined, + RD_EvalSpaceKind_MetaQuery, RD_EvalSpaceKind_MetaCfg, RD_EvalSpaceKind_MetaCmd, RD_EvalSpaceKind_MetaCtrlEntity, @@ -437,21 +438,6 @@ typedef enum RD_FontSlot } RD_FontSlot; -typedef enum RD_PaletteCode -{ - RD_PaletteCode_Base, - RD_PaletteCode_MenuBar, - RD_PaletteCode_Good, - RD_PaletteCode_Bad, - RD_PaletteCode_Pop, - RD_PaletteCode_ScrollBar, - RD_PaletteCode_Tab, - RD_PaletteCode_TabInactive, - RD_PaletteCode_DropSite, - RD_PaletteCode_COUNT -} -RD_PaletteCode; - //////////////////////////////// //~ rjf: Lister Types @@ -579,14 +565,6 @@ struct RD_WindowState String8 query_cmd_name; RD_Regs *query_regs; - // rjf: query view stack -#if 0 - Arena *query_cmd_arena; - String8 query_cmd_name; - RD_Regs *query_cmd_regs; - U64 query_cmd_regs_mask[(RD_RegSlot_COUNT + 63) / 64]; -#endif - // rjf: hover eval state B32 hover_eval_focused; Arena *hover_eval_arena; diff --git a/src/raddbg/raddbg_views.c b/src/raddbg/raddbg_views.c index 9fd3b210..a54b9342 100644 --- a/src/raddbg/raddbg_views.c +++ b/src/raddbg/raddbg_views.c @@ -993,15 +993,22 @@ rd_watch_row_info_from_row(Arena *arena, EV_Row *row) } // rjf: determine ctrl entity - if(block_type_kind == E_TypeKind_Set && block_eval.space.kind == RD_EvalSpaceKind_MetaCtrlEntity) + if(block_type_kind == E_TypeKind_Set && (block_eval.space.kind == RD_EvalSpaceKind_MetaQuery || + block_eval.space.kind == RD_EvalSpaceKind_MetaCtrlEntity)) { info.group_entity = rd_ctrl_entity_from_eval_space(info.eval.space); } // rjf: determine cfg group name / parent - if(block_type_kind == E_TypeKind_Set && block_eval.space.kind == RD_EvalSpaceKind_MetaCfg) + if(block_type_kind == E_TypeKind_Set && (block_eval.space.kind == RD_EvalSpaceKind_MetaQuery || + block_eval.space.kind == RD_EvalSpaceKind_MetaCfg)) { info.group_cfg_parent = rd_cfg_from_eval_space(block_eval.space); + } + + // rjf: determine group cfg name + if(block_type_kind == E_TypeKind_Set) + { String8 singular_name = rd_singular_from_code_name_plural(block_type->name); if(singular_name.size != 0) { @@ -1134,6 +1141,12 @@ rd_watch_row_info_from_row(Arena *arena, EV_Row *row) } } + // rjf: singular row for queries + else if(info.eval.space.kind == RD_EvalSpaceKind_MetaQuery) + { + rd_watch_cell_list_push_new(arena, &info.cells, RD_WatchCellKind_Expr, .pct = 1.f); + } + // rjf: singular button for unattached processes else if(info.eval.space.kind == RD_EvalSpaceKind_MetaUnattachedProcess) {