mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-14 09:18:09 +00:00
small parameterization to query watches
This commit is contained in:
@@ -476,7 +476,7 @@ RD_NameSchemaInfo rd_name_schema_info_table[39] =
|
|||||||
{str8_lit_comp("thread"), 0, str8_lit_comp("x:{'label':code_string, 'id':u64, @no_expand 'active':bool, 'call_stack':set}")},
|
{str8_lit_comp("thread"), 0, str8_lit_comp("x:{'label':code_string, 'id':u64, @no_expand 'active':bool, 'call_stack':set}")},
|
||||||
};
|
};
|
||||||
|
|
||||||
String8 rd_reg_slot_code_name_table[50] =
|
String8 rd_reg_slot_code_name_table[51] =
|
||||||
{
|
{
|
||||||
{0},
|
{0},
|
||||||
str8_lit_comp("machine"),
|
str8_lit_comp("machine"),
|
||||||
@@ -524,13 +524,14 @@ str8_lit_comp("non_graphical"),
|
|||||||
str8_lit_comp("prefer_new_tab"),
|
str8_lit_comp("prefer_new_tab"),
|
||||||
str8_lit_comp("activate_with_single_click"),
|
str8_lit_comp("activate_with_single_click"),
|
||||||
str8_lit_comp("disable_addresses"),
|
str8_lit_comp("disable_addresses"),
|
||||||
|
str8_lit_comp("small_size"),
|
||||||
str8_lit_comp("dir2"),
|
str8_lit_comp("dir2"),
|
||||||
str8_lit_comp("string"),
|
str8_lit_comp("string"),
|
||||||
str8_lit_comp("cmd_name"),
|
str8_lit_comp("cmd_name"),
|
||||||
str8_lit_comp("wm_event"),
|
str8_lit_comp("wm_event"),
|
||||||
};
|
};
|
||||||
|
|
||||||
Rng1U64 rd_reg_slot_range_table[50] =
|
Rng1U64 rd_reg_slot_range_table[51] =
|
||||||
{
|
{
|
||||||
{0},
|
{0},
|
||||||
{OffsetOf(RD_Regs, machine), OffsetOf(RD_Regs, machine) + sizeof(D_Handle)},
|
{OffsetOf(RD_Regs, machine), OffsetOf(RD_Regs, machine) + sizeof(D_Handle)},
|
||||||
@@ -578,6 +579,7 @@ Rng1U64 rd_reg_slot_range_table[50] =
|
|||||||
{OffsetOf(RD_Regs, prefer_new_tab), OffsetOf(RD_Regs, prefer_new_tab) + sizeof(B32)},
|
{OffsetOf(RD_Regs, prefer_new_tab), OffsetOf(RD_Regs, prefer_new_tab) + sizeof(B32)},
|
||||||
{OffsetOf(RD_Regs, activate_with_single_click), OffsetOf(RD_Regs, activate_with_single_click) + sizeof(B32)},
|
{OffsetOf(RD_Regs, activate_with_single_click), OffsetOf(RD_Regs, activate_with_single_click) + sizeof(B32)},
|
||||||
{OffsetOf(RD_Regs, disable_addresses), OffsetOf(RD_Regs, disable_addresses) + sizeof(B32)},
|
{OffsetOf(RD_Regs, disable_addresses), OffsetOf(RD_Regs, disable_addresses) + sizeof(B32)},
|
||||||
|
{OffsetOf(RD_Regs, small_size), OffsetOf(RD_Regs, small_size) + sizeof(B32)},
|
||||||
{OffsetOf(RD_Regs, dir2), OffsetOf(RD_Regs, dir2) + sizeof(Dir2)},
|
{OffsetOf(RD_Regs, dir2), OffsetOf(RD_Regs, dir2) + sizeof(Dir2)},
|
||||||
{OffsetOf(RD_Regs, string), OffsetOf(RD_Regs, string) + sizeof(String8)},
|
{OffsetOf(RD_Regs, string), OffsetOf(RD_Regs, string) + sizeof(String8)},
|
||||||
{OffsetOf(RD_Regs, cmd_name), OffsetOf(RD_Regs, cmd_name) + sizeof(String8)},
|
{OffsetOf(RD_Regs, cmd_name), OffsetOf(RD_Regs, cmd_name) + sizeof(String8)},
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ RD_RegSlot_NonGraphical,
|
|||||||
RD_RegSlot_PreferNewTab,
|
RD_RegSlot_PreferNewTab,
|
||||||
RD_RegSlot_ActivateWithSingleClick,
|
RD_RegSlot_ActivateWithSingleClick,
|
||||||
RD_RegSlot_DisableAddresses,
|
RD_RegSlot_DisableAddresses,
|
||||||
|
RD_RegSlot_SmallSize,
|
||||||
RD_RegSlot_Dir2,
|
RD_RegSlot_Dir2,
|
||||||
RD_RegSlot_String,
|
RD_RegSlot_String,
|
||||||
RD_RegSlot_CmdName,
|
RD_RegSlot_CmdName,
|
||||||
@@ -503,6 +504,7 @@ B32 non_graphical;
|
|||||||
B32 prefer_new_tab;
|
B32 prefer_new_tab;
|
||||||
B32 activate_with_single_click;
|
B32 activate_with_single_click;
|
||||||
B32 disable_addresses;
|
B32 disable_addresses;
|
||||||
|
B32 small_size;
|
||||||
Dir2 dir2;
|
Dir2 dir2;
|
||||||
String8 string;
|
String8 string;
|
||||||
String8 cmd_name;
|
String8 cmd_name;
|
||||||
@@ -604,6 +606,7 @@ Z(getting_started)\
|
|||||||
.prefer_new_tab = rd_regs()->prefer_new_tab,\
|
.prefer_new_tab = rd_regs()->prefer_new_tab,\
|
||||||
.activate_with_single_click = rd_regs()->activate_with_single_click,\
|
.activate_with_single_click = rd_regs()->activate_with_single_click,\
|
||||||
.disable_addresses = rd_regs()->disable_addresses,\
|
.disable_addresses = rd_regs()->disable_addresses,\
|
||||||
|
.small_size = rd_regs()->small_size,\
|
||||||
.dir2 = rd_regs()->dir2,\
|
.dir2 = rd_regs()->dir2,\
|
||||||
.string = rd_regs()->string,\
|
.string = rd_regs()->string,\
|
||||||
.cmd_name = rd_regs()->cmd_name,\
|
.cmd_name = rd_regs()->cmd_name,\
|
||||||
@@ -614,8 +617,8 @@ extern String8 rd_tab_fast_path_view_name_table[25];
|
|||||||
extern String8 rd_tab_fast_path_query_name_table[25];
|
extern String8 rd_tab_fast_path_query_name_table[25];
|
||||||
extern RD_VocabInfo rd_vocab_info_table[367];
|
extern RD_VocabInfo rd_vocab_info_table[367];
|
||||||
extern RD_NameSchemaInfo rd_name_schema_info_table[39];
|
extern RD_NameSchemaInfo rd_name_schema_info_table[39];
|
||||||
extern String8 rd_reg_slot_code_name_table[50];
|
extern String8 rd_reg_slot_code_name_table[51];
|
||||||
extern Rng1U64 rd_reg_slot_range_table[50];
|
extern Rng1U64 rd_reg_slot_range_table[51];
|
||||||
extern String8 rd_binding_version_remap_old_name_table[9];
|
extern String8 rd_binding_version_remap_old_name_table[9];
|
||||||
extern String8 rd_binding_version_remap_new_name_table[9];
|
extern String8 rd_binding_version_remap_new_name_table[9];
|
||||||
extern String8 rd_icon_kind_text_table[75];
|
extern String8 rd_icon_kind_text_table[75];
|
||||||
|
|||||||
@@ -896,6 +896,7 @@ RD_RegTable:
|
|||||||
{B32 prefer_new_tab PreferNewTab }
|
{B32 prefer_new_tab PreferNewTab }
|
||||||
{B32 activate_with_single_click ActivateWithSingleClick }
|
{B32 activate_with_single_click ActivateWithSingleClick }
|
||||||
{B32 disable_addresses DisableAddresses }
|
{B32 disable_addresses DisableAddresses }
|
||||||
|
{B32 small_size SmallSize }
|
||||||
{Dir2 dir2 Dir2 }
|
{Dir2 dir2 Dir2 }
|
||||||
{String8 string String }
|
{String8 string String }
|
||||||
{String8 cmd_name CmdName }
|
{String8 cmd_name CmdName }
|
||||||
|
|||||||
@@ -6424,6 +6424,7 @@ rd_window_frame(void)
|
|||||||
CFG_Node *view = cfg_node_child_from_string_or_alloc(rd_state->cfg, root, str8_lit("watch"));
|
CFG_Node *view = cfg_node_child_from_string_or_alloc(rd_state->cfg, root, str8_lit("watch"));
|
||||||
CFG_Node *query = cfg_node_child_from_string_or_alloc(rd_state->cfg, view, str8_lit("query"));
|
CFG_Node *query = cfg_node_child_from_string_or_alloc(rd_state->cfg, view, str8_lit("query"));
|
||||||
B32 is_lister = (cfg_node_child_from_string(view, str8_lit("lister")) != &cfg_nil_node);
|
B32 is_lister = (cfg_node_child_from_string(view, str8_lit("lister")) != &cfg_nil_node);
|
||||||
|
B32 is_small = (cfg_node_child_from_string(view, str8_lit("small")) != &cfg_nil_node);
|
||||||
B32 root_is_explicit = (cfg_node_child_from_string(view, str8_lit("explicit_root")) != &cfg_nil_node);
|
B32 root_is_explicit = (cfg_node_child_from_string(view, str8_lit("explicit_root")) != &cfg_nil_node);
|
||||||
RD_ViewState *vs = rd_view_state_from_cfg(view);
|
RD_ViewState *vs = rd_view_state_from_cfg(view);
|
||||||
|
|
||||||
@@ -6494,6 +6495,16 @@ rd_window_frame(void)
|
|||||||
EV_BlockTree predicted_block_tree = ev_block_tree_from_eval(scratch.arena, rd_view_eval_view(), rd_view_query_input(), query_eval);
|
EV_BlockTree predicted_block_tree = ev_block_tree_from_eval(scratch.arena, rd_view_eval_view(), rd_view_query_input(), query_eval);
|
||||||
F32 query_width_px = floor_f32(content_rect_dim.x * 0.35f);
|
F32 query_width_px = floor_f32(content_rect_dim.x * 0.35f);
|
||||||
F32 max_query_height_px = content_rect_dim.y*0.8f;
|
F32 max_query_height_px = content_rect_dim.y*0.8f;
|
||||||
|
if(is_small)
|
||||||
|
{
|
||||||
|
query_width_px = floor_f32(content_rect_dim.x * 0.15f);
|
||||||
|
max_query_height_px = content_rect_dim.y*0.3f;
|
||||||
|
}
|
||||||
|
if(!ui_key_match(ui_key_zero(), ws->query_regs->ui_key))
|
||||||
|
{
|
||||||
|
query_width_px = is_small ? (ui_top_font_size()*25.f) : (ui_top_font_size()*60.f);
|
||||||
|
max_query_height_px = is_small ? (ui_top_font_size()*40.f) : (ui_top_font_size()*80.f);
|
||||||
|
}
|
||||||
F32 query_height_px = max_query_height_px;
|
F32 query_height_px = max_query_height_px;
|
||||||
if(size_query_by_expr_eval)
|
if(size_query_by_expr_eval)
|
||||||
{
|
{
|
||||||
@@ -6516,7 +6527,7 @@ rd_window_frame(void)
|
|||||||
{
|
{
|
||||||
rect.x0 = anchor_box->rect.x0 + ws->query_regs->off_px.x;
|
rect.x0 = anchor_box->rect.x0 + ws->query_regs->off_px.x;
|
||||||
rect.y0 = anchor_box->rect.y1 + ws->query_regs->off_px.y;
|
rect.y0 = anchor_box->rect.y1 + ws->query_regs->off_px.y;
|
||||||
rect.x1 = rect.x0 + ui_top_font_size()*60.f;
|
rect.x1 = rect.x0 + query_width_px;
|
||||||
rect.y1 = rect.y0 + query_height_px;
|
rect.y1 = rect.y0 + query_height_px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8640,7 +8651,9 @@ rd_window_frame(void)
|
|||||||
.expr = str8_lit("query:tab_commands"),
|
.expr = str8_lit("query:tab_commands"),
|
||||||
.panel = panel->cfg->id,
|
.panel = panel->cfg->id,
|
||||||
.do_implicit_root = 1,
|
.do_implicit_root = 1,
|
||||||
|
.small_size = 1,
|
||||||
.do_lister = 1,
|
.do_lister = 1,
|
||||||
|
.activate_with_single_click = 1,
|
||||||
.ui_key = add_new_box->key);
|
.ui_key = add_new_box->key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -15717,6 +15730,14 @@ rd_frame(void)
|
|||||||
{
|
{
|
||||||
cfg_node_child_from_string_or_alloc(rd_state->cfg, view, str8_lit("lister"));
|
cfg_node_child_from_string_or_alloc(rd_state->cfg, view, str8_lit("lister"));
|
||||||
}
|
}
|
||||||
|
if(!rd_regs()->small_size)
|
||||||
|
{
|
||||||
|
cfg_node_release(rd_state->cfg, cfg_node_child_from_string(view, str8_lit("small")));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cfg_node_child_from_string_or_alloc(rd_state->cfg, view, str8_lit("small"));
|
||||||
|
}
|
||||||
if(!rd_regs()->activate_with_single_click)
|
if(!rd_regs()->activate_with_single_click)
|
||||||
{
|
{
|
||||||
cfg_node_release(rd_state->cfg, cfg_node_child_from_string(view, str8_lit("activate_with_single_click")));
|
cfg_node_release(rd_state->cfg, cfg_node_child_from_string(view, str8_lit("activate_with_single_click")));
|
||||||
|
|||||||
Reference in New Issue
Block a user