mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-06-05 21:16:28 +03:00
Fixed minor bug in UISplitter that caused to incorrectly calculate its size after being dragged.
Code clean up regarding the status bar (WIP).
This commit is contained in:
@@ -6,58 +6,7 @@ namespace ecode {
|
||||
|
||||
StatusBuildOutputController::StatusBuildOutputController( UISplitter* mainSplitter,
|
||||
UISceneNode* uiSceneNode, App* app ) :
|
||||
mMainSplitter( mainSplitter ),
|
||||
mUISceneNode( uiSceneNode ),
|
||||
mApp( app ),
|
||||
mSplitter( mApp->getSplitter() ) {}
|
||||
|
||||
void StatusBuildOutputController::toggle() {
|
||||
if ( nullptr == mContainer ) {
|
||||
show();
|
||||
return;
|
||||
}
|
||||
|
||||
if ( mMainSplitter->getLastWidget() != nullptr ) {
|
||||
if ( mMainSplitter->getLastWidget() == mContainer ) {
|
||||
hide();
|
||||
} else {
|
||||
show();
|
||||
}
|
||||
} else {
|
||||
show();
|
||||
}
|
||||
}
|
||||
|
||||
void StatusBuildOutputController::hide() {
|
||||
if ( mContainer && mContainer->isVisible() ) {
|
||||
mContainer->setParent( mUISceneNode );
|
||||
mContainer->setVisible( false );
|
||||
mApp->getStatusBar()->updateState();
|
||||
if ( mSplitter->getCurWidget() )
|
||||
mSplitter->getCurWidget()->setFocus();
|
||||
}
|
||||
}
|
||||
|
||||
void StatusBuildOutputController::show() {
|
||||
if ( nullptr == mContainer ) {
|
||||
mMainSplitter->updateLayout();
|
||||
createContainer();
|
||||
}
|
||||
|
||||
if ( !mContainer->isVisible() ) {
|
||||
mApp->hideLocateBar();
|
||||
mApp->hideSearchBar();
|
||||
mApp->hideGlobalSearchBar();
|
||||
if ( mMainSplitter->getLastWidget() != nullptr ) {
|
||||
mMainSplitter->getLastWidget()->setVisible( false );
|
||||
mMainSplitter->getLastWidget()->setParent( mUISceneNode );
|
||||
}
|
||||
mContainer->setParent( mMainSplitter );
|
||||
mContainer->setVisible( true );
|
||||
mContainer->getFirstChild()->setFocus();
|
||||
mApp->getStatusBar()->updateState();
|
||||
}
|
||||
}
|
||||
StatusBarElement( mainSplitter, uiSceneNode, app ) {}
|
||||
|
||||
static std::string getProjectOutputParserTypeToString( const ProjectOutputParserTypes& type ) {
|
||||
switch ( type ) {
|
||||
@@ -369,6 +318,16 @@ void StatusBuildOutputController::runClean( const std::string& buildName,
|
||||
}
|
||||
}
|
||||
|
||||
UIWidget* StatusBuildOutputController::getWidget() {
|
||||
return mContainer;
|
||||
}
|
||||
|
||||
UIWidget* StatusBuildOutputController::createWidget() {
|
||||
if ( nullptr == mContainer )
|
||||
createContainer();
|
||||
return mContainer;
|
||||
}
|
||||
|
||||
UICodeEditor* StatusBuildOutputController::getContainer() {
|
||||
return mBuildOutput;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user