]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
PN: version intermediaire permettant la saisie du .com de reference
authoreficas <>
Fri, 10 Oct 2003 16:17:25 +0000 (16:17 +0000)
committereficas <>
Fri, 10 Oct 2003 16:17:25 +0000 (16:17 +0000)
    (sans faire trop d erreur)

Editeur/composimp.py

index e5b30f267dafab28d03d4bf03894f7ce838cffba..617d02d9549e1c5cb5c40c67a0d2ad58d92fac27 100644 (file)
@@ -278,26 +278,6 @@ class PLUSIEURS_Panel(newSIMPPanel):
       if self.ajout_valeurs:
           self.ajout_valeurs.quit()
           
-  def traite_reel(self,valeur):
-      """
-      Cette fonction a pour but de rajouter le '.' en fin de chaîne pour un réel
-      ou de détecter si on fait référence à un concept produit par DEFI_VALEUR
-      ou un EVAL ...
-      """
-      valeur = string.strip(valeur)
-      liste_reels = self.node.item.get_sd_avant_du_bon_type()
-      if valeur in liste_reels:
-          return valeur
-      if len(valeur) >= 3 :
-          if valeur[0:4] == 'EVAL' :
-              # on a trouvé un EVAL --> on retourne directement la valeur
-              return valeur
-      if string.find(valeur,'.') == -1 :
-          # aucun '.' n'a été trouvé dans valeur --> on en rajoute un à la fin
-          return valeur+'.'
-      else:
-          return valeur
-        
   def add_valeur_sans_into(self,name=None,encorevalide=1):
       """
       Lit ce que l'utilisateur a saisi dans self.entry et cherche à
@@ -312,11 +292,13 @@ class PLUSIEURS_Panel(newSIMPPanel):
       commentaire="Valeur incorrecte : ajout à la liste refusé"
       testvalide=1
 
+      print name
+      print name.__class__.__name__
       if name != None :
          valeur = name
       else:
          valeurentree = self.get_valeur()
-         if valeur == '': valeur=None
+         if valeurentree == '': valeur=None
          valeurentree,testvalide=self.node.item.eval_valeur(valeur)
 
       if (valeur == None or valeur =="") :
@@ -547,7 +529,6 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel):
       # Création de l'entry ou de la liste des SD
       self.label = Label(self.frame_choix,text="Valeur :")
       # PN : pour ajouter les validators
-      #self.make_entry(frame = self.frame_choix,command = self.add_valeur_sans_into)
       self.make_entry(frame = self.frame_choix,command = self.add_valeur_plusieurs_base)
       self.label.place(relx=0.05,rely=0.5)
 
@@ -559,9 +540,6 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel):
       self.ajout_valeurs = None
 
       # boutons Ajouter et Supprimer
-      #bouton_add = Button(self.frame_boutons_fleches,
-      #                    image = images.get_image('arrow_left'),
-      #                    command = self.add_valeur_sans_into)
       bouton_add = Button(self.frame_boutons_fleches,
                           image = images.get_image('arrow_left'),
                           command = self.add_valeur_plusieurs_base)
@@ -732,7 +710,8 @@ class PLUSIEURS_ASSD_Panel(PLUSIEURS_Panel):
                                  ("<Double-Button-1>",self.sup_valeur_sans_into))
       liste_commandes_choix = (("<Button-1>",self.selectChoix),
                                ("<Button-3>",self.deselectChoix),
-                               ("<Double-Button-1>",self.add_valeur_sans_into))
+      #                         ("<Double-Button-1>",self.add_valeur_sans_into))
+                               ("<Double-Button-1>",self.add_eval_valeur_sans_into))
       self.Liste_valeurs = ListeChoix(self,self.frame_valeurs,l_valeurs,liste_commandes = liste_commandes_valeurs,
                                       titre="Valeur(s) actuelle(s)")
       self.Liste_choix = ListeChoix(self,self.frame_choix,l_choix,liste_commandes = liste_commandes_choix,
@@ -740,7 +719,8 @@ class PLUSIEURS_ASSD_Panel(PLUSIEURS_Panel):
       bouton_add = Button(self.frame_boutons_fleches,
                           #text="<--",
                           image = images.get_image('arrow_left'),
-                          command = self.add_valeur_sans_into)
+      #                    command = self.add_valeur_sans_into)
+                          command = self.add_eval_valeur_sans_into)
       bouton_sup = Button(self.frame_boutons_fleches,
                           #text="-->",
                           image = images.get_image('arrow_right'),
@@ -760,6 +740,14 @@ class PLUSIEURS_ASSD_Panel(PLUSIEURS_Panel):
       for fram in (self.frame_valeurs,self.frame_boutons_fleches,self.frame_choix,self.frame_boutons):
           fram.bind("<Button-3>",lambda e,s=self,a=bulle_aide : s.parent.appli.affiche_aide(e,a))
           fram.bind("<ButtonRelease-3>",self.parent.appli.efface_aide)
+  
+  def add_eval_valeur_sans_into(self,valeurentree=None):
+      valeur,validite=self.node.item.eval_valeur(valeurentree)
+      if not validite :
+             commentaire = "impossible d'évaluer : %s " %`valeur`
+             self.parent.appli.affiche_infos(commentaire)
+             return
+      self.add_valeur_sans_into(valeur)
 
   def get_bulle_aide(self):
       """
@@ -1428,6 +1416,7 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
                   else:
                       # on attend un entier, un réel ou une string
                       self.panel = UNIQUE_BASE_Panel
+      print "affect_panel : ",self.panel
 
   def is_list(self):
       """
@@ -1647,6 +1636,7 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
       Retourne la liste des noms des SD présentes avant l'étape qui contient
       le MCS pointé par self et du type requis par ce MCS
       """
+      a=self.object.etape.parent.get_sd_avant_du_bon_type(self.object.etape,self.object.definition.type)
       return self.object.etape.parent.get_sd_avant_du_bon_type(self.object.etape,
                                                                self.object.definition.type)
     
@@ -1688,7 +1678,8 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
         return None,0
       validite=1
       if self.wait_reel():
-             valeurretour = self.traite_reel(valeur)
+             valeurinter = self.traite_reel(valeur)
+             valeurretour,validite= self.object.eval_valeur(valeurinter)
       elif self.wait_geom():
              valeurretour,validite = valeur,1
       else :
@@ -1768,7 +1759,26 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
          listevalideliste=listevalideitem
       return listevalideliste
 
-         
+  def traite_reel(self,valeur):
+      """
+      Cette fonction a pour but de rajouter le '.' en fin de chaîne pour un réel
+      ou de détecter si on fait référence à un concept produit par DEFI_VALEUR
+      ou un EVAL ...
+      """
+      valeur = string.strip(valeur)
+      liste_reels = self.get_sd_avant_du_bon_type()
+      if valeur in liste_reels:
+          return valeur
+      if len(valeur) >= 3 :
+          if valeur[0:4] == 'EVAL' :
+              # on a trouvé un EVAL --> on retourne directement la valeur
+              return valeur
+      if string.find(valeur,'.') == -1 :
+          # aucun '.' n'a été trouvé dans valeur --> on en rajoute un à la fin
+          return valeur+'.'
+      else:
+          return valeur
+        
 
 import Accas
 treeitem = SIMPTreeItem