void WebTools::OnNodeJSDebuggerStarted(clDebugEvent& event) { event.Skip(); m_savePerspective = clGetManager()->GetDockingManager()->SavePerspective(); // Show the debugger pane if(!m_nodejsDebuggerPane) { m_nodejsDebuggerPane = new NodeJSDebuggerPane(EventNotifier::Get()->TopFrame()); clGetManager()->GetDockingManager()->AddPane(m_nodejsDebuggerPane, wxAuiPaneInfo() .Layer(5) .Name("nodejs_debugger") .Caption("Node.js Debugger") .CloseButton(false) .MaximizeButton() .Bottom() .Position(0)); } wxString layout; wxFileName fnNodeJSLayout(clStandardPaths::Get().GetUserDataDir(), "nodejs.layout"); fnNodeJSLayout.AppendDir("config"); if(FileUtils::ReadFileContent(fnNodeJSLayout, layout)) { m_mgr->GetDockingManager()->LoadPerspective(layout); } EnsureAuiPaneIsVisible("nodejs_debugger", true); m_hideToolBarOnDebugStop = false; if(!m_mgr->AllowToolbar()) { // Using native toolbar m_hideToolBarOnDebugStop = !m_mgr->IsToolBarShown(); m_mgr->ShowToolBar(true); } }
void PhpPlugin::DoEnsureXDebugPanesVisible(const wxString& selectWindow) { // Save the current layout to be the normal layout m_savedPerspective = m_mgr->GetDockingManager()->SavePerspective(); m_debuggerPane->SelectTab(selectWindow); // If we have an old perspective, load it wxFileName fnConfig(clStandardPaths::Get().GetUserDataDir(), "xdebug-perspective"); fnConfig.AppendDir("config"); if(fnConfig.Exists()) { wxFFile fp(fnConfig.GetFullPath(), "rb"); if(fp.IsOpened()) { wxString perspective; fp.ReadAll(&perspective); m_mgr->GetDockingManager()->LoadPerspective(perspective, false); } } EnsureAuiPaneIsVisible("XDebug"); EnsureAuiPaneIsVisible("XDebugEval"); EnsureAuiPaneIsVisible("XDebugLocals", true); }