static void toggle_display_stack( GtkToggleAction* action, gpointer data GCC_UNUSED ) { toggle_display( action, DEBUGGER_PANE_STACK ); }
static void toggle_display_events( GtkToggleAction* action, gpointer data GCC_UNUSED ) { toggle_display( action, DEBUGGER_PANE_EVENTS ); }
static void toggle_display_disassembly( GtkToggleAction* action, gpointer data GCC_UNUSED ) { toggle_display( action, DEBUGGER_PANE_DISASSEMBLY ); }
static void toggle_display_breakpoints( GtkToggleAction* action, gpointer data GCC_UNUSED ) { toggle_display( action, DEBUGGER_PANE_BREAKPOINTS ); }
static void toggle_display_memory_map( GtkToggleAction* action, gpointer data GCC_UNUSED ) { toggle_display( action, DEBUGGER_PANE_MEMORYMAP ); }
static void toggle_display_registers( GtkToggleAction* action, gpointer data GCC_UNUSED ) { toggle_display( action, DEBUGGER_PANE_REGISTERS ); }
bool_t mainloop_lessui(lessui_t *ui, fbparser_t *fbp) { bool_t done = FALSE; ui->dirty = TRUE; while(!done) { if( ui->dirty ) { /* debug_cursor(&ui->cursor); */ if( redraw_cursor_display(&ui->display, &ui->cursor, fbp) ) { if( ui->display.pivot > 0 ) { /* when pivot is being cycled, it's easy to get confused, so we need something to represent the cursor. For now I'm drawing the cursor itself, but it's not user friendly */ show_cursor_lessui(ui, &ui->cursor, fbp); } } ui->dirty = FALSE; } switch(getcommand_display(&ui->display)) { case quit: done = 1; break; case forward: forward_lessui(ui, fbp, 1); break; case backward: back_lessui(ui, fbp, 1); break; case indent: pivot_display(&ui->display, -1); break; case backindent: pivot_display(&ui->display, +1); break; case right: shift_display(&ui->display, +5); break; case left: shift_display(&ui->display, -5); break; case pgdown: forward_lessui(ui, fbp, 10); break; case pgup: back_lessui(ui, fbp, 10); break; case home: home_lessui(ui, fbp); break; case end: end_lessui(ui, fbp); break; case attributes: toggle_display(&ui->display, DISPLAY_ATTRIBUTES); break; case wordwrap: toggle_display(&ui->display, DISPLAY_WRAP); break; case next_sibling: next_sibling_lessui(ui, fbp); break; case prev_sibling: break; case help: help_lessui(ui); break; case colours: colour_cycle_lessui(ui); break; case refresh: refresh_fileblockparser(fbp); break; default: break; } ui->dirty = TRUE; } return done; }