small parameterization to query watches

This commit is contained in:
Ryan Fleury
2026-06-03 14:28:06 -07:00
parent 015ae9c62c
commit 09f78fdae4
4 changed files with 32 additions and 5 deletions
+4 -2
View File
@@ -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)},
+5 -2
View File
@@ -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];
+1
View File
@@ -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 }
+22 -1
View File
@@ -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")));