mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-18 18:12:23 -07:00
parameterize find-code-location by forcing-focus to destination panel; use that in 'switch' command
This commit is contained in:
@@ -435,7 +435,7 @@ RD_NameSchemaInfo rd_name_schema_info_table[24] =
|
||||
{str8_lit_comp("thread"), str8_lit_comp("x:{'label':code_string, 'id':u64, @no_expand 'active':bool, 'call_stack':query}")},
|
||||
};
|
||||
|
||||
Rng1U64 rd_reg_slot_range_table[43] =
|
||||
Rng1U64 rd_reg_slot_range_table[44] =
|
||||
{
|
||||
{0},
|
||||
{OffsetOf(RD_Regs, machine), OffsetOf(RD_Regs, machine) + sizeof(CTRL_Handle)},
|
||||
@@ -470,6 +470,7 @@ Rng1U64 rd_reg_slot_range_table[43] =
|
||||
{OffsetOf(RD_Regs, reg_slot), OffsetOf(RD_Regs, reg_slot) + sizeof(RD_RegSlot)},
|
||||
{OffsetOf(RD_Regs, pid), OffsetOf(RD_Regs, pid) + sizeof(U32)},
|
||||
{OffsetOf(RD_Regs, force_confirm), OffsetOf(RD_Regs, force_confirm) + sizeof(B32)},
|
||||
{OffsetOf(RD_Regs, force_focus), OffsetOf(RD_Regs, force_focus) + sizeof(B32)},
|
||||
{OffsetOf(RD_Regs, prefer_disasm), OffsetOf(RD_Regs, prefer_disasm) + sizeof(B32)},
|
||||
{OffsetOf(RD_Regs, no_rich_tooltip), OffsetOf(RD_Regs, no_rich_tooltip) + sizeof(B32)},
|
||||
{OffsetOf(RD_Regs, do_implicit_root), OffsetOf(RD_Regs, do_implicit_root) + sizeof(B32)},
|
||||
|
||||
@@ -41,6 +41,7 @@ RD_RegSlot_OffPx,
|
||||
RD_RegSlot_RegSlot,
|
||||
RD_RegSlot_PID,
|
||||
RD_RegSlot_ForceConfirm,
|
||||
RD_RegSlot_ForceFocus,
|
||||
RD_RegSlot_PreferDisasm,
|
||||
RD_RegSlot_NoRichTooltip,
|
||||
RD_RegSlot_DoImplicitRoot,
|
||||
@@ -463,6 +464,7 @@ Vec2F32 off_px;
|
||||
RD_RegSlot reg_slot;
|
||||
U32 pid;
|
||||
B32 force_confirm;
|
||||
B32 force_focus;
|
||||
B32 prefer_disasm;
|
||||
B32 no_rich_tooltip;
|
||||
B32 do_implicit_root;
|
||||
@@ -556,6 +558,7 @@ Z(getting_started)\
|
||||
.reg_slot = rd_regs()->reg_slot,\
|
||||
.pid = rd_regs()->pid,\
|
||||
.force_confirm = rd_regs()->force_confirm,\
|
||||
.force_focus = rd_regs()->force_focus,\
|
||||
.prefer_disasm = rd_regs()->prefer_disasm,\
|
||||
.no_rich_tooltip = rd_regs()->no_rich_tooltip,\
|
||||
.do_implicit_root = rd_regs()->do_implicit_root,\
|
||||
@@ -572,7 +575,7 @@ extern String8 rd_tab_fast_path_view_name_table[24];
|
||||
extern String8 rd_tab_fast_path_query_name_table[24];
|
||||
extern RD_VocabInfo rd_vocab_info_table[343];
|
||||
extern RD_NameSchemaInfo rd_name_schema_info_table[24];
|
||||
extern Rng1U64 rd_reg_slot_range_table[43];
|
||||
extern Rng1U64 rd_reg_slot_range_table[44];
|
||||
extern String8 rd_binding_version_remap_old_name_table[8];
|
||||
extern String8 rd_binding_version_remap_new_name_table[8];
|
||||
extern String8 rd_icon_kind_text_table[75];
|
||||
|
||||
@@ -732,6 +732,7 @@ RD_RegTable:
|
||||
// rjf: general parameters
|
||||
{U32 pid PID }
|
||||
{B32 force_confirm ForceConfirm }
|
||||
{B32 force_focus ForceFocus }
|
||||
{B32 prefer_disasm PreferDisasm }
|
||||
{B32 no_rich_tooltip NoRichTooltip }
|
||||
{B32 do_implicit_root DoImplicitRoot}
|
||||
|
||||
@@ -13923,7 +13923,7 @@ rd_frame(void)
|
||||
RD_Cfg *recent_file = rd_cfg_from_id(rd_regs()->cfg);
|
||||
RD_Cfg *path_root = rd_cfg_child_from_string(recent_file, str8_lit("path"));
|
||||
String8 path = path_root->first->string;
|
||||
rd_cmd(RD_CmdKind_FindCodeLocation, .file_path = path, .cursor = txt_pt(0, 0), .vaddr = 0);
|
||||
rd_cmd(RD_CmdKind_FindCodeLocation, .file_path = path, .cursor = txt_pt(0, 0), .vaddr = 0, .force_focus = 1);
|
||||
}break;
|
||||
case RD_CmdKind_SwitchToPartnerFile:
|
||||
{
|
||||
@@ -14842,6 +14842,10 @@ rd_frame(void)
|
||||
.view = dst_tab->id,
|
||||
.tab = dst_tab->id)
|
||||
{
|
||||
if(rd_regs()->force_focus)
|
||||
{
|
||||
rd_cmd(RD_CmdKind_FocusPanel);
|
||||
}
|
||||
rd_cmd(RD_CmdKind_FocusTab);
|
||||
if(point.line != 0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user