#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 )
{
}
return true;
}
+void SUIT_Application::closeApplication()
+{
+ emit applicationClosed( this );
+}
+
SUIT_Study* SUIT_Application::activeStudy() const
{
return myStudy;
}
+QString SUIT_Application::applicationVersion() const
+{
+ return QString::null;
+}
+
void SUIT_Application::start()
{
if ( desktop() )
desktop()->show();
}
-void SUIT_Application::useFile( const QString& theFileName )
+bool SUIT_Application::useFile( const QString& theFileName )
{
createEmptyStudy();
if ( activeStudy() )
- activeStudy()->openDocument( theFileName );
+ return activeStudy()->openDocument( theFileName );
+ return false;
+}
+
+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;
+ if ( myDesktop )
+ connect( myDesktop, SIGNAL( activated() ), this, SLOT( onDesktopActivated() ) );
}
SUIT_Study* SUIT_Application::createNewStudy()
{
return QtxActionMgr::separator();
}
+
+void SUIT_Application::onDesktopActivated()
+{
+ emit activated( this );
+}