class SUIT_Convertor;
class SUIT_ViewModel;
class SUIT_ResourceMgr;
-
+class QString;
+class QIconSet;
+class QLabel;
+/*! \class QObject
+ * \brief For more information see <a href="http://doc.trolltech.com">QT documentation</a>.
+ */
/*!
An <b>Application</b> is a class which defines application configuration and behaviour.
For example Application object defines what Viewers are used in this application, what auxilliary windows
//! Returns Name of application. Using is not defined.
virtual QString applicationName() const = 0;
+ virtual QString applicationVersion() const;
+
//! Shows the application's main widget. For non GUI application must be redefined.
virtual void start();
- //! Loads document <theFileName> into active Study. If Study is empty - creates it.
- virtual void useFile( const QString& );
+ //! Opens document <theFileName> into active Study. If Study is empty - creates it.
+ virtual bool useFile( const QString& theFileName);
+
+ //! Loads document <theName> into active Study. If Study is empty - creates it.
+ virtual bool useStudy( const QString& theName);
//! Creates new empty Study if active Study = 0
virtual void createEmptyStudy();
//! Puts the message to the status bar
void putInfo ( const QString&, const int = 0 );
+ //! Invokes application-specific "Open/Save File" dialog and returns the selected file name.
+ virtual QString getFileName( bool open, const QString& initial, const QString& filters,
+ const QString& caption, QWidget* parent ) = 0;
+
+ //! Invokes application-specific "Select Directory" dialog and returns the selected directory name.
+ virtual QString getDirectory( const QString& initial, const QString& caption, QWidget* parent ) = 0;
+
signals:
void applicationClosed( SUIT_Application* );
+ void activated( SUIT_Application* );
protected:
SUIT_Application* startApplication( int, char** ) const;
SUIT_Application* startApplication( const QString&, int, char** ) const;
- void setDesktop( SUIT_Desktop* );
+ virtual void setDesktop( SUIT_Desktop* );
//! Creates a new Study instance. Must be redefined in new application according to its Study type.
virtual SUIT_Study* createNewStudy();
virtual void setActiveStudy( SUIT_Study* );
-
+
+ /** @name Create tool functions*/ //@{
int createTool( const QString& );
int createTool( const int, const int, const int = -1 );
int createTool( const int, const QString&, const int = -1 );
int createTool( QAction*, const int, const int = -1, const int = -1 );
- int createTool( QAction*, const QString&, const int = -1, const int = -1 );
+ int createTool( QAction*, const QString&, const int = -1, const int = -1 );//@}
+ /** @name Create menu functions*/ //@{
int createMenu( const QString&, const int, const int = -1, const int = -1, const int = -1 );
int createMenu( const QString&, const QString&, const int = -1, const int = -1, const int = -1 );
int createMenu( const int, const int, const int = -1, const int = -1 );
int createMenu( const int, const QString&, const int = -1, const int = -1 );
int createMenu( QAction*, const int, const int = -1, const int = -1, const int = -1 );
- int createMenu( QAction*, const QString&, const int = -1, const int = -1, const int = -1 );
+ int createMenu( QAction*, const QString&, const int = -1, const int = -1, const int = -1 );//@}
+ /** @name Set menu shown functions*/ //@{
void setMenuShown( QAction*, const bool );
- void setMenuShown( const int, const bool );
+ void setMenuShown( const int, const bool );//@}
+ /** @name Set tool shown functions*/ //@{
void setToolShown( QAction*, const bool );
- void setToolShown( const int, const bool );
+ void setToolShown( const int, const bool );//@}
static QAction* separator();
QAction* action( const int ) const;
const QString&, const int, QObject* = 0,
const bool = false, QObject* = 0, const char* = 0 );
+protected slots:
+ virtual void onDesktopActivated();
+
private:
SUIT_Study* myStudy;
SUIT_Desktop* myDesktop;
+
+ QLabel* myStatusLabel;
};
//! This function must return a new application instance.
extern "C"
{
- typedef SUIT_Application* (*APP_CREATE_FUNC)( int, char** );
+ //jfa 22.06.2005:typedef SUIT_Application* (*APP_CREATE_FUNC)( int, char** );
+ typedef SUIT_Application* (*APP_CREATE_FUNC)();
}
#define APP_CREATE_NAME "createApplication"