part 2: furthered progress on cfg switch

This commit is contained in:
Ryan Fleury
2025-01-10 12:56:53 -08:00
parent 6ce8046029
commit d9ca51b36f
9 changed files with 760 additions and 644 deletions
+1 -1
View File
@@ -46,7 +46,7 @@ load_paths =
commands = commands =
{ {
//- rjf: fkey command slots (change locally but do not commit) //- rjf: fkey command slots (change locally but do not commit)
.f1 = { .win = "build raddbg telemetry", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, .f1 = { .win = "build raddbg telemetry clang", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, },
.f2 = { .win = "build rdi_from_pdb", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, .f2 = { .win = "build rdi_from_pdb", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, },
.f3 = { .win = "pushd build && raddbg.exe --user:local_dev.raddbg_user --project:local_dev.raddbg_project --xuto_run && popd",.linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, .f3 = { .win = "pushd build && raddbg.exe --user:local_dev.raddbg_user --project:local_dev.raddbg_project --xuto_run && popd",.linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, },
// .f1 = { .win = "build textperf release telemetry", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, // .f1 = { .win = "build textperf release telemetry", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, },
+1
View File
@@ -626,6 +626,7 @@ e_type_from_key(Arena *arena, E_TypeKey key)
type->byte_size = node->byte_size; type->byte_size = node->byte_size;
switch(type->kind) switch(type->kind)
{ {
default:{}break;
case E_TypeKind_Struct: case E_TypeKind_Struct:
case E_TypeKind_Union: case E_TypeKind_Union:
case E_TypeKind_Class: case E_TypeKind_Class:
+5 -5
View File
@@ -191,7 +191,7 @@ RD_EntityKindFlags rd_entity_kind_flags_table[27] =
(0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (1*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (0*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig), (0*RD_EntityKindFlag_CanDelete) | (0*RD_EntityKindFlag_CanFreeze) | (0*RD_EntityKindFlag_CanEdit) | (1*RD_EntityKindFlag_CanRename) | (0*RD_EntityKindFlag_CanEnable) | (0*RD_EntityKindFlag_CanCondition) | (0*RD_EntityKindFlag_CanDuplicate) | (0*RD_EntityKindFlag_NameIsCode) | (0*RD_EntityKindFlag_NameIsPath) | (0*RD_EntityKindFlag_UserDefinedLifetime) | (0*RD_EntityKindFlag_IsSerializedToConfig),
}; };
Rng1U64 rd_reg_slot_range_table[35] = Rng1U64 rd_reg_slot_range_table[34] =
{ {
{0}, {0},
{OffsetOf(RD_Regs, machine), OffsetOf(RD_Regs, machine) + sizeof(CTRL_Handle)}, {OffsetOf(RD_Regs, machine), OffsetOf(RD_Regs, machine) + sizeof(CTRL_Handle)},
@@ -201,12 +201,11 @@ Rng1U64 rd_reg_slot_range_table[35] =
{OffsetOf(RD_Regs, ctrl_entity), OffsetOf(RD_Regs, ctrl_entity) + sizeof(CTRL_Handle)}, {OffsetOf(RD_Regs, ctrl_entity), OffsetOf(RD_Regs, ctrl_entity) + sizeof(CTRL_Handle)},
{OffsetOf(RD_Regs, window), OffsetOf(RD_Regs, window) + sizeof(RD_Handle)}, {OffsetOf(RD_Regs, window), OffsetOf(RD_Regs, window) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, panel), OffsetOf(RD_Regs, panel) + sizeof(RD_Handle)}, {OffsetOf(RD_Regs, panel), OffsetOf(RD_Regs, panel) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, tab), OffsetOf(RD_Regs, tab) + sizeof(RD_Handle)}, {OffsetOf(RD_Regs, view), OffsetOf(RD_Regs, view) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, prev_tab), OffsetOf(RD_Regs, prev_tab) + sizeof(RD_Handle)}, {OffsetOf(RD_Regs, prev_view), OffsetOf(RD_Regs, prev_view) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, dst_panel), OffsetOf(RD_Regs, dst_panel) + sizeof(RD_Handle)}, {OffsetOf(RD_Regs, dst_panel), OffsetOf(RD_Regs, dst_panel) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, entity), OffsetOf(RD_Regs, entity) + sizeof(RD_Handle)}, {OffsetOf(RD_Regs, entity), OffsetOf(RD_Regs, entity) + sizeof(RD_Handle)},
{OffsetOf(RD_Regs, entity_list), OffsetOf(RD_Regs, entity_list) + sizeof(RD_HandleList)}, {OffsetOf(RD_Regs, entity_list), OffsetOf(RD_Regs, entity_list) + sizeof(RD_HandleList)},
{OffsetOf(RD_Regs, ev_key), OffsetOf(RD_Regs, ev_key) + sizeof(EV_Key)},
{OffsetOf(RD_Regs, unwind_count), OffsetOf(RD_Regs, unwind_count) + sizeof(U64)}, {OffsetOf(RD_Regs, unwind_count), OffsetOf(RD_Regs, unwind_count) + sizeof(U64)},
{OffsetOf(RD_Regs, inline_depth), OffsetOf(RD_Regs, inline_depth) + sizeof(U64)}, {OffsetOf(RD_Regs, inline_depth), OffsetOf(RD_Regs, inline_depth) + sizeof(U64)},
{OffsetOf(RD_Regs, file_path), OffsetOf(RD_Regs, file_path) + sizeof(String8)}, {OffsetOf(RD_Regs, file_path), OffsetOf(RD_Regs, file_path) + sizeof(String8)},
@@ -230,7 +229,7 @@ Rng1U64 rd_reg_slot_range_table[35] =
{OffsetOf(RD_Regs, os_event), OffsetOf(RD_Regs, os_event) + sizeof(OS_Event *)}, {OffsetOf(RD_Regs, os_event), OffsetOf(RD_Regs, os_event) + sizeof(OS_Event *)},
}; };
RD_CmdKindInfo rd_cmd_kind_info_table[213] = RD_CmdKindInfo rd_cmd_kind_info_table[214] =
{ {
{0}, {0},
{ str8_lit_comp("launch_and_run"), str8_lit_comp("Starts debugging a new instance of a target, then runs."), str8_lit_comp("launch,start,run,target"), str8_lit_comp("Launch and Run"), RD_IconKind_Play, (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*1), RD_RegSlot_Entity, str8_lit_comp(""), RD_EntityKind_Target, CTRL_EntityKind_Null}}, { str8_lit_comp("launch_and_run"), str8_lit_comp("Starts debugging a new instance of a target, then runs."), str8_lit_comp("launch,start,run,target"), str8_lit_comp("Launch and Run"), RD_IconKind_Play, (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*1), RD_RegSlot_Entity, str8_lit_comp(""), RD_EntityKind_Target, CTRL_EntityKind_Null}},
@@ -303,6 +302,7 @@ RD_CmdKindInfo rd_cmd_kind_info_table[213] =
{ str8_lit_comp("go_back"), str8_lit_comp("Returns to the previously selected panel and tab in recorded history."), str8_lit_comp(""), str8_lit_comp("Go Back"), RD_IconKind_LeftArrow, (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), RD_EntityKind_Nil, CTRL_EntityKind_Null}}, { str8_lit_comp("go_back"), str8_lit_comp("Returns to the previously selected panel and tab in recorded history."), str8_lit_comp(""), str8_lit_comp("Go Back"), RD_IconKind_LeftArrow, (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), RD_EntityKind_Nil, CTRL_EntityKind_Null}},
{ str8_lit_comp("go_forward"), str8_lit_comp("Returns to the next selected panel and tab in recorded history."), str8_lit_comp(""), str8_lit_comp("Go Forward"), RD_IconKind_RightArrow, (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), RD_EntityKind_Nil, CTRL_EntityKind_Null}}, { str8_lit_comp("go_forward"), str8_lit_comp("Returns to the next selected panel and tab in recorded history."), str8_lit_comp(""), str8_lit_comp("Go Forward"), RD_IconKind_RightArrow, (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), RD_EntityKind_Nil, CTRL_EntityKind_Null}},
{ str8_lit_comp("close_panel"), str8_lit_comp("Closes the currently active panel."), str8_lit_comp(""), str8_lit_comp("Close Panel"), RD_IconKind_ClosePanel, (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), RD_EntityKind_Nil, CTRL_EntityKind_Null}}, { str8_lit_comp("close_panel"), str8_lit_comp("Closes the currently active panel."), str8_lit_comp(""), str8_lit_comp("Close Panel"), RD_IconKind_ClosePanel, (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), RD_EntityKind_Nil, CTRL_EntityKind_Null}},
{ str8_lit_comp("focus_tab"), str8_lit_comp("Focuses the passed tab within its containing panel."), str8_lit_comp(""), str8_lit_comp("Focus Tab"), RD_IconKind_Null, (RD_CmdKindFlag_ListInUI*0)|(RD_CmdKindFlag_ListInIPCDocs*0), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), RD_EntityKind_Nil, CTRL_EntityKind_Null}},
{ str8_lit_comp("next_tab"), str8_lit_comp("Focuses the next tab on the active panel."), str8_lit_comp(""), str8_lit_comp("Focus Next Tab"), RD_IconKind_RightArrow, (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), RD_EntityKind_Nil, CTRL_EntityKind_Null}}, { str8_lit_comp("next_tab"), str8_lit_comp("Focuses the next tab on the active panel."), str8_lit_comp(""), str8_lit_comp("Focus Next Tab"), RD_IconKind_RightArrow, (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), RD_EntityKind_Nil, CTRL_EntityKind_Null}},
{ str8_lit_comp("prev_tab"), str8_lit_comp("Focuses the previous tab on the active panel."), str8_lit_comp(""), str8_lit_comp("Focus Previous Tab"), RD_IconKind_LeftArrow, (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), RD_EntityKind_Nil, CTRL_EntityKind_Null}}, { str8_lit_comp("prev_tab"), str8_lit_comp("Focuses the previous tab on the active panel."), str8_lit_comp(""), str8_lit_comp("Focus Previous Tab"), RD_IconKind_LeftArrow, (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), RD_EntityKind_Nil, CTRL_EntityKind_Null}},
{ str8_lit_comp("move_tab_right"), str8_lit_comp("Moves the selected tab right one slot."), str8_lit_comp(""), str8_lit_comp("Move Tab Right"), RD_IconKind_RightArrow, (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), RD_EntityKind_Nil, CTRL_EntityKind_Null}}, { str8_lit_comp("move_tab_right"), str8_lit_comp("Moves the selected tab right one slot."), str8_lit_comp(""), str8_lit_comp("Move Tab Right"), RD_IconKind_RightArrow, (RD_CmdKindFlag_ListInUI*1)|(RD_CmdKindFlag_ListInIPCDocs*1), {(RD_QueryFlag_AllowFiles*0)|(RD_QueryFlag_AllowFolders*0)|(RD_QueryFlag_CodeInput*0)|(RD_QueryFlag_KeepOldInput*0)|(RD_QueryFlag_SelectOldInput*0)|(RD_QueryFlag_Required*0), RD_RegSlot_Null, str8_lit_comp(""), RD_EntityKind_Nil, CTRL_EntityKind_Null}},
+8 -10
View File
@@ -57,12 +57,11 @@ RD_RegSlot_Thread,
RD_RegSlot_CtrlEntity, RD_RegSlot_CtrlEntity,
RD_RegSlot_Window, RD_RegSlot_Window,
RD_RegSlot_Panel, RD_RegSlot_Panel,
RD_RegSlot_Tab, RD_RegSlot_View,
RD_RegSlot_PrevTab, RD_RegSlot_PrevView,
RD_RegSlot_DstPanel, RD_RegSlot_DstPanel,
RD_RegSlot_Entity, RD_RegSlot_Entity,
RD_RegSlot_EntityList, RD_RegSlot_EntityList,
RD_RegSlot_EVKey,
RD_RegSlot_UnwindCount, RD_RegSlot_UnwindCount,
RD_RegSlot_InlineDepth, RD_RegSlot_InlineDepth,
RD_RegSlot_FilePath, RD_RegSlot_FilePath,
@@ -160,6 +159,7 @@ RD_CmdKind_Redo,
RD_CmdKind_GoBack, RD_CmdKind_GoBack,
RD_CmdKind_GoForward, RD_CmdKind_GoForward,
RD_CmdKind_ClosePanel, RD_CmdKind_ClosePanel,
RD_CmdKind_FocusTab,
RD_CmdKind_NextTab, RD_CmdKind_NextTab,
RD_CmdKind_PrevTab, RD_CmdKind_PrevTab,
RD_CmdKind_MoveTabRight, RD_CmdKind_MoveTabRight,
@@ -548,12 +548,11 @@ CTRL_Handle thread;
CTRL_Handle ctrl_entity; CTRL_Handle ctrl_entity;
RD_Handle window; RD_Handle window;
RD_Handle panel; RD_Handle panel;
RD_Handle tab; RD_Handle view;
RD_Handle prev_tab; RD_Handle prev_view;
RD_Handle dst_panel; RD_Handle dst_panel;
RD_Handle entity; RD_Handle entity;
RD_HandleList entity_list; RD_HandleList entity_list;
EV_Key ev_key;
U64 unwind_count; U64 unwind_count;
U64 inline_depth; U64 inline_depth;
String8 file_path; String8 file_path;
@@ -620,12 +619,11 @@ RD_ViewRuleUIFunctionType *ui;
.ctrl_entity = rd_regs()->ctrl_entity,\ .ctrl_entity = rd_regs()->ctrl_entity,\
.window = rd_regs()->window,\ .window = rd_regs()->window,\
.panel = rd_regs()->panel,\ .panel = rd_regs()->panel,\
.tab = rd_regs()->tab,\ .view = rd_regs()->view,\
.prev_tab = rd_regs()->prev_tab,\ .prev_view = rd_regs()->prev_view,\
.dst_panel = rd_regs()->dst_panel,\ .dst_panel = rd_regs()->dst_panel,\
.entity = rd_regs()->entity,\ .entity = rd_regs()->entity,\
.entity_list = rd_regs()->entity_list,\ .entity_list = rd_regs()->entity_list,\
.ev_key = rd_regs()->ev_key,\
.unwind_count = rd_regs()->unwind_count,\ .unwind_count = rd_regs()->unwind_count,\
.inline_depth = rd_regs()->inline_depth,\ .inline_depth = rd_regs()->inline_depth,\
.file_path = rd_regs()->file_path,\ .file_path = rd_regs()->file_path,\
@@ -767,7 +765,7 @@ extern String8 d_entity_kind_name_lower_table[27];
extern String8 d_entity_kind_name_lower_plural_table[27]; extern String8 d_entity_kind_name_lower_plural_table[27];
extern String8 d_entity_kind_name_label_table[27]; extern String8 d_entity_kind_name_label_table[27];
extern RD_EntityKindFlags rd_entity_kind_flags_table[27]; extern RD_EntityKindFlags rd_entity_kind_flags_table[27];
extern Rng1U64 rd_reg_slot_range_table[35]; extern Rng1U64 rd_reg_slot_range_table[34];
extern RD_StringBindingPair rd_default_binding_table[110]; extern RD_StringBindingPair rd_default_binding_table[110];
extern String8 rd_binding_version_remap_old_name_table[8]; extern String8 rd_binding_version_remap_old_name_table[8];
extern String8 rd_binding_version_remap_new_name_table[8]; extern String8 rd_binding_version_remap_new_name_table[8];
+3 -3
View File
@@ -158,12 +158,11 @@ RD_RegTable:
{CTRL_Handle ctrl_entity CtrlEntity } {CTRL_Handle ctrl_entity CtrlEntity }
{RD_Handle window Window } {RD_Handle window Window }
{RD_Handle panel Panel } {RD_Handle panel Panel }
{RD_Handle tab Tab } {RD_Handle view View }
{RD_Handle prev_tab PrevTab } {RD_Handle prev_view PrevView }
{RD_Handle dst_panel DstPanel } {RD_Handle dst_panel DstPanel }
{RD_Handle entity Entity } {RD_Handle entity Entity }
{RD_HandleList entity_list EntityList } {RD_HandleList entity_list EntityList }
{EV_Key ev_key EVKey }
// rjf: frame selection // rjf: frame selection
{U64 unwind_count UnwindCount } {U64 unwind_count UnwindCount }
@@ -290,6 +289,7 @@ RD_CmdTable: // | | | |
{ClosePanel 1 1 Null null Nil Null 0 0 0 0 0 0 ClosePanel "close_panel" "Close Panel" "Closes the currently active panel." "" } {ClosePanel 1 1 Null null Nil Null 0 0 0 0 0 0 ClosePanel "close_panel" "Close Panel" "Closes the currently active panel." "" }
//- rjf: panel tab //- rjf: panel tab
{FocusTab 0 0 Null null Nil Null 0 0 0 0 0 0 Null "focus_tab" "Focus Tab" "Focuses the passed tab within its containing panel." "" }
{NextTab 1 1 Null null Nil Null 0 0 0 0 0 0 RightArrow "next_tab" "Focus Next Tab" "Focuses the next tab on the active panel." "" } {NextTab 1 1 Null null Nil Null 0 0 0 0 0 0 RightArrow "next_tab" "Focus Next Tab" "Focuses the next tab on the active panel." "" }
{PrevTab 1 1 Null null Nil Null 0 0 0 0 0 0 LeftArrow "prev_tab" "Focus Previous Tab" "Focuses the previous tab on the active panel." "" } {PrevTab 1 1 Null null Nil Null 0 0 0 0 0 0 LeftArrow "prev_tab" "Focus Previous Tab" "Focuses the previous tab on the active panel." "" }
{MoveTabRight 1 1 Null null Nil Null 0 0 0 0 0 0 RightArrow "move_tab_right" "Move Tab Right" "Moves the selected tab right one slot." "" } {MoveTabRight 1 1 Null null Nil Null 0 0 0 0 0 0 RightArrow "move_tab_right" "Move Tab Right" "Moves the selected tab right one slot." "" }
+719 -610
View File
File diff suppressed because it is too large Load Diff
+6 -9
View File
@@ -161,7 +161,7 @@ enum
RD_ViewRuleInfoFlag_ProjectFiltered = (1<<7), RD_ViewRuleInfoFlag_ProjectFiltered = (1<<7),
}; };
#define RD_VIEW_RULE_UI_FUNCTION_SIG(name) void name(String8 string, MD_Node *params, Rng2F32 rect) #define RD_VIEW_RULE_UI_FUNCTION_SIG(name) void name(String8 string, Rng2F32 rect)
#define RD_VIEW_RULE_UI_FUNCTION_NAME(name) rd_view_rule_ui_##name #define RD_VIEW_RULE_UI_FUNCTION_NAME(name) rd_view_rule_ui_##name
#define RD_VIEW_RULE_UI_FUNCTION_DEF(name) internal RD_VIEW_RULE_UI_FUNCTION_SIG(RD_VIEW_RULE_UI_FUNCTION_NAME(name)) #define RD_VIEW_RULE_UI_FUNCTION_DEF(name) internal RD_VIEW_RULE_UI_FUNCTION_SIG(RD_VIEW_RULE_UI_FUNCTION_NAME(name))
typedef RD_VIEW_RULE_UI_FUNCTION_SIG(RD_ViewRuleUIFunctionType); typedef RD_VIEW_RULE_UI_FUNCTION_SIG(RD_ViewRuleUIFunctionType);
@@ -183,7 +183,6 @@ struct RD_ViewState
RD_ViewState *hash_next; RD_ViewState *hash_next;
RD_ViewState *hash_prev; RD_ViewState *hash_prev;
RD_Handle cfg_handle; RD_Handle cfg_handle;
EV_Key ev_key;
// rjf: touch info // rjf: touch info
U64 last_frame_index_touched; U64 last_frame_index_touched;
@@ -202,10 +201,6 @@ struct RD_ViewState
RD_ArenaExt *last_arena_ext; RD_ArenaExt *last_arena_ext;
void *user_data; void *user_data;
// rjf: expression string
U8 expression_buffer[KB(1)];
U64 expression_string_size;
// rjf: filter editing controls // rjf: filter editing controls
B32 is_filtering; B32 is_filtering;
TxtPt filter_cursor; TxtPt filter_cursor;
@@ -646,9 +641,8 @@ struct RD_WindowState
String8 query_cmd_name; String8 query_cmd_name;
RD_Regs *query_cmd_regs; RD_Regs *query_cmd_regs;
U64 query_cmd_regs_mask[(RD_RegSlot_COUNT + 63) / 64]; U64 query_cmd_regs_mask[(RD_RegSlot_COUNT + 63) / 64];
RD_Cfg *query_view_stack_top;
B32 query_view_selected; B32 query_view_selected;
F32 query_view_selected_t;
F32 query_view_t;
// rjf: hover eval state // rjf: hover eval state
B32 hover_eval_focused; B32 hover_eval_focused;
@@ -850,6 +844,7 @@ struct RD_State
RD_WindowStateSlot *window_state_slots; RD_WindowStateSlot *window_state_slots;
RD_WindowState *free_window_state; RD_WindowState *free_window_state;
RD_Handle last_focused_window; RD_Handle last_focused_window;
// TODO(rjf): @cfg must be nil-initialized
RD_WindowState *first_window_state; RD_WindowState *first_window_state;
RD_WindowState *last_window_state; RD_WindowState *last_window_state;
@@ -1087,12 +1082,15 @@ internal void rd_cfg_equip_stringf(RD_Cfg *cfg, char *fmt, ...);
internal void rd_cfg_insert_child(RD_Cfg *parent, RD_Cfg *prev_child, RD_Cfg *new_child); internal void rd_cfg_insert_child(RD_Cfg *parent, RD_Cfg *prev_child, RD_Cfg *new_child);
internal void rd_cfg_unhook(RD_Cfg *parent, RD_Cfg *child); internal void rd_cfg_unhook(RD_Cfg *parent, RD_Cfg *child);
internal RD_Cfg *rd_cfg_child_from_string(RD_Cfg *parent, String8 string); internal RD_Cfg *rd_cfg_child_from_string(RD_Cfg *parent, String8 string);
internal RD_Cfg *rd_cfg_child_from_string_or_alloc(RD_Cfg *parent, String8 string);
internal RD_CfgList rd_cfg_child_list_from_string(Arena *arena, RD_Cfg *parent, String8 string); internal RD_CfgList rd_cfg_child_list_from_string(Arena *arena, RD_Cfg *parent, String8 string);
internal RD_CfgList rd_cfg_top_level_list_from_string(Arena *arena, String8 string); internal RD_CfgList rd_cfg_top_level_list_from_string(Arena *arena, String8 string);
internal RD_CfgList rd_cfg_tree_list_from_string(Arena *arena, String8 string); internal RD_CfgList rd_cfg_tree_list_from_string(Arena *arena, String8 string);
internal String8 rd_string_from_cfg_tree(Arena *arena, RD_Cfg *cfg); internal String8 rd_string_from_cfg_tree(Arena *arena, RD_Cfg *cfg);
internal RD_CfgRec rd_cfg_rec__depth_first(RD_Cfg *root, RD_Cfg *cfg); internal RD_CfgRec rd_cfg_rec__depth_first(RD_Cfg *root, RD_Cfg *cfg);
internal void rd_cfg_list_push(Arena *arena, RD_CfgList *list, RD_Cfg *cfg); internal void rd_cfg_list_push(Arena *arena, RD_CfgList *list, RD_Cfg *cfg);
#define rd_cfg_list_first(list) ((list)->count ? (list)->first->v : &rd_nil_cfg)
#define rd_cfg_list_last(list) ((list)->count ? (list)->last->v : &rd_nil_cfg)
internal RD_PanelTree rd_panel_tree_from_cfg(Arena *arena, RD_Cfg *cfg); internal RD_PanelTree rd_panel_tree_from_cfg(Arena *arena, RD_Cfg *cfg);
internal RD_PanelNodeRec rd_panel_node_rec__depth_first(RD_PanelNode *root, RD_PanelNode *panel, U64 sib_off, U64 child_off); internal RD_PanelNodeRec rd_panel_node_rec__depth_first(RD_PanelNode *root, RD_PanelNode *panel, U64 sib_off, U64 child_off);
@@ -1199,7 +1197,6 @@ internal String8 rd_eval_string_from_file_path(Arena *arena, String8 string);
//////////////////////////////// ////////////////////////////////
//~ rjf: View Functions //~ rjf: View Functions
internal RD_ViewState *rd_view_state_from_cfg_ev_key(RD_Cfg *cfg, EV_Key ev_key);
internal RD_ViewState *rd_view_state_from_cfg(RD_Cfg *cfg); internal RD_ViewState *rd_view_state_from_cfg(RD_Cfg *cfg);
internal DR_FancyStringList rd_title_fstrs_from_view(Arena *arena, String8 viewer_name_string, String8 query, Vec4F32 primary_color, Vec4F32 secondary_color, F32 size); internal DR_FancyStringList rd_title_fstrs_from_view(Arena *arena, String8 viewer_name_string, String8 query, Vec4F32 primary_color, Vec4F32 secondary_color, F32 size);
+14 -4
View File
@@ -148,6 +148,7 @@ rd_code_view_build(Arena *arena, RD_CodeViewState *cv, RD_CodeViewBuildFlags fla
Side search_query_side = Side_Invalid; Side search_query_side = Side_Invalid;
B32 search_query_is_active = 0; B32 search_query_is_active = 0;
{ {
#if 0 // TODO(rjf): @cfg
RD_Window *window = rd_window_from_handle(rd_regs()->window); RD_Window *window = rd_window_from_handle(rd_regs()->window);
RD_CmdKind query_cmd_kind = rd_cmd_kind_from_string(window->query_cmd_name); RD_CmdKind query_cmd_kind = rd_cmd_kind_from_string(window->query_cmd_name);
if(query_cmd_kind == RD_CmdKind_FindTextForward || if(query_cmd_kind == RD_CmdKind_FindTextForward ||
@@ -157,6 +158,7 @@ rd_code_view_build(Arena *arena, RD_CodeViewState *cv, RD_CodeViewBuildFlags fla
search_query_is_active = 1; search_query_is_active = 1;
search_query_side = (query_cmd_kind == RD_CmdKind_FindTextForward) ? Side_Max : Side_Min; search_query_side = (query_cmd_kind == RD_CmdKind_FindTextForward) ? Side_Max : Side_Min;
} }
#endif
} }
////////////////////////////// //////////////////////////////
@@ -1304,6 +1306,7 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo
//- rjf: root-level view rule which has a ui hook? call into that to build the UI //- rjf: root-level view rule which has a ui hook? call into that to build the UI
// //
B32 is_top_level_hook = 0; B32 is_top_level_hook = 0;
#if 0 // TODO(rjf): @cfg
{ {
RD_ViewRuleInfo *hook_rule_info = 0; RD_ViewRuleInfo *hook_rule_info = 0;
MD_Node *hook_rule_root = &md_nil_node; MD_Node *hook_rule_root = &md_nil_node;
@@ -1323,6 +1326,7 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo
is_top_level_hook = 1; is_top_level_hook = 1;
} }
} }
#endif
////////////////////////////// //////////////////////////////
//- rjf: determine autocompletion string //- rjf: determine autocompletion string
@@ -2445,6 +2449,7 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo
case RD_WatchViewRowKind_Canvas: case RD_WatchViewRowKind_Canvas:
ProfScope("canvas row") UI_FocusHot(row_selected ? UI_FocusKind_On : UI_FocusKind_Off) ProfScope("canvas row") UI_FocusHot(row_selected ? UI_FocusKind_On : UI_FocusKind_Off)
{ {
#if 0 // TODO(rjf): @cfg
//- rjf: unpack //- rjf: unpack
RD_WatchViewPoint pt = {0, row->block->key, row->key}; RD_WatchViewPoint pt = {0, row->block->key, row->key};
RD_View *view = rd_view_from_handle(rd_regs()->view); RD_View *view = rd_view_from_handle(rd_regs()->view);
@@ -2537,6 +2542,7 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo
//- rjf: pop interaction registers //- rjf: pop interaction registers
rd_pop_regs(); rd_pop_regs();
} }
#endif
}break; }break;
//////////////////// ////////////////////
@@ -3116,7 +3122,7 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo
UI_Parent(box) UI_Parent(box)
{ {
String8 row_expr = e_string_from_expr(scratch.arena, row->expr); String8 row_expr = e_string_from_expr(scratch.arena, row->expr);
cell_ui_hook(row_expr, cell_ui_params, r2f32p(x_px, 0, x_px + col->pct*dim_2f32(rect).x, row_height_px)); cell_ui_hook(row_expr, r2f32p(x_px, 0, x_px + col->pct*dim_2f32(rect).x, row_height_px));
} }
sig = ui_signal_from_box(box); sig = ui_signal_from_box(box);
} }
@@ -4066,10 +4072,12 @@ RD_VIEW_RULE_UI_FUNCTION_DEF(file_system)
RD_PathQuery path_query = rd_path_query_from_string(query_normalized_with_opt_slash); RD_PathQuery path_query = rd_path_query_from_string(query_normalized_with_opt_slash);
F32 row_height_px = floor_f32(ui_top_font_size()*2.5f); F32 row_height_px = floor_f32(ui_top_font_size()*2.5f);
F32 scroll_bar_dim = floor_f32(ui_top_font_size()*1.5f); F32 scroll_bar_dim = floor_f32(ui_top_font_size()*1.5f);
#if 0 // TODO(rjf): @cfg
RD_Window *window = rd_window_from_handle(rd_regs()->window); RD_Window *window = rd_window_from_handle(rd_regs()->window);
RD_CmdKindInfo *cmd_kind_info = rd_cmd_kind_info_from_string(window->query_cmd_name); RD_CmdKindInfo *cmd_kind_info = rd_cmd_kind_info_from_string(window->query_cmd_name);
B32 file_selection = !!(cmd_kind_info->query.flags & RD_QueryFlag_AllowFiles); #endif
B32 dir_selection = !!(cmd_kind_info->query.flags & RD_QueryFlag_AllowFolders); B32 file_selection = 1;// !!(cmd_kind_info->query.flags & RD_QueryFlag_AllowFiles);
B32 dir_selection = 1;// !!(cmd_kind_info->query.flags & RD_QueryFlag_AllowFolders);
//- rjf: get extra state for this view //- rjf: get extra state for this view
UI_ScrollPt2 scroll_pos = rd_view_scroll_pos(); UI_ScrollPt2 scroll_pos = rd_view_scroll_pos();
@@ -4892,9 +4900,11 @@ RD_VIEW_RULE_UI_FUNCTION_DEF(entity_lister)
{ {
ProfBeginFunction(); ProfBeginFunction();
Temp scratch = scratch_begin(0, 0); Temp scratch = scratch_begin(0, 0);
#if 0 // TODO(rjf): @cfg
RD_Window *window = rd_window_from_handle(rd_regs()->window); RD_Window *window = rd_window_from_handle(rd_regs()->window);
RD_CmdKindInfo *cmd_kind_info = rd_cmd_kind_info_from_string(window->query_cmd_name); RD_CmdKindInfo *cmd_kind_info = rd_cmd_kind_info_from_string(window->query_cmd_name);
RD_EntityKind entity_kind = cmd_kind_info->query.entity_kind; #endif
RD_EntityKind entity_kind = RD_EntityKind_Nil; // cmd_kind_info->query.entity_kind;
F32 row_height_px = floor_f32(ui_top_font_size()*2.5f); F32 row_height_px = floor_f32(ui_top_font_size()*2.5f);
F32 scroll_bar_dim = floor_f32(ui_top_font_size()*1.5f); F32 scroll_bar_dim = floor_f32(ui_top_font_size()*1.5f);
+3 -2
View File
@@ -343,8 +343,9 @@ rd_cmd_list_menu_buttons(U64 count, String8 *cmd_names, U32 *fastpath_codepoints
{ {
rd_cmd(RD_CmdKind_RunCommand, .cmd_name = cmd_names[idx]); rd_cmd(RD_CmdKind_RunCommand, .cmd_name = cmd_names[idx]);
ui_ctx_menu_close(); ui_ctx_menu_close();
RD_Window *window = rd_window_from_handle(rd_regs()->window); RD_Cfg *window = rd_cfg_from_handle(rd_regs()->window);
window->menu_bar_focused = 0; RD_WindowState *ws = rd_window_state_from_cfg(window);
ws->menu_bar_focused = 0;
} }
} }
scratch_end(scratch); scratch_end(scratch);