]> SALOME platform Git repositories - tools/eficas.git/blobdiff - Editeur/uniquesdcopanel.py
Salome HOME
PN
[tools/eficas.git] / Editeur / uniquesdcopanel.py
index 56b80cc88d72c8696c174e1585ac5f6f8bebded0..55a301784cc03306743c11fe0f3a17eb83a96d39 100644 (file)
@@ -70,15 +70,21 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel):
                                          listbox_height = 6,
                                          selectioncommand=self.select_valeur_from_list,
                                          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')
+      if liste_noms_sd != [] :
+         self.listbox.place(relx=0.5,rely=0.3,relheight=0.4,anchor='center')
+         self.b_co = Pmw.OptionMenu(self.frame_valeur,labelpos='w',label_text = "Nouveau concept : ", items = ('NON','OUI'),menubutton_width=10)
+      else :
+         self.b_co = Pmw.OptionMenu(self.frame_valeur,labelpos='w',label_text = "Nouveau concept : ", items = ('OUI','OUI'),menubutton_width=10)
       # affichage du bouton 'Nouveau concept'
-      self.b_co = Pmw.OptionMenu(self.frame_valeur,labelpos='w',label_text = "Nouveau concept : ",
-                                 items = ('NON','OUI'),menubutton_width=10)
       self.b_co.configure(command = lambda e,s=self : s.ask_new_concept())
-      self.b_co.place(relx=0.05,rely=0.6,anchor='w')
+      if liste_noms_sd != [] :
+         self.b_co.place(relx=0.05,rely=0.6,anchor='w')
+      else :
+         self.b_co.place(relx=0.05,rely=0.3,anchor='w')
       self.label_co = Label(self.frame_valeur,text='Nom du nouveau concept :')
       self.entry_co = Entry(self.frame_valeur)
       self.entry_co.bind('<Return>',self.valid_nom_concept_co)
+      self.entry_co.bind('<KP_Enter>',self.valid_nom_concept_co)
       # affichage du label de la structure de donnée choisie
       self.l_resu = Label(self.frame_valeur,text='Structure de donnée choisie :')
       self.valeur_choisie = StringVar()
@@ -91,6 +97,8 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel):
       self.aide.place(relx=0.5,rely=0.85,anchor='n')
       # affichage de la valeur courante
       self.display_valeur()
+      if liste_noms_sd == [] :
+          self.b_co.invoke('OUI')
       
   def get_bulle_aide(self):
       """
@@ -108,6 +116,7 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel):
       """
       if self.parent.modified == 'n' : self.parent.init_modif()
       valeur = self.get_valeur()
+      #print "valid_valeur",valeur
 
       self.erase_valeur()
       anc_val = self.node.item.get_valeur()
@@ -136,19 +145,20 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel):
           mess = "Valeur du mot-clé non autorisée :"+cr.get_mess_fatal()
           self.reset_old_valeur(anc_val,mess=mess)
           return
-      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()
 
   def valid_nom_concept_co(self,event=None):
       """
       Lit le nom donné par l'utilisateur au concept de type CO qui doit être
       la valeur du MCS courant et stocke cette valeur
       """
+      #print "valid_nom_concept_co"
       if self.parent.modified == 'n' : self.parent.init_modif()
       anc_val = self.node.item.get_valeur()
       if anc_val != None:
@@ -159,6 +169,7 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel):
           # et le recalcul du contexte
           self.node.item.object.etape.parent.reset_context()
       nom_concept = self.entry_co.get()
+      #print "valid_nom_concept_co",nom_concept
       test,mess=self.node.item.set_valeur_co(nom_concept)
       if not test:
           # On n'a pas pu créer le concept
@@ -172,15 +183,15 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel):
           mess = "Valeur du mot-clé non autorisée :"+cr.get_mess_fatal()
           self.reset_old_valeur(anc_val,mess=mess)
           return
-      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()
-      if self.node.item.isvalid():
-          self.node.parent.select()
-      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()
+      #if self.node.item.isvalid():
+          #self.node.parent.select()
+      #self.node.update()
 
   def ask_new_concept(self):
       """
@@ -211,12 +222,14 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel):
       Affiche la valeur de l'objet pointé par self
       """
       valeur = self.node.item.get_valeur()
+      #print "display_valeur",valeur
       if valeur == None or valeur == '': 
          self.valeur_choisie.set('')
          return # pas de valeur à afficher ...
       # il faut configurer le bouton si la valeur est un objet CO
       # sinon afficher le nom du concept dans self.valeur_choisie
       if self.node.item.is_CO():
+          #print "display_valeur.is_CO"
           self.b_co.invoke('OUI')
           self.entry_co.insert(0,valeur.nom)
       else:
@@ -236,14 +249,14 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel):
       self.parent.appli.affiche_infos(mess)
       # On met a jour le display dans le panneau
       self.display_valeur()
-      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()
+      #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()
       if self.node.item.isvalid():
           self.node.parent.select()
-      self.node.update()
+      #self.node.update()