#include "SUIT_Desktop.h"
#include "SUIT_ResourceMgr.h"
+#include <qlabel.h>
+#include <qtimer.h>
#include <qstatusbar.h>
#include <QtxAction.h>
SUIT_Application::SUIT_Application()
: QObject( 0 ),
myStudy( 0 ),
-myDesktop( 0 )
+myDesktop( 0 ),
+myStatusLabel( 0 )
{
}
{
delete myStudy;
myStudy = 0;
+
+ setDesktop( 0 );
}
SUIT_Desktop* SUIT_Application::desktop()
desktop()->show();
}
-void SUIT_Application::useFile( const QString& theFileName )
+bool SUIT_Application::useFile( const QString& theFileName )
{
createEmptyStudy();
- if ( activeStudy() )
- activeStudy()->openDocument( theFileName );
+ SUIT_Study* study = activeStudy();
+
+ bool status = study ? study->openDocument( theFileName ) : false;
+
+ if ( !status )
+ {
+ setActiveStudy( 0 );
+ delete study;
+ }
+
+ return status;
+}
+
+bool SUIT_Application::useStudy( const QString& theName )
+{
+ return false;
}
void SUIT_Application::createEmptyStudy()
#define DEFAULT_MESSAGE_DELAY 3000
void SUIT_Application::putInfo ( const QString& msg, const int msec )
{
- if ( desktop() )
- desktop()->statusBar()->message( msg, msec <= 0 ? DEFAULT_MESSAGE_DELAY : msec );
+ if ( desktop() ) {
+ //desktop()->statusBar()->message( msg, msec <= 0 ? DEFAULT_MESSAGE_DELAY : msec );
+ if ( !myStatusLabel ) {
+ myStatusLabel = new QLabel (desktop()->statusBar());
+ desktop()->statusBar()->addWidget(myStatusLabel, /*int stretch = */1);
+ }
+ myStatusLabel->setText(msg);
+ if( msec != -1 )
+ QTimer::singleShot(msec <= 0 ? DEFAULT_MESSAGE_DELAY : msec, myStatusLabel, SLOT(clear()));
+ }
}
SUIT_Application* SUIT_Application::startApplication( int argc, char** argv ) const
delete myDesktop;
myDesktop = desk;
- connect( myDesktop, SIGNAL( activated() ),
- this, SLOT( onDesktopActivated() ) );
+ if ( myDesktop )
+ connect( myDesktop, SIGNAL( activated() ), this, SLOT( onDesktopActivated() ) );
}
SUIT_Study* SUIT_Application::createNewStudy()
desktop()->toolMgr()->setShown( id, on );
}
+void SUIT_Application::setActionShown( QAction* a, const bool on )
+{
+ setMenuShown( a, on );
+ setToolShown( a, on );
+}
+
+void SUIT_Application::setActionShown( const int id, const bool on )
+{
+ setMenuShown( id, on );
+ setToolShown( id, on );
+}
+
QAction* SUIT_Application::action( const int id ) const
{
SUIT_Application* that = (SUIT_Application*)this;