Version: 9.16.0
CAF_Study.h
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23#ifndef CAF_STUDY_H
24#define CAF_STUDY_H
25
26#include "CAF.h"
27
28#include "SUIT_Study.h"
29
30#include <TDocStd_Document.hxx>
31#include <TDocStd_Application.hxx>
32
33class CAF_Application;
34
35#if defined WIN32
36#pragma warning ( disable: 4251 )
37#endif
38
40{
41 Q_OBJECT
42
43public:
44 CAF_Study( SUIT_Application* theApp );
45 CAF_Study( SUIT_Application* theApp, Handle(TDocStd_Document)& aStdDoc );
46 virtual ~CAF_Study();
47
48 virtual bool createDocument( const QString& );
49 virtual void closeDocument( bool = true );
50 virtual bool openDocument( const QString& );
51
52 virtual bool saveDocumentAs( const QString& );
53
54 bool isSaved() const;
55 bool isModified() const;
56 void doModified( bool = true );
57 void undoModified();
58 void clearModified();
59
60 bool undo();
61 bool redo();
62 bool canUndo() const;
63 bool canRedo() const;
64 QStringList undoNames() const;
65 QStringList redoNames() const;
66
67 Handle(TDocStd_Document) stdDoc() const;
68
69protected:
70 Handle(TDocStd_Application) stdApp() const;
72
73 virtual bool openTransaction();
74 virtual bool abortTransaction();
75 virtual bool hasTransaction() const;
76 virtual bool commitTransaction( const QString& = QString() );
77
78 virtual void setStdDoc( Handle(TDocStd_Document)& );
79
80private:
81 Handle(TDocStd_Document) myStdDoc;
83
84 friend class CAF_Operation;
85};
86
87#if defined WIN32
88#pragma warning ( default: 4251 )
89#endif
90
91#endif
#define CAF_EXPORT
Definition: CAF.h:33
Handle(TDocStd_Application) CAF_Application
Get OCAF application.
Definition: CAF_Application.cxx:97
OCC OCAF-based application.
Definition: CAF_Application.h:39
Base operation class for all operations used in CAF package.
Definition: CAF_Operation.h:36
Represents study for using in CAF module.
Definition: CAF_Study.h:40
int myModifiedCnt
Definition: CAF_Study.h:82
virtual void setStdDoc(Handle(TDocStd_Document)&)
Handle(TDocStd_Document) myStdDoc
Handle(TDocStd_Document) stdDoc() const
Handle(TDocStd_Application) stdApp() const
CAF_Application * cafApplication() const
Definition: SUIT_Application.h:61
Definition: SUIT_Study.h:41
virtual bool abortTransaction()
Aborts transaction and all performed data modifications.
Definition: SUIT_Study.cxx:531
virtual bool isSaved() const
Definition: SUIT_Study.cxx:102
virtual bool saveDocumentAs(const QString &)
Definition: SUIT_Study.cxx:146
virtual bool commitTransaction(const QString &=QString())
Commits transaction and all performed data modifications.
Definition: SUIT_Study.cxx:539
virtual bool createDocument(const QString &)
Definition: SUIT_Study.cxx:126
virtual bool hasTransaction() const
Returns true if transaction is opened.
Definition: SUIT_Study.cxx:547
virtual bool openTransaction()
Opens transaction for data modifications.
Definition: SUIT_Study.cxx:523
virtual bool openDocument(const QString &)
Definition: SUIT_Study.cxx:134
virtual void closeDocument(bool=true)
Definition: SUIT_Study.cxx:118
virtual bool isModified() const
Definition: SUIT_Study.cxx:110