mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-06 22:08:41 +00: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}")},
|
{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},
|
{0},
|
||||||
{OffsetOf(RD_Regs, machine), OffsetOf(RD_Regs, machine) + sizeof(CTRL_Handle)},
|
{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, reg_slot), OffsetOf(RD_Regs, reg_slot) + sizeof(RD_RegSlot)},
|
||||||
{OffsetOf(RD_Regs, pid), OffsetOf(RD_Regs, pid) + sizeof(U32)},
|
{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_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, 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, 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)},
|
{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_RegSlot,
|
||||||
RD_RegSlot_PID,
|
RD_RegSlot_PID,
|
||||||
RD_RegSlot_ForceConfirm,
|
RD_RegSlot_ForceConfirm,
|
||||||
|
RD_RegSlot_ForceFocus,
|
||||||
RD_RegSlot_PreferDisasm,
|
RD_RegSlot_PreferDisasm,
|
||||||
RD_RegSlot_NoRichTooltip,
|
RD_RegSlot_NoRichTooltip,
|
||||||
RD_RegSlot_DoImplicitRoot,
|
RD_RegSlot_DoImplicitRoot,
|
||||||
@@ -463,6 +464,7 @@ Vec2F32 off_px;
|
|||||||
RD_RegSlot reg_slot;
|
RD_RegSlot reg_slot;
|
||||||
U32 pid;
|
U32 pid;
|
||||||
B32 force_confirm;
|
B32 force_confirm;
|
||||||
|
B32 force_focus;
|
||||||
B32 prefer_disasm;
|
B32 prefer_disasm;
|
||||||
B32 no_rich_tooltip;
|
B32 no_rich_tooltip;
|
||||||
B32 do_implicit_root;
|
B32 do_implicit_root;
|
||||||
@@ -556,6 +558,7 @@ Z(getting_started)\
|
|||||||
.reg_slot = rd_regs()->reg_slot,\
|
.reg_slot = rd_regs()->reg_slot,\
|
||||||
.pid = rd_regs()->pid,\
|
.pid = rd_regs()->pid,\
|
||||||
.force_confirm = rd_regs()->force_confirm,\
|
.force_confirm = rd_regs()->force_confirm,\
|
||||||
|
.force_focus = rd_regs()->force_focus,\
|
||||||
.prefer_disasm = rd_regs()->prefer_disasm,\
|
.prefer_disasm = rd_regs()->prefer_disasm,\
|
||||||
.no_rich_tooltip = rd_regs()->no_rich_tooltip,\
|
.no_rich_tooltip = rd_regs()->no_rich_tooltip,\
|
||||||
.do_implicit_root = rd_regs()->do_implicit_root,\
|
.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 String8 rd_tab_fast_path_query_name_table[24];
|
||||||
extern RD_VocabInfo rd_vocab_info_table[343];
|
extern RD_VocabInfo rd_vocab_info_table[343];
|
||||||
extern RD_NameSchemaInfo rd_name_schema_info_table[24];
|
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_old_name_table[8];
|
||||||
extern String8 rd_binding_version_remap_new_name_table[8];
|
extern String8 rd_binding_version_remap_new_name_table[8];
|
||||||
extern String8 rd_icon_kind_text_table[75];
|
extern String8 rd_icon_kind_text_table[75];
|
||||||
|
|||||||
@@ -732,6 +732,7 @@ RD_RegTable:
|
|||||||
// rjf: general parameters
|
// rjf: general parameters
|
||||||
{U32 pid PID }
|
{U32 pid PID }
|
||||||
{B32 force_confirm ForceConfirm }
|
{B32 force_confirm ForceConfirm }
|
||||||
|
{B32 force_focus ForceFocus }
|
||||||
{B32 prefer_disasm PreferDisasm }
|
{B32 prefer_disasm PreferDisasm }
|
||||||
{B32 no_rich_tooltip NoRichTooltip }
|
{B32 no_rich_tooltip NoRichTooltip }
|
||||||
{B32 do_implicit_root DoImplicitRoot}
|
{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 *recent_file = rd_cfg_from_id(rd_regs()->cfg);
|
||||||
RD_Cfg *path_root = rd_cfg_child_from_string(recent_file, str8_lit("path"));
|
RD_Cfg *path_root = rd_cfg_child_from_string(recent_file, str8_lit("path"));
|
||||||
String8 path = path_root->first->string;
|
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;
|
}break;
|
||||||
case RD_CmdKind_SwitchToPartnerFile:
|
case RD_CmdKind_SwitchToPartnerFile:
|
||||||
{
|
{
|
||||||
@@ -14842,6 +14842,10 @@ rd_frame(void)
|
|||||||
.view = dst_tab->id,
|
.view = dst_tab->id,
|
||||||
.tab = dst_tab->id)
|
.tab = dst_tab->id)
|
||||||
{
|
{
|
||||||
|
if(rd_regs()->force_focus)
|
||||||
|
{
|
||||||
|
rd_cmd(RD_CmdKind_FocusPanel);
|
||||||
|
}
|
||||||
rd_cmd(RD_CmdKind_FocusTab);
|
rd_cmd(RD_CmdKind_FocusTab);
|
||||||
if(point.line != 0)
|
if(point.line != 0)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user