mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-15 16:42:23 -07:00
support getting started view in default panel layout
This commit is contained in:
+30
-24
@@ -1311,6 +1311,7 @@ df_window_update_and_render(Arena *arena, OS_EventList *events, DF_Window *ws, D
|
||||
DF_View *modules = &df_g_nil_view;
|
||||
DF_View *disasm = &df_g_nil_view;
|
||||
DF_View *memory = &df_g_nil_view;
|
||||
DF_View *getting_started = &df_g_nil_view;
|
||||
DF_HandleList code_views = {0};
|
||||
for(DF_Panel *panel = ws->root_panel; !df_panel_is_nil(panel); panel = df_panel_rec_df_pre(panel).next)
|
||||
{
|
||||
@@ -1324,22 +1325,23 @@ df_window_update_and_render(Arena *arena, OS_EventList *events, DF_Window *ws, D
|
||||
switch(view_kind)
|
||||
{
|
||||
default:{}break;
|
||||
case DF_GfxViewKind_Watch: {if(df_view_is_nil(watch)) { needs_delete = 0; watch = view;} }break;
|
||||
case DF_GfxViewKind_Locals: {if(df_view_is_nil(locals)) { needs_delete = 0; locals = view;} }break;
|
||||
case DF_GfxViewKind_Registers: {if(df_view_is_nil(regs)) { needs_delete = 0; regs = view;} }break;
|
||||
case DF_GfxViewKind_Globals: {if(df_view_is_nil(globals)) { needs_delete = 0; globals = view;} }break;
|
||||
case DF_GfxViewKind_ThreadLocals:{if(df_view_is_nil(tlocals)) { needs_delete = 0; tlocals = view;} }break;
|
||||
case DF_GfxViewKind_Types: {if(df_view_is_nil(types)) { needs_delete = 0; types = view;} }break;
|
||||
case DF_GfxViewKind_Procedures: {if(df_view_is_nil(procs)) { needs_delete = 0; procs = view;} }break;
|
||||
case DF_GfxViewKind_CallStack: {if(df_view_is_nil(callstack)) { needs_delete = 0; callstack = view;} }break;
|
||||
case DF_GfxViewKind_Breakpoints: {if(df_view_is_nil(breakpoints)) { needs_delete = 0; breakpoints = view;} }break;
|
||||
case DF_GfxViewKind_WatchPins: {if(df_view_is_nil(watch_pins)) { needs_delete = 0; watch_pins = view;} }break;
|
||||
case DF_GfxViewKind_Output: {if(df_view_is_nil(output)) { needs_delete = 0; output = view;} }break;
|
||||
case DF_GfxViewKind_Targets: {if(df_view_is_nil(targets)) { needs_delete = 0; targets = view;} }break;
|
||||
case DF_GfxViewKind_Scheduler: {if(df_view_is_nil(scheduler)) { needs_delete = 0; scheduler = view;} }break;
|
||||
case DF_GfxViewKind_Modules: {if(df_view_is_nil(modules)) { needs_delete = 0; modules = view;} }break;
|
||||
case DF_GfxViewKind_Disassembly: {if(df_view_is_nil(disasm)) { needs_delete = 0; disasm = view;} }break;
|
||||
case DF_GfxViewKind_Memory: {if(df_view_is_nil(memory)) { needs_delete = 0; memory = view;} }break;
|
||||
case DF_GfxViewKind_Watch: {if(df_view_is_nil(watch)) { needs_delete = 0; watch = view;} }break;
|
||||
case DF_GfxViewKind_Locals: {if(df_view_is_nil(locals)) { needs_delete = 0; locals = view;} }break;
|
||||
case DF_GfxViewKind_Registers: {if(df_view_is_nil(regs)) { needs_delete = 0; regs = view;} }break;
|
||||
case DF_GfxViewKind_Globals: {if(df_view_is_nil(globals)) { needs_delete = 0; globals = view;} }break;
|
||||
case DF_GfxViewKind_ThreadLocals: {if(df_view_is_nil(tlocals)) { needs_delete = 0; tlocals = view;} }break;
|
||||
case DF_GfxViewKind_Types: {if(df_view_is_nil(types)) { needs_delete = 0; types = view;} }break;
|
||||
case DF_GfxViewKind_Procedures: {if(df_view_is_nil(procs)) { needs_delete = 0; procs = view;} }break;
|
||||
case DF_GfxViewKind_CallStack: {if(df_view_is_nil(callstack)) { needs_delete = 0; callstack = view;} }break;
|
||||
case DF_GfxViewKind_Breakpoints: {if(df_view_is_nil(breakpoints)) { needs_delete = 0; breakpoints = view;} }break;
|
||||
case DF_GfxViewKind_WatchPins: {if(df_view_is_nil(watch_pins)) { needs_delete = 0; watch_pins = view;} }break;
|
||||
case DF_GfxViewKind_Output: {if(df_view_is_nil(output)) { needs_delete = 0; output = view;} }break;
|
||||
case DF_GfxViewKind_Targets: {if(df_view_is_nil(targets)) { needs_delete = 0; targets = view;} }break;
|
||||
case DF_GfxViewKind_Scheduler: {if(df_view_is_nil(scheduler)) { needs_delete = 0; scheduler = view;} }break;
|
||||
case DF_GfxViewKind_Modules: {if(df_view_is_nil(modules)) { needs_delete = 0; modules = view;} }break;
|
||||
case DF_GfxViewKind_Disassembly: {if(df_view_is_nil(disasm)) { needs_delete = 0; disasm = view;} }break;
|
||||
case DF_GfxViewKind_Memory: {if(df_view_is_nil(memory)) { needs_delete = 0; memory = view;} }break;
|
||||
case DF_GfxViewKind_GettingStarted:{if(df_view_is_nil(getting_started)) { needs_delete = 0; getting_started = view;} }break;
|
||||
case DF_GfxViewKind_Code:
|
||||
{
|
||||
needs_delete = 0;
|
||||
@@ -1450,6 +1452,11 @@ df_window_update_and_render(Arena *arena, OS_EventList *events, DF_Window *ws, D
|
||||
memory = df_view_alloc();
|
||||
df_view_equip_spec(ws, memory, df_view_spec_from_gfx_view_kind(DF_GfxViewKind_Memory), &df_g_nil_entity, str8_lit(""), &df_g_nil_cfg_node);
|
||||
}
|
||||
if(code_views.count == 0)
|
||||
{
|
||||
getting_started = df_view_alloc();
|
||||
df_view_equip_spec(ws, getting_started, df_view_spec_from_gfx_view_kind(DF_GfxViewKind_GettingStarted), &df_g_nil_entity, str8_lit(""), &df_g_nil_cfg_node);
|
||||
}
|
||||
|
||||
// rjf: root split
|
||||
ws->root_panel->split_axis = Axis2_X;
|
||||
@@ -1530,8 +1537,12 @@ df_window_update_and_render(Arena *arena, OS_EventList *events, DF_Window *ws, D
|
||||
root_0_1_1->selected_tab_view = df_handle_from_view(callstack);
|
||||
root_0_1_1->tab_side = Side_Max;
|
||||
|
||||
// rjf: fill main panel with all collected code views
|
||||
for(DF_HandleNode *n = code_views.first; n != 0; n = n->next)
|
||||
// rjf: fill main panel with getting started, OR all collected code views
|
||||
if(code_views.count == 0)
|
||||
{
|
||||
df_panel_insert_tab_view(root_0_0_1, root_0_0_1->last_tab_view, getting_started);
|
||||
}
|
||||
else for(DF_HandleNode *n = code_views.first; n != 0; n = n->next)
|
||||
{
|
||||
DF_View *view = df_view_from_handle(n->handle);
|
||||
if(!df_view_is_nil(view))
|
||||
@@ -1825,13 +1836,8 @@ df_window_update_and_render(Arena *arena, OS_EventList *events, DF_Window *ws, D
|
||||
{
|
||||
df_panel_remove_tab_view(panel, view);
|
||||
df_view_release(view);
|
||||
if(df_view_is_nil(panel->first_tab_view))
|
||||
{
|
||||
DF_CmdParams p = df_cmd_params_from_panel(ws, panel);
|
||||
df_cmd_list_push(arena, cmds, &p, df_cmd_spec_from_core_cmd_kind(DF_CoreCmdKind_ClosePanel));
|
||||
}
|
||||
df_panel_notify_mutation(ws, panel);
|
||||
}
|
||||
df_panel_notify_mutation(ws, panel);
|
||||
}break;
|
||||
case DF_CoreCmdKind_MoveTab:
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user