Salome HOME
[EDF30062] : Forward of current directory mecanism
[modules/kernel.git] / src / KERNEL_PY / iparameters.py
old mode 100755 (executable)
new mode 100644 (file)
index 96abfbe..74fbfe5
@@ -1,3 +1,26 @@
+#  -*- coding: iso-8859-1 -*-
+# 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
+#
+# 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 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
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
 import salome
 import string
 import SALOME
@@ -28,11 +51,44 @@ def getSession():
     return vp_session 
 
 class IParameters:
-    def __init__(self, attributeParameter):
-        """Initializes the instance"""
+    """
+    Interface IParameters was designed to provide a common way to set up
+    named parameters. The interface is initialized by AttributeParameter that
+    is used as a container of stored data.
+    The interface supports 3 types of named parameters:
+    1. Named list - a named list consists of string values.
+       One can append value to list (method 'append'), get a number of values
+       in the list (method 'nbValues'), get all values of the given list
+       (method 'getValues') and get names of all created named lists.
+    2. Parameters - that is a set of named string values associated with some named
+       entity. Parameter consists of tree elements: entity name, a parameter name
+       and a parameter value. Thus for one named entity there are an arbitrary number
+       of pair 'name parameter : value'.
+       One can add a new parameter to entry (method 'setParameter'), get a value of
+       a given named parameter of the given entry (method 'getParameter'), get a number
+       of parameters of the given entry (method 'getNbParameters'), get all names of
+       parameters for the given entry (method 'getAllParameterNames'), get all
+       values of parameters for the entry (method 'getAllParameterValues') and get all
+       stored entries (method 'getEntries')
+    3. Property - a property has a name and a string value.
+       One can set property (method 'setProperty'), getProperty (method 'getProperty') and
+       get a list of all stored properties (method 'getProperties').
+
+    Note:   
+          Methods not mentioned above are private and is not supposed to be used
+          by module's developers.
+       
+    """
+    def __init__(self, attributeParameter, clr=False):
+        """Initializes the instance. If clr parameter is True, all IAPP attribute values are cleared."""
         self._ap = attributeParameter
+        if ( clr ): self.clear()
         pass
 
+    def clear(self):
+        """Clear parameters"""
+        self._ap.Clear()
+
     def append(self, listName, value):
         """Appends a value to the named list"""
         if self._ap is None: return -1