the fifth file (_fra.med) mentioned in bug 13069. The file have to be left untouched.
/*!Constructor.*/
SalomeApp_Application::SalomeApp_Application()
: LightApp_Application()
-{
- _studyIDs.clear();
-}
+{}
/*!Destructor.
*\li Destroy event filter.
delete it.data();
}
-/*!Adds a study Id to the map of stored IDs - to be closed on the application closing*/
-void SalomeApp_Application::addStudyId(const int theId)
-{
- _studyIDs[theId] = 10;
-}
-
-/*!Removes a study Id from the map of stored IDs*/
-void SalomeApp_Application::removeStudyId(const int theId)
-{
- _studyIDs.remove(theId);
-}
-
-
-
-/*!Iterates all opened study and closes them*/
-void SalomeApp_Application::closeApplication()
-{
- std::vector<int> ids;
- QMap<int, int>::Iterator it;
- for (it = _studyIDs.begin(); it != _studyIDs.end(); it++) {
- ids.push_back(it.key());
- }
-
- LightApp_Application::closeApplication();
-
- for(int i = 0,sz = ids.size(); i<sz; i++) {
- _PTR(Study) aStudy = studyMgr()->GetStudyByID(ids[i]);
- if (aStudy) studyMgr()->Close(aStudy);
- }
-}
SUIT_ViewManager* newViewManager(const QString&);
void updateSavePointDataObjects( SalomeApp_Study* );
- virtual void closeApplication();
- void addStudyId(const int theId);
- void removeStudyId(const int theId);
-
public slots:
virtual bool onOpenDoc( const QString& );
virtual void onLoadDoc();
void onRegDisplay();
void onOpenWith();
-private:
-
- QMap<int,int> _studyIDs;
-
};
#ifdef WIN32
if ( studyPtr )
{
if(permanently) {
- //SRN: bug 13069: If the study is closed permanently it is closed so remove its Id from the list of
- //IDs of studies to be closed on the application closing
- SalomeApp_Application* app = dynamic_cast<SalomeApp_Application*>(application());
- if(app) app->removeStudyId(studyPtr->StudyId());
- //SRN: End
SalomeApp_Application::studyMgr()->Close( studyPtr );
}
SALOMEDSClient_Study* aStudy = 0;
*/
void SalomeApp_Study::setStudyDS( const _PTR(Study)& s )
{
-
myStudyDS = s;
-
- if(myStudyDS) {
- SalomeApp_Application* app = dynamic_cast<SalomeApp_Application*>(application());
- if(app) app->addStudyId(myStudyDS->StudyId()); //Add a new study Id
- }
}
/*!