self.jdc=jdc
self.nom_jdc=nom_jdc
self.fichier=None
+ self.panel_courant=None
if not appli:
class Appli:
Lance la génération du panneau contextuel de l'objet sélectionné
dans l'arbre
"""
+ if self.panel_courant:
+ # On detruit le panneau
+ self.panel_courant.destroy()
+ o=self.panel_courant
+ self.panel_courant=None
+ # Mettre à 1 pour verifier les cycles entre objets
+ # pour les panneaux
+ withCyclops=0
+ if withCyclops:
+ from Misc import Cyclops
+ z = Cyclops.CycleFinder()
+ z.register(o)
+ del o
+ z.find_cycles()
+ z.show_stats()
+ z.show_cycles()
+
+
if node.item.isactif():
if hasattr(node.item,"panel"):
- return node.item.panel(self,self.pane.pane('selected'),node)
+ self.panel_courant=node.item.panel(self,self.pane.pane('selected'),node)
else:
raise Exception("Le noeud sélectionné n'a pas de panel associé")
else:
- return panels.Panel_Inactif(self,self.pane.pane('selected'),node)
+ self.panel_courant = panels.Panel_Inactif(self,self.pane.pane('selected'),node)
+ return self.panel_courant
def init_modif(self):
"""
self.creer_boutons()
self.init()
+ def destroy(self):
+ Frame.destroy(self)
+ self.panneau=None
+ self.parent=None
+ self.node=None
+ # Because on herite de Frame
+ self.master=None
+ # On supprime explicitement les references aux objets Tk
+ self.nb=None
+ self.fr_but=None
+ self.bouton_cata=None
+ self.bouton_doc=None
+ self.bouton_com=None
+ self.bouton_sup=None
+ self.frame_eval=None
+ self.label=None
+ self.frame_boutons=None
+ self.frame_comment=None
+ self.frame_param=None
+ # On termine la suppression de facon brutale (objets Tk et non Tk)
+ for k in self.__dict__.keys():
+ setattr(self,k,None)
+
def creer_boutons(self):
"""
Méthode créant les boutons se trouvant dans la partie contextuelle d'EFICAS
import Editeur
from Editeur import eficas_go
-if len(sys.argv) > 1 :
- # on veut ouvrir un fichier directement au lancement d'Eficas
- eficas_go.lance_eficas(code='SATURNE',fichier = sys.argv[1])
+def main():
+ if len(sys.argv) > 1 :
+ # on veut ouvrir un fichier directement au lancement d'Eficas
+ eficas_go.lance_eficas(code='SATURNE',fichier = sys.argv[1])
+ else:
+ # on veut ouvrir Eficas 'vide'
+ eficas_go.lance_eficas(code='SATURNE')
+
+def hidez():
+ from Misc import Cyclops
+ z = Cyclops.CycleFinder()
+ z.run(main)
+ z.find_cycles()
+ z.show_stats()
+ z.show_cycles()
+ # z.show_cycleobjs()
+ # z.show_sccs()
+ z.show_arcs()
+
+withCyclops=0
+
+if withCyclops:
+ hidez()
else:
- # on veut ouvrir Eficas 'vide'
- eficas_go.lance_eficas(code='SATURNE')
+ main()
+