#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