]> SALOME platform Git repositories - tools/eficas.git/blobdiff - Editeur/uniqueassdpanel.py
Salome HOME
PN
[tools/eficas.git] / Editeur / uniqueassdpanel.py
index 134ec89fcfa47f53643be183a076250b79a8ce16..6bff4bdf12dbcb76c8b4a0c208a049cbfd82f9f0 100644 (file)
@@ -63,19 +63,19 @@ class UNIQUE_ASSD_Panel(UNIQUE_Panel):
           self.parent.appli.affiche_infos("Valeur du mot-clé non autorisée :"+mess)
       elif self.node.item.isvalid() :
           self.parent.appli.affiche_infos('Valeur du mot-clé enregistrée')
-          if self.node.item.get_position()=='global':
-              self.node.etape.verif_all()
-          elif self.node.item.get_position()=='global_jdc':
-              self.node.racine.verif_all()
-          else :
-              self.node.parent.verif()
-          self.node.update()
+          #if self.node.item.get_position()=='global':
+              #self.node.etape.verif_all()
+          #elif self.node.item.get_position()=='global_jdc':
+              #self.node.racine.verif_all()
+          #else :
+              #self.node.parent.verif()
+          #self.node.update()
       else :
           cr = self.node.item.get_cr()
           mess = "Valeur du mot-clé non autorisée :"+cr.get_mess_fatal()
           self.reset_old_valeur(anc_val,mess=mess)
 
-  def makeValeurPage(self,page):
+  def makeValeurPage(self,page,reel="non"):
       """
           Génère la page de saisie de la valeur du mot-clé simple courant qui doit être une 
           SD de type dérivé d'ASSD
@@ -86,14 +86,16 @@ class UNIQUE_ASSD_Panel(UNIQUE_Panel):
       aide=self.get_aide()
       aide= justify_text(texte=aide)
       liste_noms_sd = self.node.item.get_sd_avant_du_bon_type()
+
       # Remplissage du panneau
       self.valeur_choisie = StringVar()
       self.valeur_choisie.set('')
       min,max =  self.node.item.GetMinMax()
-      if (min == 1 and min == max and len(liste_noms_sd)==1):
+      if (min == 1 and min == max and len(liste_noms_sd)==1 ):
           if self.valeur_choisie.get() != liste_noms_sd[0]:
-            self.valeur_choisie.set(liste_noms_sd[0])
-             self.valid_valeur_automatique()
+            if ('R' not in self.node.item.get_type()) :
+               self.valeur_choisie.set(liste_noms_sd[0])
+                self.valid_valeur_automatique()
         
       self.frame_valeur = Frame(page)
       self.frame_valeur.pack(fill='both',expand=1)
@@ -108,10 +110,20 @@ class UNIQUE_ASSD_Panel(UNIQUE_Panel):
                                          dblclickcommand=lambda s=self,c=self.valid_valeur : s.choose_valeur_from_list(c))
       self.listbox.place(relx=0.5,rely=0.3,relheight=0.4,anchor='center')
       Label(self.frame_valeur,text='Structure de donnée choisie :').place(relx=0.05,rely=0.6)
-      #self.label_valeur = Label(self.frame_valeur,textvariable=self.valeur_choisie)
       Label(self.frame_valeur,textvariable=self.valeur_choisie).place(relx=0.5,rely=0.6)
+      self.but_val = Button(self.frame_valeur,text = "Valider",command= self.Choisir)
+      self.but_val.place(relx=0.3,rely=0.8,relwidth=0.35)
+
       # affichage de la valeur courante
       self.display_valeur()
+      if self.__class__.__name__ == 'UNIQUE_ASSD_Panel_Reel' :
+        Label(self.frame_valeur,text='Valeur Réelle').place(relx=0.1,rely=0.9)
+       self.entry = Entry(self.frame_valeur,relief='sunken')
+        self.entry.place(relx=0.28,rely=0.9,relwidth=0.6)
+        self.entry.bind("<Return>",lambda e,c=self.valid_valeur_reel:c())
+        self.entry.bind("<KP_Enter>",lambda e,c=self.valid_valeur_reel:c())
+
+
 
   def get_bulle_aide(self):
       """
@@ -146,6 +158,7 @@ class UNIQUE_ASSD_Panel(UNIQUE_Panel):
       Affecte à valeur choisie la sélection courante dans la liste des choix proposée
       """
       if len(self.listbox.get()) == 0 : return
+      if len(self.listbox.getcurselection()) == 0 : return
       choix = self.listbox.getcurselection()[0]
       self.valeur_choisie.set(choix)
 
@@ -159,6 +172,10 @@ class UNIQUE_ASSD_Panel(UNIQUE_Panel):
       self.valeur_choisie.set(choix)
       apply(command,(),{})
 
+  def Choisir(self) :
+      #Appeler par le bouton Valider
+      self.choose_valeur_from_list(self.valid_valeur)
+      
   def get_valeur(self):
       """
       Retourne la valeur donnée par l'utilisateur au MCS
@@ -176,3 +193,25 @@ class UNIQUE_ASSD_Panel(UNIQUE_Panel):
   def erase_valeur(self):
       pass
 
+  def appel_make(self,page):
+      self.makeValeurPage(page,reel="oui")
+      
+class UNIQUE_ASSD_Panel_Reel(UNIQUE_ASSD_Panel):
+  def valid_valeur_reel(self):
+      if self.parent.modified == 'n' : self.parent.init_modif()
+      anc_val = self.node.item.get_valeur()
+      valeurentree = self.entry.get()
+      self.valeur_choisie.set(valeurentree)
+      self.valid_valeur()
+
+  def display_valeur(self):
+      valeur = self.node.item.get_valeur()
+      if valeur == None or valeur == '' : return # pas de valeur à afficher ...
+      if type(valeur) == types.FloatType :
+         self.valeur_choisie.set(valeur)
+      else :
+         self.valeur_choisie.set(valeur.nom)
+
+       
+