X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=Editeur%2Fjdcdisplay.py;h=863c5b61024944fa1f38712ddb27693b706ecdb2;hb=3399156799eaae0440b876af5d08ec2ef69f4462;hp=3669b498545b628064427dc4cc9ff2d4d881eaaf;hpb=b49451535cd37e999efe8f8916299fc036f8c8ca;p=tools%2Feficas.git diff --git a/Editeur/jdcdisplay.py b/Editeur/jdcdisplay.py index 3669b498..863c5b61 100644 --- a/Editeur/jdcdisplay.py +++ b/Editeur/jdcdisplay.py @@ -25,6 +25,7 @@ """ # Modules Python import types +import traceback import Tkinter import Pmw @@ -109,13 +110,13 @@ class JDCDISPLAY: # On a une chaine avec & en tete => on cree un radiobouton try: command=getattr(node.item,method[1:]) - menu.add_radiobutton(label=label,command=lambda a=self.appli,c=command:c(a)) + menu.add_radiobutton(label=label,command=lambda a=self.appli,c=command,n=node:c(a,n)) if radio == None:radio=number_item except:pass else: try: command=getattr(node.item,method) - menu.add_command(label=label,command=lambda a=self.appli,c=command:c(a)) + menu.add_command(label=label,command=lambda a=self.appli,c=command,n=node:c(a,n)) except:pass # Si au moins un radiobouton existe on invoke le premier if radio:menu.invoke(radio) @@ -128,12 +129,13 @@ class JDCDISPLAY: """ if node is not self.node_selected : self.create_panel(node) - # on conserve la trace du noeud sélectionné et de celui d'avant - if self.node_selected : - self.ancien_node = self.node_selected - self.node_selected = node - else: - self.ancien_node = self.node_selected = node + self.node_selected = node + ## on conserve la trace du noeud sélectionné et de celui d'avant + #if self.node_selected : + #self.ancien_node = self.node_selected + #self.node_selected = node + #else: + #self.ancien_node = self.node_selected = node def create_panel(self,node): """ @@ -157,6 +159,9 @@ class JDCDISPLAY: z.show_stats() z.show_cycles() + if node is None: + self.panel_courant=None + return self.panel_courant if node.item.isactif(): if hasattr(node.item,"panel"): @@ -197,9 +202,10 @@ class JDCDISPLAY: else: self.init_modif() node.delete() - if nom_sd: - child.item.nomme_sd(nom_sd) - child.update() + #if nom_sd: + #child.item.nomme_sd(nom_sd) + child.select() + #child.update() def doCut(self): """ @@ -231,6 +237,7 @@ class JDCDISPLAY: try: child=self.appli.noeud_a_editer.doPaste(self.node_selected) except: + traceback.print_exc() showinfo("Action de coller impossible", "L'action de coller apres un tel objet n'est pas permise") return @@ -240,12 +247,19 @@ class JDCDISPLAY: showerror("Copie refusée",self.appli.message) self.appli.message = '' self.appli.affiche_infos("Copie refusée") + return # il faut déclarer le JDCDisplay_courant modifié self.init_modif() # suppression éventuelle du noeud sélectionné + # si possible on renomme l objet comme le noeud couper if self.edit == "couper": - self.appli.noeud_a_editer.delete() + #nom = self.appli.noeud_a_editer.item.object.sd.nom + item=self.appli.noeud_a_editer.item + self.appli.noeud_a_editer.delete() + child.item.update(item) + #test,mess = child.item.nomme_sd(nom) + child.select() # on rend la copie à nouveau possible en libérant le flag edit self.edit="copier"