void DebuggerMenuHandler::ProcessCommandEvent(wxWindow *owner, wxCommandEvent &event) { LEditor *editor = dynamic_cast<LEditor*>(owner); if ( !editor ) { return; } if (event.GetId() == XRCID("add_breakpoint")) { editor->AddBreakpoint(); } if (event.GetId() == XRCID("insert_breakpoint")) { editor->ToggleBreakpoint(); } if ((event.GetId() == XRCID("insert_temp_breakpoint")) || (event.GetId() == XRCID("insert_disabled_breakpoint")) || (event.GetId() == XRCID("insert_cond_breakpoint"))) { editor->AddOtherBreakpointType(event); } if (event.GetId() == XRCID("delete_breakpoint")) { editor->DelBreakpoint(); } if (event.GetId() == XRCID("toggle_breakpoint_enabled_status")) { editor->ToggleBreakpointEnablement(); } if (event.GetId() == XRCID("ignore_breakpoint")) { editor->OnIgnoreBreakpoint(); } if (event.GetId() == XRCID("edit_breakpoint")) { editor->OnEditBreakpoint(); } if (event.GetId() == XRCID("disable_all_breakpoints")) { clDebugEvent event(wxEVT_DBG_UI_DISABLE_ALL_BREAKPOINTS); EventNotifier::Get()->ProcessEvent( event ); ManagerST::Get()->GetBreakpointsMgr()->SetAllBreakpointsEnabledState(false); } if (event.GetId() == XRCID("enable_all_breakpoints")) { clDebugEvent event(wxEVT_DBG_UI_ENABLE_ALL_BREAKPOINTS ); EventNotifier::Get()->ProcessEvent( event ); ManagerST::Get()->GetBreakpointsMgr()->SetAllBreakpointsEnabledState(true); } if (event.GetId() == XRCID("delete_all_breakpoints")) { // First let the plugins do this thing clDebugEvent event(wxEVT_DBG_UI_DELTE_ALL_BREAKPOINTS); EventNotifier::Get()->AddPendingEvent( event ); // Now clear the manager ManagerST::Get()->GetBreakpointsMgr()->DelAllBreakpoints(); } }