Version: 9.15.0
SalomeApp_Study.h
Go to the documentation of this file.
1 // Copyright (C) 2007-2025 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 
42 public:
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&, bool isBackup=false );
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 
93 protected:
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 
103 protected:
104  virtual void dataModelInserted( const CAM_DataModel* );
105  virtual bool openDataModel( const QString&, CAM_DataModel* );
106 
107  virtual CAM_ModuleObject* createModuleObject( LightApp_DataModel* theDataModel,
108  SUIT_DataObject* theParent ) const;
109 protected slots:
110  virtual void updateModelRoot( const CAM_DataModel* );
111 #ifndef DISABLE_PYCONSOLE
112  void onNoteBookVarUpdate( QString theVarName );
113 #endif
114 
115 private:
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:416
virtual bool saveDocumentAs(const QString &, bool isBackup=false)
Definition: LightApp_Study.cxx:138
virtual void children(const QString &, QStringList &) const
Definition: LightApp_Study.cxx:255
virtual CAM_ModuleObject * createModuleObject(LightApp_DataModel *theDataModel, SUIT_DataObject *theParent) const
Definition: LightApp_Study.cxx:463
virtual QString componentDataType(const QString &) const
Definition: LightApp_Study.cxx:282
virtual bool isModified() const
Definition: LightApp_Study.cxx:297
virtual bool saveStudyData(const QString &theFileName, int type)
Definition: LightApp_Study.cxx:366
virtual bool openStudyData(const QString &theFileName, int type)
Definition: LightApp_Study.cxx:381
virtual void addComponent(const CAM_DataModel *dm)
Definition: LightApp_Study.cxx:323
virtual bool dump(const QString &, bool, bool, bool)
Definition: LightApp_Study.h:83
virtual LightApp_DataObject * findObjectByEntry(const QString &theEntry)
Definition: LightApp_Study.cxx:744
virtual bool openDataModel(const QString &, CAM_DataModel *)
Definition: LightApp_Study.cxx:395
virtual QString referencedToEntry(const QString &) const
Definition: LightApp_Study.cxx:247
virtual void openModuleData(QString theModuleName, int type, QStringList &theListOfFiles)
Definition: LightApp_Study.cxx:350
virtual std::vector< std::string > GetListOfFiles(const char *theModuleName, int type) const
Definition: LightApp_Study.cxx:426
virtual void closeDocument(bool permanently=true)
Definition: LightApp_Study.cxx:231
virtual void SetListOfFiles(const char *theModuleName, int type, const std::vector< std::string > theListOfFiles)
Definition: LightApp_Study.cxx:436
virtual bool isComponent(const QString &) const
Definition: LightApp_Study.cxx:262
virtual bool openDocument(const QString &)
Definition: LightApp_Study.cxx:77
virtual void saveModuleData(QString theModuleName, int type, QStringList theListOfFiles)
Definition: LightApp_Study.cxx:330
virtual QString centry(const QString &) const
Definition: LightApp_Study.cxx:511
virtual bool saveDocument()
Definition: LightApp_Study.cxx:203
virtual bool loadDocument(const QString &)
Definition: LightApp_Study.cxx:106
virtual void RemoveTemporaryFiles(const char *, bool, bool=false)
Definition: LightApp_Study.cxx:444
virtual void components(QStringList &) const
Definition: LightApp_Study.cxx:494
virtual bool isSaved() const
Definition: LightApp_Study.cxx:315
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:212
virtual QString studyName() const
Definition: SUIT_Study.cxx:85
virtual void restoreState(int savePoint)
Restores the study state.
Definition: SUIT_Study.cxx:538
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