Salome HOME
CCAR: correction de la methode resizescrollsize de la classe Tree et suppression
[tools/eficas.git] / Editeur / treewidget.py
index 55b71d962af9ffd8d4ea28608ba8445a84d3a07c..311189fe75d0fa6baf9935d65a903ffd127ba09e 100644 (file)
@@ -26,7 +26,7 @@ import images
 
 #
 __version__="$Name:  $"
-__Id__="$Id: treewidget.py,v 1.9 2002/11/06 17:25:57 eficas Exp $"
+__Id__="$Id: treewidget.py,v 1.11 2003/03/07 16:17:12 eficas Exp $"
 #
 
 Fonte_Standard = fontes.standard
@@ -89,11 +89,17 @@ class Tree :
         for child in self.children:
             child.update()
 
+    def update_valid(self) :
+        """Cette methode a pour but de mettre a jour la validite du noeud
+           et de propager la demande de mise à jour à son parent
+        """
+        pass
+
     def resizescrollregion(self):
         x0,y0,x1,y1=self.canvas.bbox(ALL)
-        y1=y1+(self.canvas.winfo_height()/20-1)*20
+        # On ajoute une marge approximativement de la moitié du canvas
+        y1=y1+self.canvas.winfo_height()/2
         self.canvas.configure(scrollregion = (x0,y0,x1,y1))
-        #self.scrolledcanvas.resizescrollregion()
 
     def select_next(self,event):
         self.node_selected.select_next()
@@ -432,6 +438,7 @@ class Node :
         # il suffit d'updater les coordonnees et de retracer les lignes
         self.racine.update_coords()
         self.racine.trace_ligne()
+        self.update_valid()
         self.tree.resizescrollregion()
         
     def update_coords(self):
@@ -469,6 +476,15 @@ class Node :
             for child in self.children:
                 if child.displayed != 0 : child.update_texte()
         
+    def update_valid(self) :
+        """Cette methode a pour but de mettre a jour la validite du noeud
+           et de propager la demande de mise à jour à son parent
+        """
+        if self.image_id != None :
+            image = self.geticonimage()
+            self.canvas.itemconfig(self.image_id,image=image)
+        self.parent.update_valid()
+
     def update(self,event=None) :
         """ Classe Node :
             Cette méthode est appelée pour demander l update d un noeud