Version: 9.16.0
SalomeApp_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 SALOMEAPP_STUDY_H
24#define SALOMEAPP_STUDY_H
25
26#include "SalomeApp.h"
27
28#include <LightApp_Study.h>
29
30#ifdef WIN32
31#pragma warning( disable:4251 )
32#endif
33
34#include "SALOMEDSClient.hxx"
35
37{
38 Q_OBJECT
39
40 class Observer_i;
41
42public:
44 virtual ~SalomeApp_Study();
45
46 virtual QString studyName() const;
47
48 virtual bool createDocument( const QString& );
49 virtual bool openDocument( const QString& );
50 virtual bool loadDocument( const QString& );
51
52 virtual bool saveDocument();
53 virtual bool saveDocumentAs( const QString& );
54
55 virtual void closeDocument(bool permanently = true);
56
57 virtual bool dump( const QString&, bool, bool, bool );
58
59 virtual bool isSaved() const;
60 virtual bool isModified() const;
61 virtual void Modified();
62
63 virtual void addComponent ( const CAM_DataModel* dm);
64
65 _PTR(Study) studyDS() const;
66
67 virtual std::string GetTmpDir ( const char* theURL, const bool isMultiFile);
68
69 // to delete all references to object, whose have the same component
70 void deleteReferencesTo( _PTR( SObject ) );
71
72 virtual QString componentDataType( const QString& ) const;
73 virtual QString referencedToEntry( const QString& ) const;
74 virtual bool isComponent( const QString& ) const;
75 virtual void children( const QString&, QStringList& ) const;
76 virtual void components( QStringList& ) const;
77 virtual QString centry( const QString& ) const;
78
79 std::vector<int> getSavePoints();
80 void removeSavePoint(int savePoint);
81 QString getNameOfSavePoint(int savePoint);
82 void setNameOfSavePoint(int savePoint, const QString& nameOfSavePoint);
83
84 virtual void restoreState(int savePoint);
85#ifndef DISABLE_PYCONSOLE
86 void updateFromNotebook(const QString&, bool);
87#endif
88
89 virtual LightApp_DataObject* findObjectByEntry( const QString& theEntry );
90
91 virtual void RemoveTemporaryFiles ( const char*, bool, bool = false );
92
93protected:
94 virtual void saveModuleData ( QString theModuleName, int type, QStringList theListOfFiles );
95 virtual void openModuleData ( QString theModuleName, int type, QStringList& theListOfFiles );
96 virtual bool saveStudyData ( const QString& theFileName, int type );
97 virtual bool openStudyData ( const QString& theFileName, int type );
98
99 virtual std::vector<std::string> GetListOfFiles ( const char* theModuleName, int type ) const;
100 virtual void SetListOfFiles ( const char* theModuleName, int type,
101 const std::vector<std::string> theListOfFiles);
102
103protected:
104 virtual void dataModelInserted( const CAM_DataModel* );
105 virtual bool openDataModel( const QString&, CAM_DataModel* );
106
108 SUIT_DataObject* theParent ) const;
109protected slots:
110 virtual void updateModelRoot( const CAM_DataModel* );
111#ifndef DISABLE_PYCONSOLE
112 void onNoteBookVarUpdate( QString theVarName );
113#endif
114
115private:
116 _PTR(Study) myStudyDS;
118
119#ifndef DISABLE_PYCONSOLE
120 signals:
121 void notebookVarUpdated( QString theVarName );
122#endif
123};
124
125#ifdef WIN32
126#pragma warning( default:4251 )
127#endif
128
129#endif
#define SALOMEAPPIMPL_EXPORT
Definition: SalomeApp.h:55
_PTR(Study) SalomeApp_Application
Definition: SalomeApp_Application.cxx:1356
Base class for all data models used in CAM-based applications.
Definition: CAM_DataModel.h:37
CAM data model root object.
Definition: CAM_DataObject.h:44
virtual void updateModelRoot(const CAM_DataModel *)
Update data model root object.
Definition: CAM_Study.cxx:202
virtual void dataModelInserted(const CAM_DataModel *)
Called when data model is inserted in the study.
Definition: CAM_Study.cxx:162
Definition: LightApp_DataModel.h:47
Base data object class to build the data model for all the SALOME modules.
Definition: LightApp_DataObject.h:36
Definition: LightApp_Study.h:67
virtual std::string GetTmpDir(const char *theURL, const bool isMultiFile)
Definition: LightApp_Study.cxx:423
virtual void children(const QString &, QStringList &) const
Definition: LightApp_Study.cxx:262
virtual CAM_ModuleObject * createModuleObject(LightApp_DataModel *theDataModel, SUIT_DataObject *theParent) const
Definition: LightApp_Study.cxx:470
virtual QString componentDataType(const QString &) const
Definition: LightApp_Study.cxx:289
virtual bool isModified() const
Definition: LightApp_Study.cxx:304
virtual bool saveStudyData(const QString &theFileName, int type)
Definition: LightApp_Study.cxx:373
virtual bool openStudyData(const QString &theFileName, int type)
Definition: LightApp_Study.cxx:388
virtual void addComponent(const CAM_DataModel *dm)
Definition: LightApp_Study.cxx:330
virtual bool dump(const QString &, bool, bool, bool)
Definition: LightApp_Study.h:83
virtual LightApp_DataObject * findObjectByEntry(const QString &theEntry)
Definition: LightApp_Study.cxx:751
virtual bool openDataModel(const QString &, CAM_DataModel *)
Definition: LightApp_Study.cxx:402
virtual QString referencedToEntry(const QString &) const
Definition: LightApp_Study.cxx:254
virtual void openModuleData(QString theModuleName, int type, QStringList &theListOfFiles)
Definition: LightApp_Study.cxx:357
virtual std::vector< std::string > GetListOfFiles(const char *theModuleName, int type) const
Definition: LightApp_Study.cxx:433
virtual void closeDocument(bool permanently=true)
Definition: LightApp_Study.cxx:238
virtual void SetListOfFiles(const char *theModuleName, int type, const std::vector< std::string > theListOfFiles)
Definition: LightApp_Study.cxx:443
virtual bool isComponent(const QString &) const
Definition: LightApp_Study.cxx:269
virtual bool saveDocumentAs(const QString &)
Definition: LightApp_Study.cxx:139
virtual bool openDocument(const QString &)
Definition: LightApp_Study.cxx:78
virtual void saveModuleData(QString theModuleName, int type, QStringList theListOfFiles)
Definition: LightApp_Study.cxx:337
virtual QString centry(const QString &) const
Definition: LightApp_Study.cxx:518
virtual bool saveDocument()
Definition: LightApp_Study.cxx:210
virtual bool loadDocument(const QString &)
Definition: LightApp_Study.cxx:107
virtual void RemoveTemporaryFiles(const char *, bool, bool=false)
Definition: LightApp_Study.cxx:451
virtual void components(QStringList &) const
Definition: LightApp_Study.cxx:501
virtual bool isSaved() const
Definition: LightApp_Study.cxx:322
Definition: SUIT_Application.h:61
Data object representing the data instance in the tree-like hierarchy.
Definition: SUIT_DataObject.h:49
virtual void Modified()
Definition: SUIT_Study.cxx:229
virtual QString studyName() const
Definition: SUIT_Study.cxx:86
virtual void restoreState(int savePoint)
Restores the study state.
Definition: SUIT_Study.cxx:555
Definition: SalomeApp_Study.cxx:80
Definition: SalomeApp_Study.h:37
_PTR(Study) studyDS() const
virtual bool createDocument(const QString &)
void notebookVarUpdated(QString theVarName)
Observer_i * myObserver
Definition: SalomeApp_Study.h:117
_PTR(Study) myStudyDS