introduce debug engine entity kinds for windows/panels/tabs, to begin process of formally moving all view parameterizations to watch entities; eliminate redundant passthrough of window/panel parameters

This commit is contained in:
Ryan Fleury
2024-08-29 10:49:35 -07:00
parent e9304b5eff
commit 4944652331
11 changed files with 634 additions and 909 deletions
+5
View File
@@ -59,6 +59,11 @@ D_EntityKindTable:
{WorkingDirectory working_directory working_directories 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 "Execution Path" Null "Working Directory" }
{EntryPoint entry_point entry_points 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 "Symbol Name" Null "Entry Point" }
//- rjf: view containers (windows, panels, views)
{Window window windows 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 "Label" Window "Window" }
{Panel panel panels 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 "Label" XSplit "Panel" }
{View view views 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 "Label" Null "View" }
//- rjf: recent projects
{RecentProject recent_project recent_projects 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 "Path" Briefcase "Recent Project" }
+7 -7
View File
@@ -333,7 +333,6 @@ struct D_Entity
B32 disabled;
U64 u64;
Vec4F32 color_hsva;
F32 life_left;
D_CfgSrc cfg_src;
U64 timestamp;
@@ -1539,6 +1538,7 @@ internal D_InteractRegs *d_interact_regs(void);
internal D_InteractRegs *d_base_interact_regs(void);
internal D_InteractRegs *d_push_interact_regs(void);
internal D_InteractRegs *d_pop_interact_regs(void);
#define D_InteractRegsScope DeferLoop(d_push_interact_regs(), d_pop_interact_regs())
//- rjf: undo/redo history
internal D_StateDeltaHistory *d_state_delta_history(void);
@@ -1585,13 +1585,13 @@ internal E_String2NumMap *d_query_cached_member_map_from_dbgi_key_voff(DI_Key *d
internal void d_push_cmd(D_CmdSpec *spec, D_CmdParams *params);
internal void d_error(String8 string);
internal void d_errorf(char *fmt, ...);
#define d_cmd(kind, ...) d_push_cmd(d_cmd_spec_from_kind(kind),\
&(D_CmdParams)\
{\
#define d_cmd(kind, ...) d_push_cmd(d_cmd_spec_from_kind(kind), \
&(D_CmdParams) \
{ \
.window = d_interact_regs()->window, \
.panel = d_interact_regs()->panel, \
.view = d_interact_regs()->view, \
__VA_ARGS__\
.panel = d_interact_regs()->panel, \
.view = d_interact_regs()->view, \
__VA_ARGS__ \
})
////////////////////////////////
+20 -5
View File
@@ -32,7 +32,7 @@ Rng1U64 d_cmd_param_slot_range_table[24] =
{OffsetOf(D_CmdParams, inline_depth), OffsetOf(D_CmdParams, inline_depth) + sizeof(U64)},
};
String8 d_entity_kind_display_string_table[28] =
String8 d_entity_kind_display_string_table[31] =
{
str8_lit_comp("Nil"),
str8_lit_comp("Root"),
@@ -51,6 +51,9 @@ str8_lit_comp("Executable"),
str8_lit_comp("Arguments"),
str8_lit_comp("Working Directory"),
str8_lit_comp("Entry Point"),
str8_lit_comp("Window"),
str8_lit_comp("Panel"),
str8_lit_comp("View"),
str8_lit_comp("Recent Project"),
str8_lit_comp("Source"),
str8_lit_comp("Destination"),
@@ -64,7 +67,7 @@ str8_lit_comp("Conversion Failure"),
str8_lit_comp("EndedProcess"),
};
String8 d_entity_kind_name_lower_table[28] =
String8 d_entity_kind_name_lower_table[31] =
{
str8_lit_comp("nil"),
str8_lit_comp("root"),
@@ -83,6 +86,9 @@ str8_lit_comp("executable"),
str8_lit_comp("arguments"),
str8_lit_comp("working_directory"),
str8_lit_comp("entry_point"),
str8_lit_comp("window"),
str8_lit_comp("panel"),
str8_lit_comp("view"),
str8_lit_comp("recent_project"),
str8_lit_comp("source"),
str8_lit_comp("dest"),
@@ -96,7 +102,7 @@ str8_lit_comp("conversion_fail"),
str8_lit_comp("ended_process"),
};
String8 d_entity_kind_name_lower_plural_table[28] =
String8 d_entity_kind_name_lower_plural_table[31] =
{
str8_lit_comp("nils"),
str8_lit_comp("roots"),
@@ -115,6 +121,9 @@ str8_lit_comp("executables"),
str8_lit_comp("argumentses"),
str8_lit_comp("working_directories"),
str8_lit_comp("entry_points"),
str8_lit_comp("windows"),
str8_lit_comp("panels"),
str8_lit_comp("views"),
str8_lit_comp("recent_projects"),
str8_lit_comp("sources"),
str8_lit_comp("dests"),
@@ -128,7 +137,7 @@ str8_lit_comp("conversion_fails"),
str8_lit_comp("ended_processes"),
};
String8 d_entity_kind_name_label_table[28] =
String8 d_entity_kind_name_label_table[31] =
{
str8_lit_comp("Label"),
str8_lit_comp("Label"),
@@ -147,6 +156,9 @@ str8_lit_comp("Executable"),
str8_lit_comp("Arguments"),
str8_lit_comp("Execution Path"),
str8_lit_comp("Symbol Name"),
str8_lit_comp("Label"),
str8_lit_comp("Label"),
str8_lit_comp("Label"),
str8_lit_comp("Path"),
str8_lit_comp("Path"),
str8_lit_comp("Path"),
@@ -160,7 +172,7 @@ str8_lit_comp("Label"),
str8_lit_comp("Label"),
};
D_EntityKindFlags d_entity_kind_flags_table[28] =
D_EntityKindFlags d_entity_kind_flags_table[31] =
{
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_LeafMutUserConfig | 0*D_EntityKindFlag_LeafMutProjectConfig | 0*D_EntityKindFlag_LeafMutSoftHalt | 0*D_EntityKindFlag_LeafMutDebugInfoMap | 0*D_EntityKindFlag_TreeMutUserConfig | 0*D_EntityKindFlag_TreeMutProjectConfig | 0*D_EntityKindFlag_TreeMutSoftHalt | 0*D_EntityKindFlag_TreeMutDebugInfoMap | 0*D_EntityKindFlag_NameIsCode | 0*D_EntityKindFlag_NameIsPath | 0*D_EntityKindFlag_UserDefinedLifetime) | 0*D_EntityKindFlag_IsSerializedToConfig,
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_LeafMutUserConfig | 0*D_EntityKindFlag_LeafMutProjectConfig | 0*D_EntityKindFlag_LeafMutSoftHalt | 0*D_EntityKindFlag_LeafMutDebugInfoMap | 0*D_EntityKindFlag_TreeMutUserConfig | 0*D_EntityKindFlag_TreeMutProjectConfig | 0*D_EntityKindFlag_TreeMutSoftHalt | 0*D_EntityKindFlag_TreeMutDebugInfoMap | 0*D_EntityKindFlag_NameIsCode | 0*D_EntityKindFlag_NameIsPath | 0*D_EntityKindFlag_UserDefinedLifetime) | 0*D_EntityKindFlag_IsSerializedToConfig,
@@ -179,6 +191,9 @@ D_EntityKindFlags d_entity_kind_flags_table[28] =
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_LeafMutUserConfig | 1*D_EntityKindFlag_LeafMutProjectConfig | 0*D_EntityKindFlag_LeafMutSoftHalt | 0*D_EntityKindFlag_LeafMutDebugInfoMap | 0*D_EntityKindFlag_TreeMutUserConfig | 0*D_EntityKindFlag_TreeMutProjectConfig | 0*D_EntityKindFlag_TreeMutSoftHalt | 0*D_EntityKindFlag_TreeMutDebugInfoMap | 0*D_EntityKindFlag_NameIsCode | 0*D_EntityKindFlag_NameIsPath | 1*D_EntityKindFlag_UserDefinedLifetime) | 0*D_EntityKindFlag_IsSerializedToConfig,
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_LeafMutUserConfig | 1*D_EntityKindFlag_LeafMutProjectConfig | 0*D_EntityKindFlag_LeafMutSoftHalt | 0*D_EntityKindFlag_LeafMutDebugInfoMap | 0*D_EntityKindFlag_TreeMutUserConfig | 0*D_EntityKindFlag_TreeMutProjectConfig | 0*D_EntityKindFlag_TreeMutSoftHalt | 0*D_EntityKindFlag_TreeMutDebugInfoMap | 0*D_EntityKindFlag_NameIsCode | 1*D_EntityKindFlag_NameIsPath | 1*D_EntityKindFlag_UserDefinedLifetime) | 0*D_EntityKindFlag_IsSerializedToConfig,
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_LeafMutUserConfig | 1*D_EntityKindFlag_LeafMutProjectConfig | 1*D_EntityKindFlag_LeafMutSoftHalt | 0*D_EntityKindFlag_LeafMutDebugInfoMap | 0*D_EntityKindFlag_TreeMutUserConfig | 0*D_EntityKindFlag_TreeMutProjectConfig | 0*D_EntityKindFlag_TreeMutSoftHalt | 0*D_EntityKindFlag_TreeMutDebugInfoMap | 0*D_EntityKindFlag_NameIsCode | 0*D_EntityKindFlag_NameIsPath | 1*D_EntityKindFlag_UserDefinedLifetime) | 0*D_EntityKindFlag_IsSerializedToConfig,
(1*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (1*D_EntityKindFlag_CanDuplicate) | (1*D_EntityKindFlag_LeafMutUserConfig | 1*D_EntityKindFlag_LeafMutProjectConfig | 0*D_EntityKindFlag_LeafMutSoftHalt | 0*D_EntityKindFlag_LeafMutDebugInfoMap | 1*D_EntityKindFlag_TreeMutUserConfig | 1*D_EntityKindFlag_TreeMutProjectConfig | 0*D_EntityKindFlag_TreeMutSoftHalt | 0*D_EntityKindFlag_TreeMutDebugInfoMap | 0*D_EntityKindFlag_NameIsCode | 0*D_EntityKindFlag_NameIsPath | 1*D_EntityKindFlag_UserDefinedLifetime) | 1*D_EntityKindFlag_IsSerializedToConfig,
(1*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (1*D_EntityKindFlag_CanDuplicate) | (1*D_EntityKindFlag_LeafMutUserConfig | 1*D_EntityKindFlag_LeafMutProjectConfig | 0*D_EntityKindFlag_LeafMutSoftHalt | 0*D_EntityKindFlag_LeafMutDebugInfoMap | 1*D_EntityKindFlag_TreeMutUserConfig | 1*D_EntityKindFlag_TreeMutProjectConfig | 0*D_EntityKindFlag_TreeMutSoftHalt | 0*D_EntityKindFlag_TreeMutDebugInfoMap | 0*D_EntityKindFlag_NameIsCode | 0*D_EntityKindFlag_NameIsPath | 1*D_EntityKindFlag_UserDefinedLifetime) | 1*D_EntityKindFlag_IsSerializedToConfig,
(1*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (1*D_EntityKindFlag_CanDuplicate) | (1*D_EntityKindFlag_LeafMutUserConfig | 1*D_EntityKindFlag_LeafMutProjectConfig | 0*D_EntityKindFlag_LeafMutSoftHalt | 0*D_EntityKindFlag_LeafMutDebugInfoMap | 1*D_EntityKindFlag_TreeMutUserConfig | 1*D_EntityKindFlag_TreeMutProjectConfig | 0*D_EntityKindFlag_TreeMutSoftHalt | 0*D_EntityKindFlag_TreeMutDebugInfoMap | 0*D_EntityKindFlag_NameIsCode | 0*D_EntityKindFlag_NameIsPath | 1*D_EntityKindFlag_UserDefinedLifetime) | 1*D_EntityKindFlag_IsSerializedToConfig,
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (1*D_EntityKindFlag_LeafMutUserConfig | 0*D_EntityKindFlag_LeafMutProjectConfig | 0*D_EntityKindFlag_LeafMutSoftHalt | 0*D_EntityKindFlag_LeafMutDebugInfoMap | 1*D_EntityKindFlag_TreeMutUserConfig | 0*D_EntityKindFlag_TreeMutProjectConfig | 0*D_EntityKindFlag_TreeMutSoftHalt | 0*D_EntityKindFlag_TreeMutDebugInfoMap | 0*D_EntityKindFlag_NameIsCode | 1*D_EntityKindFlag_NameIsPath | 0*D_EntityKindFlag_UserDefinedLifetime) | 1*D_EntityKindFlag_IsSerializedToConfig,
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_LeafMutUserConfig | 0*D_EntityKindFlag_LeafMutProjectConfig | 0*D_EntityKindFlag_LeafMutSoftHalt | 0*D_EntityKindFlag_LeafMutDebugInfoMap | 0*D_EntityKindFlag_TreeMutUserConfig | 0*D_EntityKindFlag_TreeMutProjectConfig | 0*D_EntityKindFlag_TreeMutSoftHalt | 0*D_EntityKindFlag_TreeMutDebugInfoMap | 0*D_EntityKindFlag_NameIsCode | 0*D_EntityKindFlag_NameIsPath | 0*D_EntityKindFlag_UserDefinedLifetime) | 0*D_EntityKindFlag_IsSerializedToConfig,
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_LeafMutUserConfig | 0*D_EntityKindFlag_LeafMutProjectConfig | 0*D_EntityKindFlag_LeafMutSoftHalt | 0*D_EntityKindFlag_LeafMutDebugInfoMap | 0*D_EntityKindFlag_TreeMutUserConfig | 0*D_EntityKindFlag_TreeMutProjectConfig | 0*D_EntityKindFlag_TreeMutSoftHalt | 0*D_EntityKindFlag_TreeMutDebugInfoMap | 0*D_EntityKindFlag_NameIsCode | 0*D_EntityKindFlag_NameIsPath | 0*D_EntityKindFlag_UserDefinedLifetime) | 0*D_EntityKindFlag_IsSerializedToConfig,
+8 -5
View File
@@ -34,6 +34,9 @@ D_EntityKind_Executable,
D_EntityKind_Arguments,
D_EntityKind_WorkingDirectory,
D_EntityKind_EntryPoint,
D_EntityKind_Window,
D_EntityKind_Panel,
D_EntityKind_View,
D_EntityKind_RecentProject,
D_EntityKind_Source,
D_EntityKind_Dest,
@@ -397,11 +400,11 @@ struct {B32 *value_ptr; String8 name;} DEV_toggle_table[] =
};
C_LINKAGE_BEGIN
extern Rng1U64 d_cmd_param_slot_range_table[24];
extern String8 d_entity_kind_display_string_table[28];
extern String8 d_entity_kind_name_lower_table[28];
extern String8 d_entity_kind_name_lower_plural_table[28];
extern String8 d_entity_kind_name_label_table[28];
extern D_EntityKindFlags d_entity_kind_flags_table[28];
extern String8 d_entity_kind_display_string_table[31];
extern String8 d_entity_kind_name_lower_table[31];
extern String8 d_entity_kind_name_lower_plural_table[31];
extern String8 d_entity_kind_name_label_table[31];
extern D_EntityKindFlags d_entity_kind_flags_table[31];
extern String8 d_cfg_src_string_table[4];
extern D_CmdKind d_cfg_src_load_cmd_kind_table[4];
extern D_CmdKind d_cfg_src_write_cmd_kind_table[4];