Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef CAF_STUDY_H
00024 #define CAF_STUDY_H
00025
00026 #include "CAF.h"
00027
00028 #include "SUIT_Study.h"
00029
00030 #include <TDocStd_Document.hxx>
00031
00032 class CAF_Application;
00033 class Handle(TDocStd_Application);
00034
00035 #if defined WIN32
00036 #pragma warning ( disable: 4251 )
00037 #endif
00038
00039 class CAF_EXPORT CAF_Study : public SUIT_Study
00040 {
00041 Q_OBJECT
00042
00043 public:
00044 CAF_Study( SUIT_Application* theApp );
00045 CAF_Study( SUIT_Application* theApp, Handle(TDocStd_Document)& aStdDoc );
00046 virtual ~CAF_Study();
00047
00048 virtual bool createDocument( const QString& );
00049 virtual void closeDocument( bool = true );
00050 virtual bool openDocument( const QString& );
00051
00052 virtual bool saveDocumentAs( const QString& );
00053
00054 bool isSaved() const;
00055 bool isModified() const;
00056 void doModified( bool = true );
00057 void undoModified();
00058 void clearModified();
00059
00060 bool undo();
00061 bool redo();
00062 bool canUndo() const;
00063 bool canRedo() const;
00064 QStringList undoNames() const;
00065 QStringList redoNames() const;
00066
00067 Handle(TDocStd_Document) stdDoc() const;
00068
00069 protected:
00070 Handle(TDocStd_Application) stdApp() const;
00071 CAF_Application* cafApplication() const;
00072
00073 virtual bool openTransaction();
00074 virtual bool abortTransaction();
00075 virtual bool hasTransaction() const;
00076 virtual bool commitTransaction( const QString& = QString() );
00077
00078 virtual void setStdDoc( Handle(TDocStd_Document)& );
00079
00080 private:
00081 Handle(TDocStd_Document) myStdDoc;
00082 int myModifiedCnt;
00083
00084 friend class CAF_Operation;
00085 };
00086
00087 #if defined WIN32
00088 #pragma warning ( default: 4251 )
00089 #endif
00090
00091 #endif