6 #include "SUIT_Operation.h"
11 class SUIT_DataObject;
12 class SUIT_Application;
15 #pragma warning( disable:4251 )
18 class SUIT_EXPORT SUIT_Study : public QObject
22 SUIT_Study( SUIT_Application* );
23 virtual ~SUIT_Study();
25 virtual int id() const;
27 SUIT_DataObject* root() const;
28 QString studyName() const;
29 SUIT_Application* application() const;
30 SUIT_Operation* activeOperation() const;
32 virtual bool isSaved() const;
33 virtual bool isModified() const;
35 virtual void closeDocument(bool permanently = true);
36 virtual void createDocument();
37 virtual bool openDocument( const QString& );
40 virtual bool saveDocumentAs( const QString& );
42 virtual void abortAllOperations();
44 virtual void update();
46 virtual void sendChangesNotification();
49 void studyModified( SUIT_Study* );
52 virtual void setIsSaved( const bool );
53 virtual void setIsModified( const bool );
54 virtual void setRoot( SUIT_DataObject* );
55 virtual void setStudyName( const QString& );
58 bool canStartOperation( SUIT_Operation* );
61 typedef QPtrStack<SUIT_Operation> OperationsStack;
64 OperationsStack myOperations;
68 SUIT_Application* myApp;
69 SUIT_DataObject* myRoot;
74 friend class SUIT_Operation;
78 #pragma warning( default:4251 )