mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-29 18:50:03 +00:00
Revert "another checkpoint in big df entity elimination pass"
This reverts commit f8fd32e328.
This commit is contained in:
@@ -1,81 +1,14 @@
|
||||
// Copyright (c) 2024 Epic Games Tools
|
||||
// Licensed under the MIT license (https://opensource.org/license/mit/)
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Registers Type Table
|
||||
|
||||
@table(c_type name_lower name)
|
||||
DF_RegTable:
|
||||
{
|
||||
// rjf: entity info
|
||||
{CTRL_MachineID machine_id MachineID }
|
||||
{DMN_Handle process Process }
|
||||
{DMN_Handle module Module }
|
||||
{DMN_Handle thread Thread }
|
||||
{DF_Handle window Window }
|
||||
{DF_Handle panel Panel }
|
||||
{DF_Handle view View }
|
||||
{DF_Handle prev_view PrevView }
|
||||
{DF_Handle dst_panel DstPanel }
|
||||
{DF_Handle cfg_tree CfgTree }
|
||||
{DF_HandleList cfg_tree_list CfgTreeList }
|
||||
|
||||
// rjf: frame selection
|
||||
{U64 unwind_count UnwindCount }
|
||||
{U64 inline_depth InlineDepth }
|
||||
|
||||
// rjf: code / address location info
|
||||
{String8 file_path FilePath }
|
||||
{TxtPt cursor Cursor }
|
||||
{TxtPt mark Mark }
|
||||
{U128 text_key TextKey }
|
||||
{TXT_LangKind lang_kind LangKind }
|
||||
{D_LineList lines Lines }
|
||||
{DI_Key dbgi_key DbgiKey }
|
||||
{Rng1U64 vaddr_range VaddrRange }
|
||||
{Rng1U64 voff_range VoffRange }
|
||||
|
||||
// rjf: general parameters
|
||||
{U32 pid PID }
|
||||
{B32 force_confirm ForceConfirm }
|
||||
{B32 prefer_disasm PreferDisasm }
|
||||
{Dir2 dir2 Dir2 }
|
||||
{String8 string String }
|
||||
{`MD_Node *` params_tree ParamsTree }
|
||||
{`OS_Event *` os_event OSEvent }
|
||||
}
|
||||
|
||||
@enum DF_RegSlot:
|
||||
{
|
||||
Null,
|
||||
@expand(DF_RegTable a) `$(a.name)`,
|
||||
COUNT,
|
||||
}
|
||||
|
||||
@struct DF_Regs:
|
||||
{
|
||||
@expand(DF_RegTable a) `$(a.c_type) $(a.name_lower)`
|
||||
}
|
||||
|
||||
@data(Rng1U64) df_reg_slot_range_table:
|
||||
{
|
||||
`{0}`,
|
||||
@expand(DF_RegTable a) `{OffsetOf(DF_Regs, $(a.name_lower)), OffsetOf(DF_Regs, $(a.name_lower)) + sizeof($(a.c_type))}`
|
||||
}
|
||||
|
||||
@gen
|
||||
{
|
||||
`#define df_regs_lit_init_top \\`
|
||||
@expand(DF_RegTable a) `.$(a.name_lower) = df_regs()->$(a.name_lower),\\`
|
||||
``;
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Message Tables
|
||||
|
||||
@table(name name_display name_lower show_in_ui show_in_ipc_docs q_slot q_ent_kind q_allow_files q_allow_folders q_keep_oi q_select_oi q_is_code q_required canonical_icon desc)
|
||||
DF_MsgKindTable:
|
||||
{
|
||||
{Null "" null 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
|
||||
//- rjf: meta
|
||||
{Exit "" exit 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{RunCommand "" run_command 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
@@ -270,16 +203,18 @@ DF_MsgKindTable:
|
||||
|
||||
@enum DF_MsgKind:
|
||||
{
|
||||
Null,
|
||||
@expand(D_MsgKindTable a) `$(a.name)`,
|
||||
@expand(DF_MsgKindTable a) `$(a.name)`,
|
||||
COUNT
|
||||
}
|
||||
|
||||
@data(DF_MsgKindInfo) df_msg_kind_info_table:
|
||||
{
|
||||
`{0}`,
|
||||
@expand(DF_MsgKindTable a) `{str8_lit_comp("$(a.name_lower)"), str8_lit_comp("$(a.display_name)"), str8_lit_comp("$(a.desc)"), str8_lit_comp("$(a.search_tags)"), (($(a.show_in_ui)*DF_MsgKindFlag_ListInUI)|($(a.show_in_ipc_docs)*DF_MsgKindFlag_ListInIPCDocs)), {($(a.q_allow_files)*DF_MsgQueryFlag_AllowFiles)|($(a.q_allow_folders)*DF_MsgQueryFlag_AllowFolders)|($(a.q_keep_oi)*DF_MsgQueryFlag_KeepOldInput)|($(a.q_select_oi)*DF_MsgQueryFlag_SelectOldInput)|($(a.q_is_code)*DF_MsgQueryFlag_CodeInput)|($(a.q_required)*DF_MsgQueryFlag_Required), D_RegSlot_$(a.q_slot), D_EntityKind_$(a.q_ent_kind)}}`,
|
||||
@expand(DF_MsgKindTable a) `{str8_lit_comp("$(a.name_lower)"), str8_lit_comp("$(a.display_name)"), str8_lit_comp("$(a.desc)"), str8_lit_comp("$(a.search_tags)"), (($(a.show_in_ui)*DF_MsgKindFlag_ListInUI)|($(a.show_in_ipc_docs)*DF_MsgKindFlag_ListInIPCDocs)), {($(a.q_allow_files)*DF_MsgQueryFlag_AllowFiles)|($(a.q_allow_folders)*DF_MsgQueryFlag_AllowFolders)|($(a.q_keep_oi)*DF_MsgQueryFlag_KeepOldInput)|($(a.q_select_oi)*DF_MsgQueryFlag_SelectOldInput)|($(a.q_is_code)*DF_MsgQueryFlag_CodeInput)|($(a.q_required)*DF_MsgQueryFlag_Required), D_RegSlot_$(a.q_slot), D_EntityKind_$(a.q_ent_kind)}}`
|
||||
}
|
||||
|
||||
@data(DF_MsgKindInfo) df_d_msg_kind_info_table:
|
||||
{
|
||||
@expand(D_MsgKindTable a) `{str8_lit_comp("$(a.name_lower)"), str8_lit_comp("$(a.display_name)"), str8_lit_comp("$(a.desc)"), str8_lit_comp("$(a.search_tags)"), (($(a.show_in_ui)*DF_MsgKindFlag_ListInUI)|($(a.show_in_ipc_docs)*DF_MsgKindFlag_ListInIPCDocs)), {($(a.q_allow_files)*DF_MsgQueryFlag_AllowFiles)|($(a.q_allow_folders)*DF_MsgQueryFlag_AllowFolders)|($(a.q_keep_oi)*DF_MsgQueryFlag_KeepOldInput)|($(a.q_select_oi)*DF_MsgQueryFlag_SelectOldInput)|($(a.q_is_code)*DF_MsgQueryFlag_CodeInput)|($(a.q_required)*DF_MsgQueryFlag_Required), D_RegSlot_$(a.q_slot), D_EntityKind_$(a.q_ent_kind)}}`
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
@@ -595,7 +530,7 @@ DF_ViewTable:
|
||||
{ SymbolLister "symbol_lister" "Symbols" Null 0 0 0 0 0 0 0 "" }
|
||||
|
||||
//- rjf: entity editors
|
||||
// TODO(rjf): @msgs { Target "target" "Target" Target 1 0 0 0 0 0 0 "" }
|
||||
{ Target "target" "Target" Target 1 0 0 0 0 0 0 "" }
|
||||
{ Targets "targets" "Targets" Target 0 0 1 1 0 1 1 "Displays a list of all targets, as well as controls for enabling, disabling, launching, editing, or deleting each target. For more information on targets, read the `Targets` section." }
|
||||
{ FilePathMap "file_path_map" "File Path Map" FileOutline 0 0 1 0 0 0 1 "Displays a table of *path maps*. Each path map is a pair of file or folder paths, one being a 'source' path, and one being a 'destination' path. These pairs are used by the debugger when automatically searching for specific files - for instance, when attempting to snap to a source code location specified by debug info. If debug info refers to a path on the machine on which a target executable was originally built, but that path is not valid on the debugger machine, but some alternative path exists, then path maps may be used to redirect the debugger from the debug info's specified paths to the associated appropriate debugger machine file paths." }
|
||||
{ AutoViewRules "auto_view_rules" "Auto View Rules" Binoculars 0 0 1 0 0 0 1 "Displays a table of *auto view rules*. Each *auto view rule* is a pair, with one element being a type, and the other being a view rule, which should be automatically applied to expressions of that type, when possible." }
|
||||
|
||||
+2886
-3235
File diff suppressed because it is too large
Load Diff
@@ -16,30 +16,6 @@ typedef enum DF_CfgSlot
|
||||
}
|
||||
DF_CfgSlot;
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Handle Types
|
||||
|
||||
typedef struct DF_Handle DF_Handle;
|
||||
struct DF_Handle
|
||||
{
|
||||
U64 u64[4];
|
||||
};
|
||||
|
||||
typedef struct DF_HandleNode DF_HandleNode;
|
||||
struct DF_HandleNode
|
||||
{
|
||||
DF_HandleNode *next;
|
||||
DF_Handle v;
|
||||
};
|
||||
|
||||
typedef struct DF_HandleList DF_HandleList;
|
||||
struct DF_HandleList
|
||||
{
|
||||
DF_HandleNode *first;
|
||||
DF_HandleNode *last;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Binding Types
|
||||
|
||||
@@ -106,17 +82,17 @@ struct DF_SettingVal
|
||||
|
||||
typedef struct DF_View DF_View;
|
||||
|
||||
#define DF_VIEW_SETUP_FUNCTION_SIG(name) void name(void)
|
||||
#define DF_VIEW_SETUP_FUNCTION_SIG(name) void name(DF_View *view, MD_Node *params, String8 string)
|
||||
#define DF_VIEW_SETUP_FUNCTION_NAME(name) df_view_setup_##name
|
||||
#define DF_VIEW_SETUP_FUNCTION_DEF(name) internal DF_VIEW_SETUP_FUNCTION_SIG(DF_VIEW_SETUP_FUNCTION_NAME(name))
|
||||
typedef DF_VIEW_SETUP_FUNCTION_SIG(DF_ViewSetupFunctionType);
|
||||
|
||||
#define DF_VIEW_CMD_FUNCTION_SIG(name) void name(void)
|
||||
#define DF_VIEW_CMD_FUNCTION_SIG(name) void name(DF_View *view, MD_Node *params, String8 string, D_CmdList *cmds)
|
||||
#define DF_VIEW_CMD_FUNCTION_NAME(name) df_view_cmds_##name
|
||||
#define DF_VIEW_CMD_FUNCTION_DEF(name) internal DF_VIEW_CMD_FUNCTION_SIG(DF_VIEW_CMD_FUNCTION_NAME(name))
|
||||
typedef DF_VIEW_CMD_FUNCTION_SIG(DF_ViewCmdFunctionType);
|
||||
|
||||
#define DF_VIEW_UI_FUNCTION_SIG(name) void name(Rng2F32 rect)
|
||||
#define DF_VIEW_UI_FUNCTION_SIG(name) void name(DF_View *view, MD_Node *params, String8 string, Rng2F32 rect)
|
||||
#define DF_VIEW_UI_FUNCTION_NAME(name) df_view_ui_##name
|
||||
#define DF_VIEW_UI_FUNCTION_DEF(name) internal DF_VIEW_UI_FUNCTION_SIG(DF_VIEW_UI_FUNCTION_NAME(name))
|
||||
typedef DF_VIEW_UI_FUNCTION_SIG(DF_ViewUIFunctionType);
|
||||
@@ -218,9 +194,6 @@ struct DF_View
|
||||
DF_View *order_next;
|
||||
DF_View *order_prev;
|
||||
|
||||
// rjf: cfg tree handle
|
||||
DF_Handle handle;
|
||||
|
||||
// rjf: transient view children
|
||||
DF_View *first_transient;
|
||||
DF_View *last_transient;
|
||||
@@ -270,21 +243,6 @@ struct DF_View
|
||||
U8 query_buffer[KB(4)];
|
||||
};
|
||||
|
||||
typedef struct DF_ViewNode DF_ViewNode;
|
||||
struct DF_ViewNode
|
||||
{
|
||||
DF_ViewNode *next;
|
||||
DF_ViewNode *prev;
|
||||
DF_View v;
|
||||
};
|
||||
|
||||
typedef struct DF_ViewSlot DF_ViewSlot;
|
||||
struct DF_ViewSlot
|
||||
{
|
||||
DF_ViewNode *first;
|
||||
DF_ViewNode *last;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Panel Types
|
||||
|
||||
@@ -342,8 +300,9 @@ DF_DragDropState;
|
||||
typedef struct DF_DragDropPayload DF_DragDropPayload;
|
||||
struct DF_DragDropPayload
|
||||
{
|
||||
UI_Key key__;
|
||||
DF_Handle cfg_tree;
|
||||
UI_Key key;
|
||||
D_Handle panel;
|
||||
D_Handle view;
|
||||
D_Handle entity;
|
||||
TxtPt text_point;
|
||||
};
|
||||
@@ -465,7 +424,7 @@ typedef struct DF_Msg DF_Msg;
|
||||
struct DF_Msg
|
||||
{
|
||||
DF_MsgKind kind;
|
||||
DF_Regs *regs;
|
||||
D_Regs *regs;
|
||||
};
|
||||
|
||||
typedef struct DF_MsgNode DF_MsgNode;
|
||||
@@ -584,7 +543,6 @@ struct DF_Window
|
||||
// rjf: links & metadata
|
||||
DF_Window *next;
|
||||
DF_Window *prev;
|
||||
DF_Handle handle;
|
||||
U64 first_frame_touched;
|
||||
U64 last_frame_touched;
|
||||
U64 gen;
|
||||
@@ -593,6 +551,7 @@ struct DF_Window
|
||||
|
||||
// rjf: top-level info & handles
|
||||
Arena *arena;
|
||||
String8 cfg_key;
|
||||
OS_Handle os;
|
||||
R_Handle r;
|
||||
UI_State *ui;
|
||||
@@ -629,7 +588,8 @@ struct DF_Window
|
||||
TxtPt entity_ctx_menu_input_mark;
|
||||
|
||||
// rjf: tab context menu state
|
||||
DF_Handle tab_ctx_menu_view;
|
||||
D_Handle tab_ctx_menu_panel;
|
||||
D_Handle tab_ctx_menu_view;
|
||||
U8 tab_ctx_menu_input_buffer[1024];
|
||||
U64 tab_ctx_menu_input_size;
|
||||
TxtPt tab_ctx_menu_input_cursor;
|
||||
@@ -651,7 +611,7 @@ struct DF_Window
|
||||
|
||||
// rjf: query view stack
|
||||
Arena *query_msg_arena;
|
||||
DF_MsgKind query_msg_kind;
|
||||
String8 query_msg_name;
|
||||
DF_MsgQuery query_msg_query;
|
||||
U64 query_msg_regs_mask[(D_RegSlot_COUNT+63)/64];
|
||||
D_Regs *query_msg_regs;
|
||||
@@ -714,16 +674,6 @@ struct DF_WindowSlot
|
||||
DF_WindowNode *last;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Context Register Types
|
||||
|
||||
typedef struct DF_RegsNode DF_RegsNode;
|
||||
struct DF_RegsNode
|
||||
{
|
||||
DF_RegsNode *next;
|
||||
DF_Regs v;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Main Per-Process Graphical State
|
||||
|
||||
@@ -734,9 +684,6 @@ struct DF_State
|
||||
B32 quit;
|
||||
U64 frame_index;
|
||||
|
||||
// rjf: frame arenas
|
||||
Arena *frame_arenas[2];
|
||||
|
||||
// rjf: icon texture
|
||||
R_Handle icon_texture;
|
||||
|
||||
@@ -750,13 +697,8 @@ struct DF_State
|
||||
Arena *cfg_root_arena;
|
||||
MD_Node *cfg_root;
|
||||
Arena *cfg_slot_arenas[DF_CfgSlot_COUNT];
|
||||
U64 cfg_slot_gens[DF_CfgSlot_COUNT];
|
||||
MD_Node *cfg_slot_roots[DF_CfgSlot_COUNT];
|
||||
|
||||
// rjf: interaction registers
|
||||
DF_RegsNode base_regs;
|
||||
DF_RegsNode *top_regs;
|
||||
|
||||
// rjf: messages
|
||||
Arena *msgs_arena;
|
||||
DF_MsgList msgs;
|
||||
@@ -765,10 +707,6 @@ struct DF_State
|
||||
U64 window_slots_count;
|
||||
DF_WindowSlot *window_slots;
|
||||
|
||||
// rjf: view state cache
|
||||
U64 view_slots_count;
|
||||
DF_ViewSlot *view_slots;
|
||||
|
||||
// rjf: key map table
|
||||
Arena *key_map_arena;
|
||||
U64 key_map_table_size;
|
||||
@@ -791,6 +729,7 @@ struct DF_State
|
||||
B32 confirm_active;
|
||||
F32 confirm_t;
|
||||
Arena *confirm_arena;
|
||||
D_CmdList confirm_cmds;
|
||||
DF_Msg confirm_msg;
|
||||
String8 confirm_title;
|
||||
String8 confirm_desc;
|
||||
@@ -869,15 +808,12 @@ read_only global DF_ViewRuleSpec df_nil_view_rule_spec =
|
||||
&df_nil_view_rule_spec,
|
||||
};
|
||||
|
||||
read_only global DF_Window df_nil_window = {0};
|
||||
|
||||
read_only global DF_View df_nil_view =
|
||||
{
|
||||
&df_nil_view,
|
||||
&df_nil_view,
|
||||
&df_nil_view,
|
||||
&df_nil_view,
|
||||
{0},
|
||||
&df_nil_view,
|
||||
&df_nil_view,
|
||||
&df_nil_view_spec,
|
||||
@@ -903,20 +839,6 @@ global D_Handle df_last_drag_drop_prev_tab = {0};
|
||||
internal U64 df_hash_from_seed_string(U64 seed, String8 string);
|
||||
internal U64 df_hash_from_string(String8 string);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Handle Type Functions
|
||||
|
||||
internal DF_Handle df_handle_zero(void);
|
||||
internal B32 df_handle_match(DF_Handle a, DF_Handle b);
|
||||
internal void df_handle_list_push(Arena *arena, DF_HandleList *list, DF_Handle v);
|
||||
internal DF_HandleList df_handle_list_copy(Arena *arena, DF_HandleList *src);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Register Type Functions
|
||||
|
||||
internal void df_regs_copy_contents(Arena *arena, DF_Regs *dst, DF_Regs *src);
|
||||
internal DF_Regs *df_regs_copy(Arena *arena, DF_Regs *src);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: View Type Functions
|
||||
|
||||
@@ -959,7 +881,7 @@ internal DF_View *df_selected_tab_from_panel(DF_Panel *panel);
|
||||
|
||||
//- rjf: icons & display strings
|
||||
internal DF_IconKind df_icon_kind_from_view(DF_View *view);
|
||||
internal DR_FancyStringList df_title_fstrs_from_view_spec_query(Arena *arena, DF_ViewSpec *spec, String8 query, Vec4F32 primary_color, Vec4F32 secondary_color, F32 size);
|
||||
internal DR_FancyStringList df_title_fstrs_from_view(Arena *arena, DF_View *view, Vec4F32 primary_color, Vec4F32 secondary_color, F32 size);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Window Type Functions
|
||||
@@ -1008,9 +930,6 @@ internal DF_ViewRuleSpec *df_view_rule_spec_from_string(String8 string);
|
||||
////////////////////////////////
|
||||
//~ rjf: View State Functions
|
||||
|
||||
//- rjf: cfg tree -> view
|
||||
internal DF_View *df_view_from_cfg_tree(MD_Node *view_cfg);
|
||||
|
||||
//- rjf: allocation/releasing
|
||||
internal DF_View *df_view_alloc(void);
|
||||
internal void df_view_release(DF_View *view);
|
||||
@@ -1047,13 +966,13 @@ internal void df_panel_release_all_views(DF_Panel *panel);
|
||||
////////////////////////////////
|
||||
//~ rjf: Window State Functions
|
||||
|
||||
internal DF_Window *df_window_from_cfg_tree(MD_Node *window_cfg);
|
||||
internal DF_Window *df_window_from_cfg_key(String8 cfg_key);
|
||||
|
||||
internal DF_Window *df_window_open(Vec2F32 size, OS_Handle preferred_monitor, D_CfgSrc cfg_src);
|
||||
|
||||
internal DF_Window *df_window_from_os_handle(OS_Handle os);
|
||||
|
||||
internal void df_window_frame(Arena *arena, MD_Node *window_cfg);
|
||||
internal void df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Eval Viz
|
||||
@@ -1084,18 +1003,9 @@ internal void df_set_autocomp_lister_query(UI_Key root_key, DF_AutoCompListerPar
|
||||
internal void df_set_search_string(String8 string);
|
||||
internal String8 df_push_search_string(Arena *arena);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Main State Accessors
|
||||
|
||||
internal Arena *df_frame_arena(void);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Colors, Fonts, Config
|
||||
|
||||
//- rjf: handle <-> cfg tree
|
||||
internal DF_Handle df_handle_from_cfg_tree(MD_Node *cfg);
|
||||
internal MD_Node *df_cfg_tree_from_handle(DF_Handle handle);
|
||||
|
||||
//- rjf: string <-> cfg tree
|
||||
internal MD_Node *df_cfg_tree_from_key(String8 string);
|
||||
internal String8 df_key_from_cfg_tree(Arena *arena, MD_Node *node);
|
||||
@@ -1104,15 +1014,8 @@ internal String8 df_key_from_cfg_tree(Arena *arena, MD_Node *node);
|
||||
internal DF_CfgSlot df_cfg_slot_from_tree(MD_Node *node);
|
||||
internal MD_Node *df_cfg_tree_store(MD_Node *parent, MD_Node *replace_node, String8 string);
|
||||
internal MD_Node *df_cfg_tree_storef(MD_Node *parent, MD_Node *replace_node, char *fmt, ...);
|
||||
internal void df_cfg_tree_set_string(MD_Node *node, String8 string);
|
||||
internal void df_cfg_tree_set_stringf(MD_Node *node, char *fmt, ...);
|
||||
#define df_cfg_tree_set_key(parent, key, val) df_cfg_tree_store((parent), md_child_from_string((parent), (key), 0), (val))
|
||||
#define df_cfg_tree_set_keyf(parent, key, fmt, ...) df_cfg_tree_storef((parent), md_child_from_string((parent), (key), 0), (fmt), __VA_ARGS__)
|
||||
#define df_cfg_tree_remove(node) df_cfg_tree_store((node)->parent, (node), str8_zero())
|
||||
|
||||
//- rjf: config tree lookups
|
||||
internal Rng2F32 df_target_rect_from_panel_child_cfg(Rng2F32 parent_rect, Axis2 parent_split_axis, MD_Node *panel);
|
||||
internal Rng2F32 df_target_rect_from_panel_cfg(Rng2F32 root_rect, MD_Node *panel);
|
||||
|
||||
//- rjf: keybindings
|
||||
internal void df_clear_bindings(void);
|
||||
@@ -1138,10 +1041,8 @@ internal FNT_RasterFlags df_raster_flags_from_slot(DF_FontSlot slot);
|
||||
internal DF_SettingVal df_setting_val_from_code(DF_SettingCode code);
|
||||
|
||||
//- rjf: config serialization
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
internal int df_qsort_compare__cfg_string_bindings(DF_StringBindingPair *a, DF_StringBindingPair *b);
|
||||
internal String8List df_cfg_strings_from_state(Arena *arena, String8 root_path, D_CfgSrc source);
|
||||
#endif
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Process Control Info Stringification
|
||||
@@ -1154,15 +1055,6 @@ internal String8 df_stop_explanation_string_icon_from_ctrl_event(Arena *arena, C
|
||||
|
||||
internal void df_request_frame(void);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Registers Functions
|
||||
|
||||
internal DF_Regs *df_regs(void);
|
||||
internal DF_Regs *df_base_regs(void);
|
||||
internal DF_Regs *df_push_regs(void);
|
||||
internal DF_Regs *df_pop_regs(void);
|
||||
#define DF_RegsScope DeferLoop(df_push_regs(), df_pop_regs())
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Message Functions
|
||||
|
||||
@@ -1170,23 +1062,18 @@ internal DF_Regs *df_pop_regs(void);
|
||||
internal DF_MsgKind df_msg_kind_from_string(String8 string);
|
||||
|
||||
//- rjf: register setting helpers
|
||||
internal void df_regs_set_window(MD_Node *cfg_tree);
|
||||
internal void df_regs_set_panel(MD_Node *cfg_tree);
|
||||
internal void df_regs_set_view(MD_Node *cfg_tree);
|
||||
internal void df_regs_set_window(DF_Window *window);
|
||||
internal void df_regs_set_from_query_slot_string(D_RegSlot slot, String8 string);
|
||||
|
||||
//- rjf: message pushing
|
||||
internal void df_msg_(DF_MsgKind kind, DF_Regs *regs);
|
||||
internal void df_msg_(DF_MsgKind kind, D_Regs *regs);
|
||||
#define df_msg(kind, ...) df_msg_((kind),\
|
||||
&(DF_Regs)\
|
||||
&(D_Regs)\
|
||||
{\
|
||||
df_regs_lit_init_top \
|
||||
d_regs_lit_init_top \
|
||||
__VA_ARGS__\
|
||||
})
|
||||
|
||||
//- rjf: message iteration
|
||||
internal B32 df_next_msg(DF_Msg **msg);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Main Layer Top-Level Calls
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ df_code_view_init(DF_CodeViewState *cv, DF_View *view)
|
||||
}
|
||||
|
||||
internal void
|
||||
df_code_view_cmds(DF_View *view, DF_CodeViewState *cv, String8 text_data, TXT_TextInfo *text_info, DASM_LineArray *dasm_lines, Rng1U64 dasm_vaddr_range, DI_Key dasm_dbgi_key)
|
||||
df_code_view_cmds(DF_View *view, DF_CodeViewState *cv, D_CmdList *cmds, String8 text_data, TXT_TextInfo *text_info, DASM_LineArray *dasm_lines, Rng1U64 dasm_vaddr_range, DI_Key dasm_dbgi_key)
|
||||
{
|
||||
for(D_CmdNode *n = cmds->first; n != 0; n = n->next)
|
||||
{
|
||||
@@ -4626,8 +4626,6 @@ DF_VIEW_UI_FUNCTION_DEF(symbol_lister)
|
||||
////////////////////////////////
|
||||
//~ rjf: target @view_hook_impl
|
||||
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
|
||||
typedef struct DF_TargetViewState DF_TargetViewState;
|
||||
struct DF_TargetViewState
|
||||
{
|
||||
@@ -4962,8 +4960,6 @@ DF_VIEW_UI_FUNCTION_DEF(target)
|
||||
ProfEnd();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: targets @view_hook_impl
|
||||
|
||||
@@ -5119,12 +5115,6 @@ DF_VIEW_UI_FUNCTION_DEF(targets)
|
||||
////////////////////////////////
|
||||
//~ rjf: file_path_map @view_hook_impl
|
||||
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(file_path_map){}
|
||||
DF_VIEW_CMD_FUNCTION_DEF(file_path_map){}
|
||||
DF_VIEW_UI_FUNCTION_DEF(file_path_map){}
|
||||
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
|
||||
typedef struct DF_FilePathMapViewState DF_FilePathMapViewState;
|
||||
struct DF_FilePathMapViewState
|
||||
{
|
||||
@@ -5464,8 +5454,6 @@ DF_VIEW_UI_FUNCTION_DEF(file_path_map)
|
||||
ProfEnd();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: auto_view_rules @view_hook_impl
|
||||
|
||||
@@ -5761,12 +5749,6 @@ DF_VIEW_UI_FUNCTION_DEF(call_stack)
|
||||
////////////////////////////////
|
||||
//~ rjf: modules @view_hook_impl
|
||||
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(modules){}
|
||||
DF_VIEW_CMD_FUNCTION_DEF(modules){}
|
||||
DF_VIEW_UI_FUNCTION_DEF(modules){}
|
||||
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
|
||||
typedef struct DF_ModulesViewState DF_ModulesViewState;
|
||||
struct DF_ModulesViewState
|
||||
{
|
||||
@@ -6101,7 +6083,6 @@ DF_VIEW_UI_FUNCTION_DEF(modules)
|
||||
scratch_end(scratch);
|
||||
ProfEnd();
|
||||
}
|
||||
#endif
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: watch @view_hook_impl
|
||||
@@ -6252,10 +6233,52 @@ DF_VIEW_UI_FUNCTION_DEF(procedures)
|
||||
////////////////////////////////
|
||||
//~ rjf: pending_file @view_hook_impl
|
||||
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(pending_file){}
|
||||
typedef struct DF_PendingFileViewState DF_PendingFileViewState;
|
||||
struct DF_PendingFileViewState
|
||||
{
|
||||
Arena *deferred_cmd_arena;
|
||||
D_CmdList deferred_cmds;
|
||||
};
|
||||
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(pending_file)
|
||||
{
|
||||
DF_PendingFileViewState *pves = df_view_user_state(view, DF_PendingFileViewState);
|
||||
pves->deferred_cmd_arena = df_view_push_arena_ext(view);
|
||||
}
|
||||
|
||||
DF_VIEW_CMD_FUNCTION_DEF(pending_file)
|
||||
{
|
||||
Temp scratch = scratch_begin(0, 0);
|
||||
DF_PendingFileViewState *pves = df_view_user_state(view, DF_PendingFileViewState);
|
||||
|
||||
//- rjf: process commands
|
||||
for(D_CmdNode *n = cmds->first; n != 0; n = n->next)
|
||||
{
|
||||
D_Cmd *cmd = &n->cmd;
|
||||
|
||||
// rjf: mismatched window/panel => skip
|
||||
if(!d_handle_match(d_regs()->window, cmd->params.window) ||
|
||||
!d_handle_match(d_regs()->panel, cmd->params.panel))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// rjf: process
|
||||
D_CmdKind core_cmd_kind = d_cmd_kind_from_string(cmd->spec->info.string);
|
||||
switch(core_cmd_kind)
|
||||
{
|
||||
default:break;
|
||||
|
||||
// rjf: gather deferred commands to redispatch when entity is ready
|
||||
case D_CmdKind_GoToLine:
|
||||
case D_CmdKind_GoToAddress:
|
||||
case D_CmdKind_CenterCursor:
|
||||
case D_CmdKind_ContainCursor:
|
||||
{
|
||||
d_cmd_list_push(pves->deferred_cmd_arena, &pves->deferred_cmds, &cmd->params, cmd->spec);
|
||||
}break;
|
||||
}
|
||||
}
|
||||
|
||||
//- rjf: determine if file is ready, and which viewer to use
|
||||
String8 file_path = d_file_path_from_eval_string(scratch.arena, str8(view->query_buffer, view->query_string_size));
|
||||
|
||||
@@ -155,7 +155,7 @@ struct DF_WatchViewState
|
||||
//~ rjf: Code View Functions
|
||||
|
||||
internal void df_code_view_init(DF_CodeViewState *cv, DF_View *view);
|
||||
internal void df_code_view_cmds(DF_View *view, DF_CodeViewState *cv, String8 text_data, TXT_TextInfo *text_info, DASM_LineArray *dasm_lines, Rng1U64 dasm_vaddr_range, DI_Key dasm_dbgi_key);
|
||||
internal void df_code_view_cmds(DF_View *view, DF_CodeViewState *cv, D_CmdList *cmds, String8 text_data, TXT_TextInfo *text_info, DASM_LineArray *dasm_lines, Rng1U64 dasm_vaddr_range, DI_Key dasm_dbgi_key);
|
||||
internal DF_CodeViewBuildResult df_code_view_build(Arena *arena, DF_View *view, DF_CodeViewState *cv, DF_CodeViewBuildFlags flags, Rng2F32 rect, String8 text_data, TXT_TextInfo *text_info, DASM_LineArray *dasm_lines, Rng1U64 dasm_vaddr_range, DI_Key dasm_dbgi_key);
|
||||
|
||||
////////////////////////////////
|
||||
|
||||
@@ -4,43 +4,9 @@
|
||||
//- GENERATED CODE
|
||||
|
||||
C_LINKAGE_BEGIN
|
||||
Rng1U64 df_reg_slot_range_table[30] =
|
||||
{
|
||||
{0},
|
||||
{OffsetOf(DF_Regs, machine_id), OffsetOf(DF_Regs, machine_id) + sizeof(CTRL_MachineID)},
|
||||
{OffsetOf(DF_Regs, process), OffsetOf(DF_Regs, process) + sizeof(DMN_Handle)},
|
||||
{OffsetOf(DF_Regs, module), OffsetOf(DF_Regs, module) + sizeof(DMN_Handle)},
|
||||
{OffsetOf(DF_Regs, thread), OffsetOf(DF_Regs, thread) + sizeof(DMN_Handle)},
|
||||
{OffsetOf(DF_Regs, window), OffsetOf(DF_Regs, window) + sizeof(DF_Handle)},
|
||||
{OffsetOf(DF_Regs, panel), OffsetOf(DF_Regs, panel) + sizeof(DF_Handle)},
|
||||
{OffsetOf(DF_Regs, view), OffsetOf(DF_Regs, view) + sizeof(DF_Handle)},
|
||||
{OffsetOf(DF_Regs, prev_view), OffsetOf(DF_Regs, prev_view) + sizeof(DF_Handle)},
|
||||
{OffsetOf(DF_Regs, dst_panel), OffsetOf(DF_Regs, dst_panel) + sizeof(DF_Handle)},
|
||||
{OffsetOf(DF_Regs, cfg_tree), OffsetOf(DF_Regs, cfg_tree) + sizeof(DF_Handle)},
|
||||
{OffsetOf(DF_Regs, cfg_tree_list), OffsetOf(DF_Regs, cfg_tree_list) + sizeof(DF_HandleList)},
|
||||
{OffsetOf(DF_Regs, unwind_count), OffsetOf(DF_Regs, unwind_count) + sizeof(U64)},
|
||||
{OffsetOf(DF_Regs, inline_depth), OffsetOf(DF_Regs, inline_depth) + sizeof(U64)},
|
||||
{OffsetOf(DF_Regs, file_path), OffsetOf(DF_Regs, file_path) + sizeof(String8)},
|
||||
{OffsetOf(DF_Regs, cursor), OffsetOf(DF_Regs, cursor) + sizeof(TxtPt)},
|
||||
{OffsetOf(DF_Regs, mark), OffsetOf(DF_Regs, mark) + sizeof(TxtPt)},
|
||||
{OffsetOf(DF_Regs, text_key), OffsetOf(DF_Regs, text_key) + sizeof(U128)},
|
||||
{OffsetOf(DF_Regs, lang_kind), OffsetOf(DF_Regs, lang_kind) + sizeof(TXT_LangKind)},
|
||||
{OffsetOf(DF_Regs, lines), OffsetOf(DF_Regs, lines) + sizeof(D_LineList)},
|
||||
{OffsetOf(DF_Regs, dbgi_key), OffsetOf(DF_Regs, dbgi_key) + sizeof(DI_Key)},
|
||||
{OffsetOf(DF_Regs, vaddr_range), OffsetOf(DF_Regs, vaddr_range) + sizeof(Rng1U64)},
|
||||
{OffsetOf(DF_Regs, voff_range), OffsetOf(DF_Regs, voff_range) + sizeof(Rng1U64)},
|
||||
{OffsetOf(DF_Regs, pid), OffsetOf(DF_Regs, pid) + sizeof(U32)},
|
||||
{OffsetOf(DF_Regs, force_confirm), OffsetOf(DF_Regs, force_confirm) + sizeof(B32)},
|
||||
{OffsetOf(DF_Regs, prefer_disasm), OffsetOf(DF_Regs, prefer_disasm) + sizeof(B32)},
|
||||
{OffsetOf(DF_Regs, dir2), OffsetOf(DF_Regs, dir2) + sizeof(Dir2)},
|
||||
{OffsetOf(DF_Regs, string), OffsetOf(DF_Regs, string) + sizeof(String8)},
|
||||
{OffsetOf(DF_Regs, params_tree), OffsetOf(DF_Regs, params_tree) + sizeof(MD_Node *)},
|
||||
{OffsetOf(DF_Regs, os_event), OffsetOf(DF_Regs, os_event) + sizeof(OS_Event *)},
|
||||
};
|
||||
|
||||
DF_MsgKindInfo df_msg_kind_info_table[134] =
|
||||
{
|
||||
{0},
|
||||
{str8_lit_comp("null"), str8_lit_comp("Null"), str8_lit_comp(""), str8_lit_comp("Null"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("exit"), str8_lit_comp("Exit"), str8_lit_comp(""), str8_lit_comp("Exit"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("run_command"), str8_lit_comp("RunCommand"), str8_lit_comp(""), str8_lit_comp("RunCommand"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("toggle_dev_menu"), str8_lit_comp("ToggleDevMenu"), str8_lit_comp(""), str8_lit_comp("ToggleDevMenu"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
@@ -176,6 +142,46 @@ DF_MsgKindInfo df_msg_kind_info_table[134] =
|
||||
{str8_lit_comp("os_event"), str8_lit_comp("OSEvent"), str8_lit_comp(""), str8_lit_comp("OSEvent"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
};
|
||||
|
||||
DF_MsgKindInfo df_d_msg_kind_info_table[36] =
|
||||
{
|
||||
{str8_lit_comp("null"), str8_lit_comp("Null"), str8_lit_comp(""), str8_lit_comp("Null"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("launch_and_run"), str8_lit_comp("LaunchAndRun"), str8_lit_comp(""), str8_lit_comp("LaunchAndRun"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("launch_and_step_into"), str8_lit_comp("LaunchAndStepInto"), str8_lit_comp(""), str8_lit_comp("LaunchAndStepInto"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("kill"), str8_lit_comp("Kill"), str8_lit_comp(""), str8_lit_comp("Kill"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("kill_all"), str8_lit_comp("KillAll"), str8_lit_comp(""), str8_lit_comp("KillAll"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("attach"), str8_lit_comp("Attach"), str8_lit_comp(""), str8_lit_comp("Attach"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("detach"), str8_lit_comp("Detach"), str8_lit_comp(""), str8_lit_comp("Detach"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("continue"), str8_lit_comp("Continue"), str8_lit_comp(""), str8_lit_comp("Continue"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("step_into_inst"), str8_lit_comp("StepIntoInst"), str8_lit_comp(""), str8_lit_comp("StepIntoInst"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("step_over_inst"), str8_lit_comp("StepOverInst"), str8_lit_comp(""), str8_lit_comp("StepOverInst"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("step_into_line"), str8_lit_comp("StepIntoLine"), str8_lit_comp(""), str8_lit_comp("StepIntoLine"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("step_over_line"), str8_lit_comp("StepOverLine"), str8_lit_comp(""), str8_lit_comp("StepOverLine"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("step_out"), str8_lit_comp("StepOut"), str8_lit_comp(""), str8_lit_comp("StepOut"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("halt"), str8_lit_comp("Halt"), str8_lit_comp(""), str8_lit_comp("Halt"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("soft_halt_refresh"), str8_lit_comp("SoftHaltRefresh"), str8_lit_comp(""), str8_lit_comp("SoftHaltRefresh"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("set_thread_ip"), str8_lit_comp("SetThreadIP"), str8_lit_comp(""), str8_lit_comp("SetThreadIP"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("run_to_line"), str8_lit_comp("RunToLine"), str8_lit_comp(""), str8_lit_comp("RunToLine"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("run_to_address"), str8_lit_comp("RunToAddress"), str8_lit_comp(""), str8_lit_comp("RunToAddress"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("run"), str8_lit_comp("Run"), str8_lit_comp(""), str8_lit_comp("Run"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("restart"), str8_lit_comp("Restart"), str8_lit_comp(""), str8_lit_comp("Restart"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("step_into"), str8_lit_comp("StepInto"), str8_lit_comp(""), str8_lit_comp("StepInto"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("step_over"), str8_lit_comp("StepOver"), str8_lit_comp(""), str8_lit_comp("StepOver"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("select_thread"), str8_lit_comp("SelectThread"), str8_lit_comp(""), str8_lit_comp("SelectThread"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("select_unwind"), str8_lit_comp("SelectUnwind"), str8_lit_comp(""), str8_lit_comp("SelectUnwind"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("up_one_frame"), str8_lit_comp("UpOneFrame"), str8_lit_comp(""), str8_lit_comp("UpOneFrame"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("down_one_frame"), str8_lit_comp("DownOneFrame"), str8_lit_comp(""), str8_lit_comp("DownOneFrame"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("freeze_thread"), str8_lit_comp("FreezeThread"), str8_lit_comp(""), str8_lit_comp("FreezeThread"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("thaw_thread"), str8_lit_comp("ThawThread"), str8_lit_comp(""), str8_lit_comp("ThawThread"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("freeze_process"), str8_lit_comp("FreezeProcess"), str8_lit_comp(""), str8_lit_comp("FreezeProcess"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("thaw_process"), str8_lit_comp("ThawProcess"), str8_lit_comp(""), str8_lit_comp("ThawProcess"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("freeze_machine"), str8_lit_comp("FreezeMachine"), str8_lit_comp(""), str8_lit_comp("FreezeMachine"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("thaw_machine"), str8_lit_comp("ThawMachine"), str8_lit_comp(""), str8_lit_comp("ThawMachine"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("freeze_local_machine"), str8_lit_comp("FreezeLocalMachine"), str8_lit_comp(""), str8_lit_comp("FreezeLocalMachine"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("thaw_local_machine"), str8_lit_comp("ThawLocalMachine"), str8_lit_comp(""), str8_lit_comp("ThawLocalMachine"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("run_to_cursor"), str8_lit_comp("RunToCursor"), str8_lit_comp(""), str8_lit_comp("RunToCursor"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
{str8_lit_comp("set_next_statement"), str8_lit_comp("SetNextStatement"), str8_lit_comp(""), str8_lit_comp("SetNextStatement"), ((0*DF_MsgKindFlag_ListInUI)|(0*DF_MsgKindFlag_ListInIPCDocs)), {(0*DF_MsgQueryFlag_AllowFiles)|(0*DF_MsgQueryFlag_AllowFolders)|(0*DF_MsgQueryFlag_KeepOldInput)|(0*DF_MsgQueryFlag_SelectOldInput)|(0*DF_MsgQueryFlag_CodeInput)|(0*DF_MsgQueryFlag_Required), D_RegSlot_Null, D_EntityKind_Nil}},
|
||||
};
|
||||
|
||||
DF_StringBindingPair df_g_default_binding_table[110] =
|
||||
{
|
||||
{str8_lit_comp("kill_all"), {OS_Key_F5, 0 |OS_EventFlag_Shift }},
|
||||
@@ -385,7 +391,7 @@ str8_lit_comp("5"),
|
||||
str8_lit_comp("c"),
|
||||
};
|
||||
|
||||
String8 df_view_kind_name_lower_table[33] =
|
||||
String8 df_view_kind_name_lower_table[34] =
|
||||
{
|
||||
str8_lit_comp("null"),
|
||||
str8_lit_comp("empty"),
|
||||
@@ -395,6 +401,7 @@ str8_lit_comp("file_system"),
|
||||
str8_lit_comp("system_processes"),
|
||||
str8_lit_comp("entity_lister"),
|
||||
str8_lit_comp("symbol_lister"),
|
||||
str8_lit_comp("target"),
|
||||
str8_lit_comp("targets"),
|
||||
str8_lit_comp("file_path_map"),
|
||||
str8_lit_comp("auto_view_rules"),
|
||||
@@ -422,7 +429,7 @@ str8_lit_comp("exception_filters"),
|
||||
str8_lit_comp("settings"),
|
||||
};
|
||||
|
||||
DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[33] =
|
||||
DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[34] =
|
||||
{
|
||||
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_ProjectSpecific|0*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("null"), str8_lit_comp(""), DF_IconKind_Null, DF_VIEW_SETUP_FUNCTION_NAME(null), DF_VIEW_CMD_FUNCTION_NAME(null), DF_VIEW_UI_FUNCTION_NAME(null)},
|
||||
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_ProjectSpecific|0*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("empty"), str8_lit_comp(""), DF_IconKind_Null, DF_VIEW_SETUP_FUNCTION_NAME(empty), DF_VIEW_CMD_FUNCTION_NAME(empty), DF_VIEW_UI_FUNCTION_NAME(empty)},
|
||||
@@ -432,6 +439,7 @@ DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[33] =
|
||||
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_ProjectSpecific|0*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("system_processes"), str8_lit_comp("System Processes"), DF_IconKind_Null, DF_VIEW_SETUP_FUNCTION_NAME(system_processes), DF_VIEW_CMD_FUNCTION_NAME(system_processes), DF_VIEW_UI_FUNCTION_NAME(system_processes)},
|
||||
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_ProjectSpecific|0*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("entity_lister"), str8_lit_comp("Entity List"), DF_IconKind_Null, DF_VIEW_SETUP_FUNCTION_NAME(entity_lister), DF_VIEW_CMD_FUNCTION_NAME(entity_lister), DF_VIEW_UI_FUNCTION_NAME(entity_lister)},
|
||||
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_ProjectSpecific|0*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("symbol_lister"), str8_lit_comp("Symbols"), DF_IconKind_Null, DF_VIEW_SETUP_FUNCTION_NAME(symbol_lister), DF_VIEW_CMD_FUNCTION_NAME(symbol_lister), DF_VIEW_UI_FUNCTION_NAME(symbol_lister)},
|
||||
{(0|1*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_ProjectSpecific|0*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("target"), str8_lit_comp("Target"), DF_IconKind_Target, DF_VIEW_SETUP_FUNCTION_NAME(target), DF_VIEW_CMD_FUNCTION_NAME(target), DF_VIEW_UI_FUNCTION_NAME(target)},
|
||||
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_ProjectSpecific|1*DF_ViewSpecFlag_CanSerialize|1*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|1*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("targets"), str8_lit_comp("Targets"), DF_IconKind_Target, DF_VIEW_SETUP_FUNCTION_NAME(targets), DF_VIEW_CMD_FUNCTION_NAME(targets), DF_VIEW_UI_FUNCTION_NAME(targets)},
|
||||
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_ProjectSpecific|1*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("file_path_map"), str8_lit_comp("File Path Map"), DF_IconKind_FileOutline, DF_VIEW_SETUP_FUNCTION_NAME(file_path_map), DF_VIEW_CMD_FUNCTION_NAME(file_path_map), DF_VIEW_UI_FUNCTION_NAME(file_path_map)},
|
||||
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_ProjectSpecific|1*DF_ViewSpecFlag_CanSerialize|0*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|0*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("auto_view_rules"), str8_lit_comp("Auto View Rules"), DF_IconKind_Binoculars, DF_VIEW_SETUP_FUNCTION_NAME(auto_view_rules), DF_VIEW_CMD_FUNCTION_NAME(auto_view_rules), DF_VIEW_UI_FUNCTION_NAME(auto_view_rules)},
|
||||
|
||||
@@ -6,79 +6,9 @@
|
||||
#ifndef DBG_FRONTEND_META_H
|
||||
#define DBG_FRONTEND_META_H
|
||||
|
||||
typedef enum DF_RegSlot
|
||||
{
|
||||
DF_RegSlot_Null,
|
||||
DF_RegSlot_MachineID,
|
||||
DF_RegSlot_Process,
|
||||
DF_RegSlot_Module,
|
||||
DF_RegSlot_Thread,
|
||||
DF_RegSlot_Window,
|
||||
DF_RegSlot_Panel,
|
||||
DF_RegSlot_View,
|
||||
DF_RegSlot_PrevView,
|
||||
DF_RegSlot_DstPanel,
|
||||
DF_RegSlot_CfgTree,
|
||||
DF_RegSlot_CfgTreeList,
|
||||
DF_RegSlot_UnwindCount,
|
||||
DF_RegSlot_InlineDepth,
|
||||
DF_RegSlot_FilePath,
|
||||
DF_RegSlot_Cursor,
|
||||
DF_RegSlot_Mark,
|
||||
DF_RegSlot_TextKey,
|
||||
DF_RegSlot_LangKind,
|
||||
DF_RegSlot_Lines,
|
||||
DF_RegSlot_DbgiKey,
|
||||
DF_RegSlot_VaddrRange,
|
||||
DF_RegSlot_VoffRange,
|
||||
DF_RegSlot_PID,
|
||||
DF_RegSlot_ForceConfirm,
|
||||
DF_RegSlot_PreferDisasm,
|
||||
DF_RegSlot_Dir2,
|
||||
DF_RegSlot_String,
|
||||
DF_RegSlot_ParamsTree,
|
||||
DF_RegSlot_OSEvent,
|
||||
DF_RegSlot_COUNT,
|
||||
} DF_RegSlot;
|
||||
|
||||
typedef enum DF_MsgKind
|
||||
{
|
||||
DF_MsgKind_Null,
|
||||
DF_MsgKind_LaunchAndRun,
|
||||
DF_MsgKind_LaunchAndStepInto,
|
||||
DF_MsgKind_Kill,
|
||||
DF_MsgKind_KillAll,
|
||||
DF_MsgKind_Attach,
|
||||
DF_MsgKind_Detach,
|
||||
DF_MsgKind_Continue,
|
||||
DF_MsgKind_StepIntoInst,
|
||||
DF_MsgKind_StepOverInst,
|
||||
DF_MsgKind_StepIntoLine,
|
||||
DF_MsgKind_StepOverLine,
|
||||
DF_MsgKind_StepOut,
|
||||
DF_MsgKind_Halt,
|
||||
DF_MsgKind_SoftHaltRefresh,
|
||||
DF_MsgKind_SetThreadIP,
|
||||
DF_MsgKind_RunToLine,
|
||||
DF_MsgKind_RunToAddress,
|
||||
DF_MsgKind_Run,
|
||||
DF_MsgKind_Restart,
|
||||
DF_MsgKind_StepInto,
|
||||
DF_MsgKind_StepOver,
|
||||
DF_MsgKind_SelectThread,
|
||||
DF_MsgKind_SelectUnwind,
|
||||
DF_MsgKind_UpOneFrame,
|
||||
DF_MsgKind_DownOneFrame,
|
||||
DF_MsgKind_FreezeThread,
|
||||
DF_MsgKind_ThawThread,
|
||||
DF_MsgKind_FreezeProcess,
|
||||
DF_MsgKind_ThawProcess,
|
||||
DF_MsgKind_FreezeMachine,
|
||||
DF_MsgKind_ThawMachine,
|
||||
DF_MsgKind_FreezeLocalMachine,
|
||||
DF_MsgKind_ThawLocalMachine,
|
||||
DF_MsgKind_RunToCursor,
|
||||
DF_MsgKind_SetNextStatement,
|
||||
DF_MsgKind_Exit,
|
||||
DF_MsgKind_RunCommand,
|
||||
DF_MsgKind_ToggleDevMenu,
|
||||
@@ -299,6 +229,7 @@ DF_ViewKind_FileSystem,
|
||||
DF_ViewKind_SystemProcesses,
|
||||
DF_ViewKind_EntityLister,
|
||||
DF_ViewKind_SymbolLister,
|
||||
DF_ViewKind_Target,
|
||||
DF_ViewKind_Targets,
|
||||
DF_ViewKind_FilePathMap,
|
||||
DF_ViewKind_AutoViewRules,
|
||||
@@ -445,71 +376,6 @@ DF_SettingCode_HintCodeText,
|
||||
DF_SettingCode_COUNT,
|
||||
} DF_SettingCode;
|
||||
|
||||
typedef struct DF_Regs DF_Regs;
|
||||
struct DF_Regs
|
||||
{
|
||||
CTRL_MachineID machine_id;
|
||||
DMN_Handle process;
|
||||
DMN_Handle module;
|
||||
DMN_Handle thread;
|
||||
DF_Handle window;
|
||||
DF_Handle panel;
|
||||
DF_Handle view;
|
||||
DF_Handle prev_view;
|
||||
DF_Handle dst_panel;
|
||||
DF_Handle cfg_tree;
|
||||
DF_HandleList cfg_tree_list;
|
||||
U64 unwind_count;
|
||||
U64 inline_depth;
|
||||
String8 file_path;
|
||||
TxtPt cursor;
|
||||
TxtPt mark;
|
||||
U128 text_key;
|
||||
TXT_LangKind lang_kind;
|
||||
D_LineList lines;
|
||||
DI_Key dbgi_key;
|
||||
Rng1U64 vaddr_range;
|
||||
Rng1U64 voff_range;
|
||||
U32 pid;
|
||||
B32 force_confirm;
|
||||
B32 prefer_disasm;
|
||||
Dir2 dir2;
|
||||
String8 string;
|
||||
MD_Node * params_tree;
|
||||
OS_Event * os_event;
|
||||
};
|
||||
|
||||
#define df_regs_lit_init_top \
|
||||
.machine_id = df_regs()->machine_id,\
|
||||
.process = df_regs()->process,\
|
||||
.module = df_regs()->module,\
|
||||
.thread = df_regs()->thread,\
|
||||
.window = df_regs()->window,\
|
||||
.panel = df_regs()->panel,\
|
||||
.view = df_regs()->view,\
|
||||
.prev_view = df_regs()->prev_view,\
|
||||
.dst_panel = df_regs()->dst_panel,\
|
||||
.cfg_tree = df_regs()->cfg_tree,\
|
||||
.cfg_tree_list = df_regs()->cfg_tree_list,\
|
||||
.unwind_count = df_regs()->unwind_count,\
|
||||
.inline_depth = df_regs()->inline_depth,\
|
||||
.file_path = df_regs()->file_path,\
|
||||
.cursor = df_regs()->cursor,\
|
||||
.mark = df_regs()->mark,\
|
||||
.text_key = df_regs()->text_key,\
|
||||
.lang_kind = df_regs()->lang_kind,\
|
||||
.lines = df_regs()->lines,\
|
||||
.dbgi_key = df_regs()->dbgi_key,\
|
||||
.vaddr_range = df_regs()->vaddr_range,\
|
||||
.voff_range = df_regs()->voff_range,\
|
||||
.pid = df_regs()->pid,\
|
||||
.force_confirm = df_regs()->force_confirm,\
|
||||
.prefer_disasm = df_regs()->prefer_disasm,\
|
||||
.dir2 = df_regs()->dir2,\
|
||||
.string = df_regs()->string,\
|
||||
.params_tree = df_regs()->params_tree,\
|
||||
.os_event = df_regs()->os_event,\
|
||||
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(null);
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(empty);
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(getting_started);
|
||||
@@ -518,6 +384,7 @@ DF_VIEW_SETUP_FUNCTION_DEF(file_system);
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(system_processes);
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(entity_lister);
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(symbol_lister);
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(target);
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(targets);
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(file_path_map);
|
||||
DF_VIEW_SETUP_FUNCTION_DEF(auto_view_rules);
|
||||
@@ -551,6 +418,7 @@ DF_VIEW_CMD_FUNCTION_DEF(file_system);
|
||||
DF_VIEW_CMD_FUNCTION_DEF(system_processes);
|
||||
DF_VIEW_CMD_FUNCTION_DEF(entity_lister);
|
||||
DF_VIEW_CMD_FUNCTION_DEF(symbol_lister);
|
||||
DF_VIEW_CMD_FUNCTION_DEF(target);
|
||||
DF_VIEW_CMD_FUNCTION_DEF(targets);
|
||||
DF_VIEW_CMD_FUNCTION_DEF(file_path_map);
|
||||
DF_VIEW_CMD_FUNCTION_DEF(auto_view_rules);
|
||||
@@ -584,6 +452,7 @@ DF_VIEW_UI_FUNCTION_DEF(file_system);
|
||||
DF_VIEW_UI_FUNCTION_DEF(system_processes);
|
||||
DF_VIEW_UI_FUNCTION_DEF(entity_lister);
|
||||
DF_VIEW_UI_FUNCTION_DEF(symbol_lister);
|
||||
DF_VIEW_UI_FUNCTION_DEF(target);
|
||||
DF_VIEW_UI_FUNCTION_DEF(targets);
|
||||
DF_VIEW_UI_FUNCTION_DEF(file_path_map);
|
||||
DF_VIEW_UI_FUNCTION_DEF(auto_view_rules);
|
||||
@@ -623,14 +492,14 @@ DF_VIEW_RULE_LINE_STRINGIZE_FUNCTION_DEF(no_addr);
|
||||
DF_VIEW_RULE_ROW_UI_FUNCTION_DEF(checkbox);
|
||||
DF_VIEW_RULE_ROW_UI_FUNCTION_DEF(color_rgba);
|
||||
C_LINKAGE_BEGIN
|
||||
extern Rng1U64 df_reg_slot_range_table[30];
|
||||
extern DF_MsgKindInfo df_msg_kind_info_table[134];
|
||||
extern DF_MsgKindInfo df_d_msg_kind_info_table[36];
|
||||
extern DF_StringBindingPair df_g_default_binding_table[110];
|
||||
extern String8 df_g_binding_version_remap_old_name_table[7];
|
||||
extern String8 df_g_binding_version_remap_new_name_table[7];
|
||||
extern String8 df_g_icon_kind_text_table[69];
|
||||
extern String8 df_view_kind_name_lower_table[33];
|
||||
extern DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[33];
|
||||
extern String8 df_view_kind_name_lower_table[34];
|
||||
extern DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[34];
|
||||
extern DF_IconKind df_cmd_kind_icon_kind_table[221];
|
||||
extern DF_IconKind df_entity_kind_icon_kind_table[28];
|
||||
extern D_CmdParamSlot df_g_cmd_param_slot_2_view_spec_src_map[7];
|
||||
|
||||
Reference in New Issue
Block a user