set up auto view rule entities, serialization, & editor ui, for automatically mapping specific types to specific view rules

This commit is contained in:
Ryan Fleury
2024-04-01 14:30:48 -07:00
parent 835eae208a
commit 63123d69d1
9 changed files with 431 additions and 14 deletions
+2 -1
View File
@@ -731,7 +731,7 @@ DF_GfxViewRuleSpecInfo df_g_gfx_view_rule_spec_info_table[14] =
{ str8_lit_comp("geo"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*0)|(DF_GfxViewRuleSpecInfoFlag_LineStringize*0)|(DF_GfxViewRuleSpecInfoFlag_RowUI*1)|(DF_GfxViewRuleSpecInfoFlag_BlockUI*1), 0, 0, DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME(geo) , DF_GFX_VIEW_RULE_BLOCK_UI_FUNCTION_NAME(geo) , 0 },
};
DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[30] =
DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[31] =
{
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanSerializeEntityPath|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("null"), str8_lit_comp(""), DF_NameKind_Null, DF_IconKind_Null, DF_VIEW_SETUP_FUNCTION_NAME(Null), DF_VIEW_STRING_FROM_STATE_FUNCTION_NAME(Null), DF_VIEW_CMD_FUNCTION_NAME(Null), DF_VIEW_UI_FUNCTION_NAME(Null)},
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanSerializeEntityPath|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("empty"), str8_lit_comp(""), DF_NameKind_Null, DF_IconKind_Null, DF_VIEW_SETUP_FUNCTION_NAME(Empty), DF_VIEW_STRING_FROM_STATE_FUNCTION_NAME(Empty), DF_VIEW_CMD_FUNCTION_NAME(Empty), DF_VIEW_UI_FUNCTION_NAME(Empty)},
@@ -743,6 +743,7 @@ DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[30] =
{(0|1*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanSerializeEntityPath|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("target"), str8_lit_comp("Target"), DF_NameKind_EntityName, DF_IconKind_Target, DF_VIEW_SETUP_FUNCTION_NAME(Target), DF_VIEW_STRING_FROM_STATE_FUNCTION_NAME(Target), DF_VIEW_CMD_FUNCTION_NAME(Target), DF_VIEW_UI_FUNCTION_NAME(Target)},
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|1*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanSerializeEntityPath|1*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|1*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("targets"), str8_lit_comp("Targets"), DF_NameKind_Null, DF_IconKind_Target, DF_VIEW_SETUP_FUNCTION_NAME(Targets), DF_VIEW_STRING_FROM_STATE_FUNCTION_NAME(Targets), DF_VIEW_CMD_FUNCTION_NAME(Targets), DF_VIEW_UI_FUNCTION_NAME(Targets)},
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|1*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanSerializeEntityPath|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("file_path_map"), str8_lit_comp("File Path Map"), DF_NameKind_Null, DF_IconKind_FileOutline, DF_VIEW_SETUP_FUNCTION_NAME(FilePathMap), DF_VIEW_STRING_FROM_STATE_FUNCTION_NAME(FilePathMap), DF_VIEW_CMD_FUNCTION_NAME(FilePathMap), DF_VIEW_UI_FUNCTION_NAME(FilePathMap)},
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|1*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanSerializeEntityPath|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("auto_view_rules"), str8_lit_comp("Auto View Rules"), DF_NameKind_Null, DF_IconKind_Binoculars, DF_VIEW_SETUP_FUNCTION_NAME(AutoViewRules), DF_VIEW_STRING_FROM_STATE_FUNCTION_NAME(AutoViewRules), DF_VIEW_CMD_FUNCTION_NAME(AutoViewRules), DF_VIEW_UI_FUNCTION_NAME(AutoViewRules)},
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|1*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanSerializeEntityPath|1*DF_ViewSpecFlag_CanFilter|1*DF_ViewSpecFlag_FilterIsCode|1*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("scheduler"), str8_lit_comp("Scheduler"), DF_NameKind_Null, DF_IconKind_Scheduler, DF_VIEW_SETUP_FUNCTION_NAME(Scheduler), DF_VIEW_STRING_FROM_STATE_FUNCTION_NAME(Scheduler), DF_VIEW_CMD_FUNCTION_NAME(Scheduler), DF_VIEW_UI_FUNCTION_NAME(Scheduler)},
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|1*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanSerializeEntityPath|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("call_stack"), str8_lit_comp("Call Stack"), DF_NameKind_Null, DF_IconKind_Thread, DF_VIEW_SETUP_FUNCTION_NAME(CallStack), DF_VIEW_STRING_FROM_STATE_FUNCTION_NAME(CallStack), DF_VIEW_CMD_FUNCTION_NAME(CallStack), DF_VIEW_UI_FUNCTION_NAME(CallStack)},
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|1*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanSerializeEntityPath|1*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|1*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("modules"), str8_lit_comp("Modules"), DF_NameKind_Null, DF_IconKind_Module, DF_VIEW_SETUP_FUNCTION_NAME(Modules), DF_VIEW_STRING_FROM_STATE_FUNCTION_NAME(Modules), DF_VIEW_CMD_FUNCTION_NAME(Modules), DF_VIEW_UI_FUNCTION_NAME(Modules)},
+6 -1
View File
@@ -26,6 +26,7 @@ DF_GfxViewKind_SymbolLister,
DF_GfxViewKind_Target,
DF_GfxViewKind_Targets,
DF_GfxViewKind_FilePathMap,
DF_GfxViewKind_AutoViewRules,
DF_GfxViewKind_Scheduler,
DF_GfxViewKind_CallStack,
DF_GfxViewKind_Modules,
@@ -132,6 +133,7 @@ DF_VIEW_SETUP_FUNCTION_DEF(SymbolLister);
DF_VIEW_SETUP_FUNCTION_DEF(Target);
DF_VIEW_SETUP_FUNCTION_DEF(Targets);
DF_VIEW_SETUP_FUNCTION_DEF(FilePathMap);
DF_VIEW_SETUP_FUNCTION_DEF(AutoViewRules);
DF_VIEW_SETUP_FUNCTION_DEF(Scheduler);
DF_VIEW_SETUP_FUNCTION_DEF(CallStack);
DF_VIEW_SETUP_FUNCTION_DEF(Modules);
@@ -162,6 +164,7 @@ DF_VIEW_STRING_FROM_STATE_FUNCTION_DEF(SymbolLister);
DF_VIEW_STRING_FROM_STATE_FUNCTION_DEF(Target);
DF_VIEW_STRING_FROM_STATE_FUNCTION_DEF(Targets);
DF_VIEW_STRING_FROM_STATE_FUNCTION_DEF(FilePathMap);
DF_VIEW_STRING_FROM_STATE_FUNCTION_DEF(AutoViewRules);
DF_VIEW_STRING_FROM_STATE_FUNCTION_DEF(Scheduler);
DF_VIEW_STRING_FROM_STATE_FUNCTION_DEF(CallStack);
DF_VIEW_STRING_FROM_STATE_FUNCTION_DEF(Modules);
@@ -192,6 +195,7 @@ DF_VIEW_CMD_FUNCTION_DEF(SymbolLister);
DF_VIEW_CMD_FUNCTION_DEF(Target);
DF_VIEW_CMD_FUNCTION_DEF(Targets);
DF_VIEW_CMD_FUNCTION_DEF(FilePathMap);
DF_VIEW_CMD_FUNCTION_DEF(AutoViewRules);
DF_VIEW_CMD_FUNCTION_DEF(Scheduler);
DF_VIEW_CMD_FUNCTION_DEF(CallStack);
DF_VIEW_CMD_FUNCTION_DEF(Modules);
@@ -222,6 +226,7 @@ DF_VIEW_UI_FUNCTION_DEF(SymbolLister);
DF_VIEW_UI_FUNCTION_DEF(Target);
DF_VIEW_UI_FUNCTION_DEF(Targets);
DF_VIEW_UI_FUNCTION_DEF(FilePathMap);
DF_VIEW_UI_FUNCTION_DEF(AutoViewRules);
DF_VIEW_UI_FUNCTION_DEF(Scheduler);
DF_VIEW_UI_FUNCTION_DEF(CallStack);
DF_VIEW_UI_FUNCTION_DEF(Modules);
@@ -281,7 +286,7 @@ extern String8 df_g_cmd_param_slot_2_view_spec_cmd_map[7];
extern DF_StringBindingPair df_g_default_binding_table[97];
extern String8 df_g_binding_version_remap_old_name_table[3];
extern String8 df_g_binding_version_remap_new_name_table[3];
extern DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[30];
extern DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[31];
extern String8 df_g_theme_color_display_string_table[54];
extern String8 df_g_theme_color_cfg_string_table[54];
read_only global U8 df_g_icon_font_bytes__data[] =