mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-26 21:44:59 -07:00
checkpoint on pass to majorly simplify debug frontend state, and eliminate df entities, and move from cmds -> msgs
This commit is contained in:
@@ -80,7 +80,7 @@ main_thread_base_entry_point(void (*entry_point)(CmdLine *cmdline), char **argum
|
||||
d_init(&cmdline, hist);
|
||||
#endif
|
||||
#if defined(DBG_FRONTEND_CORE_H) && !defined(DF_INIT_MANUAL)
|
||||
df_init(update_and_render, d_state_delta_history());
|
||||
df_init();
|
||||
#endif
|
||||
|
||||
//- rjf: call into entry point
|
||||
|
||||
+180
-7
@@ -510,6 +510,17 @@ ctrl_event_from_serialized_string(Arena *arena, String8 string)
|
||||
////////////////////////////////
|
||||
//~ rjf: Entity Type Functions
|
||||
|
||||
//- rjf: entity list data structures
|
||||
|
||||
internal void
|
||||
ctrl_entity_list_push(Arena *arena, CTRL_EntityList *list, CTRL_Entity *entity)
|
||||
{
|
||||
CTRL_EntityNode *n = push_array(arena, CTRL_EntityNode, 1);
|
||||
n->v = entity;
|
||||
SLLQueuePush(list->first, list->last, n);
|
||||
list->count += 1;
|
||||
}
|
||||
|
||||
//- rjf: cache creation/destruction
|
||||
|
||||
internal CTRL_EntityStore *
|
||||
@@ -520,6 +531,10 @@ ctrl_entity_store_alloc(void)
|
||||
store->arena = arena;
|
||||
store->hash_slots_count = 1024;
|
||||
store->hash_slots = push_array(arena, CTRL_EntityHashSlot, store->hash_slots_count);
|
||||
for(EachEnumVal(CTRL_EntityKind, k))
|
||||
{
|
||||
store->entity_kind_lists_arenas[k] = arena_alloc();
|
||||
}
|
||||
CTRL_Entity *root = store->root = ctrl_entity_alloc(store, &ctrl_entity_nil, CTRL_EntityKind_Root, Arch_Null, 0, dmn_handle_zero(), 0);
|
||||
CTRL_Entity *local_machine = ctrl_entity_alloc(store, root, CTRL_EntityKind_Machine, arch_from_context(), CTRL_MachineID_Local, dmn_handle_zero(), 0);
|
||||
(void)local_machine;
|
||||
@@ -648,12 +663,13 @@ ctrl_entity_alloc(CTRL_EntityStore *store, CTRL_Entity *parent, CTRL_EntityKind
|
||||
|
||||
// rjf: fill
|
||||
{
|
||||
entity->kind = kind;
|
||||
entity->arch = arch;
|
||||
entity->machine_id = machine_id;
|
||||
entity->handle = handle;
|
||||
entity->id = id;
|
||||
entity->parent = parent;
|
||||
entity->kind = kind;
|
||||
entity->arch = arch;
|
||||
entity->alloc_time_us = os_now_microseconds();
|
||||
entity->machine_id = machine_id;
|
||||
entity->handle = handle;
|
||||
entity->id = id;
|
||||
entity->parent = parent;
|
||||
entity->next = entity->prev = entity->first = entity->last = &ctrl_entity_nil;
|
||||
if(parent != &ctrl_entity_nil)
|
||||
{
|
||||
@@ -692,7 +708,8 @@ ctrl_entity_alloc(CTRL_EntityStore *store, CTRL_Entity *parent, CTRL_EntityKind
|
||||
}
|
||||
}
|
||||
|
||||
// rjf: bump counter
|
||||
// rjf: bump alloc generation / counts
|
||||
store->entity_kind_alloc_gens[kind] += 1;
|
||||
store->entity_kind_counts[kind] += 1;
|
||||
}
|
||||
return entity;
|
||||
@@ -808,6 +825,161 @@ ctrl_entity_child_from_kind(CTRL_Entity *parent, CTRL_EntityKind kind)
|
||||
return result;
|
||||
}
|
||||
|
||||
internal CTRL_Entity *
|
||||
ctrl_entity_ancestor_from_kind(CTRL_Entity *entity, CTRL_EntityKind kind)
|
||||
{
|
||||
CTRL_Entity *result = &ctrl_entity_nil;
|
||||
for(CTRL_Entity *p = entity->parent; p != &ctrl_entity_nil; p = p->parent)
|
||||
{
|
||||
if(p->kind == kind)
|
||||
{
|
||||
result = p;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
internal CTRL_Entity *
|
||||
ctrl_module_from_process_vaddr(CTRL_Entity *process, U64 vaddr)
|
||||
{
|
||||
CTRL_Entity *result = &ctrl_entity_nil;
|
||||
for(CTRL_Entity *child = process->first;
|
||||
child != &ctrl_entity_nil;
|
||||
child = child->next)
|
||||
{
|
||||
if(child->kind == CTRL_EntityKind_Module && contains_1u64(child->vaddr_range, vaddr))
|
||||
{
|
||||
result = child;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
internal DI_Key
|
||||
ctrl_dbgi_key_from_module(CTRL_Entity *module)
|
||||
{
|
||||
CTRL_Entity *debug_info_path = ctrl_entity_child_from_kind(module, CTRL_EntityKind_DebugInfoPath);
|
||||
DI_Key dbgi_key = {debug_info_path->string, debug_info_path->timestamp};
|
||||
return dbgi_key;
|
||||
}
|
||||
|
||||
internal CTRL_EntityList
|
||||
ctrl_modules_from_dbgi_key(Arena *arena, CTRL_EntityStore *store, DI_Key *dbgi_key)
|
||||
{
|
||||
CTRL_EntityList list = {0};
|
||||
CTRL_EntityList all_modules = ctrl_entity_list_from_kind(store, CTRL_EntityKind_Module);
|
||||
for(CTRL_EntityNode *n = all_modules.first; n != 0; n = n->next)
|
||||
{
|
||||
CTRL_Entity *module = n->v;
|
||||
DI_Key module_dbgi_key = ctrl_dbgi_key_from_module(module);
|
||||
if(di_key_match(&module_dbgi_key, dbgi_key))
|
||||
{
|
||||
ctrl_entity_list_push(arena, &list, module);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
internal CTRL_Entity *
|
||||
ctrl_module_from_thread_candidates(CTRL_EntityStore *store, CTRL_Entity *thread, CTRL_EntityList *candidates)
|
||||
{
|
||||
CTRL_Entity *process = ctrl_entity_ancestor_from_kind(thread, CTRL_EntityKind_Process);
|
||||
U64 thread_rip_vaddr = ctrl_query_cached_rip_from_thread(store, thread->machine_id, thread->handle);
|
||||
CTRL_Entity *src_module = ctrl_module_from_process_vaddr(process, thread_rip_vaddr);
|
||||
CTRL_Entity *module = &ctrl_entity_nil;
|
||||
for(CTRL_EntityNode *n = candidates->first; n != 0; n = n->next)
|
||||
{
|
||||
CTRL_Entity *candidate_module = n->v;
|
||||
CTRL_Entity *candidate_process = ctrl_entity_ancestor_from_kind(candidate_module, CTRL_EntityKind_Process);
|
||||
if(candidate_process == process)
|
||||
{
|
||||
module = candidate_module;
|
||||
}
|
||||
if(candidate_module == src_module)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
return module;
|
||||
}
|
||||
|
||||
internal CTRL_EntityList
|
||||
ctrl_entity_list_from_kind(CTRL_EntityStore *store, CTRL_EntityKind kind)
|
||||
{
|
||||
if(store->entity_kind_lists_gens[kind] != store->entity_kind_alloc_gens[kind])
|
||||
{
|
||||
arena_clear(store->entity_kind_lists_arenas[kind]);
|
||||
for(CTRL_Entity *e = store->root;
|
||||
e != &ctrl_entity_nil;
|
||||
e = ctrl_entity_rec_depth_first_pre(e, store->root).next)
|
||||
{
|
||||
if(e->kind == kind)
|
||||
{
|
||||
ctrl_entity_list_push(store->entity_kind_lists_arenas[kind], &store->entity_kind_lists[kind], e);
|
||||
}
|
||||
}
|
||||
store->entity_kind_lists_gens[kind] = store->entity_kind_alloc_gens[kind];
|
||||
}
|
||||
return store->entity_kind_lists[kind];
|
||||
}
|
||||
|
||||
internal U64
|
||||
ctrl_vaddr_from_voff(CTRL_Entity *module, U64 voff)
|
||||
{
|
||||
U64 result = voff + module->vaddr_range.min;
|
||||
return result;
|
||||
}
|
||||
|
||||
internal U64
|
||||
ctrl_voff_from_vaddr(CTRL_Entity *module, U64 vaddr)
|
||||
{
|
||||
U64 result = vaddr - module->vaddr_range.min;
|
||||
return result;
|
||||
}
|
||||
|
||||
internal Rng1U64
|
||||
ctrl_vaddr_range_from_voff_range(CTRL_Entity *module, Rng1U64 voff_range)
|
||||
{
|
||||
U64 dim = dim_1u64(voff_range);
|
||||
U64 min = ctrl_vaddr_from_voff(module, voff_range.min);
|
||||
Rng1U64 result = {min, min+dim};
|
||||
return result;
|
||||
}
|
||||
|
||||
internal Rng1U64
|
||||
ctrl_voff_range_from_vaddr_range(CTRL_Entity *module, Rng1U64 vaddr_range)
|
||||
{
|
||||
U64 dim = dim_1u64(vaddr_range);
|
||||
U64 min = ctrl_voff_from_vaddr(module, vaddr_range.min);
|
||||
Rng1U64 result = {min, min+dim};
|
||||
return result;
|
||||
}
|
||||
|
||||
//- rjf: entity tree iteration
|
||||
|
||||
internal CTRL_EntityRec
|
||||
ctrl_entity_rec_depth_first(CTRL_Entity *entity, CTRL_Entity *subtree_root, U64 sib_off, U64 child_off)
|
||||
{
|
||||
CTRL_EntityRec result = {0};
|
||||
if((*MemberFromOffset(CTRL_Entity **, entity, child_off)) != &ctrl_entity_nil)
|
||||
{
|
||||
result.next = *MemberFromOffset(CTRL_Entity **, entity, child_off);
|
||||
result.push_count = 1;
|
||||
}
|
||||
else for(CTRL_Entity *parent = entity; parent != subtree_root && parent != &ctrl_entity_nil; parent = parent->parent)
|
||||
{
|
||||
if(parent != subtree_root && (*MemberFromOffset(CTRL_Entity **, parent, sib_off)) != &ctrl_entity_nil)
|
||||
{
|
||||
result.next = *MemberFromOffset(CTRL_Entity **, parent, sib_off);
|
||||
break;
|
||||
}
|
||||
result.pop_count += 1;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
//- rjf: applying events to entity caches
|
||||
|
||||
internal void
|
||||
@@ -848,6 +1020,7 @@ ctrl_entity_store_apply_events(CTRL_EntityStore *store, CTRL_EventList *list)
|
||||
{
|
||||
CTRL_Entity *process = ctrl_entity_from_machine_id_handle(store, event->machine_id, event->parent);
|
||||
CTRL_Entity *thread = ctrl_entity_alloc(store, process, CTRL_EntityKind_Thread, event->arch, event->machine_id, event->entity, (U64)event->entity_id);
|
||||
thread->stack_base = event->stack_base;
|
||||
ctrl_query_cached_rip_from_thread(store, event->machine_id, event->entity);
|
||||
}break;
|
||||
case CTRL_EventKind_EndThread:
|
||||
|
||||
@@ -62,16 +62,42 @@ struct CTRL_Entity
|
||||
CTRL_Entity *next;
|
||||
CTRL_Entity *prev;
|
||||
CTRL_Entity *parent;
|
||||
U64 alloc_time_us;
|
||||
CTRL_EntityKind kind;
|
||||
Arch arch;
|
||||
CTRL_MachineID machine_id;
|
||||
DMN_Handle handle;
|
||||
U64 id;
|
||||
Rng1U64 vaddr_range;
|
||||
U64 stack_base;
|
||||
U64 timestamp;
|
||||
U32 rgba_u32;
|
||||
String8 string;
|
||||
};
|
||||
|
||||
typedef struct CTRL_EntityRec CTRL_EntityRec;
|
||||
struct CTRL_EntityRec
|
||||
{
|
||||
CTRL_Entity *next;
|
||||
S32 push_count;
|
||||
S64 pop_count;
|
||||
};
|
||||
|
||||
typedef struct CTRL_EntityNode CTRL_EntityNode;
|
||||
struct CTRL_EntityNode
|
||||
{
|
||||
CTRL_EntityNode *next;
|
||||
CTRL_Entity *v;
|
||||
};
|
||||
|
||||
typedef struct CTRL_EntityList CTRL_EntityList;
|
||||
struct CTRL_EntityList
|
||||
{
|
||||
CTRL_EntityNode *first;
|
||||
CTRL_EntityNode *last;
|
||||
U64 count;
|
||||
};
|
||||
|
||||
typedef struct CTRL_EntityHashNode CTRL_EntityHashNode;
|
||||
struct CTRL_EntityHashNode
|
||||
{
|
||||
@@ -105,6 +131,10 @@ struct CTRL_EntityStore
|
||||
U64 hash_slots_count;
|
||||
CTRL_EntityStringChunkNode *free_string_chunks[8];
|
||||
U64 entity_kind_counts[CTRL_EntityKind_COUNT];
|
||||
Arena *entity_kind_lists_arenas[CTRL_EntityKind_COUNT];
|
||||
U64 entity_kind_lists_gens[CTRL_EntityKind_COUNT];
|
||||
U64 entity_kind_alloc_gens[CTRL_EntityKind_COUNT];
|
||||
CTRL_EntityList entity_kind_lists[CTRL_EntityKind_COUNT];
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
@@ -686,6 +716,9 @@ internal CTRL_Event ctrl_event_from_serialized_string(Arena *arena, String8 stri
|
||||
////////////////////////////////
|
||||
//~ rjf: Entity Type Functions
|
||||
|
||||
//- rjf: entity list data structures
|
||||
internal void ctrl_entity_list_push(Arena *arena, CTRL_EntityList *list, CTRL_Entity *entity);
|
||||
|
||||
//- rjf: cache creation/destruction
|
||||
internal CTRL_EntityStore *ctrl_entity_store_alloc(void);
|
||||
internal void ctrl_entity_store_release(CTRL_EntityStore *store);
|
||||
@@ -705,6 +738,22 @@ internal void ctrl_entity_equip_string(CTRL_EntityStore *store, CTRL_Entity *ent
|
||||
//- rjf: entity store lookups
|
||||
internal CTRL_Entity *ctrl_entity_from_machine_id_handle(CTRL_EntityStore *store, CTRL_MachineID machine_id, DMN_Handle handle);
|
||||
internal CTRL_Entity *ctrl_entity_child_from_kind(CTRL_Entity *parent, CTRL_EntityKind kind);
|
||||
internal CTRL_Entity *ctrl_entity_ancestor_from_kind(CTRL_Entity *entity, CTRL_EntityKind kind);
|
||||
internal CTRL_Entity *ctrl_module_from_process_vaddr(CTRL_Entity *process, U64 vaddr);
|
||||
internal DI_Key ctrl_dbgi_key_from_module(CTRL_Entity *module);
|
||||
internal CTRL_EntityList ctrl_modules_from_dbgi_key(Arena *arena, CTRL_EntityStore *store, DI_Key *dbgi_key);
|
||||
internal CTRL_Entity *ctrl_module_from_thread_candidates(CTRL_EntityStore *store, CTRL_Entity *thread, CTRL_EntityList *candidates);
|
||||
internal CTRL_EntityList ctrl_entity_list_from_kind(CTRL_EntityStore *store, CTRL_EntityKind kind);
|
||||
internal U64 ctrl_vaddr_from_voff(CTRL_Entity *module, U64 voff);
|
||||
internal U64 ctrl_voff_from_vaddr(CTRL_Entity *module, U64 vaddr);
|
||||
internal Rng1U64 ctrl_vaddr_range_from_voff_range(CTRL_Entity *module, Rng1U64 voff_range);
|
||||
internal Rng1U64 ctrl_voff_range_from_vaddr_range(CTRL_Entity *module, Rng1U64 vaddr_range);
|
||||
|
||||
|
||||
//- rjf: entity tree iteration
|
||||
internal CTRL_EntityRec ctrl_entity_rec_depth_first(CTRL_Entity *entity, CTRL_Entity *subtree_root, U64 sib_off, U64 child_off);
|
||||
#define ctrl_entity_rec_depth_first_pre(entity, subtree_root) ctrl_entity_rec_depth_first((entity), (subtree_root), OffsetOf(CTRL_Entity, next), OffsetOf(CTRL_Entity, first))
|
||||
#define ctrl_entity_rec_depth_first_post(entity, subtree_root) ctrl_entity_rec_depth_first((entity), (subtree_root), OffsetOf(CTRL_Entity, prev), OffsetOf(CTRL_Entity, last))
|
||||
|
||||
//- rjf: applying events to entity caches
|
||||
internal void ctrl_entity_store_apply_events(CTRL_EntityStore *store, CTRL_EventList *list);
|
||||
|
||||
@@ -61,11 +61,6 @@ D_EntityKindTable:
|
||||
{WorkingDirectory working_directory working_directories 0 0 0 0 0 0 0 0 1 1 0 "Execution Path" Null "Working Directory" }
|
||||
{EntryPoint entry_point entry_points 0 0 0 0 0 0 0 0 0 1 0 "Symbol Name" Null "Entry Point" }
|
||||
|
||||
//- rjf: frontend containers (windows, panels, views)
|
||||
{Window window windows 1 0 0 0 0 0 1 0 0 1 1 "Label" Window "Window" }
|
||||
{Panel panel panels 1 0 0 0 0 0 1 0 0 1 1 "Label" XSplit "Panel" }
|
||||
{View view views 1 0 0 0 0 0 1 0 0 1 1 "Label" Null "View" }
|
||||
|
||||
//- rjf: recent projects
|
||||
{RecentProject recent_project recent_projects 0 0 0 0 0 0 0 0 1 0 1 "Path" Briefcase "Recent Project" }
|
||||
|
||||
@@ -94,11 +89,11 @@ D_EntityKindTable:
|
||||
@table(c_type name_lower name)
|
||||
D_RegTable:
|
||||
{
|
||||
// rjf: entity slots
|
||||
{D_Handle machine Machine }
|
||||
{D_Handle module Module }
|
||||
{D_Handle process Process }
|
||||
{D_Handle thread Thread }
|
||||
// rjf: entity info
|
||||
{CTRL_MachineID machine_id MachineID }
|
||||
{DMN_Handle process process }
|
||||
{DMN_Handle module module }
|
||||
{DMN_Handle thread thread }
|
||||
{D_Handle window Window }
|
||||
{D_Handle panel Panel }
|
||||
{D_Handle view View }
|
||||
@@ -221,8 +216,6 @@ D_MsgKindTable:
|
||||
{DisableEntity "Disable Entity" disable_entity 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{DisableBreakpoint "Disable Breakpoint" disable_breakpoint 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{DisableTarget "Disable Target" disable_target 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{FreezeEntity "Freeze Entity" freeze_entity 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{ThawEntity "Thaw Entity" thaw_entity 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{RemoveEntity "Remove Entity" remove_entity 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{RemoveBreakpoint "Remove Breakpoint" remove_breakpoint 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{RemoveTarget "Remove Target" remove_target 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
|
||||
+254
-199
File diff suppressed because it is too large
Load Diff
@@ -835,7 +835,7 @@ struct D_UnwindCacheNode
|
||||
U64 reggen;
|
||||
U64 memgen;
|
||||
Arena *arena;
|
||||
D_Handle thread;
|
||||
CTRL_MachineIDHandlePair pair;
|
||||
CTRL_Unwind unwind;
|
||||
};
|
||||
|
||||
@@ -860,7 +860,7 @@ typedef struct D_RunTLSBaseCacheNode D_RunTLSBaseCacheNode;
|
||||
struct D_RunTLSBaseCacheNode
|
||||
{
|
||||
D_RunTLSBaseCacheNode *hash_next;
|
||||
D_Handle process;
|
||||
CTRL_MachineIDHandlePair pair;
|
||||
U64 root_vaddr;
|
||||
U64 rip_vaddr;
|
||||
U64 tls_base_vaddr;
|
||||
@@ -987,6 +987,7 @@ struct D_State
|
||||
D_MsgList msgs;
|
||||
|
||||
// rjf: top-level command batch
|
||||
// TODO(rjf): @msgs
|
||||
Arena *root_cmd_arena;
|
||||
D_CmdList root_cmds;
|
||||
|
||||
@@ -1040,6 +1041,8 @@ struct D_State
|
||||
D_ViewRuleSpec **view_rule_spec_table;
|
||||
|
||||
// rjf: freeze state
|
||||
CTRL_MachineIDHandlePairList frozen_thread_handles;
|
||||
CTRL_MachineIDHandlePairNode *free_frozen_thread_handle_node;
|
||||
D_HandleList frozen_threads;
|
||||
D_HandleNode *free_handle_node;
|
||||
|
||||
@@ -1047,7 +1050,8 @@ struct D_State
|
||||
Arena *ctrl_last_run_arena;
|
||||
D_RunKind ctrl_last_run_kind;
|
||||
U64 ctrl_last_run_frame_idx;
|
||||
D_Handle ctrl_last_run_thread;
|
||||
CTRL_MachineID ctrl_last_run_machine_id;
|
||||
DMN_Handle ctrl_last_run_thread;
|
||||
CTRL_RunFlags ctrl_last_run_flags;
|
||||
CTRL_TrapList ctrl_last_run_traps;
|
||||
U128 ctrl_last_run_param_state_hash;
|
||||
@@ -1299,7 +1303,7 @@ internal D_Entity *d_entity_from_u64_and_kind(U64 u64, D_EntityKind kind);
|
||||
|
||||
//- rjf: entity freezing state
|
||||
internal void d_set_thread_freeze_state(D_Entity *thread, B32 frozen);
|
||||
internal B32 d_entity_is_frozen(D_Entity *entity);
|
||||
internal B32 d_entity_is_frozen(CTRL_Entity *entity);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Command Stateful Functions
|
||||
@@ -1319,9 +1323,9 @@ internal D_ViewRuleSpec *d_view_rule_spec_from_string(String8 string);
|
||||
////////////////////////////////
|
||||
//~ rjf: Stepping "Trap Net" Builders
|
||||
|
||||
internal CTRL_TrapList d_trap_net_from_thread__step_over_inst(Arena *arena, D_Entity *thread);
|
||||
internal CTRL_TrapList d_trap_net_from_thread__step_over_line(Arena *arena, D_Entity *thread);
|
||||
internal CTRL_TrapList d_trap_net_from_thread__step_into_line(Arena *arena, D_Entity *thread);
|
||||
internal CTRL_TrapList d_trap_net_from_thread__step_over_inst(Arena *arena, CTRL_Entity *thread);
|
||||
internal CTRL_TrapList d_trap_net_from_thread__step_over_line(Arena *arena, CTRL_Entity *thread);
|
||||
internal CTRL_TrapList d_trap_net_from_thread__step_into_line(Arena *arena, CTRL_Entity *thread);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Modules & Debug Info Mappings
|
||||
@@ -1342,7 +1346,7 @@ internal Rng1U64 d_vaddr_range_from_voff_range(D_Entity *module, Rng1U64 voff_rn
|
||||
|
||||
//- rjf: voff|vaddr -> symbol lookups
|
||||
internal String8 d_symbol_name_from_dbgi_key_voff(Arena *arena, DI_Key *dbgi_key, U64 voff, B32 decorated);
|
||||
internal String8 d_symbol_name_from_process_vaddr(Arena *arena, D_Entity *process, U64 vaddr, B32 decorated);
|
||||
internal String8 d_symbol_name_from_process_vaddr(Arena *arena, CTRL_Entity *process, U64 vaddr, B32 decorated);
|
||||
|
||||
//- rjf: symbol -> voff lookups
|
||||
internal U64 d_voff_from_dbgi_key_symbol_name(DI_Key *dbgi_key, String8 symbol_name);
|
||||
@@ -1360,13 +1364,13 @@ internal D_LineList d_lines_from_file_path_line_num(Arena *arena, String8 file_p
|
||||
|
||||
internal D_Entity *d_module_from_process_vaddr(D_Entity *process, U64 vaddr);
|
||||
internal D_Entity *d_module_from_thread(D_Entity *thread);
|
||||
internal U64 d_tls_base_vaddr_from_process_root_rip(D_Entity *process, U64 root_vaddr, U64 rip_vaddr);
|
||||
internal U64 d_tls_base_vaddr_from_process_root_rip(CTRL_Entity *process, U64 root_vaddr, U64 rip_vaddr);
|
||||
internal Arch d_arch_from_entity(D_Entity *entity);
|
||||
internal E_String2NumMap *d_push_locals_map_from_dbgi_key_voff(Arena *arena, DI_Scope *scope, DI_Key *dbgi_key, U64 voff);
|
||||
internal E_String2NumMap *d_push_member_map_from_dbgi_key_voff(Arena *arena, DI_Scope *scope, DI_Key *dbgi_key, U64 voff);
|
||||
internal B32 d_set_thread_rip(D_Entity *thread, U64 vaddr);
|
||||
internal D_Entity *d_module_from_thread_candidates(D_Entity *thread, D_EntityList *candidates);
|
||||
internal D_Unwind d_unwind_from_ctrl_unwind(Arena *arena, DI_Scope *di_scope, D_Entity *process, CTRL_Unwind *base_unwind);
|
||||
internal D_Unwind d_unwind_from_ctrl_unwind(Arena *arena, DI_Scope *di_scope, CTRL_Entity *process, CTRL_Unwind *base_unwind);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Target Controls
|
||||
@@ -1378,7 +1382,7 @@ internal U128 d_hash_from_ctrl_param_state(void);
|
||||
internal void d_push_ctrl_msg(CTRL_Msg *msg);
|
||||
|
||||
//- rjf: control thread running
|
||||
internal void d_ctrl_run(D_RunKind run, D_Entity *run_thread, CTRL_RunFlags flags, CTRL_TrapList *run_traps);
|
||||
internal void d_ctrl_run(D_RunKind run, CTRL_Entity *run_thread, CTRL_RunFlags flags, CTRL_TrapList *run_traps);
|
||||
|
||||
//- rjf: stopped info from the control thread
|
||||
internal CTRL_Event d_ctrl_last_stop_event(void);
|
||||
@@ -1387,8 +1391,8 @@ internal CTRL_Event d_ctrl_last_stop_event(void);
|
||||
//~ rjf: Evaluation Spaces
|
||||
|
||||
//- rjf: entity <-> eval space
|
||||
internal D_Entity *d_entity_from_eval_space(E_Space space);
|
||||
internal E_Space d_eval_space_from_entity(D_Entity *entity);
|
||||
internal CTRL_Entity *d_entity_from_eval_space(E_Space space);
|
||||
internal E_Space d_eval_space_from_entity(CTRL_Entity *entity);
|
||||
|
||||
//- rjf: eval space reads/writes
|
||||
internal B32 d_eval_space_read(void *u, E_Space space, void *out, Rng1U64 range);
|
||||
@@ -1504,6 +1508,14 @@ internal D_Regs *d_push_regs(void);
|
||||
internal D_Regs *d_pop_regs(void);
|
||||
#define D_RegsScope DeferLoop(d_push_regs(), d_pop_regs())
|
||||
|
||||
//- rjf: register setting helpers
|
||||
internal void d_regs_set_thread(CTRL_Entity *thread);
|
||||
|
||||
//- rjf: register accessing helpers
|
||||
internal CTRL_Entity *d_regs_process(void);
|
||||
internal CTRL_Entity *d_regs_thread(void);
|
||||
internal CTRL_Entity *d_regs_module(void);
|
||||
|
||||
//- rjf: undo/redo history
|
||||
internal D_StateDeltaHistory *d_state_delta_history(void);
|
||||
|
||||
@@ -1521,7 +1533,7 @@ internal D_CfgTable *d_cfg_table(void);
|
||||
//- rjf: config serialization
|
||||
internal String8 d_cfg_escaped_from_raw_string(Arena *arena, String8 string);
|
||||
internal String8 d_cfg_raw_from_escaped_string(Arena *arena, String8 string);
|
||||
internal String8List d_cfg_strings_from_core(Arena *arena, String8 root_path, D_CfgSrc source);
|
||||
internal String8List d_cfg_strings_from_state(Arena *arena, String8 root_path, D_CfgSrc source);
|
||||
internal void d_cfg_push_write_string(D_CfgSrc src, String8 string);
|
||||
|
||||
//- rjf: current path
|
||||
@@ -1538,10 +1550,10 @@ internal D_EntityList d_push_active_target_list(Arena *arena);
|
||||
internal D_Entity *d_entity_from_expand_key_and_kind(D_ExpandKey key, D_EntityKind kind);
|
||||
|
||||
//- rjf: per-run caches
|
||||
internal CTRL_Unwind d_query_cached_unwind_from_thread(D_Entity *thread);
|
||||
internal U64 d_query_cached_rip_from_thread(D_Entity *thread);
|
||||
internal U64 d_query_cached_rip_from_thread_unwind(D_Entity *thread, U64 unwind_count);
|
||||
internal U64 d_query_cached_tls_base_vaddr_from_process_root_rip(D_Entity *process, U64 root_vaddr, U64 rip_vaddr);
|
||||
internal CTRL_Unwind d_query_cached_unwind_from_thread(CTRL_Entity *thread);
|
||||
internal U64 d_query_cached_rip_from_thread(CTRL_Entity *thread);
|
||||
internal U64 d_query_cached_rip_from_thread_unwind(CTRL_Entity *thread, U64 unwind_count);
|
||||
internal U64 d_query_cached_tls_base_vaddr_from_process_root_rip(CTRL_Entity *process, U64 root_vaddr, U64 rip_vaddr);
|
||||
internal E_String2NumMap *d_query_cached_locals_map_from_dbgi_key_voff(DI_Key *dbgi_key, U64 voff);
|
||||
internal E_String2NumMap *d_query_cached_member_map_from_dbgi_key_voff(DI_Key *dbgi_key, U64 voff);
|
||||
|
||||
|
||||
@@ -7,10 +7,10 @@ C_LINKAGE_BEGIN
|
||||
Rng1U64 d_reg_slot_range_table[29] =
|
||||
{
|
||||
{0},
|
||||
{OffsetOf(D_Regs, machine), OffsetOf(D_Regs, machine) + sizeof(D_Handle)},
|
||||
{OffsetOf(D_Regs, module), OffsetOf(D_Regs, module) + sizeof(D_Handle)},
|
||||
{OffsetOf(D_Regs, process), OffsetOf(D_Regs, process) + sizeof(D_Handle)},
|
||||
{OffsetOf(D_Regs, thread), OffsetOf(D_Regs, thread) + sizeof(D_Handle)},
|
||||
{OffsetOf(D_Regs, machine_id), OffsetOf(D_Regs, machine_id) + sizeof(CTRL_MachineID)},
|
||||
{OffsetOf(D_Regs, process), OffsetOf(D_Regs, process) + sizeof(DMN_Handle)},
|
||||
{OffsetOf(D_Regs, module), OffsetOf(D_Regs, module) + sizeof(DMN_Handle)},
|
||||
{OffsetOf(D_Regs, thread), OffsetOf(D_Regs, thread) + sizeof(DMN_Handle)},
|
||||
{OffsetOf(D_Regs, window), OffsetOf(D_Regs, window) + sizeof(D_Handle)},
|
||||
{OffsetOf(D_Regs, panel), OffsetOf(D_Regs, panel) + sizeof(D_Handle)},
|
||||
{OffsetOf(D_Regs, view), OffsetOf(D_Regs, view) + sizeof(D_Handle)},
|
||||
@@ -37,7 +37,7 @@ Rng1U64 d_reg_slot_range_table[29] =
|
||||
{OffsetOf(D_Regs, params_tree), OffsetOf(D_Regs, params_tree) + sizeof(MD_Node *)},
|
||||
};
|
||||
|
||||
String8 d_msg_kind_name_lower_table[71] =
|
||||
String8 d_msg_kind_name_lower_table[69] =
|
||||
{
|
||||
str8_lit_comp("null"),
|
||||
str8_lit_comp("launch_and_run"),
|
||||
@@ -84,8 +84,6 @@ str8_lit_comp("enable_target"),
|
||||
str8_lit_comp("disable_entity"),
|
||||
str8_lit_comp("disable_breakpoint"),
|
||||
str8_lit_comp("disable_target"),
|
||||
str8_lit_comp("freeze_entity"),
|
||||
str8_lit_comp("thaw_entity"),
|
||||
str8_lit_comp("remove_entity"),
|
||||
str8_lit_comp("remove_breakpoint"),
|
||||
str8_lit_comp("remove_target"),
|
||||
@@ -112,7 +110,7 @@ str8_lit_comp("register_as_jit_debugger"),
|
||||
str8_lit_comp("log_marker"),
|
||||
};
|
||||
|
||||
String8 d_msg_kind_name_display_table[71] =
|
||||
String8 d_msg_kind_name_display_table[69] =
|
||||
{
|
||||
str8_lit_comp("null"),
|
||||
str8_lit_comp("launch_and_run"),
|
||||
@@ -159,8 +157,6 @@ str8_lit_comp("enable_target"),
|
||||
str8_lit_comp("disable_entity"),
|
||||
str8_lit_comp("disable_breakpoint"),
|
||||
str8_lit_comp("disable_target"),
|
||||
str8_lit_comp("freeze_entity"),
|
||||
str8_lit_comp("thaw_entity"),
|
||||
str8_lit_comp("remove_entity"),
|
||||
str8_lit_comp("remove_breakpoint"),
|
||||
str8_lit_comp("remove_target"),
|
||||
@@ -215,7 +211,7 @@ Rng1U64 d_cmd_param_slot_range_table[24] =
|
||||
{OffsetOf(D_CmdParams, inline_depth), OffsetOf(D_CmdParams, inline_depth) + sizeof(U64)},
|
||||
};
|
||||
|
||||
String8 d_entity_kind_display_string_table[31] =
|
||||
String8 d_entity_kind_display_string_table[28] =
|
||||
{
|
||||
str8_lit_comp("Nil"),
|
||||
str8_lit_comp("Root"),
|
||||
@@ -234,9 +230,6 @@ str8_lit_comp("Executable"),
|
||||
str8_lit_comp("Arguments"),
|
||||
str8_lit_comp("Working Directory"),
|
||||
str8_lit_comp("Entry Point"),
|
||||
str8_lit_comp("Window"),
|
||||
str8_lit_comp("Panel"),
|
||||
str8_lit_comp("View"),
|
||||
str8_lit_comp("Recent Project"),
|
||||
str8_lit_comp("Source"),
|
||||
str8_lit_comp("Destination"),
|
||||
@@ -250,7 +243,7 @@ str8_lit_comp("Conversion Failure"),
|
||||
str8_lit_comp("EndedProcess"),
|
||||
};
|
||||
|
||||
String8 d_entity_kind_name_lower_table[31] =
|
||||
String8 d_entity_kind_name_lower_table[28] =
|
||||
{
|
||||
str8_lit_comp("nil"),
|
||||
str8_lit_comp("root"),
|
||||
@@ -269,9 +262,6 @@ str8_lit_comp("executable"),
|
||||
str8_lit_comp("arguments"),
|
||||
str8_lit_comp("working_directory"),
|
||||
str8_lit_comp("entry_point"),
|
||||
str8_lit_comp("window"),
|
||||
str8_lit_comp("panel"),
|
||||
str8_lit_comp("view"),
|
||||
str8_lit_comp("recent_project"),
|
||||
str8_lit_comp("source"),
|
||||
str8_lit_comp("dest"),
|
||||
@@ -285,7 +275,7 @@ str8_lit_comp("conversion_fail"),
|
||||
str8_lit_comp("ended_process"),
|
||||
};
|
||||
|
||||
String8 d_entity_kind_name_lower_plural_table[31] =
|
||||
String8 d_entity_kind_name_lower_plural_table[28] =
|
||||
{
|
||||
str8_lit_comp("nils"),
|
||||
str8_lit_comp("roots"),
|
||||
@@ -304,9 +294,6 @@ str8_lit_comp("executables"),
|
||||
str8_lit_comp("argumentses"),
|
||||
str8_lit_comp("working_directories"),
|
||||
str8_lit_comp("entry_points"),
|
||||
str8_lit_comp("windows"),
|
||||
str8_lit_comp("panels"),
|
||||
str8_lit_comp("views"),
|
||||
str8_lit_comp("recent_projects"),
|
||||
str8_lit_comp("sources"),
|
||||
str8_lit_comp("dests"),
|
||||
@@ -320,7 +307,7 @@ str8_lit_comp("conversion_fails"),
|
||||
str8_lit_comp("ended_processes"),
|
||||
};
|
||||
|
||||
String8 d_entity_kind_name_label_table[31] =
|
||||
String8 d_entity_kind_name_label_table[28] =
|
||||
{
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
@@ -339,9 +326,6 @@ str8_lit_comp("Executable"),
|
||||
str8_lit_comp("Arguments"),
|
||||
str8_lit_comp("Execution Path"),
|
||||
str8_lit_comp("Symbol Name"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
str8_lit_comp("Path"),
|
||||
str8_lit_comp("Path"),
|
||||
str8_lit_comp("Path"),
|
||||
@@ -355,7 +339,7 @@ str8_lit_comp("Label"),
|
||||
str8_lit_comp("Label"),
|
||||
};
|
||||
|
||||
D_EntityKindFlags d_entity_kind_flags_table[31] =
|
||||
D_EntityKindFlags d_entity_kind_flags_table[28] =
|
||||
{
|
||||
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (0*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (0*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
|
||||
@@ -374,9 +358,6 @@ D_EntityKindFlags d_entity_kind_flags_table[31] =
|
||||
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (1*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (1*D_EntityKindFlag_NameIsPath) | (1*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (1*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (1*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (1*D_EntityKindFlag_UserDefinedLifetime) | (1*D_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (1*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (1*D_EntityKindFlag_UserDefinedLifetime) | (1*D_EntityKindFlag_IsSerializedToConfig),
|
||||
(1*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (1*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (1*D_EntityKindFlag_UserDefinedLifetime) | (1*D_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (1*D_EntityKindFlag_NameIsPath) | (0*D_EntityKindFlag_UserDefinedLifetime) | (1*D_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (0*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
|
||||
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (0*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
typedef enum D_RegSlot
|
||||
{
|
||||
D_RegSlot_Null,
|
||||
D_RegSlot_Machine,
|
||||
D_RegSlot_Module,
|
||||
D_RegSlot_Process,
|
||||
D_RegSlot_Thread,
|
||||
D_RegSlot_MachineID,
|
||||
D_RegSlot_process,
|
||||
D_RegSlot_module,
|
||||
D_RegSlot_thread,
|
||||
D_RegSlot_Window,
|
||||
D_RegSlot_Panel,
|
||||
D_RegSlot_View,
|
||||
@@ -87,8 +87,6 @@ D_MsgKind_EnableTarget,
|
||||
D_MsgKind_DisableEntity,
|
||||
D_MsgKind_DisableBreakpoint,
|
||||
D_MsgKind_DisableTarget,
|
||||
D_MsgKind_FreezeEntity,
|
||||
D_MsgKind_ThawEntity,
|
||||
D_MsgKind_RemoveEntity,
|
||||
D_MsgKind_RemoveBreakpoint,
|
||||
D_MsgKind_RemoveTarget,
|
||||
@@ -144,9 +142,6 @@ D_EntityKind_Executable,
|
||||
D_EntityKind_Arguments,
|
||||
D_EntityKind_WorkingDirectory,
|
||||
D_EntityKind_EntryPoint,
|
||||
D_EntityKind_Window,
|
||||
D_EntityKind_Panel,
|
||||
D_EntityKind_View,
|
||||
D_EntityKind_RecentProject,
|
||||
D_EntityKind_Source,
|
||||
D_EntityKind_Dest,
|
||||
@@ -445,10 +440,10 @@ D_CmdParamSlot_COUNT,
|
||||
typedef struct D_Regs D_Regs;
|
||||
struct D_Regs
|
||||
{
|
||||
D_Handle machine;
|
||||
D_Handle module;
|
||||
D_Handle process;
|
||||
D_Handle thread;
|
||||
CTRL_MachineID machine_id;
|
||||
DMN_Handle process;
|
||||
DMN_Handle module;
|
||||
DMN_Handle thread;
|
||||
D_Handle window;
|
||||
D_Handle panel;
|
||||
D_Handle view;
|
||||
@@ -504,9 +499,9 @@ U64 inline_depth;
|
||||
};
|
||||
|
||||
#define d_regs_lit_init_top \
|
||||
.machine = d_regs()->machine,\
|
||||
.module = d_regs()->module,\
|
||||
.machine_id = d_regs()->machine_id,\
|
||||
.process = d_regs()->process,\
|
||||
.module = d_regs()->module,\
|
||||
.thread = d_regs()->thread,\
|
||||
.window = d_regs()->window,\
|
||||
.panel = d_regs()->panel,\
|
||||
@@ -573,14 +568,14 @@ struct {B32 *value_ptr; String8 name;} DEV_toggle_table[] =
|
||||
};
|
||||
C_LINKAGE_BEGIN
|
||||
extern Rng1U64 d_reg_slot_range_table[29];
|
||||
extern String8 d_msg_kind_name_lower_table[71];
|
||||
extern String8 d_msg_kind_name_display_table[71];
|
||||
extern String8 d_msg_kind_name_lower_table[69];
|
||||
extern String8 d_msg_kind_name_display_table[69];
|
||||
extern Rng1U64 d_cmd_param_slot_range_table[24];
|
||||
extern String8 d_entity_kind_display_string_table[31];
|
||||
extern String8 d_entity_kind_name_lower_table[31];
|
||||
extern String8 d_entity_kind_name_lower_plural_table[31];
|
||||
extern String8 d_entity_kind_name_label_table[31];
|
||||
extern D_EntityKindFlags d_entity_kind_flags_table[31];
|
||||
extern String8 d_entity_kind_display_string_table[28];
|
||||
extern String8 d_entity_kind_name_lower_table[28];
|
||||
extern String8 d_entity_kind_name_lower_plural_table[28];
|
||||
extern String8 d_entity_kind_name_label_table[28];
|
||||
extern D_EntityKindFlags d_entity_kind_flags_table[28];
|
||||
extern String8 d_cfg_src_string_table[4];
|
||||
extern D_CmdKind d_cfg_src_load_cmd_kind_table[4];
|
||||
extern D_CmdKind d_cfg_src_write_cmd_kind_table[4];
|
||||
|
||||
@@ -15,10 +15,10 @@ DF_MsgKindTable:
|
||||
{ToggleDevMenu toggle_dev_menu 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
|
||||
//- rjf: config reading/writing
|
||||
{ApplyUserData apply_user_data 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{ApplyProjectData apply_project_data 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{WriteUserData write_user_data 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{WriteProjectData write_project_data 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{LoadUser load_user_data 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{LoadProject load_project_data 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{SaveUser save_user_data 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{SaveProject save_project_data 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
|
||||
//- rjf: windows
|
||||
{OpenWindow open_window 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
@@ -111,6 +111,55 @@ DF_MsgKindTable:
|
||||
{GoToAddress go_to_address 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{CenterCursor center_cursor 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{ContainCursor contain_cursor 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
|
||||
//- rjf: meta controls
|
||||
{Edit edit 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{Accept accept 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{Cancel cancel 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
|
||||
//- rjf: directional movement & text controls
|
||||
{MoveLeft move_left 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveRight move_right 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveUp move_up 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveDown move_down 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveLeftSelect move_left_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveRightSelect move_right_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveUpSelect move_up_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveDownSelect move_down_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveLeftChunk move_left_chunk 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveRightChunk move_right_chunk 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveUpChunk move_up_chunk 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveDownChunk move_down_chunk 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveUpPage move_up_page 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveDownPage move_down_page 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveUpWhole move_up_whole 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveDownWhole move_down_whole 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveLeftChunkSelect move_left_chunk_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveRightChunkSelect move_right_chunk_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveUpChunkSelect move_up_chunk_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveDownChunkSelect move_down_chunk_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveUpPageSelect move_up_page_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveDownPageSelect move_down_page_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveUpWholeSelect move_up_whole_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveDownWholeSelect move_down_whole_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveUpReorder move_up_reorder 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveDownReorder move_down_reorder 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveHome move_home 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveEnd move_end 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveHomeSelect move_home_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{MoveEndSelect move_end_select 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{SelectAll select_all 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{DeleteSingle delete_single 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{DeleteChunk delete_chunk 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{BackspaceSingle backspace_single 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{BackspaceChunk backspace_chunk 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{Copy copy 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{Cut cut 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{Paste paste 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
{InsertText insert_text 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
|
||||
//- rjf: os event passthrough
|
||||
{OSEvent os_event 0 0 Null Nil 0 0 0 0 0 0 Null ""}
|
||||
}
|
||||
|
||||
@enum DF_MsgKind:
|
||||
@@ -119,19 +168,14 @@ DF_MsgKindTable:
|
||||
COUNT
|
||||
}
|
||||
|
||||
@data(String8) df_msg_kind_name_lower_table:
|
||||
{
|
||||
@expand(DF_MsgKindTable a) `str8_lit_comp("$(a.name_lower)")`
|
||||
}
|
||||
|
||||
@data(DF_MsgKindInfo) df_msg_kind_info_table:
|
||||
{
|
||||
@expand(DF_MsgKindTable a) `{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.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(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)}}`
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
|
||||
@@ -441,6 +441,7 @@ df_prefer_dasm_from_window(DF_Window *window)
|
||||
return result;
|
||||
}
|
||||
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
internal D_CmdParams
|
||||
df_cmd_params_from_window(DF_Window *window)
|
||||
{
|
||||
@@ -483,6 +484,8 @@ df_cmd_params_from_view(DF_Window *window, DF_Panel *panel, DF_View *view)
|
||||
return p;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
internal D_CmdParams
|
||||
df_cmd_params_copy(Arena *arena, D_CmdParams *src)
|
||||
{
|
||||
@@ -1123,6 +1126,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
//////////////////////////////
|
||||
//- rjf: auto-close tabs which have parameter entities that've been deleted
|
||||
//
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
for(DF_Panel *panel = ws->root_panel;
|
||||
!df_panel_is_nil(panel);
|
||||
panel = df_panel_rec_df_pre(panel).next)
|
||||
@@ -1140,6 +1144,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
//////////////////////////////
|
||||
//- rjf: do core-layer commands & batch up commands to be dispatched to views
|
||||
@@ -2055,22 +2060,22 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
}
|
||||
if(range.min.line == range.max.line && ui_clicked(df_icon_buttonf(DF_IconKind_RightArrow, 0, "Set Next Statement")))
|
||||
{
|
||||
D_Entity *thread = d_entity_from_handle(d_regs()->thread);
|
||||
CTRL_Entity *thread = ctrl_entity_from_machine_id_handle(d_state->ctrl_entity_store, d_regs()->machine_id, d_regs()->thread);
|
||||
U64 new_rip_vaddr = ws->code_ctx_menu_vaddr;
|
||||
if(ws->code_ctx_menu_file_path.size != 0)
|
||||
{
|
||||
for(D_LineNode *n = lines.first; n != 0; n = n->next)
|
||||
{
|
||||
D_EntityList modules = d_modules_from_dbgi_key(scratch.arena, &n->v.dbgi_key);
|
||||
D_Entity *module = d_module_from_thread_candidates(thread, &modules);
|
||||
if(!d_entity_is_nil(module))
|
||||
CTRL_EntityList modules = ctrl_modules_from_dbgi_key(scratch.arena, d_state->ctrl_entity_store, &n->v.dbgi_key);
|
||||
CTRL_Entity *module = ctrl_module_from_thread_candidates(d_state->ctrl_entity_store, thread, &modules);
|
||||
if(module != &ctrl_entity_nil)
|
||||
{
|
||||
new_rip_vaddr = d_vaddr_from_voff(module, n->v.voff_range.min);
|
||||
new_rip_vaddr = ctrl_vaddr_from_voff(module, n->v.voff_range.min);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
d_cmd(D_CmdKind_SetThreadIP, .entity = d_handle_from_entity(thread), .vaddr = new_rip_vaddr);
|
||||
d_msg(D_MsgKind_SetThreadIP, .vaddr_range = r1u64(new_rip_vaddr, new_rip_vaddr));
|
||||
ui_ctx_menu_close();
|
||||
}
|
||||
if(range.min.line == range.max.line && ui_clicked(df_icon_buttonf(DF_IconKind_Play, 0, "Run To Line")))
|
||||
@@ -2078,10 +2083,12 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
if(ws->code_ctx_menu_file_path.size != 0)
|
||||
{
|
||||
d_cmd(D_CmdKind_RunToLine, .file_path = ws->code_ctx_menu_file_path, .text_point = range.min);
|
||||
d_msg(D_MsgKind_RunToLine, .file_path = ws->code_ctx_menu_file_path, .cursor = range.min);
|
||||
}
|
||||
else
|
||||
{
|
||||
d_cmd(D_CmdKind_RunToAddress, .vaddr = ws->code_ctx_menu_vaddr);
|
||||
d_msg(D_MsgKind_RunToAddress, .vaddr_range = r1u64(ws->code_ctx_menu_vaddr, ws->code_ctx_menu_vaddr));
|
||||
}
|
||||
ui_ctx_menu_close();
|
||||
}
|
||||
@@ -2101,6 +2108,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
}
|
||||
String8 expr = str8_substr(data, expr_off_range);
|
||||
d_cmd(D_CmdKind_GoToName, .string = expr);
|
||||
df_msg(DF_MsgKind_GoToName, .string = expr);
|
||||
ui_ctx_menu_close();
|
||||
}
|
||||
if(range.min.line == range.max.line && ui_clicked(df_icon_buttonf(DF_IconKind_CircleFilled, 0, "Toggle Breakpoint")))
|
||||
@@ -2141,19 +2149,19 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
}
|
||||
if(ws->code_ctx_menu_file_path.size != 0 && range.min.line == range.max.line && ui_clicked(df_icon_buttonf(DF_IconKind_FileOutline, 0, "Go To Disassembly")))
|
||||
{
|
||||
D_Entity *thread = d_entity_from_handle(d_regs()->thread);
|
||||
CTRL_Entity *thread = ctrl_entity_from_machine_id_handle(d_state->ctrl_entity_store, d_regs()->machine_id, d_regs()->thread);
|
||||
U64 vaddr = 0;
|
||||
for(D_LineNode *n = lines.first; n != 0; n = n->next)
|
||||
{
|
||||
D_EntityList modules = d_modules_from_dbgi_key(scratch.arena, &n->v.dbgi_key);
|
||||
D_Entity *module = d_module_from_thread_candidates(thread, &modules);
|
||||
if(!d_entity_is_nil(module))
|
||||
CTRL_EntityList modules = ctrl_modules_from_dbgi_key(scratch.arena, d_state->ctrl_entity_store, &n->v.dbgi_key);
|
||||
CTRL_Entity *module = ctrl_module_from_thread_candidates(d_state->ctrl_entity_store, thread, &modules);
|
||||
if(module != &ctrl_entity_nil)
|
||||
{
|
||||
vaddr = d_vaddr_from_voff(module, n->v.voff_range.min);
|
||||
vaddr = ctrl_vaddr_from_voff(module, n->v.voff_range.min);
|
||||
break;
|
||||
}
|
||||
}
|
||||
d_cmd(D_CmdKind_FindCodeLocation, .entity = d_handle_from_entity(thread), .vaddr = vaddr);
|
||||
df_msg(DF_MsgKind_FindCodeLocation, .vaddr_range = r1u64(vaddr, vaddr));
|
||||
ui_ctx_menu_close();
|
||||
}
|
||||
hs_scope_close(hs_scope);
|
||||
@@ -2161,6 +2169,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
}
|
||||
|
||||
//- rjf: entity menu
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
UI_CtxMenu(df_state->entity_ctx_menu_key)
|
||||
UI_PrefWidth(ui_em(40.f, 1.f))
|
||||
DF_Palette(DF_PaletteCode_ImplicitButton)
|
||||
@@ -2333,7 +2342,9 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
// rjf: freezing
|
||||
if(kind_flags & D_EntityKindFlag_CanFreeze)
|
||||
{
|
||||
B32 is_frozen = d_entity_is_frozen(entity);
|
||||
// TODO(rjf): @msgs
|
||||
#if 0
|
||||
d_entity_is_frozen(entity);
|
||||
ui_set_next_palette(df_palette_from_code(is_frozen ? DF_PaletteCode_NegativePopButton : DF_PaletteCode_PositivePopButton));
|
||||
if(is_frozen && ui_clicked(df_icon_buttonf(DF_IconKind_Locked, 0, "Thaw###freeze_thaw")))
|
||||
{
|
||||
@@ -2343,6 +2354,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
{
|
||||
d_cmd(D_CmdKind_FreezeEntity, .entity = d_handle_from_entity(entity));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
// rjf: go-to-location
|
||||
@@ -2589,6 +2601,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
//- rjf: auto-close tab ctx menu
|
||||
if(ui_ctx_menu_is_open(df_state->tab_ctx_menu_key))
|
||||
@@ -2796,12 +2809,12 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
Temp scratch = scratch_begin(&arena, 1);
|
||||
|
||||
//- rjf: unpack lister params
|
||||
D_Entity *thread = d_entity_from_handle(d_base_regs()->thread);
|
||||
CTRL_Entity *thread = d_regs_thread();
|
||||
U64 thread_rip_vaddr = d_query_cached_rip_from_thread_unwind(thread, d_base_regs()->unwind_count);
|
||||
D_Entity *process = d_entity_ancestor_from_kind(thread, D_EntityKind_Process);
|
||||
D_Entity *module = d_module_from_process_vaddr(process, thread_rip_vaddr);
|
||||
U64 thread_rip_voff = d_voff_from_vaddr(module, thread_rip_vaddr);
|
||||
DI_Key dbgi_key = d_dbgi_key_from_module(module);
|
||||
CTRL_Entity *process = ctrl_entity_ancestor_from_kind(thread, D_EntityKind_Process);
|
||||
CTRL_Entity *module = ctrl_module_from_process_vaddr(process, thread_rip_vaddr);
|
||||
U64 thread_rip_voff = ctrl_voff_from_vaddr(module, thread_rip_vaddr);
|
||||
DI_Key dbgi_key = ctrl_dbgi_key_from_module(module);
|
||||
|
||||
//- rjf: gather lister items
|
||||
DF_AutoCompListerItemChunkList item_list = {0};
|
||||
@@ -2842,7 +2855,8 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
//- rjf: gather registers
|
||||
if(ws->autocomp_lister_params.flags & DF_AutoCompListerFlag_Registers)
|
||||
{
|
||||
Arch arch = d_arch_from_entity(thread);
|
||||
CTRL_Entity *thread = d_regs_thread();
|
||||
Arch arch = thread->arch;
|
||||
U64 reg_names_count = regs_reg_code_count_from_arch(arch);
|
||||
U64 alias_names_count = regs_alias_code_count_from_arch(arch);
|
||||
String8 *reg_names = regs_reg_code_string_table_from_arch(arch);
|
||||
@@ -4239,12 +4253,30 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
if(((ui_is_focus_active() || (window_is_focused && !ui_any_ctx_menu_is_open() && !ws->menu_bar_focused && !ws->query_view_selected)) &&
|
||||
ui_slot_press(UI_EventActionSlot_Cancel)) || query_cancelled)
|
||||
{
|
||||
df_msg(DF_MsgKind_CancelQuery);
|
||||
d_cmd(D_CmdKind_CancelQuery);
|
||||
}
|
||||
if((ui_is_focus_active() && ui_slot_press(UI_EventActionSlot_Accept)) || query_completed)
|
||||
{
|
||||
Temp scratch = scratch_begin(&arena, 1);
|
||||
DF_View *view = ws->query_view_stack_top;
|
||||
D_Regs *regs = ws->query_msg_regs;
|
||||
D_RegsScope
|
||||
{
|
||||
d_regs_copy_contents(scratch.arena, d_regs(), regs);
|
||||
df_regs_set_from_query_slot_string(ws->query_msg_query.slot, str8(view->query_buffer, view->query_string_size));
|
||||
D_MsgKind d_kind = d_msg_kind_from_string(ws->query_msg_name);
|
||||
DF_MsgKind df_kind = df_msg_kind_from_string(ws->query_msg_name);
|
||||
if(d_kind != D_MsgKind_Null)
|
||||
{
|
||||
d_msg(d_kind);
|
||||
}
|
||||
if(df_kind != DF_MsgKind_Null)
|
||||
{
|
||||
df_msg(df_kind);
|
||||
}
|
||||
}
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
D_CmdParams params = df_cmd_params_from_window(ws);
|
||||
String8 error = d_cmd_params_apply_spec_query(scratch.arena, ¶ms, ws->query_cmd_spec, str8(view->query_buffer, view->query_string_size));
|
||||
d_push_cmd(d_cmd_spec_from_kind(D_CmdKind_CompleteQuery), ¶ms);
|
||||
@@ -4252,6 +4284,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
{
|
||||
d_error(error);
|
||||
}
|
||||
#endif
|
||||
scratch_end(scratch);
|
||||
}
|
||||
|
||||
@@ -4333,9 +4366,6 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
{
|
||||
Temp scratch = scratch_begin(&arena, 1);
|
||||
DI_Scope *scope = di_scope_open();
|
||||
D_Entity *thread = d_entity_from_handle(d_base_regs()->thread);
|
||||
D_Entity *process = d_entity_ancestor_from_kind(thread, D_EntityKind_Process);
|
||||
U64 thread_unwind_rip_vaddr = d_query_cached_rip_from_thread_unwind(thread, d_base_regs()->unwind_count);
|
||||
String8 expr = ws->hover_eval_string;
|
||||
E_Eval eval = e_eval_from_string(scratch.arena, expr);
|
||||
D_CfgTable top_level_cfg_table = {0};
|
||||
@@ -4353,7 +4383,7 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
D_ExpandKey parent_key = d_expand_key_make(5381, 1);
|
||||
D_ExpandKey key = d_expand_key_make(df_hash_from_expand_key(parent_key), 1);
|
||||
D_EvalVizBlockList viz_blocks = d_eval_viz_block_list_from_eval_view_expr_keys(scratch.arena, eval_view, &top_level_cfg_table, expr, parent_key, key);
|
||||
D_Entity *entity = d_entity_from_eval_space(eval.space);
|
||||
CTRL_Entity *entity = d_entity_from_eval_space(eval.space);
|
||||
U32 default_radix = (entity->kind == D_EntityKind_Thread ? 16 : 10);
|
||||
D_EvalVizWindowedRowList viz_rows = d_eval_viz_windowed_row_list_from_viz_block_list(scratch.arena, eval_view, r1s64(0, 50), &viz_blocks);
|
||||
|
||||
@@ -4460,13 +4490,13 @@ df_window_update_and_render(Arena *arena, DF_Window *ws, D_CmdList *cmds)
|
||||
default:{}break;
|
||||
case E_Mode_Offset:
|
||||
{
|
||||
D_Entity *space_entity = d_entity_from_eval_space(row_eval.space);
|
||||
if(space_entity->kind == D_EntityKind_Process)
|
||||
CTRL_Entity *space_entity = d_entity_from_eval_space(row_eval.space);
|
||||
if(space_entity->kind == CTRL_EntityKind_Process)
|
||||
{
|
||||
U64 size = e_type_byte_size_from_key(row_eval.type_key);
|
||||
size = Min(size, 64);
|
||||
Rng1U64 vaddr_rng = r1u64(row_eval.value.u64, row_eval.value.u64+size);
|
||||
CTRL_ProcessMemorySlice slice = ctrl_query_cached_data_from_process_vaddr_range(scratch.arena, space_entity->ctrl_machine_id, space_entity->ctrl_handle, vaddr_rng, 0);
|
||||
CTRL_ProcessMemorySlice slice = ctrl_query_cached_data_from_process_vaddr_range(scratch.arena, space_entity->machine_id, space_entity->handle, vaddr_rng, 0);
|
||||
for(U64 idx = 0; idx < (slice.data.size+63)/64; idx += 1)
|
||||
{
|
||||
if(slice.byte_changed_flags[idx] != 0)
|
||||
@@ -6460,8 +6490,8 @@ df_append_value_strings_from_eval(Arena *arena, D_EvalVizStringFlags flags, U32
|
||||
E_Eval value_eval = e_value_eval_from_eval(eval);
|
||||
B32 ptee_has_content = (direct_type_kind != E_TypeKind_Null && direct_type_kind != E_TypeKind_Void);
|
||||
B32 ptee_has_string = (E_TypeKind_Char8 <= direct_type_kind && direct_type_kind <= E_TypeKind_UChar32);
|
||||
D_Entity *thread = d_entity_from_handle(d_regs()->thread);
|
||||
D_Entity *process = d_entity_ancestor_from_kind(thread, D_EntityKind_Process);
|
||||
CTRL_Entity *thread = d_regs_thread();
|
||||
CTRL_Entity *process = ctrl_entity_ancestor_from_kind(thread, CTRL_EntityKind_Process);
|
||||
String8 symbol_name = d_symbol_name_from_process_vaddr(arena, process, value_eval.value.u64, 1);
|
||||
|
||||
// rjf: special case: push strings for textual string content
|
||||
@@ -7045,23 +7075,6 @@ df_push_search_string(Arena *arena)
|
||||
|
||||
//- rjf: keybindings
|
||||
|
||||
internal OS_Key
|
||||
df_os_key_from_cfg_string(String8 string)
|
||||
{
|
||||
OS_Key result = OS_Key_Null;
|
||||
{
|
||||
for(OS_Key key = OS_Key_Null; key < OS_Key_COUNT; key = (OS_Key)(key+1))
|
||||
{
|
||||
if(str8_match(string, os_g_key_cfg_string_table[key], StringMatchFlag_CaseInsensitive))
|
||||
{
|
||||
result = key;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
internal void
|
||||
df_clear_bindings(void)
|
||||
{
|
||||
@@ -7308,7 +7321,7 @@ df_qsort_compare__cfg_string_bindings(DF_StringBindingPair *a, DF_StringBindingP
|
||||
}
|
||||
|
||||
internal String8List
|
||||
df_cfg_strings_from_gfx(Arena *arena, String8 root_path, D_CfgSrc source)
|
||||
df_cfg_strings_from_state(Arena *arena, String8 root_path, D_CfgSrc source)
|
||||
{
|
||||
ProfBeginFunction();
|
||||
String8List strs = {0};
|
||||
@@ -7818,7 +7831,7 @@ df_msg_kind_from_string(String8 string)
|
||||
DF_MsgKind result = DF_MsgKind_Null;
|
||||
for(EachNonZeroEnumVal(DF_MsgKind, k))
|
||||
{
|
||||
if(str8_match(string, df_msg_kind_name_lower_table[k], 0))
|
||||
if(str8_match(string, df_msg_kind_info_table[k].name_lower, 0))
|
||||
{
|
||||
result = k;
|
||||
break;
|
||||
@@ -7827,6 +7840,75 @@ df_msg_kind_from_string(String8 string)
|
||||
return result;
|
||||
}
|
||||
|
||||
internal void
|
||||
df_regs_set_window(DF_Window *window)
|
||||
{
|
||||
d_regs()->window = df_handle_from_window(window);
|
||||
d_regs()->panel = df_handle_from_panel(window->focused_panel);
|
||||
d_regs()->view = window->focused_panel->selected_tab_view;
|
||||
}
|
||||
|
||||
internal void
|
||||
df_regs_set_from_query_slot_string(D_RegSlot slot, String8 string)
|
||||
{
|
||||
Temp scratch = scratch_begin(0, 0);
|
||||
switch(slot)
|
||||
{
|
||||
default:
|
||||
case D_RegSlot_String:
|
||||
{
|
||||
d_regs()->string = push_str8_copy(d_frame_arena(), string);
|
||||
}break;
|
||||
case D_RegSlot_FilePath:
|
||||
{
|
||||
String8TxtPtPair pair = str8_txt_pt_pair_from_string(string);
|
||||
d_regs()->file_path = push_str8_copy(d_frame_arena(), pair.string);
|
||||
d_regs()->cursor = pair.pt;
|
||||
}break;
|
||||
case D_CmdParamSlot_TextPoint:
|
||||
{
|
||||
E_Eval eval = e_eval_from_string(scratch.arena, string);
|
||||
E_Eval value_eval = e_value_eval_from_eval(eval);
|
||||
d_regs()->cursor.column = 1;
|
||||
d_regs()->cursor.line = Min(1, value_eval.value.s64);
|
||||
}break;
|
||||
case D_CmdParamSlot_VirtualAddr: goto use_numeric_eval;
|
||||
case D_CmdParamSlot_VirtualOff: goto use_numeric_eval;
|
||||
case D_CmdParamSlot_Index: goto use_numeric_eval;
|
||||
case D_CmdParamSlot_ID: goto use_numeric_eval;
|
||||
use_numeric_eval:
|
||||
{
|
||||
E_Eval eval = e_eval_from_string(scratch.arena, string);
|
||||
E_Eval value_eval = e_value_eval_from_eval(eval);
|
||||
switch(slot)
|
||||
{
|
||||
default:{}break;
|
||||
case D_RegSlot_VaddrRange:
|
||||
{
|
||||
d_regs()->vaddr_range = r1u64(value_eval.value.u64, value_eval.value.u64);
|
||||
}break;
|
||||
case D_RegSlot_VoffRange:
|
||||
{
|
||||
d_regs()->voff_range = r1u64(value_eval.value.u64, value_eval.value.u64);
|
||||
}break;
|
||||
case D_RegSlot_PID:
|
||||
{
|
||||
d_regs()->pid = value_eval.value.u64;
|
||||
}break;
|
||||
case D_RegSlot_UnwindCount:
|
||||
{
|
||||
d_regs()->unwind_count = value_eval.value.u64;
|
||||
}break;
|
||||
case D_RegSlot_InlineDepth:
|
||||
{
|
||||
d_regs()->inline_depth = value_eval.value.u64;
|
||||
}break;
|
||||
}
|
||||
}break;
|
||||
}
|
||||
scratch_end(scratch);
|
||||
}
|
||||
|
||||
internal void
|
||||
df_msg_(DF_MsgKind kind, D_Regs *regs)
|
||||
{
|
||||
@@ -7848,15 +7930,21 @@ df_msg_(DF_MsgKind kind, D_Regs *regs)
|
||||
#endif
|
||||
|
||||
internal void
|
||||
df_init(D_StateDeltaHistory *hist)
|
||||
df_init(void)
|
||||
{
|
||||
ProfBeginFunction();
|
||||
Arena *arena = arena_alloc();
|
||||
df_state = push_array(arena, DF_State, 1);
|
||||
df_state->arena = arena;
|
||||
df_state->msgs_arena = arena_alloc();
|
||||
df_state->num_frames_requested = 2;
|
||||
df_state->hist = hist;
|
||||
df_state->cfg_root_arena = arena_alloc();
|
||||
df_state->cfg_root = &md_nil_node;
|
||||
for(EachEnumVal(DF_CfgSlot, slot))
|
||||
{
|
||||
df_state->cfg_slot_arenas[slot] = arena_alloc();
|
||||
df_state->cfg_slot_roots[slot] = &md_nil_node;
|
||||
}
|
||||
df_state->msgs_arena = arena_alloc();
|
||||
df_state->key_map_arena = arena_alloc();
|
||||
df_state->confirm_arena = arena_alloc();
|
||||
df_state->view_spec_table_size = 256;
|
||||
@@ -7978,15 +8066,6 @@ df_frame(void)
|
||||
DI_Scope *di_scope = di_scope_open();
|
||||
local_persist S32 depth = 0;
|
||||
|
||||
//////////////////////////////
|
||||
//- rjf: mark user-facing thread tick
|
||||
//
|
||||
ProfTick(0);
|
||||
txt_user_clock_tick();
|
||||
dasm_user_clock_tick();
|
||||
geo_user_clock_tick();
|
||||
tex_user_clock_tick();
|
||||
|
||||
//////////////////////////////
|
||||
//- rjf: get events from the OS
|
||||
//
|
||||
@@ -8094,7 +8173,7 @@ df_frame(void)
|
||||
}
|
||||
|
||||
//////////////////////////////
|
||||
//- rjf: consume events
|
||||
//- rjf: consume OS events
|
||||
//
|
||||
{
|
||||
for(OS_Event *event = events.first, *next = 0;
|
||||
@@ -8103,110 +8182,140 @@ df_frame(void)
|
||||
{
|
||||
next = event->next;
|
||||
DF_Window *window = df_window_from_os_handle(event->window);
|
||||
D_CmdParams params = window ? df_cmd_params_from_window(window) : df_cmd_params_from_gfx();
|
||||
B32 take = 0;
|
||||
|
||||
//- rjf: try window close
|
||||
if(!take && event->kind == OS_EventKind_WindowClose && window != 0)
|
||||
D_RegsScope
|
||||
{
|
||||
take = 1;
|
||||
d_cmd(D_CmdKind_CloseWindow, .window = df_handle_from_window(window));
|
||||
}
|
||||
|
||||
//- rjf: try menu bar operations
|
||||
{
|
||||
if(!take && event->kind == OS_EventKind_Press && event->key == OS_Key_Alt && event->flags == 0 && event->is_repeat == 0)
|
||||
df_regs_set_window(window);
|
||||
B32 take = 0;
|
||||
|
||||
//- rjf: try window close
|
||||
if(!take && event->kind == OS_EventKind_WindowClose && window != 0)
|
||||
{
|
||||
take = 1;
|
||||
df_request_frame();
|
||||
window->menu_bar_focused_on_press = window->menu_bar_focused;
|
||||
window->menu_bar_key_held = 1;
|
||||
window->menu_bar_focus_press_started = 1;
|
||||
d_msg(DF_MsgKind_CloseWindow);
|
||||
}
|
||||
if(!take && event->kind == OS_EventKind_Release && event->key == OS_Key_Alt && event->flags == 0 && event->is_repeat == 0)
|
||||
|
||||
//- rjf: try menu bar operations
|
||||
{
|
||||
take = 1;
|
||||
df_request_frame();
|
||||
window->menu_bar_key_held = 0;
|
||||
}
|
||||
if(window->menu_bar_focused && event->kind == OS_EventKind_Press && event->key == OS_Key_Alt && event->flags == 0 && event->is_repeat == 0)
|
||||
{
|
||||
take = 1;
|
||||
df_request_frame();
|
||||
window->menu_bar_focused = 0;
|
||||
}
|
||||
else if(window->menu_bar_focus_press_started && !window->menu_bar_focused && event->kind == OS_EventKind_Release && event->flags == 0 && event->key == OS_Key_Alt && event->is_repeat == 0)
|
||||
{
|
||||
take = 1;
|
||||
df_request_frame();
|
||||
window->menu_bar_focused = !window->menu_bar_focused_on_press;
|
||||
window->menu_bar_focus_press_started = 0;
|
||||
}
|
||||
else if(event->kind == OS_EventKind_Press && event->key == OS_Key_Esc && window->menu_bar_focused && !ui_any_ctx_menu_is_open())
|
||||
{
|
||||
take = 1;
|
||||
df_request_frame();
|
||||
window->menu_bar_focused = 0;
|
||||
}
|
||||
}
|
||||
|
||||
//- rjf: try hotkey presses
|
||||
if(!take && event->kind == OS_EventKind_Press)
|
||||
{
|
||||
DF_Binding binding = {event->key, event->flags};
|
||||
D_CmdSpecList spec_candidates = df_cmd_spec_list_from_binding(scratch.arena, binding);
|
||||
if(spec_candidates.first != 0 && !d_cmd_spec_is_nil(spec_candidates.first->spec))
|
||||
{
|
||||
D_CmdSpec *run_spec = d_cmd_spec_from_kind(D_CmdKind_RunCommand);
|
||||
D_CmdSpec *spec = spec_candidates.first->spec;
|
||||
if(run_spec != spec)
|
||||
if(!take && event->kind == OS_EventKind_Press && event->key == OS_Key_Alt && event->flags == 0 && event->is_repeat == 0)
|
||||
{
|
||||
params.cmd_spec = spec;
|
||||
take = 1;
|
||||
df_request_frame();
|
||||
window->menu_bar_focused_on_press = window->menu_bar_focused;
|
||||
window->menu_bar_key_held = 1;
|
||||
window->menu_bar_focus_press_started = 1;
|
||||
}
|
||||
U32 hit_char = os_codepoint_from_event_flags_and_key(event->flags, event->key);
|
||||
if(!take && event->kind == OS_EventKind_Release && event->key == OS_Key_Alt && event->flags == 0 && event->is_repeat == 0)
|
||||
{
|
||||
take = 1;
|
||||
df_request_frame();
|
||||
window->menu_bar_key_held = 0;
|
||||
}
|
||||
if(window->menu_bar_focused && event->kind == OS_EventKind_Press && event->key == OS_Key_Alt && event->flags == 0 && event->is_repeat == 0)
|
||||
{
|
||||
take = 1;
|
||||
df_request_frame();
|
||||
window->menu_bar_focused = 0;
|
||||
}
|
||||
else if(window->menu_bar_focus_press_started && !window->menu_bar_focused && event->kind == OS_EventKind_Release && event->flags == 0 && event->key == OS_Key_Alt && event->is_repeat == 0)
|
||||
{
|
||||
take = 1;
|
||||
df_request_frame();
|
||||
window->menu_bar_focused = !window->menu_bar_focused_on_press;
|
||||
window->menu_bar_focus_press_started = 0;
|
||||
}
|
||||
else if(event->kind == OS_EventKind_Press && event->key == OS_Key_Esc && window->menu_bar_focused && !ui_any_ctx_menu_is_open())
|
||||
{
|
||||
take = 1;
|
||||
df_request_frame();
|
||||
window->menu_bar_focused = 0;
|
||||
}
|
||||
}
|
||||
|
||||
//- rjf: try hotkey presses
|
||||
if(!take && event->kind == OS_EventKind_Press)
|
||||
{
|
||||
// rjf: look into keymap; push run-command message to frontend if this event
|
||||
// matches a binding
|
||||
B32 taken_by_keybinding = 0;
|
||||
for(MD_EachNode(file_ref, df_state->cfg_root->first))
|
||||
{
|
||||
MD_Node *file = file_ref->first;
|
||||
for(MD_EachNode(tln, file->first))
|
||||
{
|
||||
if(str8_match(tln->string, str8_lit("keybindings"), StringMatchFlag_CaseInsensitive))
|
||||
{
|
||||
for(MD_EachNode(map, tln->first))
|
||||
{
|
||||
OS_Key map_key = OS_Key_Null;
|
||||
OS_EventFlags map_flags = 0;
|
||||
String8 map_msg_name = {0};
|
||||
for(MD_EachNode(child, map->first))
|
||||
{
|
||||
if(0){}
|
||||
else if(str8_match(child->string, str8_lit("ctrl"), 0)) { map_flags |= OS_EventFlag_Ctrl; }
|
||||
else if(str8_match(child->string, str8_lit("shift"), 0)) { map_flags |= OS_EventFlag_Shift; }
|
||||
else if(str8_match(child->string, str8_lit("alt"), 0)) { map_flags |= OS_EventFlag_Alt; }
|
||||
else
|
||||
{
|
||||
OS_Key key = os_key_from_string(child->string);
|
||||
if(key == OS_Key_Null)
|
||||
{
|
||||
map_msg_name = child->string;
|
||||
}
|
||||
else
|
||||
{
|
||||
map_key = key;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(map_key == event->key && map_flags == event->flags)
|
||||
{
|
||||
take = 1;
|
||||
taken_by_keybinding = 1;
|
||||
df_msg(DF_MsgKind_RunCommand, .string = map_msg_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// rjf: not taken by keybinding -> try alternatives
|
||||
if(!taken_by_keybinding && (OS_Key_F1 <= event->key && event->key <= OS_Key_F19))
|
||||
{
|
||||
window->menu_bar_focus_press_started = 0;
|
||||
}
|
||||
|
||||
df_request_frame();
|
||||
}
|
||||
|
||||
//- rjf: try text events
|
||||
if(!take && event->kind == OS_EventKind_Text)
|
||||
{
|
||||
String32 insertion32 = str32(&event->character, 1);
|
||||
String8 insertion8 = str8_from_32(scratch.arena, insertion32);
|
||||
df_msg(DF_MsgKind_InsertText, .string = insertion8);
|
||||
df_request_frame();
|
||||
take = 1;
|
||||
d_push_cmd(run_spec, ¶ms);
|
||||
if(event->flags & OS_EventFlag_Alt)
|
||||
{
|
||||
window->menu_bar_focus_press_started = 0;
|
||||
}
|
||||
}
|
||||
else if(OS_Key_F1 <= event->key && event->key <= OS_Key_F19)
|
||||
|
||||
//- rjf: do fall-through
|
||||
if(!take)
|
||||
{
|
||||
window->menu_bar_focus_press_started = 0;
|
||||
take = 1;
|
||||
// TODO(rjf): @msgs - need some way to pass down the OS event
|
||||
// df_msg(DF_MsgKind_OSEvent);
|
||||
}
|
||||
df_request_frame();
|
||||
}
|
||||
|
||||
//- rjf: try text events
|
||||
if(!take && event->kind == OS_EventKind_Text)
|
||||
{
|
||||
String32 insertion32 = str32(&event->character, 1);
|
||||
String8 insertion8 = str8_from_32(scratch.arena, insertion32);
|
||||
D_CmdSpec *spec = d_cmd_spec_from_kind(D_CmdKind_InsertText);
|
||||
params.string = insertion8;
|
||||
d_push_cmd(spec, ¶ms);
|
||||
df_request_frame();
|
||||
take = 1;
|
||||
if(event->flags & OS_EventFlag_Alt)
|
||||
|
||||
//- rjf: take
|
||||
if(take)
|
||||
{
|
||||
window->menu_bar_focus_press_started = 0;
|
||||
os_eat_event(&events, event);
|
||||
}
|
||||
}
|
||||
|
||||
//- rjf: do fall-through
|
||||
if(!take)
|
||||
{
|
||||
take = 1;
|
||||
params.os_event = event;
|
||||
d_push_cmd(d_cmd_spec_from_kind(D_CmdKind_OSEvent), ¶ms);
|
||||
}
|
||||
|
||||
//- rjf: take
|
||||
if(take)
|
||||
{
|
||||
os_eat_event(&events, event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8321,6 +8430,7 @@ df_frame(void)
|
||||
U64 panel_sib_off = 0;
|
||||
U64 panel_child_off = 0;
|
||||
Vec2S32 panel_change_dir = {0};
|
||||
DF_CfgSlot cfg_slot = DF_CfgSlot_User;
|
||||
switch(msg->kind)
|
||||
{
|
||||
default:{}break;
|
||||
@@ -8328,7 +8438,7 @@ df_frame(void)
|
||||
//- rjf: meta
|
||||
case DF_MsgKind_Exit:
|
||||
{
|
||||
D_EntityList running_processes = d_query_cached_entity_list_with_kind(D_EntityKind_Process);
|
||||
CTRL_EntityList running_processes = ctrl_entity_list_from_kind(d_state->ctrl_entity_store, CTRL_EntityKind_Process);
|
||||
|
||||
// NOTE(rjf): if targets are running, push confirmation first, and
|
||||
// get user's OK
|
||||
@@ -8352,8 +8462,8 @@ df_frame(void)
|
||||
// then save & exit
|
||||
else
|
||||
{
|
||||
df_msg(DF_MsgKind_WriteUserData);
|
||||
df_msg(DF_MsgKind_WriteProjectData);
|
||||
df_msg(DF_MsgKind_SaveUser);
|
||||
df_msg(DF_MsgKind_SaveProject);
|
||||
df_state->quit = 1;
|
||||
}
|
||||
}break;
|
||||
@@ -8361,35 +8471,27 @@ df_frame(void)
|
||||
{
|
||||
D_MsgKind d_kind = d_msg_kind_from_string(regs->string);
|
||||
DF_MsgKind df_kind = df_msg_kind_from_string(regs->string);
|
||||
DF_MsgKindInfo *info = 0;
|
||||
if(d_kind != D_MsgKind_Null)
|
||||
if(df_d_msg_kind_info_table[d_kind].query.flags & DF_MsgQueryFlag_Required ||
|
||||
df_msg_kind_info_table[df_kind].query.flags & DF_MsgQueryFlag_Required)
|
||||
{
|
||||
info = &df_d_msg_kind_info_table[d_kind];
|
||||
}
|
||||
if(df_kind != DF_MsgKind_Null)
|
||||
{
|
||||
info = &df_msg_kind_info_table[df_kind];
|
||||
}
|
||||
if(info != 0)
|
||||
{
|
||||
if(info->query.flags & DF_MsgQueryFlag_Required)
|
||||
DF_Window *window = df_window_from_handle(regs->window);
|
||||
if(window != 0)
|
||||
{
|
||||
DF_Window *window = df_window_from_handle(regs->window);
|
||||
if(window != 0)
|
||||
{
|
||||
// TODO(rjf): @msgs
|
||||
// arena_clear(window->query_cmd_arena);
|
||||
// window->query_cmd_spec = d_cmd_spec_is_nil(spec) ? cmd->spec : spec;
|
||||
// window->query_cmd_params = df_cmd_params_copy(window->query_cmd_arena, params);
|
||||
// MemoryZeroArray(window->query_cmd_params_mask);
|
||||
// window->query_view_selected = 1;
|
||||
}
|
||||
// TODO(rjf): @msgs
|
||||
// arena_clear(window->query_cmd_arena);
|
||||
// window->query_cmd_spec = d_cmd_spec_is_nil(spec) ? cmd->spec : spec;
|
||||
// window->query_cmd_params = df_cmd_params_copy(window->query_cmd_arena, params);
|
||||
// MemoryZeroArray(window->query_cmd_params_mask);
|
||||
// window->query_view_selected = 1;
|
||||
}
|
||||
else if(d_kind != D_MsgKind_Null)
|
||||
}
|
||||
else
|
||||
{
|
||||
if(d_kind != D_MsgKind_Null)
|
||||
{
|
||||
d_msg(d_kind);
|
||||
}
|
||||
else if(df_kind != DF_MsgKind_Null)
|
||||
if(df_kind != DF_MsgKind_Null)
|
||||
{
|
||||
df_msg(df_kind);
|
||||
}
|
||||
@@ -8401,31 +8503,33 @@ df_frame(void)
|
||||
window->dev_menu_is_open ^= 1;
|
||||
}break;
|
||||
|
||||
//- rjf: config reading/writing
|
||||
case DF_MsgKind_ApplyUserData:
|
||||
case DF_MsgKind_ApplyProjectData:
|
||||
//- rjf: config loading/saving
|
||||
case DF_MsgKind_LoadUser: cfg_slot = DF_CfgSlot_User; goto load_cfg_data;
|
||||
case DF_MsgKind_LoadProject: cfg_slot = DF_CfgSlot_Project; goto load_cfg_data;
|
||||
load_cfg_data:;
|
||||
{
|
||||
// TODO(rjf)
|
||||
arena_clear(df_state->cfg_slot_arenas[cfg_slot]);
|
||||
arena_clear(df_state->cfg_root_arena);
|
||||
String8 cfg_path = regs->file_path;
|
||||
String8 cfg_data = os_data_from_file_path(df_state->cfg_slot_arenas[cfg_slot], cfg_path);
|
||||
df_state->cfg_slot_roots[cfg_slot] = md_tree_from_string(df_state->cfg_slot_arenas[cfg_slot], cfg_data);
|
||||
df_state->cfg_root = md_push_list(df_state->cfg_root_arena);
|
||||
for(EachEnumVal(DF_CfgSlot, slot))
|
||||
{
|
||||
md_list_push_ref(df_state->cfg_root_arena, df_state->cfg_root, df_state->cfg_slot_roots[cfg_slot]);
|
||||
}
|
||||
}break;
|
||||
case DF_MsgKind_WriteUserData:
|
||||
case DF_MsgKind_WriteProjectData:
|
||||
case DF_MsgKind_SaveUser: cfg_slot = DF_CfgSlot_User; goto save_cfg_data;
|
||||
case DF_MsgKind_SaveProject: cfg_slot = DF_CfgSlot_Project; goto save_cfg_data;
|
||||
save_cfg_data:;
|
||||
{
|
||||
// TODO(rjf)
|
||||
// TODO(rjf): @msgs
|
||||
}break;
|
||||
|
||||
//- rjf: windows
|
||||
case DF_MsgKind_OpenWindow:
|
||||
{
|
||||
DF_Window *originating_window = df_window_from_handle(regs->window);
|
||||
if(originating_window == 0)
|
||||
{
|
||||
originating_window = df_state->first_window;
|
||||
}
|
||||
DF_Window *new_ws = df_window_open(v2f32(1280, 720), os_handle_zero(), D_CfgSrc_User);
|
||||
if(originating_window != 0)
|
||||
{
|
||||
MemoryCopy(new_ws->setting_vals, originating_window->setting_vals, sizeof(DF_SettingVal)*DF_SettingCode_COUNT);
|
||||
}
|
||||
// TODO(rjf): @msgs
|
||||
}break;
|
||||
case DF_MsgKind_CloseWindow:
|
||||
{
|
||||
@@ -8458,8 +8562,14 @@ df_frame(void)
|
||||
}break;
|
||||
|
||||
//- rjf: queries
|
||||
case DF_MsgKind_CompleteQuery:{}break;
|
||||
case DF_MsgKind_CancelQuery:{}break;
|
||||
case DF_MsgKind_CompleteQuery:
|
||||
{
|
||||
// TODO(rjf): @msgs
|
||||
}break;
|
||||
case DF_MsgKind_CancelQuery:
|
||||
{
|
||||
// TODO(rjf): @msgs
|
||||
}break;
|
||||
|
||||
//- rjf: searching
|
||||
case DF_MsgKind_FindTextForward:
|
||||
@@ -9404,7 +9514,7 @@ df_frame(void)
|
||||
for(DF_Window *ws = df_state->first_window; ws != 0; ws = ws->next)
|
||||
{
|
||||
DI_Scope *scope = di_scope_open();
|
||||
D_Entity *thread = d_entity_from_handle(regs->entity);
|
||||
CTRL_Entity *thread = d_regs_thread();
|
||||
U64 unwind_index = regs->unwind_count;
|
||||
U64 inline_depth = regs->inline_depth;
|
||||
if(thread->kind == D_EntityKind_Thread)
|
||||
@@ -9413,11 +9523,11 @@ df_frame(void)
|
||||
U64 rip_vaddr = d_query_cached_rip_from_thread_unwind(thread, unwind_index);
|
||||
|
||||
// rjf: extract thread/rip info
|
||||
D_Entity *process = d_entity_ancestor_from_kind(thread, D_EntityKind_Process);
|
||||
D_Entity *module = d_module_from_process_vaddr(process, rip_vaddr);
|
||||
DI_Key dbgi_key = d_dbgi_key_from_module(module);
|
||||
CTRL_Entity *process = ctrl_entity_ancestor_from_kind(thread, CTRL_EntityKind_Process);
|
||||
CTRL_Entity *module = ctrl_module_from_process_vaddr(process, rip_vaddr);
|
||||
DI_Key dbgi_key = ctrl_dbgi_key_from_module(module);
|
||||
RDI_Parsed *rdi = di_rdi_from_key(scope, &dbgi_key, 0);
|
||||
U64 rip_voff = d_voff_from_vaddr(module, rip_vaddr);
|
||||
U64 rip_voff = ctrl_voff_from_vaddr(module, rip_vaddr);
|
||||
D_LineList lines = d_lines_from_dbgi_key_voff(scratch.arena, &dbgi_key, rip_voff);
|
||||
D_Line line = {0};
|
||||
{
|
||||
@@ -9433,12 +9543,12 @@ df_frame(void)
|
||||
}
|
||||
|
||||
// rjf: snap to resolved line
|
||||
B32 missing_rip = (rip_vaddr == 0);
|
||||
B32 dbgi_missing = (dbgi_key.min_timestamp == 0 || dbgi_key.path.size == 0);
|
||||
B32 dbgi_pending = !dbgi_missing && rdi == &di_rdi_parsed_nil;
|
||||
B32 missing_rip = (rip_vaddr == 0);
|
||||
B32 dbgi_missing = (dbgi_key.min_timestamp == 0 || dbgi_key.path.size == 0);
|
||||
B32 dbgi_pending = !dbgi_missing && rdi == &di_rdi_parsed_nil;
|
||||
B32 has_line_info = (line.voff_range.max != 0);
|
||||
B32 has_module = !d_entity_is_nil(module);
|
||||
B32 has_dbg_info = has_module && !dbgi_missing;
|
||||
B32 has_module = (module != &ctrl_entity_nil);
|
||||
B32 has_dbg_info = has_module && !dbgi_missing;
|
||||
if(!dbgi_pending && (has_line_info || has_module))
|
||||
{
|
||||
df_msg(DF_MsgKind_FindCodeLocation,
|
||||
@@ -9525,27 +9635,27 @@ df_frame(void)
|
||||
// rjf: grab things to find. path * point, process * address, etc.
|
||||
String8 file_path = {0};
|
||||
TxtPt point = {0};
|
||||
D_Entity *thread = &d_nil_entity;
|
||||
D_Entity *process = &d_nil_entity;
|
||||
CTRL_Entity *thread = &ctrl_entity_nil;
|
||||
CTRL_Entity *process = &ctrl_entity_nil;
|
||||
U64 vaddr = 0;
|
||||
{
|
||||
file_path = regs->file_path;
|
||||
point = regs->cursor;
|
||||
thread = d_entity_from_handle(d_regs()->thread);
|
||||
process = d_entity_ancestor_from_kind(thread, D_EntityKind_Process);
|
||||
thread = d_regs_thread();
|
||||
process = ctrl_entity_ancestor_from_kind(thread, CTRL_EntityKind_Process);
|
||||
vaddr = regs->vaddr_range.min;
|
||||
}
|
||||
|
||||
// rjf: given a src code location, and a process, if no vaddr is specified,
|
||||
// try to map the src coordinates to a vaddr via line info
|
||||
if(vaddr == 0 && file_path.size != 0 && !d_entity_is_nil(process))
|
||||
if(vaddr == 0 && file_path.size != 0 && process != &ctrl_entity_nil)
|
||||
{
|
||||
D_LineList lines = d_lines_from_file_path_line_num(scratch.arena, file_path, point.line);
|
||||
for(D_LineNode *n = lines.first; n != 0; n = n->next)
|
||||
{
|
||||
D_EntityList modules = d_modules_from_dbgi_key(scratch.arena, &n->v.dbgi_key);
|
||||
D_Entity *module = d_module_from_thread_candidates(thread, &modules);
|
||||
vaddr = d_vaddr_from_voff(module, n->v.voff_range.min);
|
||||
CTRL_EntityList modules = ctrl_modules_from_dbgi_key(scratch.arena, d_state->ctrl_entity_store, &n->v.dbgi_key);
|
||||
CTRL_Entity *module = ctrl_module_from_thread_candidates(d_state->ctrl_entity_store, thread, &modules);
|
||||
vaddr = ctrl_vaddr_from_voff(module, n->v.voff_range.min);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -9725,7 +9835,7 @@ df_frame(void)
|
||||
}
|
||||
|
||||
// rjf: given the above, find disassembly location.
|
||||
if(!d_entity_is_nil(process) && vaddr != 0)
|
||||
if(process != &ctrl_entity_nil && vaddr != 0)
|
||||
{
|
||||
// rjf: determine which panel we will use to find the disasm loc -
|
||||
// we *cannot* use the same panel we used for source code, if any.
|
||||
@@ -9765,7 +9875,8 @@ df_frame(void)
|
||||
df_msg(DF_MsgKind_GoToAddress,
|
||||
.panel = df_handle_from_panel(dst_panel),
|
||||
.view = df_handle_from_view(dst_view),
|
||||
.process = d_handle_from_entity(process),
|
||||
.machine_id = process->machine_id,
|
||||
.process = process->handle,
|
||||
.vaddr_range = r1u64(vaddr, vaddr));
|
||||
df_msg(cursor_snap_kind);
|
||||
}
|
||||
@@ -9781,6 +9892,7 @@ df_frame(void)
|
||||
//////////////////////////////
|
||||
//- rjf: process top-level graphical commands
|
||||
//
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
B32 panel_reset_done = 0;
|
||||
{
|
||||
B32 cfg_write_done[D_CfgSrc_COUNT] = {0};
|
||||
@@ -10389,11 +10501,12 @@ df_frame(void)
|
||||
spec = d_cmd_spec_from_string(new_name);
|
||||
}
|
||||
}
|
||||
|
||||
if(!d_cmd_spec_is_nil(spec))
|
||||
{
|
||||
cmd_spec = spec;
|
||||
}
|
||||
OS_Key k = df_os_key_from_cfg_string(child->string);
|
||||
OS_Key k = os_key_from_string(child->string);
|
||||
if(k != OS_Key_Null)
|
||||
{
|
||||
key = k;
|
||||
@@ -10643,7 +10756,7 @@ df_frame(void)
|
||||
{
|
||||
cfg_write_done[src] = 1;
|
||||
String8 path = d_cfg_path_from_src(src);
|
||||
String8List strs = df_cfg_strings_from_gfx(scratch.arena, path, src);
|
||||
String8List strs = df_cfg_strings_from_state(scratch.arena, path, src);
|
||||
String8 data = str8_list_join(scratch.arena, &strs, 0);
|
||||
String8 data_indented = indented_from_string(scratch.arena, data);
|
||||
d_cfg_push_write_string(src, data_indented);
|
||||
@@ -11688,14 +11801,19 @@ df_frame(void)
|
||||
di_scope_close(scope);
|
||||
}break;
|
||||
case D_CmdKind_FindSelectedThread:
|
||||
for(DF_Window *ws = df_state->first_window; ws != 0; ws = ws->next)
|
||||
{
|
||||
D_Entity *selected_thread = d_entity_from_handle(d_base_regs()->thread);
|
||||
D_CmdParams params = df_cmd_params_from_window(ws);
|
||||
params.entity = d_handle_from_entity(selected_thread);
|
||||
params.unwind_index = d_base_regs()->unwind_count;
|
||||
params.inline_depth = d_base_regs()->inline_depth;
|
||||
d_cmd_list_push(scratch.arena, &cmds, ¶ms, d_cmd_spec_from_kind(D_CmdKind_FindThread));
|
||||
// TODO(rjf): @msgs
|
||||
#if 0
|
||||
for(DF_Window *ws = df_state->first_window; ws != 0; ws = ws->next)
|
||||
{
|
||||
D_Entity *selected_thread = d_entity_from_handle(d_base_regs()->thread);
|
||||
D_CmdParams params = df_cmd_params_from_window(ws);
|
||||
params.entity = d_handle_from_entity(selected_thread);
|
||||
params.unwind_index = d_base_regs()->unwind_count;
|
||||
params.inline_depth = d_base_regs()->inline_depth;
|
||||
d_cmd_list_push(scratch.arena, &cmds, ¶ms, d_cmd_spec_from_kind(D_CmdKind_FindThread));
|
||||
}
|
||||
#endif
|
||||
}break;
|
||||
|
||||
//- rjf: name finding
|
||||
@@ -11926,6 +12044,7 @@ df_frame(void)
|
||||
}break;
|
||||
case D_CmdKind_FindCodeLocation:
|
||||
{
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
// NOTE(rjf): This command is where a lot of high-level flow things
|
||||
// in the debugger come together. It's that codepath that runs any
|
||||
// time a source code location is clicked in the UI, when a thread
|
||||
@@ -12212,6 +12331,7 @@ df_frame(void)
|
||||
d_cmd_list_push(scratch.arena, &cmds, ¶ms, d_cmd_spec_from_kind(cursor_snap_kind));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}break;
|
||||
|
||||
//- rjf: filtering
|
||||
@@ -12315,6 +12435,7 @@ df_frame(void)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
//////////////////////////////
|
||||
//- rjf: queue drag drop (TODO(rjf): @msgs)
|
||||
|
||||
@@ -4,6 +4,18 @@
|
||||
#ifndef DBG_FRONTEND_CORE_H
|
||||
#define DBG_FRONTEND_CORE_H
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Config Slots
|
||||
|
||||
typedef enum DF_CfgSlot
|
||||
{
|
||||
DF_CfgSlot_User,
|
||||
DF_CfgSlot_Project,
|
||||
DF_CfgSlot_CommandLine,
|
||||
DF_CfgSlot_COUNT
|
||||
}
|
||||
DF_CfgSlot;
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Binding Types
|
||||
|
||||
@@ -392,6 +404,7 @@ enum
|
||||
typedef struct DF_MsgKindInfo DF_MsgKindInfo;
|
||||
struct DF_MsgKindInfo
|
||||
{
|
||||
String8 name_lower;
|
||||
String8 display_name;
|
||||
String8 description;
|
||||
String8 search_tags;
|
||||
@@ -594,6 +607,11 @@ struct DF_Window
|
||||
S64 autocomp_cursor_num;
|
||||
|
||||
// rjf: query view stack
|
||||
Arena *query_msg_arena;
|
||||
String8 query_msg_name;
|
||||
DF_MsgQuery query_msg_query;
|
||||
U64 query_msg_regs_mask[(D_RegSlot_COUNT+63)/64];
|
||||
D_Regs *query_msg_regs;
|
||||
Arena *query_cmd_arena;
|
||||
D_CmdSpec *query_cmd_spec;
|
||||
U64 query_cmd_params_mask[(D_CmdParamSlot_COUNT + 63) / 64];
|
||||
@@ -648,15 +666,25 @@ struct DF_State
|
||||
Arena *arena;
|
||||
B32 quit;
|
||||
|
||||
// rjf: messages
|
||||
Arena *msgs_arena;
|
||||
DF_MsgList msgs;
|
||||
// rjf: icon texture
|
||||
R_Handle icon_texture;
|
||||
|
||||
// rjf: frame time history
|
||||
U64 frame_time_us_history[64];
|
||||
U64 frame_time_us_history_idx;
|
||||
|
||||
// rjf: frame request state
|
||||
U64 num_frames_requested;
|
||||
|
||||
// rjf: history cache
|
||||
D_StateDeltaHistory *hist;
|
||||
// rjf: config trees
|
||||
Arena *cfg_root_arena;
|
||||
MD_Node *cfg_root;
|
||||
Arena *cfg_slot_arenas[DF_CfgSlot_COUNT];
|
||||
MD_Node *cfg_slot_roots[DF_CfgSlot_COUNT];
|
||||
|
||||
// rjf: messages
|
||||
Arena *msgs_arena;
|
||||
DF_MsgList msgs;
|
||||
|
||||
// rjf: key map table
|
||||
Arena *key_map_arena;
|
||||
@@ -735,13 +763,6 @@ struct DF_State
|
||||
|
||||
// rjf: global settings
|
||||
DF_SettingVal cfg_setting_vals[D_CfgSrc_COUNT][DF_SettingCode_COUNT];
|
||||
|
||||
// rjf: icon texture
|
||||
R_Handle icon_texture;
|
||||
|
||||
// rjf: frame time history
|
||||
U64 frame_time_us_history[64];
|
||||
U64 frame_time_us_history_idx;
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
@@ -846,9 +867,11 @@ internal DF_Window *df_window_from_handle(D_Handle handle);
|
||||
|
||||
internal D_CmdParams df_cmd_params_from_gfx(void);
|
||||
internal B32 df_prefer_dasm_from_window(DF_Window *window);
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
internal D_CmdParams df_cmd_params_from_window(DF_Window *window);
|
||||
internal D_CmdParams df_cmd_params_from_panel(DF_Window *window, DF_Panel *panel);
|
||||
internal D_CmdParams df_cmd_params_from_view(DF_Window *window, DF_Panel *panel, DF_View *view);
|
||||
#endif
|
||||
internal D_CmdParams df_cmd_params_copy(Arena *arena, D_CmdParams *src);
|
||||
|
||||
////////////////////////////////
|
||||
@@ -955,7 +978,6 @@ internal String8 df_push_search_string(Arena *arena);
|
||||
//~ rjf: Colors, Fonts, Config
|
||||
|
||||
//- rjf: keybindings
|
||||
internal OS_Key df_os_key_from_cfg_string(String8 string);
|
||||
internal void df_clear_bindings(void);
|
||||
internal DF_BindingList df_bindings_from_spec(Arena *arena, D_CmdSpec *spec);
|
||||
internal void df_bind_spec(D_CmdSpec *spec, DF_Binding binding);
|
||||
@@ -980,7 +1002,7 @@ internal DF_SettingVal df_setting_val_from_code(DF_SettingCode code);
|
||||
|
||||
//- rjf: config serialization
|
||||
internal int df_qsort_compare__cfg_string_bindings(DF_StringBindingPair *a, DF_StringBindingPair *b);
|
||||
internal String8List df_cfg_strings_from_gfx(Arena *arena, String8 root_path, D_CfgSrc source);
|
||||
internal String8List df_cfg_strings_from_state(Arena *arena, String8 root_path, D_CfgSrc source);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Process Control Info Stringification
|
||||
@@ -996,7 +1018,14 @@ internal void df_request_frame(void);
|
||||
////////////////////////////////
|
||||
//~ rjf: Message Functions
|
||||
|
||||
//- rjf: string -> msg kind
|
||||
internal DF_MsgKind df_msg_kind_from_string(String8 string);
|
||||
|
||||
//- rjf: register setting helpers
|
||||
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, D_Regs *regs);
|
||||
#define df_msg(kind, ...) df_msg_((kind),\
|
||||
&(D_Regs)\
|
||||
@@ -1008,7 +1037,7 @@ __VA_ARGS__\
|
||||
////////////////////////////////
|
||||
//~ rjf: Main Layer Top-Level Calls
|
||||
|
||||
internal void df_init(D_StateDeltaHistory *hist);
|
||||
internal void df_init(void);
|
||||
internal void df_frame(void);
|
||||
|
||||
#endif // DBG_FRONTEND_CORE_H
|
||||
|
||||
@@ -88,8 +88,8 @@ df_code_view_build(Arena *arena, DF_View *view, DF_CodeViewState *cv, DF_CodeVie
|
||||
F32 scroll_bar_dim = floor_f32(ui_top_font_size()*1.5f);
|
||||
Vec2F32 code_area_dim = v2f32(panel_box_dim.x - scroll_bar_dim, panel_box_dim.y - scroll_bar_dim);
|
||||
S64 num_possible_visible_lines = (S64)(code_area_dim.y/code_line_height)+1;
|
||||
D_Entity *thread = d_entity_from_handle(d_regs()->thread);
|
||||
D_Entity *process = d_entity_ancestor_from_kind(thread, D_EntityKind_Process);
|
||||
CTRL_Entity *thread = d_regs_thread();
|
||||
CTRL_Entity *process = ctrl_entity_ancestor_from_kind(thread, CTRL_EntityKind_Process);
|
||||
|
||||
//////////////////////////////
|
||||
//- rjf: determine visible line range / count
|
||||
@@ -171,7 +171,7 @@ df_code_view_build(Arena *arena, DF_View *view, DF_CodeViewState *cv, DF_CodeVie
|
||||
code_slice_params.line_ranges = push_array(scratch.arena, Rng1U64, visible_line_count);
|
||||
code_slice_params.line_tokens = push_array(scratch.arena, TXT_TokenArray, visible_line_count);
|
||||
code_slice_params.line_bps = push_array(scratch.arena, D_EntityList, visible_line_count);
|
||||
code_slice_params.line_ips = push_array(scratch.arena, D_EntityList, visible_line_count);
|
||||
code_slice_params.line_ips = push_array(scratch.arena, CTRL_EntityList, visible_line_count);
|
||||
code_slice_params.line_pins = push_array(scratch.arena, D_EntityList, visible_line_count);
|
||||
code_slice_params.line_vaddrs = push_array(scratch.arena, U64, visible_line_count);
|
||||
code_slice_params.line_infos = push_array(scratch.arena, D_LineList, visible_line_count);
|
||||
@@ -219,26 +219,26 @@ df_code_view_build(Arena *arena, DF_View *view, DF_CodeViewState *cv, DF_CodeVie
|
||||
ProfScope("find live threads mapping to this file")
|
||||
{
|
||||
String8 file_path = d_regs()->file_path;
|
||||
D_Entity *selected_thread = d_entity_from_handle(d_regs()->thread);
|
||||
D_EntityList threads = d_query_cached_entity_list_with_kind(D_EntityKind_Thread);
|
||||
for(D_EntityNode *thread_n = threads.first; thread_n != 0; thread_n = thread_n->next)
|
||||
CTRL_Entity *selected_thread = d_regs_thread();
|
||||
CTRL_EntityList threads = ctrl_entity_list_from_kind(d_state->ctrl_entity_store, CTRL_EntityKind_Thread);
|
||||
for(CTRL_EntityNode *thread_n = threads.first; thread_n != 0; thread_n = thread_n->next)
|
||||
{
|
||||
D_Entity *thread = thread_n->entity;
|
||||
D_Entity *process = d_entity_ancestor_from_kind(thread, D_EntityKind_Process);
|
||||
CTRL_Entity *thread = thread_n->v;
|
||||
CTRL_Entity *process = ctrl_entity_ancestor_from_kind(thread, CTRL_EntityKind_Process);
|
||||
U64 unwind_count = (thread == selected_thread) ? d_regs()->unwind_count : 0;
|
||||
U64 inline_depth = (thread == selected_thread) ? d_regs()->inline_depth : 0;
|
||||
U64 rip_vaddr = d_query_cached_rip_from_thread_unwind(thread, unwind_count);
|
||||
U64 last_inst_on_unwound_rip_vaddr = rip_vaddr - !!unwind_count;
|
||||
D_Entity *module = d_module_from_process_vaddr(process, last_inst_on_unwound_rip_vaddr);
|
||||
U64 rip_voff = d_voff_from_vaddr(module, last_inst_on_unwound_rip_vaddr);
|
||||
DI_Key dbgi_key = d_dbgi_key_from_module(module);
|
||||
CTRL_Entity *module = ctrl_module_from_process_vaddr(process, last_inst_on_unwound_rip_vaddr);
|
||||
U64 rip_voff = ctrl_voff_from_vaddr(module, last_inst_on_unwound_rip_vaddr);
|
||||
DI_Key dbgi_key = ctrl_dbgi_key_from_module(module);
|
||||
D_LineList lines = d_lines_from_dbgi_key_voff(scratch.arena, &dbgi_key, rip_voff);
|
||||
for(D_LineNode *n = lines.first; n != 0; n = n->next)
|
||||
{
|
||||
if(path_match_normalized(n->v.file_path, file_path) && visible_line_num_range.min <= n->v.pt.line && n->v.pt.line <= visible_line_num_range.max)
|
||||
{
|
||||
U64 slice_line_idx = n->v.pt.line-visible_line_num_range.min;
|
||||
d_entity_list_push(scratch.arena, &code_slice_params.line_ips[slice_line_idx], thread);
|
||||
ctrl_entity_list_push(scratch.arena, &code_slice_params.line_ips[slice_line_idx], thread);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -276,21 +276,21 @@ df_code_view_build(Arena *arena, DF_View *view, DF_CodeViewState *cv, DF_CodeVie
|
||||
// rjf: find live threads mapping to disasm
|
||||
if(dasm_lines) ProfScope("find live threads mapping to this disassembly")
|
||||
{
|
||||
D_Entity *selected_thread = d_entity_from_handle(d_regs()->thread);
|
||||
D_EntityList threads = d_query_cached_entity_list_with_kind(D_EntityKind_Thread);
|
||||
for(D_EntityNode *thread_n = threads.first; thread_n != 0; thread_n = thread_n->next)
|
||||
CTRL_Entity *selected_thread = d_regs_thread();
|
||||
CTRL_EntityList threads = ctrl_entity_list_from_kind(d_state->ctrl_entity_store, CTRL_EntityKind_Thread);
|
||||
for(CTRL_EntityNode *thread_n = threads.first; thread_n != 0; thread_n = thread_n->next)
|
||||
{
|
||||
D_Entity *thread = thread_n->entity;
|
||||
CTRL_Entity *thread = thread_n->v;
|
||||
U64 unwind_count = (thread == selected_thread) ? d_regs()->unwind_count : 0;
|
||||
U64 rip_vaddr = d_query_cached_rip_from_thread_unwind(thread, unwind_count);
|
||||
if(d_entity_ancestor_from_kind(thread, D_EntityKind_Process) == process && contains_1u64(dasm_vaddr_range, rip_vaddr))
|
||||
if(ctrl_entity_ancestor_from_kind(thread, CTRL_EntityKind_Process) == process && contains_1u64(dasm_vaddr_range, rip_vaddr))
|
||||
{
|
||||
U64 rip_off = rip_vaddr - dasm_vaddr_range.min;
|
||||
S64 line_num = dasm_line_array_idx_from_code_off__linear_scan(dasm_lines, rip_off)+1;
|
||||
if(contains_1s64(visible_line_num_range, line_num))
|
||||
{
|
||||
U64 slice_line_idx = (line_num-visible_line_num_range.min);
|
||||
d_entity_list_push(scratch.arena, &code_slice_params.line_ips[slice_line_idx], thread);
|
||||
ctrl_entity_list_push(scratch.arena, &code_slice_params.line_ips[slice_line_idx], thread);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -343,12 +343,12 @@ df_code_view_build(Arena *arena, DF_View *view, DF_CodeViewState *cv, DF_CodeVie
|
||||
// rjf: fill dasm -> src info
|
||||
if(dasm_lines)
|
||||
{
|
||||
D_Entity *module = d_module_from_process_vaddr(process, dasm_vaddr_range.min);
|
||||
DI_Key dbgi_key = d_dbgi_key_from_module(module);
|
||||
CTRL_Entity *module = ctrl_module_from_process_vaddr(process, dasm_vaddr_range.min);
|
||||
DI_Key dbgi_key = ctrl_dbgi_key_from_module(module);
|
||||
for(S64 line_num = visible_line_num_range.min; line_num < visible_line_num_range.max; line_num += 1)
|
||||
{
|
||||
U64 vaddr = dasm_vaddr_range.min + dasm_line_array_code_off_from_idx(dasm_lines, line_num-1);
|
||||
U64 voff = d_voff_from_vaddr(module, vaddr);
|
||||
U64 voff = ctrl_voff_from_vaddr(module, vaddr);
|
||||
U64 slice_idx = line_num-visible_line_num_range.min;
|
||||
code_slice_params.line_vaddrs[slice_idx] = vaddr;
|
||||
code_slice_params.line_infos[slice_idx] = d_lines_from_dbgi_key_voff(scratch.arena, &dbgi_key, voff);
|
||||
@@ -845,9 +845,9 @@ df_string_from_eval_viz_row_column(Arena *arena, D_EvalView *ev, D_EvalVizRow *r
|
||||
case DF_WatchViewColumnKind_Module:
|
||||
{
|
||||
E_Eval eval = e_eval_from_expr(arena, row->expr);
|
||||
D_Entity *process = d_entity_from_handle(d_regs()->process);
|
||||
D_Entity *module = d_module_from_process_vaddr(process, eval.value.u64);
|
||||
result = d_display_string_from_entity(arena, module);
|
||||
CTRL_Entity *process = d_regs_process();
|
||||
CTRL_Entity *module = ctrl_module_from_process_vaddr(process, eval.value.u64);
|
||||
result = push_str8_copy(arena, module->string);
|
||||
}break;
|
||||
case DF_WatchViewColumnKind_Member:
|
||||
{
|
||||
@@ -946,13 +946,6 @@ df_watch_view_build(DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 d
|
||||
//////////////////////////////
|
||||
//- rjf: unpack arguments
|
||||
//
|
||||
FNT_Tag code_font = df_font_from_slot(DF_FontSlot_Code);
|
||||
D_Entity *thread = d_entity_from_handle(d_regs()->thread);
|
||||
Arch arch = d_arch_from_entity(thread);
|
||||
CTRL_Unwind base_unwind = d_query_cached_unwind_from_thread(thread);
|
||||
D_Entity *process = d_entity_ancestor_from_kind(thread, D_EntityKind_Process);
|
||||
D_Unwind rich_unwind = d_unwind_from_ctrl_unwind(scratch.arena, di_scope, process, &base_unwind);
|
||||
U64 thread_ip_vaddr = d_query_cached_rip_from_thread_unwind(thread, d_regs()->unwind_count);
|
||||
D_EvalViewKey eval_view_key = df_eval_view_key_from_eval_watch_view(ewv);
|
||||
D_EvalView *eval_view = d_eval_view_from_key(eval_view_key);
|
||||
String8 filter = str8(view->query_buffer, view->query_string_size);
|
||||
@@ -1052,6 +1045,7 @@ df_watch_view_build(DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 d
|
||||
{
|
||||
mutable_entity_kind = D_EntityKind_Breakpoint;
|
||||
d_cfg_table_push_unparsed_string(scratch.arena, &top_level_cfg_table, str8_lit("no_addr"), D_CfgSrc_User);
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
D_EntityList bps = d_query_cached_entity_list_with_kind(mutable_entity_kind);
|
||||
for(D_EntityNode *n = bps.first; n != 0; n = n->next)
|
||||
{
|
||||
@@ -1083,6 +1077,7 @@ df_watch_view_build(DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 d
|
||||
d_append_expr_eval_viz_blocks__rec(scratch.arena, eval_view, parent_key, key, title, bp_expr, &top_level_cfg_table, 0, &blocks);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}break;
|
||||
|
||||
////////////////////////////
|
||||
@@ -1091,6 +1086,7 @@ df_watch_view_build(DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 d
|
||||
case DF_WatchViewFillKind_WatchPins:
|
||||
{
|
||||
mutable_entity_kind = D_EntityKind_WatchPin;
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
D_EntityList wps = d_query_cached_entity_list_with_kind(mutable_entity_kind);
|
||||
for(D_EntityNode *n = wps.first; n != 0; n = n->next)
|
||||
{
|
||||
@@ -1118,6 +1114,7 @@ df_watch_view_build(DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 d
|
||||
d_append_expr_eval_viz_blocks__rec(scratch.arena, eval_view, parent_key, key, title, wp_expr, &top_level_cfg_table, 0, &blocks);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}break;
|
||||
|
||||
////////////////////////////
|
||||
@@ -1125,6 +1122,13 @@ df_watch_view_build(DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 d
|
||||
//
|
||||
case DF_WatchViewFillKind_CallStack:
|
||||
{
|
||||
//- rjf: unpack
|
||||
CTRL_Entity *thread = ctrl_entity_from_machine_id_handle(d_state->ctrl_entity_store, d_regs()->machine_id, d_regs()->thread);
|
||||
Arch arch = thread->arch;
|
||||
CTRL_Unwind base_unwind = d_query_cached_unwind_from_thread(thread);
|
||||
CTRL_Entity *process = ctrl_entity_ancestor_from_kind(thread, CTRL_EntityKind_Process);
|
||||
D_Unwind rich_unwind = d_unwind_from_ctrl_unwind(scratch.arena, di_scope, process, &base_unwind);
|
||||
|
||||
//- rjf: produce per-row info for callstack
|
||||
frame_rows_count = rich_unwind.frames.total_frame_count;
|
||||
frame_rows = push_array(scratch.arena, FrameRow, frame_rows_count);
|
||||
@@ -1197,8 +1201,8 @@ df_watch_view_build(DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 d
|
||||
//
|
||||
case DF_WatchViewFillKind_Registers:
|
||||
{
|
||||
D_Entity *thread = d_entity_from_handle(d_regs()->thread);
|
||||
Arch arch = d_arch_from_entity(thread);
|
||||
CTRL_Entity *thread = d_regs_thread();
|
||||
Arch arch = thread->arch;
|
||||
U64 reg_count = regs_reg_code_count_from_arch(arch);
|
||||
String8 *reg_strings = regs_reg_code_string_table_from_arch(arch);
|
||||
U64 alias_count = regs_alias_code_count_from_arch(arch);
|
||||
@@ -1627,9 +1631,10 @@ df_watch_view_build(DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 d
|
||||
{
|
||||
E_Eval eval = e_eval_from_expr(scratch.arena, row->expr);
|
||||
U64 vaddr = eval.value.u64;
|
||||
D_Entity *module = d_module_from_process_vaddr(process, vaddr);
|
||||
DI_Key dbgi_key = d_dbgi_key_from_module(module);
|
||||
U64 voff = d_voff_from_vaddr(module, vaddr);
|
||||
CTRL_Entity *process = d_regs_process();
|
||||
CTRL_Entity *module = ctrl_module_from_process_vaddr(process, vaddr);
|
||||
DI_Key dbgi_key = ctrl_dbgi_key_from_module(module);
|
||||
U64 voff = ctrl_voff_from_vaddr(module, vaddr);
|
||||
D_LineList lines = d_lines_from_dbgi_key_voff(scratch.arena, &dbgi_key, voff);
|
||||
String8 file_path = {0};
|
||||
TxtPt pt = {0};
|
||||
@@ -1638,18 +1643,16 @@ df_watch_view_build(DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 d
|
||||
file_path = lines.first->v.file_path;
|
||||
pt = lines.first->v.pt;
|
||||
}
|
||||
d_cmd(D_CmdKind_FindCodeLocation,
|
||||
.entity = d_handle_from_entity(process),
|
||||
.vaddr = vaddr,
|
||||
.file_path = file_path,
|
||||
.text_point= pt);
|
||||
df_msg(DF_MsgKind_FindCodeLocation,
|
||||
.vaddr_range = r1u64(vaddr, vaddr),
|
||||
.file_path = file_path,
|
||||
.cursor = pt);
|
||||
}
|
||||
if(1 <= selection_tbl.min.y && selection_tbl.min.y <= frame_rows_count)
|
||||
{
|
||||
FrameRow *frame_row = &frame_rows[selection_tbl.min.y-1];
|
||||
d_cmd(D_CmdKind_SelectUnwind,
|
||||
.entity = d_regs()->thread,
|
||||
.unwind_index = frame_row->unwind_idx,
|
||||
d_msg(D_MsgKind_SelectUnwind,
|
||||
.unwind_count = frame_row->unwind_idx,
|
||||
.inline_depth = frame_row->inline_depth);
|
||||
}
|
||||
}
|
||||
@@ -2198,13 +2201,13 @@ df_watch_view_build(DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 d
|
||||
default:{}break;
|
||||
case E_Mode_Offset:
|
||||
{
|
||||
D_Entity *space_entity = d_entity_from_eval_space(row_eval.space);
|
||||
if(space_entity->kind == D_EntityKind_Process)
|
||||
CTRL_Entity *space_entity = d_entity_from_eval_space(row_eval.space);
|
||||
if(space_entity->kind == CTRL_EntityKind_Process)
|
||||
{
|
||||
U64 size = e_type_byte_size_from_key(row_eval.type_key);
|
||||
size = Min(size, 64);
|
||||
Rng1U64 vaddr_rng = r1u64(row_eval.value.u64, row_eval.value.u64+size);
|
||||
CTRL_ProcessMemorySlice slice = ctrl_query_cached_data_from_process_vaddr_range(scratch.arena, space_entity->ctrl_machine_id, space_entity->ctrl_handle, vaddr_rng, 0);
|
||||
CTRL_ProcessMemorySlice slice = ctrl_query_cached_data_from_process_vaddr_range(scratch.arena, space_entity->machine_id, space_entity->handle, vaddr_rng, 0);
|
||||
for(U64 idx = 0; idx < (slice.data.size+63)/64; idx += 1)
|
||||
{
|
||||
if(slice.byte_changed_flags[idx] != 0)
|
||||
@@ -2490,8 +2493,12 @@ df_watch_view_build(DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 d
|
||||
{
|
||||
if(semantic_idx == d_regs()->unwind_count - d_regs()->inline_depth)
|
||||
{
|
||||
CTRL_Entity *thread = d_regs_thread();
|
||||
cell_icon = DF_IconKind_RightArrow;
|
||||
cell_base_color = d_rgba_from_entity(d_entity_from_handle(d_regs()->thread));
|
||||
if(thread->rgba_u32 != 0)
|
||||
{
|
||||
cell_base_color = rgba_from_u32(thread->rgba_u32);
|
||||
}
|
||||
}
|
||||
}break;
|
||||
}
|
||||
@@ -2624,9 +2631,10 @@ df_watch_view_build(DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 d
|
||||
if(ui_double_clicked(sig) && !cell_can_edit)
|
||||
{
|
||||
U64 vaddr = cell_eval.value.u64;
|
||||
D_Entity *module = d_module_from_process_vaddr(process, vaddr);
|
||||
DI_Key dbgi_key = d_dbgi_key_from_module(module);
|
||||
U64 voff = d_voff_from_vaddr(module, vaddr);
|
||||
CTRL_Entity *process = ctrl_entity_from_machine_id_handle(d_state->ctrl_entity_store, d_regs()->machine_id, d_regs()->process);
|
||||
CTRL_Entity *module = ctrl_module_from_process_vaddr(process, vaddr);
|
||||
DI_Key dbgi_key = ctrl_dbgi_key_from_module(module);
|
||||
U64 voff = ctrl_voff_from_vaddr(module, vaddr);
|
||||
D_LineList lines = d_lines_from_dbgi_key_voff(scratch.arena, &dbgi_key, voff);
|
||||
String8 file_path = {0};
|
||||
TxtPt pt = {0};
|
||||
@@ -2635,20 +2643,18 @@ df_watch_view_build(DF_View *view, DF_WatchViewState *ewv, B32 modifiable, U32 d
|
||||
file_path = lines.first->v.file_path;
|
||||
pt = lines.first->v.pt;
|
||||
}
|
||||
d_cmd(D_CmdKind_FindCodeLocation,
|
||||
.entity = d_handle_from_entity(process),
|
||||
.vaddr = vaddr,
|
||||
.file_path = file_path,
|
||||
.text_point = pt);
|
||||
df_msg(DF_MsgKind_FindCodeLocation,
|
||||
.vaddr_range = r1u64(vaddr, vaddr),
|
||||
.file_path = file_path,
|
||||
.cursor = pt);
|
||||
}
|
||||
|
||||
// rjf: double-click, not editable, callstack frame -> select frame
|
||||
if(ui_double_clicked(sig) && !cell_can_edit && semantic_idx < frame_rows_count)
|
||||
{
|
||||
FrameRow *frame_row = &frame_rows[semantic_idx];
|
||||
d_cmd(D_CmdKind_SelectUnwind,
|
||||
.entity = d_regs()->thread,
|
||||
.unwind_index = frame_row->unwind_idx,
|
||||
d_msg(D_MsgKind_SelectUnwind,
|
||||
.unwind_count = frame_row->unwind_idx,
|
||||
.inline_depth = frame_row->inline_depth);
|
||||
}
|
||||
|
||||
@@ -5500,6 +5506,7 @@ DF_VIEW_SETUP_FUNCTION_DEF(scheduler) {}
|
||||
DF_VIEW_CMD_FUNCTION_DEF(scheduler) {}
|
||||
DF_VIEW_UI_FUNCTION_DEF(scheduler)
|
||||
{
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
ProfBeginFunction();
|
||||
Temp scratch = scratch_begin(0, 0);
|
||||
String8 query = string;
|
||||
@@ -5713,6 +5720,7 @@ DF_VIEW_UI_FUNCTION_DEF(scheduler)
|
||||
|
||||
scratch_end(scratch);
|
||||
ProfEnd();
|
||||
#endif
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
@@ -6660,12 +6668,12 @@ DF_VIEW_CMD_FUNCTION_DEF(disasm)
|
||||
E_Space space = eval.space;
|
||||
if(auto_selected_thread)
|
||||
{
|
||||
space = d_eval_space_from_entity(d_entity_from_handle(d_regs()->process));
|
||||
space = d_eval_space_from_entity(d_regs_process());
|
||||
}
|
||||
Rng1U64 range = d_range_from_eval_params(eval, params);
|
||||
Arch arch = d_arch_from_eval_params(eval, params);
|
||||
D_Entity *space_entity = d_entity_from_eval_space(space);
|
||||
D_Entity *dasm_module = &d_nil_entity;
|
||||
CTRL_Entity *space_entity = d_entity_from_eval_space(space);
|
||||
CTRL_Entity *dasm_module = &ctrl_entity_nil;
|
||||
DI_Key dbgi_key = {0};
|
||||
U64 base_vaddr = 0;
|
||||
switch(space_entity->kind)
|
||||
@@ -6673,10 +6681,10 @@ DF_VIEW_CMD_FUNCTION_DEF(disasm)
|
||||
default:{}break;
|
||||
case D_EntityKind_Process:
|
||||
{
|
||||
arch = d_arch_from_entity(space_entity);
|
||||
dasm_module = d_module_from_process_vaddr(space_entity, range.min);
|
||||
dbgi_key = d_dbgi_key_from_module(dasm_module);
|
||||
base_vaddr = dasm_module->vaddr_rng.min;
|
||||
arch = space_entity->arch;
|
||||
dasm_module = ctrl_module_from_process_vaddr(space_entity, range.min);
|
||||
dbgi_key = ctrl_dbgi_key_from_module(dasm_module);
|
||||
base_vaddr = dasm_module->vaddr_range.min;
|
||||
}break;
|
||||
}
|
||||
U128 dasm_key = d_key_from_eval_space_range(space, range, 0);
|
||||
@@ -6792,23 +6800,23 @@ DF_VIEW_UI_FUNCTION_DEF(disasm)
|
||||
E_Space space = eval.space;
|
||||
if(auto_selected_thread)
|
||||
{
|
||||
space = d_eval_space_from_entity(d_entity_from_handle(d_regs()->process));
|
||||
space = d_eval_space_from_entity(d_regs_process());
|
||||
}
|
||||
Rng1U64 range = d_range_from_eval_params(eval, params);
|
||||
Arch arch = d_arch_from_eval_params(eval, params);
|
||||
D_Entity *space_entity = d_entity_from_eval_space(space);
|
||||
D_Entity *dasm_module = &d_nil_entity;
|
||||
CTRL_Entity *space_entity = d_entity_from_eval_space(space);
|
||||
CTRL_Entity *dasm_module = &ctrl_entity_nil;
|
||||
DI_Key dbgi_key = {0};
|
||||
U64 base_vaddr = 0;
|
||||
switch(space_entity->kind)
|
||||
{
|
||||
default:{}break;
|
||||
case D_EntityKind_Process:
|
||||
case CTRL_EntityKind_Process:
|
||||
{
|
||||
arch = d_arch_from_entity(space_entity);
|
||||
dasm_module = d_module_from_process_vaddr(space_entity, range.min);
|
||||
dbgi_key = d_dbgi_key_from_module(dasm_module);
|
||||
base_vaddr = dasm_module->vaddr_rng.min;
|
||||
arch = space_entity->arch;
|
||||
dasm_module = ctrl_module_from_process_vaddr(space_entity, range.min);
|
||||
dbgi_key = ctrl_dbgi_key_from_module(dasm_module);
|
||||
base_vaddr = dasm_module->vaddr_range.min;
|
||||
}break;
|
||||
}
|
||||
U128 dasm_key = d_key_from_eval_space_range(space, range, 0);
|
||||
@@ -6866,8 +6874,8 @@ DF_VIEW_UI_FUNCTION_DEF(disasm)
|
||||
{
|
||||
U64 off = dasm_line_array_code_off_from_idx(&dasm_info.lines, d_regs()->cursor.line-1);
|
||||
d_regs()->vaddr_range = r1u64(base_vaddr+off, base_vaddr+off);
|
||||
d_regs()->voff_range = d_voff_range_from_vaddr_range(dasm_module, d_regs()->vaddr_range);
|
||||
d_regs()->lines = d_lines_from_dbgi_key_voff(d_frame_arena(), &dbgi_key, d_regs()->voff_range.min);
|
||||
d_regs()->voff_range = ctrl_voff_range_from_vaddr_range(dasm_module, d_regs()->vaddr_range);
|
||||
d_regs()->lines = d_lines_from_dbgi_key_voff(d_frame_arena(), &dbgi_key, d_regs()->voff_range.min);
|
||||
}
|
||||
|
||||
//////////////////////////////
|
||||
@@ -6884,7 +6892,7 @@ DF_VIEW_UI_FUNCTION_DEF(disasm)
|
||||
DF_Font(DF_FontSlot_Code)
|
||||
{
|
||||
U64 cursor_vaddr = (1 <= d_regs()->cursor.line && d_regs()->cursor.line <= dasm_info.lines.count) ? (range.min+dasm_info.lines.v[d_regs()->cursor.line-1].code_off) : 0;
|
||||
if(!d_entity_is_nil(dasm_module))
|
||||
if(dasm_module != &ctrl_entity_nil)
|
||||
{
|
||||
ui_labelf("%S", path_normalized_from_string(scratch.arena, dasm_module->string));
|
||||
ui_spacer(ui_em(1.5f, 1));
|
||||
@@ -7064,7 +7072,7 @@ DF_VIEW_UI_FUNCTION_DEF(memory)
|
||||
E_Eval eval = e_eval_from_string(scratch.arena, string);
|
||||
if(u128_match(eval.space, u128_zero()))
|
||||
{
|
||||
eval.space = d_eval_space_from_entity(d_entity_from_handle(d_regs()->process));
|
||||
eval.space = d_eval_space_from_entity(d_regs_process());
|
||||
}
|
||||
Rng1U64 space_range = d_whole_range_from_eval_space(eval.space);
|
||||
U64 cursor = d_value_from_params_key(params, str8_lit("cursor_vaddr")).u64;
|
||||
@@ -7286,8 +7294,8 @@ DF_VIEW_UI_FUNCTION_DEF(memory)
|
||||
};
|
||||
AnnotationList *visible_memory_annotations = push_array(scratch.arena, AnnotationList, visible_memory_size);
|
||||
{
|
||||
D_Entity *thread = d_entity_from_handle(d_regs()->thread);
|
||||
D_Entity *process = d_entity_ancestor_from_kind(thread, D_EntityKind_Process);
|
||||
CTRL_Entity *thread = ctrl_entity_from_machine_id_handle(d_state->ctrl_entity_store, d_regs()->machine_id, d_regs()->thread);
|
||||
CTRL_Entity *process = ctrl_entity_ancestor_from_kind(thread, CTRL_EntityKind_Process);
|
||||
CTRL_Unwind unwind = d_query_cached_unwind_from_thread(thread);
|
||||
|
||||
//- rjf: fill unwind frame annotations
|
||||
@@ -7304,9 +7312,9 @@ DF_VIEW_UI_FUNCTION_DEF(memory)
|
||||
if(dim_1u64(frame_vaddr_range_in_viz) != 0)
|
||||
{
|
||||
U64 f_rip = regs_rip_from_arch_block(thread->arch, f->regs);
|
||||
D_Entity *module = d_module_from_process_vaddr(process, f_rip);
|
||||
DI_Key dbgi_key = d_dbgi_key_from_module(module);
|
||||
U64 rip_voff = d_voff_from_vaddr(module, f_rip);
|
||||
CTRL_Entity *module = ctrl_module_from_process_vaddr(process, f_rip);
|
||||
DI_Key dbgi_key = ctrl_dbgi_key_from_module(module);
|
||||
U64 rip_voff = ctrl_voff_from_vaddr(module, f_rip);
|
||||
String8 symbol_name = d_symbol_name_from_dbgi_key_voff(scratch.arena, &dbgi_key, rip_voff, 1);
|
||||
Annotation *annotation = push_array(scratch.arena, Annotation, 1);
|
||||
annotation->name_string = symbol_name.size != 0 ? symbol_name : str8_lit("[external code]");
|
||||
@@ -7332,9 +7340,13 @@ DF_VIEW_UI_FUNCTION_DEF(memory)
|
||||
if(dim_1u64(stack_vaddr_range_in_viz) != 0)
|
||||
{
|
||||
Annotation *annotation = push_array(scratch.arena, Annotation, 1);
|
||||
annotation->name_string = d_display_string_from_entity(scratch.arena, thread);
|
||||
annotation->name_string = thread->string;
|
||||
if(annotation->name_string.size == 0)
|
||||
{
|
||||
annotation->name_string = push_str8f(scratch.arena, "TID: %I64u", thread->id);
|
||||
}
|
||||
annotation->kind_string = str8_lit("Stack");
|
||||
annotation->color = thread->flags & D_EntityFlag_HasColor ? d_rgba_from_entity(thread) : df_rgba_from_theme_color(DF_ThemeColor_Text);
|
||||
annotation->color = thread->rgba_u32 != 0 ? rgba_from_u32(thread->rgba_u32) : df_rgba_from_theme_color(DF_ThemeColor_Text);
|
||||
annotation->vaddr_range = stack_vaddr_range;
|
||||
for(U64 vaddr = stack_vaddr_range_in_viz.min; vaddr < stack_vaddr_range_in_viz.max; vaddr += 1)
|
||||
{
|
||||
|
||||
@@ -415,6 +415,7 @@ df_icon_buttonf(DF_IconKind kind, FuzzyMatchRangeList *matches, char *fmt, ...)
|
||||
internal void
|
||||
df_entity_tooltips(D_Entity *entity)
|
||||
{
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
Temp scratch = scratch_begin(0, 0);
|
||||
DF_Palette(DF_PaletteCode_Floating) switch(entity->kind)
|
||||
{
|
||||
@@ -576,11 +577,140 @@ df_entity_tooltips(D_Entity *entity)
|
||||
}break;
|
||||
}
|
||||
scratch_end(scratch);
|
||||
#endif
|
||||
}
|
||||
|
||||
internal void
|
||||
df_ctrl_entity_tooltips(CTRL_Entity *entity)
|
||||
{
|
||||
Temp scratch = scratch_begin(0, 0);
|
||||
DF_Palette(DF_PaletteCode_Floating) switch(entity->kind)
|
||||
{
|
||||
default:{}break;
|
||||
case CTRL_EntityKind_Thread: UI_Flags(0)
|
||||
UI_Tooltip UI_PrefWidth(ui_text_dim(10, 1))
|
||||
{
|
||||
String8 display_string = entity->string;
|
||||
if(display_string.size == 0)
|
||||
{
|
||||
display_string = push_str8f(scratch.arena, "TID: %I64u", entity->id);
|
||||
}
|
||||
U64 rip_vaddr = d_query_cached_rip_from_thread(entity);
|
||||
Arch arch = entity->arch;
|
||||
String8 arch_str = string_from_arch(arch);
|
||||
if(display_string.size != 0) UI_PrefWidth(ui_children_sum(1)) UI_Row
|
||||
{
|
||||
if(entity->rgba_u32 != 0)
|
||||
{
|
||||
ui_set_next_palette(ui_build_palette(ui_top_palette(), .text = rgba_from_u32(entity->rgba_u32)));
|
||||
}
|
||||
UI_PrefWidth(ui_text_dim(10, 1)) ui_label(display_string);
|
||||
}
|
||||
{
|
||||
CTRL_Event stop_event = d_ctrl_last_stop_event();
|
||||
CTRL_Entity *stopper_thread = ctrl_entity_from_machine_id_handle(d_state->ctrl_entity_store, stop_event.machine_id, stop_event.entity);
|
||||
if(stopper_thread == entity)
|
||||
{
|
||||
ui_spacer(ui_em(1.5f, 1.f));
|
||||
DF_IconKind icon_kind = DF_IconKind_Null;
|
||||
String8 explanation = df_stop_explanation_string_icon_from_ctrl_event(scratch.arena, &stop_event, &icon_kind);
|
||||
if(explanation.size != 0)
|
||||
{
|
||||
UI_Palette *palette = ui_top_palette();
|
||||
if(stop_event.cause == CTRL_EventCause_Error ||
|
||||
stop_event.cause == CTRL_EventCause_InterruptedByException ||
|
||||
stop_event.cause == CTRL_EventCause_InterruptedByTrap ||
|
||||
stop_event.cause == CTRL_EventCause_UserBreakpoint)
|
||||
{
|
||||
palette = ui_build_palette(ui_top_palette(), .text = df_rgba_from_theme_color(DF_ThemeColor_TextNegative));
|
||||
}
|
||||
UI_PrefWidth(ui_children_sum(1)) UI_Row UI_Palette(palette)
|
||||
{
|
||||
UI_PrefWidth(ui_em(1.5f, 1.f))
|
||||
DF_Font(DF_FontSlot_Icons)
|
||||
ui_label(df_g_icon_kind_text_table[icon_kind]);
|
||||
UI_PrefWidth(ui_text_dim(10, 1)) ui_label(explanation);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ui_spacer(ui_em(1.5f, 1.f));
|
||||
UI_PrefWidth(ui_children_sum(1)) UI_Row
|
||||
{
|
||||
UI_PrefWidth(ui_em(18.f, 1.f)) UI_FlagsAdd(UI_BoxFlag_DrawTextWeak) ui_labelf("TID: ");
|
||||
UI_PrefWidth(ui_text_dim(10, 1)) ui_labelf("%I64u", entity->id);
|
||||
}
|
||||
UI_PrefWidth(ui_children_sum(1)) UI_Row
|
||||
{
|
||||
UI_PrefWidth(ui_em(18.f, 1.f)) UI_FlagsAdd(UI_BoxFlag_DrawTextWeak) ui_labelf("Arch: ");
|
||||
UI_PrefWidth(ui_text_dim(10, 1)) ui_label(arch_str);
|
||||
}
|
||||
ui_spacer(ui_em(1.5f, 1.f));
|
||||
DI_Scope *di_scope = di_scope_open();
|
||||
CTRL_Entity *process = ctrl_entity_ancestor_from_kind(entity, CTRL_EntityKind_Process);
|
||||
CTRL_Unwind base_unwind = d_query_cached_unwind_from_thread(entity);
|
||||
D_Unwind rich_unwind = d_unwind_from_ctrl_unwind(scratch.arena, di_scope, process, &base_unwind);
|
||||
for(U64 idx = 0; idx < rich_unwind.frames.concrete_frame_count; idx += 1)
|
||||
{
|
||||
D_UnwindFrame *f = &rich_unwind.frames.v[idx];
|
||||
RDI_Parsed *rdi = f->rdi;
|
||||
RDI_Procedure *procedure = f->procedure;
|
||||
U64 rip_vaddr = regs_rip_from_arch_block(entity->arch, f->regs);
|
||||
CTRL_Entity *module = ctrl_module_from_process_vaddr(process, rip_vaddr);
|
||||
String8 module_name = module == &ctrl_entity_nil ? str8_lit("???") : str8_skip_last_slash(module->string);
|
||||
|
||||
// rjf: inline frames
|
||||
for(D_UnwindInlineFrame *fin = f->last_inline_frame; fin != 0; fin = fin->prev)
|
||||
UI_PrefWidth(ui_children_sum(1)) UI_Row
|
||||
{
|
||||
String8 name = {0};
|
||||
name.str = rdi_string_from_idx(rdi, fin->inline_site->name_string_idx, &name.size);
|
||||
DF_Font(DF_FontSlot_Code) UI_PrefWidth(ui_em(18.f, 1.f)) UI_FlagsAdd(UI_BoxFlag_DrawTextWeak) ui_labelf("0x%I64x", rip_vaddr);
|
||||
DF_Font(DF_FontSlot_Code) UI_FlagsAdd(UI_BoxFlag_DrawTextWeak) UI_PrefWidth(ui_text_dim(10, 1)) ui_label(str8_lit("[inlined]"));
|
||||
if(name.size != 0)
|
||||
{
|
||||
DF_Font(DF_FontSlot_Code) UI_PrefWidth(ui_text_dim(10, 1))
|
||||
{
|
||||
df_code_label(1.f, 0, df_rgba_from_theme_color(DF_ThemeColor_CodeSymbol), name);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DF_Font(DF_FontSlot_Code) UI_FlagsAdd(UI_BoxFlag_DrawTextWeak) UI_PrefWidth(ui_text_dim(10, 1)) ui_labelf("[??? in %S]", module_name);
|
||||
}
|
||||
}
|
||||
|
||||
// rjf: concrete frame
|
||||
UI_PrefWidth(ui_children_sum(1)) UI_Row
|
||||
{
|
||||
String8 name = {0};
|
||||
name.str = rdi_name_from_procedure(rdi, procedure, &name.size);
|
||||
DF_Font(DF_FontSlot_Code) UI_PrefWidth(ui_em(18.f, 1.f)) UI_FlagsAdd(UI_BoxFlag_DrawTextWeak) ui_labelf("0x%I64x", rip_vaddr);
|
||||
if(name.size != 0)
|
||||
{
|
||||
DF_Font(DF_FontSlot_Code) UI_PrefWidth(ui_text_dim(10, 1))
|
||||
{
|
||||
df_code_label(1.f, 0, df_rgba_from_theme_color(DF_ThemeColor_CodeSymbol), name);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DF_Font(DF_FontSlot_Code) UI_FlagsAdd(UI_BoxFlag_DrawTextWeak) UI_PrefWidth(ui_text_dim(10, 1)) ui_labelf("[??? in %S]", module_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
di_scope_close(di_scope);
|
||||
}break;
|
||||
}
|
||||
scratch_end(scratch);
|
||||
}
|
||||
|
||||
internal UI_Signal
|
||||
df_entity_desc_button(D_Entity *entity, FuzzyMatchRangeList *name_matches, String8 fuzzy_query, B32 is_implicit)
|
||||
{
|
||||
UI_Signal sig = {0};
|
||||
return sig;
|
||||
#if 0 // TODO(rjf): @msgs
|
||||
ProfBeginFunction();
|
||||
Temp scratch = scratch_begin(0, 0);
|
||||
UI_Palette *palette = ui_top_palette();
|
||||
@@ -760,6 +890,7 @@ df_entity_desc_button(D_Entity *entity, FuzzyMatchRangeList *name_matches, Strin
|
||||
scratch_end(scratch);
|
||||
ProfEnd();
|
||||
return sig;
|
||||
#endif
|
||||
}
|
||||
|
||||
internal void
|
||||
@@ -947,12 +1078,12 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
DF_CodeSliceSignal result = {0};
|
||||
ProfBeginFunction();
|
||||
Temp scratch = scratch_begin(0, 0);
|
||||
D_Entity *selected_thread = d_entity_from_handle(d_regs()->thread);
|
||||
D_Entity *selected_thread_process = d_entity_ancestor_from_kind(selected_thread, D_EntityKind_Process);
|
||||
CTRL_Entity *selected_thread = d_regs_thread();
|
||||
CTRL_Entity *selected_thread_process = ctrl_entity_ancestor_from_kind(selected_thread, CTRL_EntityKind_Process);
|
||||
U64 selected_thread_rip_unwind_vaddr = d_query_cached_rip_from_thread_unwind(selected_thread, d_regs()->unwind_count);
|
||||
D_Entity *selected_thread_module = d_module_from_process_vaddr(selected_thread_process, selected_thread_rip_unwind_vaddr);
|
||||
CTRL_Entity *selected_thread_module = ctrl_module_from_process_vaddr(selected_thread_process, selected_thread_rip_unwind_vaddr);
|
||||
CTRL_Event stop_event = d_ctrl_last_stop_event();
|
||||
D_Entity *stopper_thread = d_entity_from_ctrl_handle(stop_event.machine_id, stop_event.entity);
|
||||
CTRL_Entity *stopper_thread = ctrl_entity_from_machine_id_handle(d_state->ctrl_entity_store, stop_event.machine_id, stop_event.entity);
|
||||
B32 is_focused = ui_is_focus_active();
|
||||
B32 ctrlified = (os_get_event_flags() & OS_EventFlag_Ctrl);
|
||||
Vec4F32 code_line_bgs[] =
|
||||
@@ -998,10 +1129,10 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
line_num < params->line_num_range.max;
|
||||
line_num += 1, line_idx += 1)
|
||||
{
|
||||
D_EntityList threads = params->line_ips[line_idx];
|
||||
for(D_EntityNode *n = threads.first; n != 0; n = n->next)
|
||||
CTRL_EntityList threads = params->line_ips[line_idx];
|
||||
for(CTRL_EntityNode *n = threads.first; n != 0; n = n->next)
|
||||
{
|
||||
if(n->entity == stopper_thread && (stop_event.cause == CTRL_EventCause_InterruptedByTrap || stop_event.cause == CTRL_EventCause_InterruptedByException))
|
||||
if(n->v == stopper_thread && (stop_event.cause == CTRL_EventCause_InterruptedByTrap || stop_event.cause == CTRL_EventCause_InterruptedByException))
|
||||
{
|
||||
line_bg_colors[line_idx] = df_rgba_from_theme_color(DF_ThemeColor_HighlightOverlayError);
|
||||
}
|
||||
@@ -1033,26 +1164,26 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
line_num <= params->line_num_range.max;
|
||||
line_num += 1, line_idx += 1)
|
||||
{
|
||||
D_EntityList line_ips = params->line_ips[line_idx];
|
||||
CTRL_EntityList line_ips = params->line_ips[line_idx];
|
||||
ui_set_next_hover_cursor(OS_Cursor_HandPoint);
|
||||
UI_Box *line_margin_box = ui_build_box_from_stringf(UI_BoxFlag_Clickable*!!(params->flags & DF_CodeSliceFlag_Clickable)|UI_BoxFlag_DrawBackground|UI_BoxFlag_DrawActiveEffects, "line_margin_%I64x", line_num);
|
||||
UI_Parent(line_margin_box)
|
||||
{
|
||||
//- rjf: build margin thread ip ui
|
||||
for(D_EntityNode *n = line_ips.first; n != 0; n = n->next)
|
||||
for(CTRL_EntityNode *n = line_ips.first; n != 0; n = n->next)
|
||||
{
|
||||
// rjf: unpack thread
|
||||
D_Entity *thread = n->entity;
|
||||
CTRL_Entity *thread = n->v;
|
||||
if(thread != selected_thread)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
U64 unwind_count = (thread == selected_thread) ? d_regs()->unwind_count : 0;
|
||||
U64 thread_rip_vaddr = d_query_cached_rip_from_thread_unwind(thread, unwind_count);
|
||||
D_Entity *process = d_entity_ancestor_from_kind(thread, D_EntityKind_Process);
|
||||
D_Entity *module = d_module_from_process_vaddr(process, thread_rip_vaddr);
|
||||
DI_Key dbgi_key = d_dbgi_key_from_module(module);
|
||||
U64 thread_rip_voff = d_voff_from_vaddr(module, thread_rip_vaddr);
|
||||
CTRL_Entity *process = ctrl_entity_ancestor_from_kind(thread, CTRL_EntityKind_Process);
|
||||
CTRL_Entity *module = ctrl_module_from_process_vaddr(process, thread_rip_vaddr);
|
||||
DI_Key dbgi_key = ctrl_dbgi_key_from_module(module);
|
||||
U64 thread_rip_voff = ctrl_voff_from_vaddr(module, thread_rip_vaddr);
|
||||
|
||||
// rjf: thread info => color
|
||||
Vec4F32 color = v4f32(1, 1, 1, 1);
|
||||
@@ -1068,9 +1199,9 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
color = df_rgba_from_theme_color(DF_ThemeColor_ThreadError);
|
||||
}
|
||||
else if(thread->flags & D_EntityFlag_HasColor)
|
||||
else if(thread->rgba_u32 != 0)
|
||||
{
|
||||
color = d_rgba_from_entity(thread);
|
||||
color = rgba_from_u32(thread->rgba_u32);
|
||||
}
|
||||
if(d_ctrl_targets_running() && d_ctrl_last_run_frame_idx() < d_frame_index())
|
||||
{
|
||||
@@ -1103,11 +1234,11 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
DF_ThreadBoxDrawExtData *u = push_array(ui_build_arena(), DF_ThreadBoxDrawExtData, 1);
|
||||
u->thread_color = color;
|
||||
u->alive_t = thread->alive_t;
|
||||
u->is_selected = (thread == selected_thread);
|
||||
u->is_frozen = d_entity_is_frozen(thread);
|
||||
u->do_lines = df_setting_val_from_code(DF_SettingCode_ThreadLines).s32;
|
||||
u->do_glow = df_setting_val_from_code(DF_SettingCode_ThreadGlow).s32;
|
||||
u->alive_t = ClampTop(1.f, (os_now_microseconds() - thread->alloc_time_us) / 500000.f);
|
||||
u->is_selected = (thread == selected_thread);
|
||||
u->is_frozen = d_entity_is_frozen(thread);
|
||||
u->do_lines = df_setting_val_from_code(DF_SettingCode_ThreadLines).s32;
|
||||
u->do_glow = df_setting_val_from_code(DF_SettingCode_ThreadGlow).s32;
|
||||
ui_box_equip_custom_draw(thread_box, df_thread_box_draw_extensions, u);
|
||||
|
||||
// rjf: fill out progress t (progress into range of current line's
|
||||
@@ -1139,25 +1270,31 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
// rjf: hover tooltips
|
||||
if(ui_hovering(thread_sig) && !df_drag_is_active())
|
||||
{
|
||||
df_entity_tooltips(thread);
|
||||
df_ctrl_entity_tooltips(thread);
|
||||
}
|
||||
|
||||
// rjf: ip right-click menu
|
||||
if(ui_right_clicked(thread_sig))
|
||||
{
|
||||
// TODO(rjf): @msgs
|
||||
#if 0
|
||||
D_Handle handle = d_handle_from_entity(thread);
|
||||
ui_ctx_menu_open(df_state->entity_ctx_menu_key, thread_box->key, v2f32(0, thread_box->rect.y1-thread_box->rect.y0));
|
||||
DF_Window *window = df_window_from_handle(d_regs()->window);
|
||||
window->entity_ctx_menu_entity = handle;
|
||||
#endif
|
||||
}
|
||||
|
||||
// rjf: drag start
|
||||
if(ui_dragging(thread_sig) && !contains_2f32(thread_box->rect, ui_mouse()))
|
||||
{
|
||||
// TODO(rjf): @msgs
|
||||
#if 0
|
||||
DF_DragDropPayload payload = {0};
|
||||
payload.key = thread_box->key;
|
||||
payload.entity = d_handle_from_entity(thread);
|
||||
df_drag_begin(&payload);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1189,7 +1326,7 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
line_num <= params->line_num_range.max;
|
||||
line_num += 1, line_idx += 1)
|
||||
{
|
||||
D_EntityList line_ips = params->line_ips[line_idx];
|
||||
CTRL_EntityList line_ips = params->line_ips[line_idx];
|
||||
D_EntityList line_bps = params->line_bps[line_idx];
|
||||
D_EntityList line_pins = params->line_pins[line_idx];
|
||||
ui_set_next_hover_cursor(OS_Cursor_HandPoint);
|
||||
@@ -1197,20 +1334,20 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
UI_Parent(line_margin_box)
|
||||
{
|
||||
//- rjf: build margin thread ip ui
|
||||
for(D_EntityNode *n = line_ips.first; n != 0; n = n->next)
|
||||
for(CTRL_EntityNode *n = line_ips.first; n != 0; n = n->next)
|
||||
{
|
||||
// rjf: unpack thread
|
||||
D_Entity *thread = n->entity;
|
||||
CTRL_Entity *thread = n->v;
|
||||
if(thread == selected_thread)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
U64 unwind_count = (thread == selected_thread) ? d_regs()->unwind_count : 0;
|
||||
U64 thread_rip_vaddr = d_query_cached_rip_from_thread_unwind(thread, unwind_count);
|
||||
D_Entity *process = d_entity_ancestor_from_kind(thread, D_EntityKind_Process);
|
||||
D_Entity *module = d_module_from_process_vaddr(process, thread_rip_vaddr);
|
||||
DI_Key dbgi_key = d_dbgi_key_from_module(module);
|
||||
U64 thread_rip_voff = d_voff_from_vaddr(module, thread_rip_vaddr);
|
||||
CTRL_Entity *process = ctrl_entity_ancestor_from_kind(thread, CTRL_EntityKind_Process);
|
||||
CTRL_Entity *module = ctrl_module_from_process_vaddr(process, thread_rip_vaddr);
|
||||
DI_Key dbgi_key = ctrl_dbgi_key_from_module(module);
|
||||
U64 thread_rip_voff = ctrl_voff_from_vaddr(module, thread_rip_vaddr);
|
||||
|
||||
// rjf: thread info => color
|
||||
Vec4F32 color = v4f32(1, 1, 1, 1);
|
||||
@@ -1226,9 +1363,9 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
color = df_rgba_from_theme_color(DF_ThemeColor_ThreadError);
|
||||
}
|
||||
else if(thread->flags & D_EntityFlag_HasColor)
|
||||
else if(thread->rgba_u32 != 0)
|
||||
{
|
||||
color = d_rgba_from_entity(thread);
|
||||
color = rgba_from_u32(thread->rgba_u32);
|
||||
}
|
||||
if(d_ctrl_targets_running() && d_ctrl_last_run_frame_idx() < d_frame_index())
|
||||
{
|
||||
@@ -1261,9 +1398,9 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
DF_ThreadBoxDrawExtData *u = push_array(ui_build_arena(), DF_ThreadBoxDrawExtData, 1);
|
||||
u->thread_color = color;
|
||||
u->alive_t = thread->alive_t;
|
||||
u->is_selected = (thread == selected_thread);
|
||||
u->is_frozen = d_entity_is_frozen(thread);
|
||||
u->alive_t = ClampTop(1.f, (os_now_microseconds()-thread->alloc_time_us)/500000.f);
|
||||
u->is_selected = (thread == selected_thread);
|
||||
u->is_frozen = d_entity_is_frozen(thread);
|
||||
ui_box_equip_custom_draw(thread_box, df_thread_box_draw_extensions, u);
|
||||
|
||||
// rjf: fill out progress t (progress into range of current line's
|
||||
@@ -1295,32 +1432,38 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
// rjf: hover tooltips
|
||||
if(ui_hovering(thread_sig) && !df_drag_is_active())
|
||||
{
|
||||
df_entity_tooltips(thread);
|
||||
df_ctrl_entity_tooltips(thread);
|
||||
}
|
||||
|
||||
// rjf: ip right-click menu
|
||||
if(ui_right_clicked(thread_sig))
|
||||
{
|
||||
// TODO(rjf): @msgs
|
||||
#if 0
|
||||
D_Handle handle = d_handle_from_entity(thread);
|
||||
ui_ctx_menu_open(df_state->entity_ctx_menu_key, thread_box->key, v2f32(0, thread_box->rect.y1-thread_box->rect.y0));
|
||||
DF_Window *window = df_window_from_handle(d_regs()->window);
|
||||
window->entity_ctx_menu_entity = handle;
|
||||
#endif
|
||||
}
|
||||
|
||||
// rjf: double click => select
|
||||
if(ui_double_clicked(thread_sig))
|
||||
{
|
||||
d_cmd(D_CmdKind_SelectThread, .entity = d_handle_from_entity(thread));
|
||||
d_msg(D_MsgKind_SelectThread, .machine_id = thread->machine_id, .thread = thread->handle);
|
||||
ui_kill_action();
|
||||
}
|
||||
|
||||
// rjf: drag start
|
||||
if(ui_dragging(thread_sig) && !contains_2f32(thread_box->rect, ui_mouse()))
|
||||
{
|
||||
// TODO(rjf): @msgs
|
||||
#if 0
|
||||
DF_DragDropPayload payload = {0};
|
||||
payload.key = thread_box->key;
|
||||
payload.entity = d_handle_from_entity(thread);
|
||||
df_drag_begin(&payload);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1512,7 +1655,8 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
U64 best_stamp = 0;
|
||||
S64 line_info_line_num = 0;
|
||||
F32 line_info_t = selected_thread_module->alive_t;
|
||||
F32 line_info_t = (os_now_microseconds() - selected_thread_module->alloc_time_us) / 500000.f;
|
||||
line_info_t = ClampTop(1.f, line_info_t);
|
||||
D_LineList *lines = ¶ms->line_infos[line_idx];
|
||||
for(D_LineNode *n = lines->first; n != 0; n = n->next)
|
||||
{
|
||||
@@ -1605,10 +1749,10 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
line_num < params->line_num_range.max;
|
||||
line_num += 1, line_idx += 1)
|
||||
{
|
||||
D_EntityList threads = params->line_ips[line_idx];
|
||||
for(D_EntityNode *n = threads.first; n != 0; n = n->next)
|
||||
CTRL_EntityList threads = params->line_ips[line_idx];
|
||||
for(CTRL_EntityNode *n = threads.first; n != 0; n = n->next)
|
||||
{
|
||||
D_Entity *thread = n->entity;
|
||||
CTRL_Entity *thread = n->v;
|
||||
if(thread == stopper_thread &&
|
||||
(stop_event.cause == CTRL_EventCause_InterruptedByException ||
|
||||
stop_event.cause == CTRL_EventCause_InterruptedByTrap))
|
||||
@@ -1958,6 +2102,8 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
D_LineList *lines = ¶ms->line_infos[line_slice_idx];
|
||||
if(lines->first != 0 && (d_regs()->file_path.size == 0 || lines->first->v.pt.line == mouse_pt.line))
|
||||
{
|
||||
// TODO(rjf): @msgs
|
||||
#if 0
|
||||
DF_RichHoverInfo info = {0};
|
||||
info.process = d_handle_from_entity(selected_thread_process);
|
||||
info.vaddr_range = d_vaddr_range_from_voff_range(selected_thread_module, lines->first->v.voff_range);
|
||||
@@ -1965,6 +2111,7 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
info.dbgi_key = lines->first->v.dbgi_key;
|
||||
info.voff_range = lines->first->v.voff_range;
|
||||
df_set_rich_hover_info(&info);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2146,7 +2293,7 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
mapped_special = 1;
|
||||
new_color_kind = DF_ThemeColor_CodeSymbol;
|
||||
mix_t = selected_thread_module->alive_t;
|
||||
mix_t = ClampTop(1.f, (os_now_microseconds() - selected_thread_module->alloc_time_us) / 500000.f);
|
||||
}
|
||||
}
|
||||
if(!mapped_special && token->kind == TXT_TokenKind_Identifier)
|
||||
@@ -2156,7 +2303,7 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
mapped_special = 1;
|
||||
new_color_kind = DF_ThemeColor_CodeType;
|
||||
mix_t = selected_thread_module->alive_t;
|
||||
mix_t = ClampTop(1.f, (os_now_microseconds() - selected_thread_module->alloc_time_us) / 500000.f);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -2168,7 +2315,7 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
mapped_special = 1;
|
||||
new_color_kind = DF_ThemeColor_CodeLocal;
|
||||
mix_t = selected_thread_module->alive_t;
|
||||
mix_t = ClampTop(1.f, (os_now_microseconds() - selected_thread_module->alloc_time_us) / 500000.f);
|
||||
}
|
||||
}
|
||||
if(!mapped_special && token->kind == TXT_TokenKind_Identifier)
|
||||
@@ -2178,7 +2325,7 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
mapped_special = 1;
|
||||
new_color_kind = DF_ThemeColor_CodeLocal;
|
||||
mix_t = selected_thread_module->alive_t;
|
||||
mix_t = ClampTop(1.f, (os_now_microseconds() - selected_thread_module->alloc_time_us) / 500000.f);
|
||||
}
|
||||
}
|
||||
if(!mapped_special)
|
||||
@@ -2188,7 +2335,7 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
mapped_special = 1;
|
||||
new_color_kind = DF_ThemeColor_CodeRegister;
|
||||
mix_t = selected_thread_module->alive_t;
|
||||
mix_t = ClampTop(1.f, (os_now_microseconds() - selected_thread_module->alloc_time_us) / 500000.f);
|
||||
}
|
||||
}
|
||||
if(!mapped_special)
|
||||
@@ -2198,7 +2345,7 @@ df_code_slice(DF_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
||||
{
|
||||
mapped_special = 1;
|
||||
new_color_kind = DF_ThemeColor_CodeRegister;
|
||||
mix_t = selected_thread_module->alive_t;
|
||||
mix_t = ClampTop(1.f, (os_now_microseconds() - selected_thread_module->alloc_time_us) / 500000.f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2725,8 +2872,8 @@ df_fancy_string_list_from_code_string(Arena *arena, F32 alpha, B32 indirection_s
|
||||
}
|
||||
else
|
||||
{
|
||||
D_Entity *module = d_entity_from_handle(d_regs()->module);
|
||||
DI_Key dbgi_key = d_dbgi_key_from_module(module);
|
||||
CTRL_Entity *module = d_regs_module();
|
||||
DI_Key dbgi_key = ctrl_dbgi_key_from_module(module);
|
||||
U64 symbol_voff = d_voff_from_dbgi_key_symbol_name(&dbgi_key, token_string);
|
||||
if(symbol_voff != 0)
|
||||
{
|
||||
|
||||
@@ -43,7 +43,7 @@ struct DF_CodeSliceParams
|
||||
Rng1U64 *line_ranges;
|
||||
TXT_TokenArray *line_tokens;
|
||||
D_EntityList *line_bps;
|
||||
D_EntityList *line_ips;
|
||||
CTRL_EntityList *line_ips;
|
||||
D_EntityList *line_pins;
|
||||
U64 *line_vaddrs;
|
||||
D_LineList *line_infos;
|
||||
@@ -91,6 +91,7 @@ internal void df_cmd_list_menu_buttons(U64 count, D_CmdKind *cmds, U32 *fastpath
|
||||
internal UI_Signal df_icon_button(DF_IconKind kind, FuzzyMatchRangeList *matches, String8 string);
|
||||
internal UI_Signal df_icon_buttonf(DF_IconKind kind, FuzzyMatchRangeList *matches, char *fmt, ...);
|
||||
internal void df_entity_tooltips(D_Entity *entity);
|
||||
internal void df_ctrl_entity_tooltips(CTRL_Entity *entity);
|
||||
internal UI_Signal df_entity_desc_button(D_Entity *entity, FuzzyMatchRangeList *name_matches, String8 fuzzy_query, B32 is_implicit);
|
||||
internal void df_src_loc_button(String8 file_path, TxtPt point);
|
||||
|
||||
|
||||
@@ -4,215 +4,188 @@
|
||||
//- GENERATED CODE
|
||||
|
||||
C_LINKAGE_BEGIN
|
||||
String8 df_msg_kind_name_lower_table[64] =
|
||||
DF_MsgKindInfo df_msg_kind_info_table[107] =
|
||||
{
|
||||
str8_lit_comp("null"),
|
||||
str8_lit_comp("exit"),
|
||||
str8_lit_comp("run_command"),
|
||||
str8_lit_comp("toggle_dev_menu"),
|
||||
str8_lit_comp("apply_user_data"),
|
||||
str8_lit_comp("apply_project_data"),
|
||||
str8_lit_comp("write_user_data"),
|
||||
str8_lit_comp("write_project_data"),
|
||||
str8_lit_comp("open_window"),
|
||||
str8_lit_comp("close_window"),
|
||||
str8_lit_comp("toggle_fullscreen"),
|
||||
str8_lit_comp("confirm_accept"),
|
||||
str8_lit_comp("confirm_cancel"),
|
||||
str8_lit_comp("complete_query"),
|
||||
str8_lit_comp("cancel_query"),
|
||||
str8_lit_comp("find_text_forward"),
|
||||
str8_lit_comp("find_text_backward"),
|
||||
str8_lit_comp("find_next"),
|
||||
str8_lit_comp("find_prev"),
|
||||
str8_lit_comp("inc_ui_font_scale"),
|
||||
str8_lit_comp("dec_ui_font_scale"),
|
||||
str8_lit_comp("inc_code_font_scale"),
|
||||
str8_lit_comp("dec_code_font_scale"),
|
||||
str8_lit_comp("new_panel_left"),
|
||||
str8_lit_comp("new_panel_up"),
|
||||
str8_lit_comp("new_panel_right"),
|
||||
str8_lit_comp("new_panel_down"),
|
||||
str8_lit_comp("split_panel"),
|
||||
str8_lit_comp("close_panel"),
|
||||
str8_lit_comp("rotate_panel_columns"),
|
||||
str8_lit_comp("next_panel"),
|
||||
str8_lit_comp("prev_panel"),
|
||||
str8_lit_comp("focus_panel"),
|
||||
str8_lit_comp("focus_panel_right"),
|
||||
str8_lit_comp("focus_panel_left"),
|
||||
str8_lit_comp("focus_panel_up"),
|
||||
str8_lit_comp("focus_panel_down"),
|
||||
str8_lit_comp("go_back"),
|
||||
str8_lit_comp("go_forward"),
|
||||
str8_lit_comp("next_tab"),
|
||||
str8_lit_comp("prev_tab"),
|
||||
str8_lit_comp("move_tab_right"),
|
||||
str8_lit_comp("move_tab_left"),
|
||||
str8_lit_comp("move_tab"),
|
||||
str8_lit_comp("open_tab"),
|
||||
str8_lit_comp("close_tab"),
|
||||
str8_lit_comp("tab_bar_top"),
|
||||
str8_lit_comp("tab_bar_bottom"),
|
||||
str8_lit_comp("filter"),
|
||||
str8_lit_comp("clear_filter"),
|
||||
str8_lit_comp("apply_filter"),
|
||||
str8_lit_comp("reset_to_default_panels"),
|
||||
str8_lit_comp("reset_to_compact_panels"),
|
||||
str8_lit_comp("open"),
|
||||
str8_lit_comp("switch"),
|
||||
str8_lit_comp("switch_to_partner_file"),
|
||||
str8_lit_comp("find_thread"),
|
||||
str8_lit_comp("find_selected_thread"),
|
||||
str8_lit_comp("go_to_name"),
|
||||
str8_lit_comp("find_code_location"),
|
||||
str8_lit_comp("go_to_line"),
|
||||
str8_lit_comp("go_to_address"),
|
||||
str8_lit_comp("center_cursor"),
|
||||
str8_lit_comp("contain_cursor"),
|
||||
{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}},
|
||||
{str8_lit_comp("load_user_data"), str8_lit_comp("LoadUser"), str8_lit_comp(""), str8_lit_comp("LoadUser"), ((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("load_project_data"), str8_lit_comp("LoadProject"), str8_lit_comp(""), str8_lit_comp("LoadProject"), ((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("save_user_data"), str8_lit_comp("SaveUser"), str8_lit_comp(""), str8_lit_comp("SaveUser"), ((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("save_project_data"), str8_lit_comp("SaveProject"), str8_lit_comp(""), str8_lit_comp("SaveProject"), ((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("open_window"), str8_lit_comp("OpenWindow"), str8_lit_comp(""), str8_lit_comp("OpenWindow"), ((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("close_window"), str8_lit_comp("CloseWindow"), str8_lit_comp(""), str8_lit_comp("CloseWindow"), ((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_fullscreen"), str8_lit_comp("ToggleFullscreen"), str8_lit_comp(""), str8_lit_comp("ToggleFullscreen"), ((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("confirm_accept"), str8_lit_comp("ConfirmAccept"), str8_lit_comp(""), str8_lit_comp("ConfirmAccept"), ((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("confirm_cancel"), str8_lit_comp("ConfirmCancel"), str8_lit_comp(""), str8_lit_comp("ConfirmCancel"), ((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("complete_query"), str8_lit_comp("CompleteQuery"), str8_lit_comp(""), str8_lit_comp("CompleteQuery"), ((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("cancel_query"), str8_lit_comp("CancelQuery"), str8_lit_comp(""), str8_lit_comp("CancelQuery"), ((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("find_text_forward"), str8_lit_comp("FindTextForward"), str8_lit_comp(""), str8_lit_comp("FindTextForward"), ((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("find_text_backward"), str8_lit_comp("FindTextBackward"), str8_lit_comp(""), str8_lit_comp("FindTextBackward"), ((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("find_next"), str8_lit_comp("FindNext"), str8_lit_comp(""), str8_lit_comp("FindNext"), ((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("find_prev"), str8_lit_comp("FindPrev"), str8_lit_comp(""), str8_lit_comp("FindPrev"), ((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("inc_ui_font_scale"), str8_lit_comp("IncUIFontScale"), str8_lit_comp(""), str8_lit_comp("IncUIFontScale"), ((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("dec_ui_font_scale"), str8_lit_comp("DecUIFontScale"), str8_lit_comp(""), str8_lit_comp("DecUIFontScale"), ((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("inc_code_font_scale"), str8_lit_comp("IncCodeFontScale"), str8_lit_comp(""), str8_lit_comp("IncCodeFontScale"), ((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("dec_code_font_scale"), str8_lit_comp("DecCodeFontScale"), str8_lit_comp(""), str8_lit_comp("DecCodeFontScale"), ((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("new_panel_left"), str8_lit_comp("NewPanelLeft"), str8_lit_comp(""), str8_lit_comp("NewPanelLeft"), ((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("new_panel_up"), str8_lit_comp("NewPanelUp"), str8_lit_comp(""), str8_lit_comp("NewPanelUp"), ((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("new_panel_right"), str8_lit_comp("NewPanelRight"), str8_lit_comp(""), str8_lit_comp("NewPanelRight"), ((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("new_panel_down"), str8_lit_comp("NewPanelDown"), str8_lit_comp(""), str8_lit_comp("NewPanelDown"), ((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("split_panel"), str8_lit_comp("SplitPanel"), str8_lit_comp(""), str8_lit_comp("SplitPanel"), ((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("close_panel"), str8_lit_comp("ClosePanel"), str8_lit_comp(""), str8_lit_comp("ClosePanel"), ((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("rotate_panel_columns"), str8_lit_comp("RotatePanelColumns"), str8_lit_comp(""), str8_lit_comp("RotatePanelColumns"), ((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("next_panel"), str8_lit_comp("NextPanel"), str8_lit_comp(""), str8_lit_comp("NextPanel"), ((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("prev_panel"), str8_lit_comp("PrevPanel"), str8_lit_comp(""), str8_lit_comp("PrevPanel"), ((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("focus_panel"), str8_lit_comp("FocusPanel"), str8_lit_comp(""), str8_lit_comp("FocusPanel"), ((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("focus_panel_right"), str8_lit_comp("FocusPanelRight"), str8_lit_comp(""), str8_lit_comp("FocusPanelRight"), ((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("focus_panel_left"), str8_lit_comp("FocusPanelLeft"), str8_lit_comp(""), str8_lit_comp("FocusPanelLeft"), ((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("focus_panel_up"), str8_lit_comp("FocusPanelUp"), str8_lit_comp(""), str8_lit_comp("FocusPanelUp"), ((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("focus_panel_down"), str8_lit_comp("FocusPanelDown"), str8_lit_comp(""), str8_lit_comp("FocusPanelDown"), ((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("go_back"), str8_lit_comp("GoBack"), str8_lit_comp(""), str8_lit_comp("GoBack"), ((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("go_forward"), str8_lit_comp("GoForward"), str8_lit_comp(""), str8_lit_comp("GoForward"), ((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("next_tab"), str8_lit_comp("NextTab"), str8_lit_comp(""), str8_lit_comp("NextTab"), ((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("prev_tab"), str8_lit_comp("PrevTab"), str8_lit_comp(""), str8_lit_comp("PrevTab"), ((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("move_tab_right"), str8_lit_comp("MoveTabRight"), str8_lit_comp(""), str8_lit_comp("MoveTabRight"), ((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("move_tab_left"), str8_lit_comp("MoveTabLeft"), str8_lit_comp(""), str8_lit_comp("MoveTabLeft"), ((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("move_tab"), str8_lit_comp("MoveTab"), str8_lit_comp(""), str8_lit_comp("MoveTab"), ((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("open_tab"), str8_lit_comp("OpenTab"), str8_lit_comp(""), str8_lit_comp("OpenTab"), ((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("close_tab"), str8_lit_comp("CloseTab"), str8_lit_comp(""), str8_lit_comp("CloseTab"), ((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("tab_bar_top"), str8_lit_comp("TabBarTop"), str8_lit_comp(""), str8_lit_comp("TabBarTop"), ((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("tab_bar_bottom"), str8_lit_comp("TabBarBottom"), str8_lit_comp(""), str8_lit_comp("TabBarBottom"), ((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("filter"), str8_lit_comp("Filter"), str8_lit_comp(""), str8_lit_comp("Filter"), ((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("clear_filter"), str8_lit_comp("ClearFilter"), str8_lit_comp(""), str8_lit_comp("ClearFilter"), ((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("apply_filter"), str8_lit_comp("ApplyFilter"), str8_lit_comp(""), str8_lit_comp("ApplyFilter"), ((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("reset_to_default_panels"), str8_lit_comp("ResetToDefaultPanels"), str8_lit_comp(""), str8_lit_comp("ResetToDefaultPanels"), ((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("reset_to_compact_panels"), str8_lit_comp("ResetToCompactPanels"), str8_lit_comp(""), str8_lit_comp("ResetToCompactPanels"), ((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("open"), str8_lit_comp("Open"), str8_lit_comp(""), str8_lit_comp("Open"), ((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("switch"), str8_lit_comp("Switch"), str8_lit_comp(""), str8_lit_comp("Switch"), ((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("switch_to_partner_file"), str8_lit_comp("SwitchToPartnerFile"), str8_lit_comp(""), str8_lit_comp("SwitchToPartnerFile"), ((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("find_thread"), str8_lit_comp("FindThread"), str8_lit_comp(""), str8_lit_comp("FindThread"), ((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("find_selected_thread"), str8_lit_comp("FindSelectedThread"), str8_lit_comp(""), str8_lit_comp("FindSelectedThread"), ((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("go_to_name"), str8_lit_comp("GoToName"), str8_lit_comp(""), str8_lit_comp("GoToName"), ((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("find_code_location"), str8_lit_comp("FindCodeLocation"), str8_lit_comp(""), str8_lit_comp("FindCodeLocation"), ((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("go_to_line"), str8_lit_comp("GoToLine"), str8_lit_comp(""), str8_lit_comp("GoToLine"), ((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("go_to_address"), str8_lit_comp("GoToAddress"), str8_lit_comp(""), str8_lit_comp("GoToAddress"), ((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("center_cursor"), str8_lit_comp("CenterCursor"), str8_lit_comp(""), str8_lit_comp("CenterCursor"), ((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("contain_cursor"), str8_lit_comp("ContainCursor"), str8_lit_comp(""), str8_lit_comp("ContainCursor"), ((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("edit"), str8_lit_comp("Edit"), str8_lit_comp(""), str8_lit_comp("Edit"), ((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("accept"), str8_lit_comp("Accept"), str8_lit_comp(""), str8_lit_comp("Accept"), ((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("cancel"), str8_lit_comp("Cancel"), str8_lit_comp(""), str8_lit_comp("Cancel"), ((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("move_left"), str8_lit_comp("MoveLeft"), str8_lit_comp(""), str8_lit_comp("MoveLeft"), ((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("move_right"), str8_lit_comp("MoveRight"), str8_lit_comp(""), str8_lit_comp("MoveRight"), ((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("move_up"), str8_lit_comp("MoveUp"), str8_lit_comp(""), str8_lit_comp("MoveUp"), ((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("move_down"), str8_lit_comp("MoveDown"), str8_lit_comp(""), str8_lit_comp("MoveDown"), ((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("move_left_select"), str8_lit_comp("MoveLeftSelect"), str8_lit_comp(""), str8_lit_comp("MoveLeftSelect"), ((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("move_right_select"), str8_lit_comp("MoveRightSelect"), str8_lit_comp(""), str8_lit_comp("MoveRightSelect"), ((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("move_up_select"), str8_lit_comp("MoveUpSelect"), str8_lit_comp(""), str8_lit_comp("MoveUpSelect"), ((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("move_down_select"), str8_lit_comp("MoveDownSelect"), str8_lit_comp(""), str8_lit_comp("MoveDownSelect"), ((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("move_left_chunk"), str8_lit_comp("MoveLeftChunk"), str8_lit_comp(""), str8_lit_comp("MoveLeftChunk"), ((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("move_right_chunk"), str8_lit_comp("MoveRightChunk"), str8_lit_comp(""), str8_lit_comp("MoveRightChunk"), ((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("move_up_chunk"), str8_lit_comp("MoveUpChunk"), str8_lit_comp(""), str8_lit_comp("MoveUpChunk"), ((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("move_down_chunk"), str8_lit_comp("MoveDownChunk"), str8_lit_comp(""), str8_lit_comp("MoveDownChunk"), ((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("move_up_page"), str8_lit_comp("MoveUpPage"), str8_lit_comp(""), str8_lit_comp("MoveUpPage"), ((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("move_down_page"), str8_lit_comp("MoveDownPage"), str8_lit_comp(""), str8_lit_comp("MoveDownPage"), ((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("move_up_whole"), str8_lit_comp("MoveUpWhole"), str8_lit_comp(""), str8_lit_comp("MoveUpWhole"), ((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("move_down_whole"), str8_lit_comp("MoveDownWhole"), str8_lit_comp(""), str8_lit_comp("MoveDownWhole"), ((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("move_left_chunk_select"), str8_lit_comp("MoveLeftChunkSelect"), str8_lit_comp(""), str8_lit_comp("MoveLeftChunkSelect"), ((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("move_right_chunk_select"), str8_lit_comp("MoveRightChunkSelect"), str8_lit_comp(""), str8_lit_comp("MoveRightChunkSelect"), ((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("move_up_chunk_select"), str8_lit_comp("MoveUpChunkSelect"), str8_lit_comp(""), str8_lit_comp("MoveUpChunkSelect"), ((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("move_down_chunk_select"), str8_lit_comp("MoveDownChunkSelect"), str8_lit_comp(""), str8_lit_comp("MoveDownChunkSelect"), ((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("move_up_page_select"), str8_lit_comp("MoveUpPageSelect"), str8_lit_comp(""), str8_lit_comp("MoveUpPageSelect"), ((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("move_down_page_select"), str8_lit_comp("MoveDownPageSelect"), str8_lit_comp(""), str8_lit_comp("MoveDownPageSelect"), ((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("move_up_whole_select"), str8_lit_comp("MoveUpWholeSelect"), str8_lit_comp(""), str8_lit_comp("MoveUpWholeSelect"), ((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("move_down_whole_select"), str8_lit_comp("MoveDownWholeSelect"), str8_lit_comp(""), str8_lit_comp("MoveDownWholeSelect"), ((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("move_up_reorder"), str8_lit_comp("MoveUpReorder"), str8_lit_comp(""), str8_lit_comp("MoveUpReorder"), ((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("move_down_reorder"), str8_lit_comp("MoveDownReorder"), str8_lit_comp(""), str8_lit_comp("MoveDownReorder"), ((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("move_home"), str8_lit_comp("MoveHome"), str8_lit_comp(""), str8_lit_comp("MoveHome"), ((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("move_end"), str8_lit_comp("MoveEnd"), str8_lit_comp(""), str8_lit_comp("MoveEnd"), ((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("move_home_select"), str8_lit_comp("MoveHomeSelect"), str8_lit_comp(""), str8_lit_comp("MoveHomeSelect"), ((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("move_end_select"), str8_lit_comp("MoveEndSelect"), str8_lit_comp(""), str8_lit_comp("MoveEndSelect"), ((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_all"), str8_lit_comp("SelectAll"), str8_lit_comp(""), str8_lit_comp("SelectAll"), ((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("delete_single"), str8_lit_comp("DeleteSingle"), str8_lit_comp(""), str8_lit_comp("DeleteSingle"), ((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("delete_chunk"), str8_lit_comp("DeleteChunk"), str8_lit_comp(""), str8_lit_comp("DeleteChunk"), ((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("backspace_single"), str8_lit_comp("BackspaceSingle"), str8_lit_comp(""), str8_lit_comp("BackspaceSingle"), ((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("backspace_chunk"), str8_lit_comp("BackspaceChunk"), str8_lit_comp(""), str8_lit_comp("BackspaceChunk"), ((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("copy"), str8_lit_comp("Copy"), str8_lit_comp(""), str8_lit_comp("Copy"), ((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("cut"), str8_lit_comp("Cut"), str8_lit_comp(""), str8_lit_comp("Cut"), ((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("paste"), str8_lit_comp("Paste"), str8_lit_comp(""), str8_lit_comp("Paste"), ((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("insert_text"), str8_lit_comp("InsertText"), str8_lit_comp(""), str8_lit_comp("InsertText"), ((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("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_msg_kind_info_table[64] =
|
||||
DF_MsgKindInfo df_d_msg_kind_info_table[69] =
|
||||
{
|
||||
{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(""), 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("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("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}},
|
||||
{str8_lit_comp("ApplyUserData"), str8_lit_comp(""), str8_lit_comp("ApplyUserData"), ((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("ApplyProjectData"), str8_lit_comp(""), str8_lit_comp("ApplyProjectData"), ((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("WriteUserData"), str8_lit_comp(""), str8_lit_comp("WriteUserData"), ((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("WriteProjectData"), str8_lit_comp(""), str8_lit_comp("WriteProjectData"), ((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("OpenWindow"), str8_lit_comp(""), str8_lit_comp("OpenWindow"), ((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("CloseWindow"), str8_lit_comp(""), str8_lit_comp("CloseWindow"), ((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("ToggleFullscreen"), str8_lit_comp(""), str8_lit_comp("ToggleFullscreen"), ((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("ConfirmAccept"), str8_lit_comp(""), str8_lit_comp("ConfirmAccept"), ((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("ConfirmCancel"), str8_lit_comp(""), str8_lit_comp("ConfirmCancel"), ((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("CompleteQuery"), str8_lit_comp(""), str8_lit_comp("CompleteQuery"), ((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("CancelQuery"), str8_lit_comp(""), str8_lit_comp("CancelQuery"), ((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("FindTextForward"), str8_lit_comp(""), str8_lit_comp("FindTextForward"), ((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("FindTextBackward"), str8_lit_comp(""), str8_lit_comp("FindTextBackward"), ((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("FindNext"), str8_lit_comp(""), str8_lit_comp("FindNext"), ((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("FindPrev"), str8_lit_comp(""), str8_lit_comp("FindPrev"), ((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("IncUIFontScale"), str8_lit_comp(""), str8_lit_comp("IncUIFontScale"), ((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("DecUIFontScale"), str8_lit_comp(""), str8_lit_comp("DecUIFontScale"), ((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("IncCodeFontScale"), str8_lit_comp(""), str8_lit_comp("IncCodeFontScale"), ((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("DecCodeFontScale"), str8_lit_comp(""), str8_lit_comp("DecCodeFontScale"), ((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("NewPanelLeft"), str8_lit_comp(""), str8_lit_comp("NewPanelLeft"), ((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("NewPanelUp"), str8_lit_comp(""), str8_lit_comp("NewPanelUp"), ((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("NewPanelRight"), str8_lit_comp(""), str8_lit_comp("NewPanelRight"), ((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("NewPanelDown"), str8_lit_comp(""), str8_lit_comp("NewPanelDown"), ((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("SplitPanel"), str8_lit_comp(""), str8_lit_comp("SplitPanel"), ((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("ClosePanel"), str8_lit_comp(""), str8_lit_comp("ClosePanel"), ((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("RotatePanelColumns"), str8_lit_comp(""), str8_lit_comp("RotatePanelColumns"), ((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("NextPanel"), str8_lit_comp(""), str8_lit_comp("NextPanel"), ((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("PrevPanel"), str8_lit_comp(""), str8_lit_comp("PrevPanel"), ((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("FocusPanel"), str8_lit_comp(""), str8_lit_comp("FocusPanel"), ((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("FocusPanelRight"), str8_lit_comp(""), str8_lit_comp("FocusPanelRight"), ((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("FocusPanelLeft"), str8_lit_comp(""), str8_lit_comp("FocusPanelLeft"), ((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("FocusPanelUp"), str8_lit_comp(""), str8_lit_comp("FocusPanelUp"), ((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("FocusPanelDown"), str8_lit_comp(""), str8_lit_comp("FocusPanelDown"), ((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("GoBack"), str8_lit_comp(""), str8_lit_comp("GoBack"), ((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("GoForward"), str8_lit_comp(""), str8_lit_comp("GoForward"), ((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("NextTab"), str8_lit_comp(""), str8_lit_comp("NextTab"), ((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("PrevTab"), str8_lit_comp(""), str8_lit_comp("PrevTab"), ((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("MoveTabRight"), str8_lit_comp(""), str8_lit_comp("MoveTabRight"), ((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("MoveTabLeft"), str8_lit_comp(""), str8_lit_comp("MoveTabLeft"), ((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("MoveTab"), str8_lit_comp(""), str8_lit_comp("MoveTab"), ((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("OpenTab"), str8_lit_comp(""), str8_lit_comp("OpenTab"), ((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("CloseTab"), str8_lit_comp(""), str8_lit_comp("CloseTab"), ((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("TabBarTop"), str8_lit_comp(""), str8_lit_comp("TabBarTop"), ((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("TabBarBottom"), str8_lit_comp(""), str8_lit_comp("TabBarBottom"), ((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("Filter"), str8_lit_comp(""), str8_lit_comp("Filter"), ((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("ClearFilter"), str8_lit_comp(""), str8_lit_comp("ClearFilter"), ((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("ApplyFilter"), str8_lit_comp(""), str8_lit_comp("ApplyFilter"), ((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("ResetToDefaultPanels"), str8_lit_comp(""), str8_lit_comp("ResetToDefaultPanels"), ((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("ResetToCompactPanels"), str8_lit_comp(""), str8_lit_comp("ResetToCompactPanels"), ((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("Open"), str8_lit_comp(""), str8_lit_comp("Open"), ((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("Switch"), str8_lit_comp(""), str8_lit_comp("Switch"), ((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("SwitchToPartnerFile"), str8_lit_comp(""), str8_lit_comp("SwitchToPartnerFile"), ((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("FindThread"), str8_lit_comp(""), str8_lit_comp("FindThread"), ((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("FindSelectedThread"), str8_lit_comp(""), str8_lit_comp("FindSelectedThread"), ((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("GoToName"), str8_lit_comp(""), str8_lit_comp("GoToName"), ((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("FindCodeLocation"), str8_lit_comp(""), str8_lit_comp("FindCodeLocation"), ((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("GoToLine"), str8_lit_comp(""), str8_lit_comp("GoToLine"), ((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("GoToAddress"), str8_lit_comp(""), str8_lit_comp("GoToAddress"), ((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("CenterCursor"), str8_lit_comp(""), str8_lit_comp("CenterCursor"), ((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("ContainCursor"), str8_lit_comp(""), str8_lit_comp("ContainCursor"), ((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[71] =
|
||||
{
|
||||
{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("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("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(""), 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("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(""), 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(""), 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(""), 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("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("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("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("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("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(""), 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("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("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("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("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(""), 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(""), 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("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("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("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("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("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("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("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("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("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("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("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("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("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("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("SetPathMapSrc"), str8_lit_comp(""), str8_lit_comp("SetPathMapSrc"), ((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("SetPathMapDst"), str8_lit_comp(""), str8_lit_comp("SetPathMapDst"), ((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("SetFileReplacementPath"), str8_lit_comp(""), str8_lit_comp("SetFileReplacementPath"), ((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("SetAutoViewRuleType"), str8_lit_comp(""), str8_lit_comp("SetAutoViewRuleType"), ((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("SetAutoViewRuleViewRule"), str8_lit_comp(""), str8_lit_comp("SetAutoViewRuleViewRule"), ((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("EnableEntity"), str8_lit_comp(""), str8_lit_comp("EnableEntity"), ((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("EnableBreakpoint"), str8_lit_comp(""), str8_lit_comp("EnableBreakpoint"), ((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("EnableTarget"), str8_lit_comp(""), str8_lit_comp("EnableTarget"), ((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("DisableEntity"), str8_lit_comp(""), str8_lit_comp("DisableEntity"), ((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("DisableBreakpoint"), str8_lit_comp(""), str8_lit_comp("DisableBreakpoint"), ((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("DisableTarget"), str8_lit_comp(""), str8_lit_comp("DisableTarget"), ((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("FreezeEntity"), str8_lit_comp(""), str8_lit_comp("FreezeEntity"), ((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("ThawEntity"), str8_lit_comp(""), str8_lit_comp("ThawEntity"), ((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("RemoveEntity"), str8_lit_comp(""), str8_lit_comp("RemoveEntity"), ((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("RemoveBreakpoint"), str8_lit_comp(""), str8_lit_comp("RemoveBreakpoint"), ((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("RemoveTarget"), str8_lit_comp(""), str8_lit_comp("RemoveTarget"), ((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("NameEntity"), str8_lit_comp(""), str8_lit_comp("NameEntity"), ((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("DuplicateEntity"), str8_lit_comp(""), str8_lit_comp("DuplicateEntity"), ((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("RelocateEntity"), str8_lit_comp(""), str8_lit_comp("RelocateEntity"), ((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("AddBreakpoint"), str8_lit_comp(""), str8_lit_comp("AddBreakpoint"), ((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("ToggleBreakpoint"), str8_lit_comp(""), str8_lit_comp("ToggleBreakpoint"), ((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("AddAddressBreakpoint"), str8_lit_comp(""), str8_lit_comp("AddAddressBreakpoint"), ((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("AddFunctionBreakpoint"), str8_lit_comp(""), str8_lit_comp("AddFunctionBreakpoint"), ((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("AddWatchPin"), str8_lit_comp(""), str8_lit_comp("AddWatchPin"), ((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("ToggleWatchPin"), str8_lit_comp(""), str8_lit_comp("ToggleWatchPin"), ((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("ToggleWatchExpression"), str8_lit_comp(""), str8_lit_comp("ToggleWatchExpression"), ((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("ToggleBreakpointAtCursor"), str8_lit_comp(""), str8_lit_comp("ToggleBreakpointAtCursor"), ((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("ToggleWatchPinAtCursor"), str8_lit_comp(""), str8_lit_comp("ToggleWatchPinAtCursor"), ((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("ToggleWatchExpressionAtCursor"), str8_lit_comp(""), str8_lit_comp("ToggleWatchExpressionAtCursor"), ((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("GoToNameAtCursor"), str8_lit_comp(""), str8_lit_comp("GoToNameAtCursor"), ((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("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("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}},
|
||||
{str8_lit_comp("AddTarget"), str8_lit_comp(""), str8_lit_comp("AddTarget"), ((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("SelectTarget"), str8_lit_comp(""), str8_lit_comp("SelectTarget"), ((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("RetryEndedProcess"), str8_lit_comp(""), str8_lit_comp("RetryEndedProcess"), ((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("RegisterAsJITDebugger"), str8_lit_comp(""), str8_lit_comp("RegisterAsJITDebugger"), ((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("LogMarker"), str8_lit_comp(""), str8_lit_comp("LogMarker"), ((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("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("set_path_map_src"), str8_lit_comp("SetPathMapSrc"), str8_lit_comp(""), str8_lit_comp("SetPathMapSrc"), ((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_path_map_dst"), str8_lit_comp("SetPathMapDst"), str8_lit_comp(""), str8_lit_comp("SetPathMapDst"), ((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_file_replacement_path"), str8_lit_comp("SetFileReplacementPath"), str8_lit_comp(""), str8_lit_comp("SetFileReplacementPath"), ((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_auto_view_rule_type"), str8_lit_comp("SetAutoViewRuleType"), str8_lit_comp(""), str8_lit_comp("SetAutoViewRuleType"), ((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_auto_view_rule_view_rule"), str8_lit_comp("SetAutoViewRuleViewRule"), str8_lit_comp(""), str8_lit_comp("SetAutoViewRuleViewRule"), ((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("enable_entity"), str8_lit_comp("EnableEntity"), str8_lit_comp(""), str8_lit_comp("EnableEntity"), ((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("enable_breakpoint"), str8_lit_comp("EnableBreakpoint"), str8_lit_comp(""), str8_lit_comp("EnableBreakpoint"), ((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("enable_target"), str8_lit_comp("EnableTarget"), str8_lit_comp(""), str8_lit_comp("EnableTarget"), ((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("disable_entity"), str8_lit_comp("DisableEntity"), str8_lit_comp(""), str8_lit_comp("DisableEntity"), ((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("disable_breakpoint"), str8_lit_comp("DisableBreakpoint"), str8_lit_comp(""), str8_lit_comp("DisableBreakpoint"), ((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("disable_target"), str8_lit_comp("DisableTarget"), str8_lit_comp(""), str8_lit_comp("DisableTarget"), ((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("remove_entity"), str8_lit_comp("RemoveEntity"), str8_lit_comp(""), str8_lit_comp("RemoveEntity"), ((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("remove_breakpoint"), str8_lit_comp("RemoveBreakpoint"), str8_lit_comp(""), str8_lit_comp("RemoveBreakpoint"), ((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("remove_target"), str8_lit_comp("RemoveTarget"), str8_lit_comp(""), str8_lit_comp("RemoveTarget"), ((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("name_entity"), str8_lit_comp("NameEntity"), str8_lit_comp(""), str8_lit_comp("NameEntity"), ((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("duplicate_entity"), str8_lit_comp("DuplicateEntity"), str8_lit_comp(""), str8_lit_comp("DuplicateEntity"), ((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("relocate_entity"), str8_lit_comp("RelocateEntity"), str8_lit_comp(""), str8_lit_comp("RelocateEntity"), ((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("add_breakpoint"), str8_lit_comp("AddBreakpoint"), str8_lit_comp(""), str8_lit_comp("AddBreakpoint"), ((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_breakpoint"), str8_lit_comp("ToggleBreakpoint"), str8_lit_comp(""), str8_lit_comp("ToggleBreakpoint"), ((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("add_address_breakpoint"), str8_lit_comp("AddAddressBreakpoint"), str8_lit_comp(""), str8_lit_comp("AddAddressBreakpoint"), ((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("add_function_breakpoint"), str8_lit_comp("AddFunctionBreakpoint"), str8_lit_comp(""), str8_lit_comp("AddFunctionBreakpoint"), ((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("add_watch_pin"), str8_lit_comp("AddWatchPin"), str8_lit_comp(""), str8_lit_comp("AddWatchPin"), ((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_watch_pin"), str8_lit_comp("ToggleWatchPin"), str8_lit_comp(""), str8_lit_comp("ToggleWatchPin"), ((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_watch_expression"), str8_lit_comp("ToggleWatchExpression"), str8_lit_comp(""), str8_lit_comp("ToggleWatchExpression"), ((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_breakpoint_at_cursor"), str8_lit_comp("ToggleBreakpointAtCursor"), str8_lit_comp(""), str8_lit_comp("ToggleBreakpointAtCursor"), ((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_watch_pin_at_cursor"), str8_lit_comp("ToggleWatchPinAtCursor"), str8_lit_comp(""), str8_lit_comp("ToggleWatchPinAtCursor"), ((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_watch_expression_at_cursor"), str8_lit_comp("ToggleWatchExpressionAtCursor"), str8_lit_comp(""), str8_lit_comp("ToggleWatchExpressionAtCursor"), ((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("go_to_name_at_cursor"), str8_lit_comp("GoToNameAtCursor"), str8_lit_comp(""), str8_lit_comp("GoToNameAtCursor"), ((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}},
|
||||
{str8_lit_comp("add_target"), str8_lit_comp("AddTarget"), str8_lit_comp(""), str8_lit_comp("AddTarget"), ((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_target"), str8_lit_comp("SelectTarget"), str8_lit_comp(""), str8_lit_comp("SelectTarget"), ((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("retry_ended_process"), str8_lit_comp("RetryEndedProcess"), str8_lit_comp(""), str8_lit_comp("RetryEndedProcess"), ((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("register_as_jit_debugger"), str8_lit_comp("RegisterAsJITDebugger"), str8_lit_comp(""), str8_lit_comp("RegisterAsJITDebugger"), ((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("log_marker"), str8_lit_comp("LogMarker"), str8_lit_comp(""), str8_lit_comp("LogMarker"), ((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] =
|
||||
@@ -725,7 +698,7 @@ DF_IconKind_Null,
|
||||
DF_IconKind_Null,
|
||||
};
|
||||
|
||||
DF_IconKind df_entity_kind_icon_kind_table[31] =
|
||||
DF_IconKind df_entity_kind_icon_kind_table[28] =
|
||||
{
|
||||
DF_IconKind_Null,
|
||||
DF_IconKind_Null,
|
||||
@@ -744,9 +717,6 @@ DF_IconKind_Null,
|
||||
DF_IconKind_Null,
|
||||
DF_IconKind_Null,
|
||||
DF_IconKind_Null,
|
||||
DF_IconKind_Window,
|
||||
DF_IconKind_XSplit,
|
||||
DF_IconKind_Null,
|
||||
DF_IconKind_Briefcase,
|
||||
DF_IconKind_Null,
|
||||
DF_IconKind_Null,
|
||||
|
||||
@@ -12,10 +12,10 @@ DF_MsgKind_Null,
|
||||
DF_MsgKind_Exit,
|
||||
DF_MsgKind_RunCommand,
|
||||
DF_MsgKind_ToggleDevMenu,
|
||||
DF_MsgKind_ApplyUserData,
|
||||
DF_MsgKind_ApplyProjectData,
|
||||
DF_MsgKind_WriteUserData,
|
||||
DF_MsgKind_WriteProjectData,
|
||||
DF_MsgKind_LoadUser,
|
||||
DF_MsgKind_LoadProject,
|
||||
DF_MsgKind_SaveUser,
|
||||
DF_MsgKind_SaveProject,
|
||||
DF_MsgKind_OpenWindow,
|
||||
DF_MsgKind_CloseWindow,
|
||||
DF_MsgKind_ToggleFullscreen,
|
||||
@@ -72,6 +72,49 @@ DF_MsgKind_GoToLine,
|
||||
DF_MsgKind_GoToAddress,
|
||||
DF_MsgKind_CenterCursor,
|
||||
DF_MsgKind_ContainCursor,
|
||||
DF_MsgKind_Edit,
|
||||
DF_MsgKind_Accept,
|
||||
DF_MsgKind_Cancel,
|
||||
DF_MsgKind_MoveLeft,
|
||||
DF_MsgKind_MoveRight,
|
||||
DF_MsgKind_MoveUp,
|
||||
DF_MsgKind_MoveDown,
|
||||
DF_MsgKind_MoveLeftSelect,
|
||||
DF_MsgKind_MoveRightSelect,
|
||||
DF_MsgKind_MoveUpSelect,
|
||||
DF_MsgKind_MoveDownSelect,
|
||||
DF_MsgKind_MoveLeftChunk,
|
||||
DF_MsgKind_MoveRightChunk,
|
||||
DF_MsgKind_MoveUpChunk,
|
||||
DF_MsgKind_MoveDownChunk,
|
||||
DF_MsgKind_MoveUpPage,
|
||||
DF_MsgKind_MoveDownPage,
|
||||
DF_MsgKind_MoveUpWhole,
|
||||
DF_MsgKind_MoveDownWhole,
|
||||
DF_MsgKind_MoveLeftChunkSelect,
|
||||
DF_MsgKind_MoveRightChunkSelect,
|
||||
DF_MsgKind_MoveUpChunkSelect,
|
||||
DF_MsgKind_MoveDownChunkSelect,
|
||||
DF_MsgKind_MoveUpPageSelect,
|
||||
DF_MsgKind_MoveDownPageSelect,
|
||||
DF_MsgKind_MoveUpWholeSelect,
|
||||
DF_MsgKind_MoveDownWholeSelect,
|
||||
DF_MsgKind_MoveUpReorder,
|
||||
DF_MsgKind_MoveDownReorder,
|
||||
DF_MsgKind_MoveHome,
|
||||
DF_MsgKind_MoveEnd,
|
||||
DF_MsgKind_MoveHomeSelect,
|
||||
DF_MsgKind_MoveEndSelect,
|
||||
DF_MsgKind_SelectAll,
|
||||
DF_MsgKind_DeleteSingle,
|
||||
DF_MsgKind_DeleteChunk,
|
||||
DF_MsgKind_BackspaceSingle,
|
||||
DF_MsgKind_BackspaceChunk,
|
||||
DF_MsgKind_Copy,
|
||||
DF_MsgKind_Cut,
|
||||
DF_MsgKind_Paste,
|
||||
DF_MsgKind_InsertText,
|
||||
DF_MsgKind_OSEvent,
|
||||
DF_MsgKind_COUNT,
|
||||
} DF_MsgKind;
|
||||
|
||||
@@ -422,9 +465,8 @@ 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 String8 df_msg_kind_name_lower_table[64];
|
||||
extern DF_MsgKindInfo df_msg_kind_info_table[64];
|
||||
extern DF_MsgKindInfo df_d_msg_kind_info_table[71];
|
||||
extern DF_MsgKindInfo df_msg_kind_info_table[107];
|
||||
extern DF_MsgKindInfo df_d_msg_kind_info_table[69];
|
||||
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];
|
||||
@@ -432,7 +474,7 @@ extern String8 df_g_icon_kind_text_table[69];
|
||||
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[31];
|
||||
extern DF_IconKind df_entity_kind_icon_kind_table[28];
|
||||
extern D_CmdParamSlot df_g_cmd_param_slot_2_view_spec_src_map[7];
|
||||
extern String8 df_g_cmd_param_slot_2_view_spec_dst_map[7];
|
||||
extern String8 df_g_cmd_param_slot_2_view_spec_cmd_map[7];
|
||||
|
||||
@@ -211,6 +211,24 @@ md_node_push_tag(MD_Node *parent, MD_Node *node)
|
||||
DLLPushBack_NPZ(&md_nil_node, parent->first_tag, parent->last_tag, node, next, prev);
|
||||
}
|
||||
|
||||
//- rjf: tree building helpers
|
||||
|
||||
internal MD_Node *
|
||||
md_push_list(Arena *arena)
|
||||
{
|
||||
MD_Node *n = md_push_node(arena, MD_NodeKind_List, 0, str8_zero(), str8_zero(), 0);
|
||||
return n;
|
||||
}
|
||||
|
||||
internal MD_Node *
|
||||
md_list_push_ref(Arena *arena, MD_Node *list, MD_Node *ref_dst)
|
||||
{
|
||||
MD_Node *ref = md_push_node(arena, MD_NodeKind_Reference, 0, str8_zero(), str8_zero(), 0);
|
||||
ref->first = ref->last = ref_dst;
|
||||
md_node_push_child(list, ref);
|
||||
return ref;
|
||||
}
|
||||
|
||||
//- rjf: tree introspection
|
||||
|
||||
internal MD_Node *
|
||||
|
||||
@@ -263,6 +263,10 @@ internal MD_Node *md_push_node(Arena *arena, MD_NodeKind kind, MD_NodeFlags flag
|
||||
internal void md_node_push_child(MD_Node *parent, MD_Node *node);
|
||||
internal void md_node_push_tag(MD_Node *parent, MD_Node *node);
|
||||
|
||||
//- rjf: tree building helpers
|
||||
internal MD_Node *md_push_list(Arena *arena);
|
||||
internal MD_Node *md_list_push_ref(Arena *arena, MD_Node *list, MD_Node *ref_dst);
|
||||
|
||||
//- rjf: tree introspection
|
||||
internal MD_Node * md_node_from_chain_string(MD_Node *first, MD_Node *opl, String8 string, StringMatchFlags flags);
|
||||
internal MD_Node * md_node_from_chain_index(MD_Node *first, MD_Node *opl, U64 index);
|
||||
|
||||
@@ -45,6 +45,23 @@ os_string_list_from_event_flags(Arena *arena, OS_EventFlags flags)
|
||||
return result;
|
||||
}
|
||||
|
||||
internal OS_Key
|
||||
os_key_from_string(String8 string)
|
||||
{
|
||||
OS_Key result = OS_Key_Null;
|
||||
{
|
||||
for(OS_Key key = OS_Key_Null; key < OS_Key_COUNT; key = (OS_Key)(key+1))
|
||||
{
|
||||
if(str8_match(string, os_g_key_cfg_string_table[key], StringMatchFlag_CaseInsensitive))
|
||||
{
|
||||
result = key;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
internal U32
|
||||
os_codepoint_from_event_flags_and_key(OS_EventFlags flags, OS_Key key)
|
||||
{
|
||||
|
||||
@@ -111,6 +111,7 @@ internal B32 frame(void);
|
||||
|
||||
internal String8 os_string_from_event_kind(OS_EventKind kind);
|
||||
internal String8List os_string_list_from_event_flags(Arena *arena, OS_EventFlags flags);
|
||||
internal OS_Key os_key_from_string(String8 string);
|
||||
internal U32 os_codepoint_from_event_flags_and_key(OS_EventFlags flags, OS_Key key);
|
||||
internal void os_eat_event(OS_EventList *events, OS_Event *event);
|
||||
internal B32 os_key_press(OS_EventList *events, OS_Handle window, OS_EventFlags flags, OS_Key key);
|
||||
|
||||
+23
-20
@@ -799,7 +799,7 @@ entry_point(CmdLine *cmd_line)
|
||||
fnt_init();
|
||||
D_StateDeltaHistory *hist = d_state_delta_history_alloc();
|
||||
d_init(cmd_line, hist);
|
||||
df_init(d_state_delta_history());
|
||||
df_init();
|
||||
}
|
||||
|
||||
//- rjf: setup initial target from command line args
|
||||
@@ -910,31 +910,34 @@ entry_point(CmdLine *cmd_line)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(dst_window != 0)
|
||||
if(dst_window != 0) D_RegsScope
|
||||
{
|
||||
df_regs_set_window(dst_window);
|
||||
dst_window->window_temporarily_focused_ipc = 1;
|
||||
String8 cmd_spec_string = d_cmd_name_part_from_string(msg);
|
||||
D_CmdSpec *cmd_spec = d_cmd_spec_from_string(cmd_spec_string);
|
||||
if(!d_cmd_spec_is_nil(cmd_spec))
|
||||
U64 first_space_pos = str8_find_needle(msg, 0, str8_lit(" "), 0);
|
||||
String8 msg_kind_name = lower_from_str8(scratch.arena, str8_prefix(msg, first_space_pos));
|
||||
String8 args_string = str8_skip(msg, first_space_pos);
|
||||
args_string = str8_skip_chop_whitespace(args_string);
|
||||
D_MsgKind d_kind = d_msg_kind_from_string(msg_kind_name);
|
||||
DF_MsgKind df_kind = df_msg_kind_from_string(msg_kind_name);
|
||||
DF_MsgQuery query = (d_kind != D_MsgKind_Null ? df_d_msg_kind_info_table[d_kind].query :
|
||||
df_kind != DF_MsgKind_Null? df_msg_kind_info_table[df_kind].query :
|
||||
(DF_MsgQuery){0});
|
||||
df_regs_set_from_query_slot_string(query.slot, args_string);
|
||||
if(d_kind != D_MsgKind_Null)
|
||||
{
|
||||
D_CmdParams params = df_cmd_params_from_window(dst_window);
|
||||
String8 error = d_cmd_params_apply_spec_query(scratch.arena, ¶ms, cmd_spec, d_cmd_arg_part_from_string(msg));
|
||||
if(error.size == 0)
|
||||
{
|
||||
d_push_cmd(cmd_spec, ¶ms);
|
||||
df_request_frame();
|
||||
}
|
||||
else
|
||||
{
|
||||
d_error(error);
|
||||
df_request_frame();
|
||||
}
|
||||
d_msg(d_kind);
|
||||
}
|
||||
else
|
||||
if(df_kind != DF_MsgKind_Null)
|
||||
{
|
||||
d_errorf("\"%S\" is not a command.", cmd_spec_string);
|
||||
df_request_frame();
|
||||
df_msg(df_kind);
|
||||
}
|
||||
if(d_kind == D_MsgKind_Null &&
|
||||
df_kind == DF_MsgKind_Null)
|
||||
{
|
||||
log_user_errorf("\"%S\" is not a command.", msg_kind_name);
|
||||
}
|
||||
df_request_frame();
|
||||
}
|
||||
}
|
||||
scratch_end(scratch);
|
||||
|
||||
Reference in New Issue
Block a user