]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Implementation of the "16566: EDF PAL 514: Implement system of units (milimeters...
authorrnv <rnv@opencascade.com>
Fri, 25 Mar 2011 10:11:38 +0000 (10:11 +0000)
committerrnv <rnv@opencascade.com>
Fri, 25 Mar 2011 10:11:38 +0000 (10:11 +0000)
doc/salome/gui/images/studyproperties.png
doc/salome/gui/input/study_management_chapter.doc
src/SalomeApp/SalomeApp_StudyPropertiesDlg.cxx
src/SalomeApp/SalomeApp_StudyPropertiesDlg.h
src/SalomeApp/resources/SalomeApp_msg_en.ts

index e4f9f3d6e20b885f38b6cbafe7dee87b752049bc..c86d0bc041b2e12b27b999662f44ecd0ba4b7842 100755 (executable)
Binary files a/doc/salome/gui/images/studyproperties.png and b/doc/salome/gui/images/studyproperties.png differ
index b1d88af2cbc7cc0938b495c7e82c995df84af7a9..71f3ed5e260fa54bc10a041ad4d97f94c3fb63af 100644 (file)
@@ -91,18 +91,19 @@ To confirm your choice click \b Open.
 \image html studyproperties.png
 
 <ul>
-<li>\b Author - allows to change the name of the study author</li>
-<li>\b Created - gives the date and time of Study creation</li>
+<li>\b Author - allows to change the name of the study author.</li>
+<li><b> Creation date</b> - gives the date and time of Study creation.</li>
 <li>\b Locked - allows to lock the  study for modifications. 
-Just click on this field and choose \b Yes item. In this case your study will be locked for any modifications
+In case if \b Locked checkbox is checked your study will be locked for any modifications
 for all users. Next time you try to edit it, you will see the
 following warning message:
 \image html lockedstudy.png </li>
-<li>\b Modified - allows to see if any modifications have been
+<li><b>Modified/Not Modified</b>  - allows to see if any modifications have been
 introduced into study since its last save. </li>
+<li><b>Length units</b> - allows to change the units of the study.</li>
+<li>\b Comment - allows to change the comment of the study.</li>
 <li>\b Modifications - allows to  view the list of changes made in the study.
-In this dialog box click on the \b Modifications field and scroll it
-down. Each record contains the date and time of the
+Each record contains the date and time of the
 modification and the name of the user, who has introduced it.</li>
 </ul>
 
index 32e612e6ed2212ace0ec95ab79c962b0e69f436f..9180ea122c415aea93e9f64e9b70d4f3280e8728 100644 (file)
 
 //  SALOME SalomeApp
 //  File   : SalomeApp_StudyPropertiesDlg.cxx
-//  Author : Sergey ANIKIN
+//  Author : Roman NIKOLAEV
 //  Module : SALOME
 //  $Header$
 //
 #include "SalomeApp_StudyPropertiesDlg.h"
-#include "SalomeApp_ListView.h"
 #include "SalomeApp_Study.h"
 
 #include "SUIT_Session.h"
 // QT Includes
 #include <QPushButton>
 #include <QGridLayout>
+#include <QHBoxLayout>
+#include <QFrame>
+#include <QLineEdit>
+#include <QLabel>
+#include <QCheckBox>
+#include <QComboBox>
+#include <QTextEdit>
+#include <QTreeWidget>
+#include <QPushButton>
 
-using namespace std;
-
+#include <iostream>
 #define  DEFAULT_MARGIN 11
-#define DEFAULT_SPACING 6
+#define  DEFAULT_SPACING 6
 #define     SPACER_SIZE 5
 #define MIN_LIST_WIDTH  300
 #define MIN_LIST_HEIGHT 150
 
-class SalomeApp_PropItem : public SalomeApp_ListViewItem
-{
-public:
-  /*! constructor  */
-  SalomeApp_PropItem(SalomeApp_ListView* parent,
-                     const QString       theName,
-                     const bool          theEditable,
-                     const int           theUserType) :
-  SalomeApp_ListViewItem( parent, QStringList(theName), theEditable )
-  {
-    setUserType(theUserType);
-  }
-  /*! constructor */
-  SalomeApp_PropItem(SalomeApp_ListView*     parent,
-                     SalomeApp_ListViewItem* after,
-                     const QString     theName,
-                     const bool        theEditable,
-                     const int         theUserType) :
-  SalomeApp_ListViewItem( parent, after, theName, theEditable )
-  {
-    setUserType(theUserType);
-  }
-  /*! fills widget with initial values (list or single value)*/
-  void fillWidgetWithValues( SalomeApp_EntityEdit* theWidget )
-  {
-    QStringList list;
-    switch(getUserType()) {
-    //case SalomeApp_StudyPropertiesDlg::prpModeId:
-    //  {
-    //    list << SalomeApp_StudyPropertiesDlg::tr("PRP_MODE_FROM_SCRATCH") <<
-    //        SalomeApp_StudyPropertiesDlg::tr("PRP_MODE_FROM_COPYFROM");
-    //    theWidget->insertList(list);
-    //    break;
-    //  }
-    case SalomeApp_StudyPropertiesDlg::prpLockedId:
-      {
-        list << SalomeApp_StudyPropertiesDlg::tr( "PRP_NO" ) << SalomeApp_StudyPropertiesDlg::tr( "PRP_YES" );
-        theWidget->insertList(list, getValue() == SalomeApp_StudyPropertiesDlg::tr( "PRP_NO" ) ? 0 : 1 );
-        break;
-      }
-    case SalomeApp_StudyPropertiesDlg::prpModificationsId:
-      {
-        SalomeApp_Study* study =
-          dynamic_cast<SalomeApp_Study*>( SUIT_Session::session()->activeApplication()->activeStudy() );
-        if (study) {
-          _PTR(Study) studyDoc = study->studyDS();
-          _PTR(AttributeStudyProperties) propAttr;
-          if ( studyDoc ) {
-            propAttr = studyDoc->GetProperties();
-            if ( propAttr ) {
-              std::vector<std::string> aUsers;
-              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++ ) {
-                QString val;
-                val.sprintf("%2.2d/%2.2d/%2d %2.2d:%2.2d",
-                            aDays  [i],
-                            aMonths[i],
-                            aYears [i],
-                            aHours [i],
-                            aMins  [i]);
-                val = val + " : " + QString( aUsers[i].c_str() );
-                list.prepend(val);
-              }
-              theWidget->setDuplicatesEnabled(true);
-              theWidget->insertList(list);
-            }
-          }
-        }
-        break;
-      }
-    default:
-      {
-        SalomeApp_ListViewItem::fillWidgetWithValues(theWidget);
-        break;
-      }
-    }
-  }
-  /*! finishes editing of entity */
-  virtual UpdateType finishEditing( SalomeApp_EntityEdit* theWidget ) {
-    if ( getUserType() == SalomeApp_StudyPropertiesDlg::prpModificationsId )
-      return utCancel;
-    else
-      return SalomeApp_ListViewItem::finishEditing(theWidget);
-  }
-};
 
 /*!Constructor. Initialize study properties dialog.*/
 SalomeApp_StudyPropertiesDlg::SalomeApp_StudyPropertiesDlg(QWidget* parent)
-     : QDialog(parent, Qt::WindowTitleHint | Qt::WindowSystemMenuHint ),
-       myChanged( false )
+  : QDialog(parent, Qt::WindowTitleHint | Qt::WindowSystemMenuHint ),
+    myIsChanged(false)
 {
-  setObjectName( "" );
   setModal( TRUE );
 
   setWindowTitle(tr("TLT_STUDY_PROPERTIES"));
@@ -151,39 +71,83 @@ SalomeApp_StudyPropertiesDlg::SalomeApp_StudyPropertiesDlg(QWidget* parent)
 
   setWindowFlags( windowFlags() & ~Qt::WindowContextHelpButtonHint );
 
-  QGridLayout* mainLayout = new QGridLayout(this);
-  mainLayout->setMargin(DEFAULT_MARGIN);
-  mainLayout->setSpacing(DEFAULT_SPACING);
-
-  myPropList = new SalomeApp_ListView(this);
-  myPropList->setColumnCount(2);
-  QStringList aLabels;
-  aLabels << "" << "";
-  myPropList->setHeaderLabels( aLabels );
-  myPropList->enableEditing(TRUE);
-  myPropList->setMinimumSize(MIN_LIST_WIDTH, MIN_LIST_HEIGHT);
-  mainLayout->addWidget(myPropList, 0, 0, 1, 3);
-
-  myOKBtn = new QPushButton(tr("BUT_OK"), this);
-  mainLayout->addWidget(myOKBtn, 1, 0);
-
-  myCancelBtn = new QPushButton(tr("BUT_CANCEL"), this);
-  mainLayout->addWidget(myCancelBtn, 1, 2);
-
-  QSpacerItem* spacer1 =
-    new QSpacerItem(SPACER_SIZE, SPACER_SIZE, QSizePolicy::Expanding, QSizePolicy::Minimum);
-  mainLayout->addItem(spacer1, 1, 1);
-
   // 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);
+
+  //Creation date
+  QLabel* dateLbl = new QLabel(tr("PRP_DATE"),this);
+  myDate = new QLabel(this);
+
+  //Locked flag
+  myLocked = new QCheckBox(tr("PRP_LOCKED"), this);
+
+  //Modification flag
+  myModification = new QLabel(this);
+
+  //Units
+  QLabel* unitsLbl = new QLabel(tr("PRP_UNITS"),this);
+  myUnits = new QComboBox(this);
+
+  //Comment
+  QLabel* commentLabel = new QLabel(tr("PRP_COMMENT"),this);
+  myComment = new QTextEdit(this);
+  myComment->setMaximumHeight(80);
+
+  //Modifications
+  QLabel* modificationsLabel = new QLabel(tr("PRP_MODIFICATIONS"),this);  
+  myModifications = new QTreeWidget(this);
+  myModifications->setRootIsDecorated(false);
+  myModifications->setUniformRowHeights(true);
+  myModifications->setAllColumnsShowFocus(true);
+  myModifications->setColumnCount(2);
+  myModifications->setMaximumHeight(80);
+  QStringList columnNames;
+  columnNames.append(tr("PRP_AUTHOR"));
+  columnNames.append(tr("PRP_DATE_MODIF"));
+
+  QTreeWidgetItem * headerItem = new QTreeWidgetItem(columnNames);
+  myModifications->setHeaderItem ( headerItem );
+
+  QFrame* buttonFrame = new QFrame(this);
+
+  QHBoxLayout* horizontalLayout = new QHBoxLayout(buttonFrame);
+  
+  myOkButton = new QPushButton(tr("BUT_OK"), buttonFrame);
+  myCancelButton = new QPushButton(tr("BUT_CANCEL"), buttonFrame);
+
+  horizontalLayout->addWidget(myOkButton);
+  horizontalLayout->addItem( new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum) );
+  horizontalLayout->addWidget(myCancelButton);
+  
+  QGridLayout* gridLayout = new QGridLayout(this);
+  gridLayout->setMargin(DEFAULT_MARGIN);
+  gridLayout->setSpacing(DEFAULT_SPACING);
+  gridLayout->addWidget(authorLbl, 0, 0, 1, 1);
+  gridLayout->addWidget(myAuthor, 0, 1, 1, 1);
+  gridLayout->addWidget(dateLbl, 1, 0, 1, 1);
+  gridLayout->addWidget(myDate, 1, 1, 1, 1);
+  gridLayout->addWidget(myLocked, 2, 0, 1, 1);
+  gridLayout->addWidget(myModification, 2, 1, 1, 1);
+  gridLayout->addWidget(unitsLbl, 3, 0, 1, 1);
+  gridLayout->addWidget(myUnits, 3, 1, 1, 1);
+  gridLayout->addItem(new QSpacerItem(/*72*/0, 0/*20*/, QSizePolicy::Expanding, QSizePolicy::Minimum), 3, 2, 1, 1);
+  gridLayout->addWidget(commentLabel, 4, 0, 1, 1);
+  gridLayout->addWidget(myComment, 4, 1, 1, 2);
+  gridLayout->addWidget(modificationsLabel, 5, 0, 1, 1);
+  gridLayout->addWidget(myModifications, 5, 1, 1, 2);
+  gridLayout->addWidget(buttonFrame, 6, 0, 1, 3);
+
+  connect(myOkButton,     SIGNAL(clicked()), this, SLOT(clickOnOk()));
+  connect(myCancelButton, SIGNAL(clicked()), this, SLOT(reject()));
+  
   initData();
-
-  connect(myOKBtn,     SIGNAL(clicked()), this, SLOT(onOK()));
-  connect(myCancelBtn, SIGNAL(clicked()), this, SLOT(reject()));
 }
 
 /*!
@@ -203,172 +167,133 @@ void SalomeApp_StudyPropertiesDlg::initData()
   if (hasData)
     propAttr = myStudyDoc->GetProperties();
   hasData = hasData && propAttr;
-
-  // Study author's name
-  SalomeApp_PropItem* item = new SalomeApp_PropItem(myPropList, tr("PRP_AUTHOR")+":", true, prpAuthorId);
-  if (hasData)
-    item->setValue(propAttr->GetUserName().c_str());
-
-  // Date of creation
-  item = new SalomeApp_PropItem(myPropList, item, tr("PRP_DATE")+":", false, prpDateId);
+  
   if (hasData) {
+    //Creator and creation date
+    myAuthor->setText(propAttr->GetUserName().c_str());
     int minutes, hours, day, month, year;
     if (propAttr->GetCreationDate(minutes, hours, day, month, year)) {
       QString strDate;
       strDate.sprintf("%2.2d/%2.2d/%2d %2.2d:%2.2d", day, month, year, hours, minutes);
-      item->setValue(strDate);
+      myDate->setText(strDate);
+    }
+    
+    //Is Locked?
+    myLocked->setChecked(propAttr->IsLocked());
+
+    //Is Modified?
+    bool isModified = false;
+    SalomeApp_Study* study = dynamic_cast<SalomeApp_Study*>
+      (SUIT_Session::session()->activeApplication()->activeStudy());
+    if (study) {
+      isModified = study->isModified();
+      if (hasData) {
+        if (propAttr->IsModified() != isModified) {
+          propAttr->SetModified((int)isModified);
+        }
+      }
     }
-  }
 
-  // Creation mode
-//  item = new SalomeApp_PropItem(myPropList, item, tr("PRP_MODE")+":", true, prpModeId);
-//  item->setEditingType( SalomeApp_EntityEdit::etComboBox);
-//  if (hasData) item->setValue(propAttr->GetCreationMode());
+    QString modif = propAttr->IsModified() ? tr( "PRP_MODIFIED" ) : tr( "PRP_NOT_MODIFIED" );
+    myModification->setText(modif);
+    
+    //Units
+    QStringList theList;
+    theList <<""<<"mm"<<"cm"<<"m"<<"km"<<"inch";
+    myUnits->insertItems(0,theList); 
 
-  // Locked or not
-  item = new SalomeApp_PropItem(myPropList, item, tr("PRP_LOCKED")+":", true, prpLockedId);
-  item->setEditingType( SalomeApp_EntityEdit::etComboBox);
-  if ( hasData )
-    item->setValue( tr( propAttr->IsLocked() ? "PRP_YES" : "PRP_NO" ) );
+    QString anUnit = propAttr->GetUnits().c_str();
 
-  // Saved or not
-  item = new SalomeApp_PropItem(myPropList, item, tr("PRP_MODIFIED")+":", false, prpSavedId);
-  bool isModified = false;
-  SalomeApp_Study* study = dynamic_cast<SalomeApp_Study*>
-    (SUIT_Session::session()->activeApplication()->activeStudy());
-  if (study) {
-    isModified = study->isModified();
-    if (hasData) {
-      if (propAttr->IsModified() != isModified) {
-        propAttr->SetModified((int)isModified);
+    int aFound = -1;
+    for (int i = 0; i < myUnits->count(); i++) {
+      if ( myUnits->itemText(i) == anUnit ) {
+        aFound = i;
+        break;
       }
     }
-  }
-  if (hasData) {
-    if (propAttr->IsModified())
-      item->setValue( tr( "PRP_YES" ) );
-    else
-      item->setValue( tr( "PRP_NO" ) );
-  }
-
-  // Modifications list
-  item = new SalomeApp_PropItem(myPropList, item, tr("PRP_MODIFICATIONS")+":", true, prpModificationsId);
-  item->setEditingType( SalomeApp_EntityEdit::etComboBox);
-  if (hasData) {
+    
+    if (aFound >= 0) {
+      myUnits->setCurrentIndex(aFound);
+    }
+    
+    //Comments
+    myComment->setPlainText(propAttr->GetComment().c_str());
+    
+    //Modifications
     std::vector<std::string> aUsers;
-    std::vector<int> aMins, aHours, aDays, aMonths, aYears;
+    std::vector<int>  aMins, aHours, aDays, aMonths, aYears;
     propAttr->GetModificationsList(aUsers, aMins, aHours, aDays, aMonths, aYears, false);
-    int aLast = aUsers.size()-1;
-    if (aLast >= 0) {
-      QString val;
-      val.sprintf("%2.2d/%2.2d/%2d %2.2d:%2.2d",
-                  aDays  [aLast],
-                  aMonths[aLast],
-                  aYears [aLast],
-                  aHours [aLast],
-                  aMins  [aLast]);
-      val = val + " : " + QString(aUsers[aUsers.size()-1].c_str());
-      item->setValue(val);
-    }
+    int aCnt = aUsers.size();
+    for ( int i = 0; i < aCnt; i++ ) {
+      QString date;
+      date.sprintf("%2.2d/%2.2d/%2d %2.2d:%2.2d",
+                  aDays  [i],
+                  aMonths[i],
+                  aYears [i],
+                  aHours [i],
+                  aMins  [i]);
+      QStringList aList;
+      aList.append(aUsers[i].c_str());
+      aList.append(date);
+      QTreeWidgetItem* item = new  QTreeWidgetItem(aList);
+      myModifications->addTopLevelItem(item);
+    }        
   }
-
-  myOKBtn->setEnabled(hasData);
-}
-
-/*!
-  accept data. Return true.
-*/
-bool SalomeApp_StudyPropertiesDlg::acceptData()
-{
-  return TRUE;
+  adjustSize();
 }
 
 /*!
   Fill properties attributes.
 */
-void SalomeApp_StudyPropertiesDlg::onOK()
+void SalomeApp_StudyPropertiesDlg::clickOnOk()
 {
-  myPropList->accept();
-
-  if (acceptData()) {
-    _PTR(AttributeStudyProperties) propAttr = myStudyDoc->GetProperties();
-    //myChanged = propChanged();
-    if ( propAttr /*&& myChanged*/ ) {
-      QTreeWidgetItemIterator it( myPropList );
-      // iterate through all items of the listview
-      while (*it) {
-        SalomeApp_PropItem* item = (SalomeApp_PropItem*)(*it);
-        switch (item->getUserType()) {
-        case prpAuthorId:
-          if (QString(propAttr->GetUserName().c_str()) != item->getValue().trimmed()) {
-            if (!propAttr->IsLocked()) {
-              propAttr->SetUserName(item->getValue().trimmed().toStdString());
-              myChanged = true;
-            } else {
-              SUIT_MessageBox::warning(SUIT_Session::session()->activeApplication()->desktop(),
-                                       QObject::tr("WRN_WARNING"),
-                                       QObject::tr("WRN_STUDY_LOCKED") );
-            }
-          }
-          break;
-        //case prpModeId:
-        //  propAttr->SetCreationMode(item->getValue().trimmed().latin1());
-        //  break;
-        case prpLockedId:
-          {
-            bool bLocked = item->getValue().compare(tr("PRP_YES")) == 0;
-            if (propAttr->IsLocked() != bLocked) {
-              propAttr->SetLocked(bLocked);
-              myChanged = true;
-            }
-          }
-          break;
-        default:
-          break;
-        }
-        ++it;
+  _PTR(AttributeStudyProperties) propAttr = myStudyDoc->GetProperties();
+  //Firstly, store locked flag
+  if(propAttr) {
+    bool bLocked = myLocked->isChecked();
+    if (propAttr->IsLocked() != bLocked) {
+      propAttr->SetLocked(bLocked);
+      myIsChanged = true;
+    }
+    
+    bool needWarning = false;
+    
+    //Author
+    if (QString(propAttr->GetUserName().c_str()) != myAuthor->text().trimmed()) {
+      if(!propAttr->IsLocked()) {
+        propAttr->SetUserName(myAuthor->text().trimmed().toStdString());
+        myIsChanged = true;
+      } else {
+        needWarning = true;
       }
     }
-    accept();
-  }
-}
-
-/*!
-  Check is properties changed?
-*/
-bool SalomeApp_StudyPropertiesDlg::propChanged()
-{
-  _PTR(AttributeStudyProperties) propAttr = myStudyDoc->GetProperties();
-  if (propAttr) {
-    QTreeWidgetItemIterator it (myPropList);
 
-    // iterate through all items of the listview
-    while (*it) {
-      SalomeApp_PropItem* item = (SalomeApp_PropItem*)(*it);
-      switch (item->getUserType()) {
-      case prpAuthorId:
-        if ( QString( propAttr->GetUserName().c_str() ) != item->getValue().trimmed() ) {
-          return true;
-        }
-        break;
-      //case prpModeId:
-      //  if ( QString( propAttr->GetCreationMode().c_str() ) != item->getValue().trimmed() ) {
-      //    return true;
-      //  }
-      //  break;
-      case prpLockedId:
-        {
-          bool bLocked = item->getValue().compare( tr( "PRP_YES" ) ) == 0;
-          if ( propAttr->IsLocked() != bLocked ) {
-            return true;
-          }
-          break;
-        }
-      default:
-        break;
+    //Unit
+    if (QString(propAttr->GetUnits().c_str()) != myUnits->currentText()) {
+      if(!propAttr->IsLocked()) {
+        propAttr->SetUnits(myUnits->currentText().toStdString());
+        myIsChanged = true;
+      } else {
+        needWarning = true;
       }
-      ++it;
     }
+      
+    //Comment      
+    if (QString(propAttr->GetComment().c_str()) != myComment->toPlainText()) {
+      if(!propAttr->IsLocked()) {
+        propAttr->SetComment(myComment->toPlainText().toStdString());
+        myIsChanged = true;
+      } else {
+        needWarning = true;
+      }
+    }
+    
+    if(needWarning) {
+      SUIT_MessageBox::warning(SUIT_Session::session()->activeApplication()->desktop(),
+                               QObject::tr("WRN_WARNING"),
+                               QObject::tr("WRN_STUDY_LOCKED") );
+    }
+    
+    accept();
   }
-  return false;
 }
index 217d1af3f5decb7ba6fea46373d13575826c9dae..f1da51aa71cf082ef498b3fb4513101df503a9aa 100644 (file)
@@ -21,7 +21,7 @@
 //
 
 //  File   : SalomeApp_StudyPropertiesDlg.h
-//  Author : Sergey ANIKIN
+//  Author : Roman NIKOLAEV
 //  Module : SALOME
 //
 #ifndef SALOMEAPP_STUDY_PROPERTIES_DLG_H
 
 #include <SALOMEDSClient_Study.hxx>
 
-class SalomeApp_ListView;
+class QLineEdit;
+class QLabel;
+class QCheckBox;
+class QComboBox;
+class QTextEdit;
+class QTreeWidget;
 class QPushButton;
 
 class SALOMEAPP_EXPORT SalomeApp_StudyPropertiesDlg : public QDialog
 { 
   Q_OBJECT
-
-public:
-  enum {
-    prpAuthorId,
-    prpModeId,
-    prpDateId,
-    prpSavedId,
-    prpLockedId,
-    prpModificationsId,
-    prpLastId
-  };
-
 public:
   SalomeApp_StudyPropertiesDlg( QWidget* parent = 0 );
   ~SalomeApp_StudyPropertiesDlg();
 
-  bool isChanged() { return myChanged; } 
-
+  bool isChanged() { return myIsChanged; }
+  
 public slots:
-  void onOK();
-
+  void clickOnOk();
 private:
-  void initData(); 
-  bool acceptData(); 
-  bool propChanged(); 
+ void initData();
   
 private:
-  SalomeApp_ListView* myPropList;
-  QPushButton*        myOKBtn;
-  QPushButton*        myCancelBtn;
-  bool                myChanged;  
-
-  _PTR(Study)         myStudyDoc;
+ _PTR(Study)          myStudyDoc;
+ bool                 myIsChanged;
+ QLineEdit*           myAuthor;
+ QLabel*              myDate;
+ QCheckBox*           myLocked;
+ QLabel*              myModification;
+ QComboBox*           myUnits;
+ QTextEdit*           myComment;
+ QTreeWidget*         myModifications;
+ QPushButton*         myOkButton;
+ QPushButton*         myCancelButton;
 };
  
 #endif // SALOMEAPP_STUDY_PROPERTIES_DLG_H
index e7d8d8d40caed26a6a33238b1dc29065dfe644de..6281d174cd141fe55e2d46ff8693090e3779c3b4 100644 (file)
@@ -347,6 +347,18 @@ Do you want to reload it ?</translation>
         <source>PRP_MODIFICATIONS</source>
         <translation>Modifications</translation>
     </message>
+    <message>
+        <source>PRP_DATE_MODIF</source>
+        <translation>Date</translation>
+    </message>        
+    <message>
+        <source>PRP_UNITS</source>
+        <translation>Length units</translation>
+   </message>                      
+    <message>
+        <source>PRP_COMMENT</source>
+        <translation>Comment</translation>
+   </message>                         
     <message>
         <source>PRP_NO</source>
         <translation>No</translation>
@@ -359,9 +371,13 @@ Do you want to reload it ?</translation>
         <source>PRP_MODIFIED</source>
         <translation>Modified</translation>
     </message>
+    <message>
+            <source>PRP_NOT_MODIFIED</source>
+           <translation>Not modified</translation>
+    </message>                     
     <message>
         <source>PRP_DATE</source>
-        <translation>Created</translation>
+        <translation>Creation date</translation>
     </message>
     <message>
         <source>PRP_MODE</source>