Salome HOME
SIMAN removal
[modules/gui.git] / src / Qtx / QtxPreferenceMgr.cxx
index 6758276d78b4424eae5dbf3cf020fce6493a9cdb..db5c0f9aa3af3f65e110f35694a577d60cb8a064 100644 (file)
@@ -1,24 +1,22 @@
-//  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
 //
-//  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
 //
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-//
-//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+
 // File:      QtxPreferenceMgr.cxx
 // Author:    Sergey TELKOV
 //
@@ -134,7 +132,8 @@ void QtxPreferenceItem::Updater::customEvent( QEvent* /*e*/ )
 */
 QtxPreferenceItem::QtxPreferenceItem( QtxPreferenceItem* parent )
 : myParent( 0 ),
-myEval( true )
+  myEval( true ),
+  myRestartNeeded( false )
 {
   myId = generateId();
 
@@ -149,6 +148,8 @@ myEval( true )
 */
 QtxPreferenceItem::QtxPreferenceItem( const QString& title, QtxPreferenceItem* parent )
 : myParent( 0 ),
+  myEval( true ),
+  myRestartNeeded( false ),
   myTitle( title )
 {
   myId = generateId();
@@ -167,6 +168,8 @@ QtxPreferenceItem::QtxPreferenceItem( const QString& title, QtxPreferenceItem* p
 QtxPreferenceItem::QtxPreferenceItem( const QString& title, const QString& sect,
                                       const QString& param, QtxPreferenceItem* parent )
 : myParent( 0 ),
+  myEval( true ),
+  myRestartNeeded( false ),
   myTitle( title ),
   mySection( sect ),
   myParameter( param )
@@ -454,16 +457,42 @@ void QtxPreferenceItem::setOption( const QString& name, const QVariant& val )
     sendItemChanges();
 }
 
+/*!
+  \brief Get variables auto-conversion option value
+  \return option value
+*/
 bool QtxPreferenceItem::isEvaluateValues() const
 {
   return myEval;
 }
 
+/*!
+  \brief Switch variables auto-conversion option on/off
+  \param on option value
+*/
 void QtxPreferenceItem::setEvaluateValues( const bool on )
 {
   myEval = on;
 }
 
+/*!
+  \brief Get restart needed option value
+  \return option value
+*/
+bool QtxPreferenceItem::isRestartRequired() const
+{
+  return myRestartNeeded;
+}
+
+/*!
+  \brief Switch restart needed option on/off
+  \param on option value
+*/
+void QtxPreferenceItem::setRestartRequired( const bool on )
+{
+  myRestartNeeded = on;
+}
+
 /*!
   \fn void QtxPreferenceItem::store();
   \brief Save preference item (for example, to the resource file).
@@ -809,6 +838,8 @@ QVariant QtxPreferenceItem::optionValue( const QString& name ) const
   QVariant val;
   if ( name == "eval" || name == "evaluation" || name == "subst" || name == "substitution" )
     val = isEvaluateValues();
+  else if ( name == "restart" )
+    val = isRestartRequired();
   else if ( name == "title" )
     val = title();
   return val;
@@ -831,6 +862,11 @@ void QtxPreferenceItem::setOptionValue( const QString& name, const QVariant& val
     if ( val.canConvert( QVariant::Bool ) )
       setEvaluateValues( val.toBool() );
   }
+  if ( name == "restart" )
+  {
+    if ( val.canConvert( QVariant::Bool ) )
+      setRestartRequired( val.toBool() );
+  }
   else if ( name == "title" )
   {
     if ( val.canConvert( QVariant::String ) )