Salome HOME
Second integration of PV3D viewer:
[modules/gui.git] / src / SalomeApp / SalomeApp_StudyPropertiesDlg.cxx
index 9752236237edd5dbbcd93a8aef9be9a7f7bddaee..44b42b506a23a723d3c004e6f51259d0931840e6 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -25,6 +25,7 @@
 //  Author : Roman NIKOLAEV
 
 #include "SalomeApp_StudyPropertiesDlg.h"
+#include "SalomeApp_Application.h"
 #include "SalomeApp_Study.h"
 
 #include "SUIT_Session.h"
@@ -62,19 +63,13 @@ SalomeApp_StudyPropertiesDlg::SalomeApp_StudyPropertiesDlg(QWidget* parent)
   : QDialog(parent, Qt::WindowTitleHint | Qt::WindowSystemMenuHint ),
     myIsChanged(false)
 {
-  setModal( TRUE );
+  setModal( true );
 
   setWindowTitle(tr("TLT_STUDY_PROPERTIES"));
   setSizeGripEnabled( true );
 
   setWindowFlags( windowFlags() & ~Qt::WindowContextHelpButtonHint );
 
-  // Display study properties
-  SalomeApp_Study* study =
-    dynamic_cast<SalomeApp_Study*>( SUIT_Session::session()->activeApplication()->activeStudy() );
-  if (study)
-    myStudyDoc = study->studyDS();
-
   //Author
   QLabel* authorLbl = new QLabel(tr("PRP_AUTHOR"),this);
   myAuthor = new QLineEdit(this);
@@ -173,10 +168,10 @@ SalomeApp_StudyPropertiesDlg::~SalomeApp_StudyPropertiesDlg()
 */
 void SalomeApp_StudyPropertiesDlg::initData()
 {
-  bool hasData = myStudyDoc;
+  bool hasData = (SalomeApp_Application::getStudy() != NULL);
   _PTR(AttributeStudyProperties) propAttr;
   if (hasData)
-    propAttr = myStudyDoc->GetProperties();
+    propAttr = SalomeApp_Application::getStudy()->GetProperties();
   hasData = hasData && propAttr;
   
   if (hasData) {
@@ -231,7 +226,7 @@ void SalomeApp_StudyPropertiesDlg::initData()
     std::vector<int>  aMins, aHours, aDays, aMonths, aYears;
     propAttr->GetModificationsList(aUsers, aMins, aHours, aDays, aMonths, aYears, false);
     int aCnt = aUsers.size();
-    for ( int i = 0; i < aCnt; i++ ) {
+    for ( int i = 0; i < (int)aCnt; i++ ) {
       QString date;
       date.sprintf("%2.2d/%2.2d/%2d %2.2d:%2.2d",
                   aDays  [i],
@@ -248,7 +243,7 @@ void SalomeApp_StudyPropertiesDlg::initData()
   
     //Component versions
     std::vector<std::string> aComponents = propAttr->GetStoredComponents();
-    for ( int i = 0; i < aComponents.size(); i++ ) {
+    for ( int i = 0; i < (int)aComponents.size(); i++ ) {
       std::vector<int>  aMins, aHours, aDays, aMonths, aYears;
       std::vector<std::string> aVersions = propAttr->GetComponentVersions(aComponents[i]);
       QStringList aData;
@@ -268,7 +263,7 @@ void SalomeApp_StudyPropertiesDlg::initData()
 */
 void SalomeApp_StudyPropertiesDlg::clickOnOk()
 {
-  _PTR(AttributeStudyProperties) propAttr = myStudyDoc->GetProperties();
+  _PTR(AttributeStudyProperties) propAttr = SalomeApp_Application::getStudy()->GetProperties();
   //Firstly, store locked flag
   if(propAttr) {
     bool bLocked = myLocked->isChecked();