Salome HOME
CCAR: modifications pour :
[tools/eficas.git] / Extensions / parametre.py
index d20b44fafb32bad4e663d87a2a388ce13bab86ff..7ec6ce7067f068f9ff668212571a0c9699496fcb 100644 (file)
@@ -32,8 +32,10 @@ from math import *
 
 # import de modules Eficas
 from Noyau.N_CR import CR
+from Noyau import N_OBJECT
+from Ihm import I_OBJECT
 
-class PARAMETRE :
+class PARAMETRE(N_OBJECT.OBJECT,I_OBJECT.OBJECT) :
   """
      Cette classe permet de créer des objets de type PARAMETRE
      cad des affectations directes dans le jeu de commandes (ex: a=10.)
@@ -70,6 +72,34 @@ class PARAMETRE :
       print "******* Probleme : pas de valeur négative"
       return None
     
+  def __add__(self,a):
+    try :
+      return self.valeur+a.valeur
+    except :
+      print "******* Probleme : a l addition"
+      return None
+
+  def __radd__(self,a):
+    try :
+      return self.valeur+a.valeur
+    except :
+      print "******* Probleme : a l addition"
+      return None
+
+  def __sub__(self,a):
+    try :
+      return self.valeur  - a.valeur
+    except :
+      print "******* Probleme : a la soustraction"
+      return None
+
+  def __rsub__(self,a):
+    try :
+      return a.valeur - self.valeur
+    except :
+      print "******* Probleme : a la soustraction"
+      return None
+
   def __mul__(self,a):
     try :
       return self.valeur*a.valeur
@@ -84,6 +114,48 @@ class PARAMETRE :
       print "******* Probleme : a la multiplication"
       return None
 
+  def __mul__(self,a):
+    try :
+      return self.valeur*a.valeur
+    except :
+      print "******* Probleme : a la multiplication"
+      return None
+
+  def __rmul__(self,a):
+    try :
+      return self.valeur*a.valeur
+    except :
+      print "******* Probleme : a la multiplication"
+      return None
+
+  def __add__(self,other):
+    try :
+      return self.valeur+other
+    except :
+      print "******* Probleme : a l addition"
+      return None
+
+  def __radd__(self,other):
+    try :
+      return self.valeur+other
+    except :
+      print "******* Probleme : a l addition"
+      return None
+
+  def __sub__(self,other):
+    try :
+      return self.valeur  - other
+    except :
+      print "******* Probleme : a la soustraction"
+      return None
+
+  def __rsub__(self,other):
+    try :
+      return other - self.valeur
+    except :
+      print "******* Probleme : a la soustraction"
+      return None
+
   def  __mul__ (self,other):
     retour=None
     try :
@@ -107,7 +179,6 @@ class PARAMETRE :
     return retour
 
 
-
   def interprete_valeur(self,val):
     """
     Essaie d'interpréter val (chaîne de caractères)comme :