#include "statusdebuggercontroller.hpp" #include "../plugincontextprovider.hpp" namespace ecode { StatusDebuggerController::StatusDebuggerController( UISplitter* mainSplitter, UISceneNode* uiSceneNode, PluginContextProvider* pluginContext ) : StatusBarElement( mainSplitter, uiSceneNode, pluginContext ) {} UIWidget* StatusDebuggerController::getWidget() { return mContainer; } UIWidget* StatusDebuggerController::createWidget() { if ( nullptr == mContainer ) createContainer(); return mContainer; } UITableView* StatusDebuggerController::getUIThreads() { return mUIThreads; } UITableView* StatusDebuggerController::getUIStack() { return mUIStack; } UITableView* StatusDebuggerController::getUIBreakpoints() { return mUIBreakpoints; } void StatusDebuggerController::createContainer() { if ( mContainer ) return; const auto XML = R"xml( )xml"; if ( mMainSplitter->getLastWidget() != nullptr ) { mMainSplitter->getLastWidget()->setVisible( false ); mMainSplitter->getLastWidget()->setParent( mUISceneNode ); } mContainer = mContext->getUISceneNode() ->loadLayoutFromString( XML, mMainSplitter ) ->asType(); mContainer->bind( "debugger_threads", mUIThreads ); mContainer->bind( "debugger_stack", mUIStack ); mContainer->bind( "debugger_breakpoints", mUIBreakpoints ); } } // namespace ecode