Salome HOME
Pour Adao
[tools/eficas.git] / InterfaceQT4 / browser.py
index 9d49531a3dd278e171fcddccab40f890e0f36961..c24ebfd33210e24558ce155c1853d31c480ede2f 100644 (file)
@@ -44,7 +44,6 @@ class JDCTree( QTreeWidget ):
         self.item          = jdc_item
         self.tree          = self        
         self.editor       = QWParent
-        self.editor.fenetreAffichee=None
         self.appliEficas   = self.editor.appliEficas
         self.childrenComplete=[]
         self.childrenIssusDesBlocs=[]
@@ -53,7 +52,7 @@ class JDCTree( QTreeWidget ):
         self.itemCourrant=None
 
         self.connect(self, SIGNAL("itemClicked ( QTreeWidgetItem * ,int) "), self.handleOnItem)
-        self.connect(self, SIGNAL("itemDoubleClicked ( QTreeWidgetItem * ,int) "), self.handleDoubleClickedOnItem)
+        #self.connect(self, SIGNAL("itemDoubleClicked ( QTreeWidgetItem * ,int) "), self.handleDoubleClickedOnItem)
 
         #PNPNPN verifier dans quel cas on se trouve : affiche l arbre ou la commande
         self.node_selected=self.racine
@@ -90,6 +89,7 @@ class JDCTree( QTreeWidget ):
     def handleOnItem(self,item,int):
         if (len(self.selectedIndexes())!=2): return
         self.itemCourrant=item
+        self.handleDoubleClickedOnItem(item,int)
         #try :
         if 1:
            fr = item.item.get_fr()
@@ -99,14 +99,17 @@ class JDCTree( QTreeWidget ):
             pass
 
     def handleDoubleClickedOnItem(self,item,int):
-        print "handleDoubleClickedOnItem on ",item
-        print "handleDoubleClickedOnItem on ",item.fenetre
-        if item.fenetre == None :
-           while not (hasattr (item,'getPanel2')) : item=item.treeParent 
-           item.affichePanneau()
-           self.expandItem(item)
-        else:
-           print item.fenetre
+        print "je passe dans handleDoubleClickedOnItem"
+        #if item.fenetre == None :
+        #   while not (hasattr (item,'getPanel2')) : item=item.treeParent 
+        #   item.affichePanneau()
+        #   self.expandItem(item)
+        #else:
+        #   item.fenetre.rendVisible()
+        itemParent=item
+        while not (hasattr (itemParent,'getPanel2')) : itemParent=item.treeParent 
+        itemParent.affichePanneau()
+        if itemParent!=item:
            item.fenetre.rendVisible()
 
     def choisitPremier(self,name):
@@ -130,8 +133,13 @@ class JDCNode(QTreeWidgetItem):
         self.treeParent.childrenIssusDesBlocs=[]
         self.childrenComplete=[]
                         
-        name  = self.appliEficas.trUtf8(  str( item.GetLabelText()[0] ) )
-        value = self.appliEficas.trUtf8(  str( item.GetText() ) )
+        from InterfaceQT4 import compocomm
+        from InterfaceQT4 import compoparam
+        if   (isinstance(self.item,compocomm.COMMTreeItem)) : name=tr("Commentaire")
+        elif (isinstance(self.item,compoparam.PARAMTreeItem)) : name=self.appliEficas.trUtf8(str(item.GetLabelText()[0]))
+        else:   name  = self.appliEficas.trUtf8(str(tr( item.nom))+" :")
+        value = self.appliEficas.trUtf8(str( item.GetText() ) )
+
         mesColonnes=QStringList()
         mesColonnes <<  name << value
 
@@ -178,7 +186,6 @@ class JDCNode(QTreeWidgetItem):
         """ Construit la liste des enfants de self """
         """ Se charge de remettre les noeuds Expanded dans le meme etat """
         #print "*********** build_children ",self.item, self.item.GetLabelText()
-        #print self.childrenComplete
         
         listeExpanded=[]
         for item in self.childrenComplete :
@@ -207,9 +214,13 @@ class JDCNode(QTreeWidgetItem):
             ind=ind+1
         #print "*********** fin build_children ",self.item, self.item.GetLabelText()
         
+    def chercheNoeudCorrespondant(self,objSimp):
+        sublist = self.item._GetSubList()
+        for node in self.childrenComplete:
+            if node.item.object==objSimp : return node
+        return None
 
     def affichePanneau(self) :
-        #print "dans affichePanneau"
         if self.item.isactif():
            panel=self.getPanel2()
         else:
@@ -393,10 +404,11 @@ class JDCNode(QTreeWidgetItem):
         if recalcule : jdc.recalcule_etat_correlation()
         from InterfaceQT4 import compojdc
         # cas ou on detruit dans l arbre sans affichage
-        if self.treeParent.fenetre== None : return
         if isinstance(self.treeParent,compojdc.Node) : 
            toselect.affichePanneau()
         else :
+           if self.treeParent.fenetre== None : return
+           print "J appelle reaffiche de browser apres delete"
            self.treeParent.fenetre.reaffiche(toselect)
 
     def deleteMultiple(self,liste=()):
@@ -437,6 +449,7 @@ class JDCNode(QTreeWidgetItem):
 #    #------------------------------------------------------------------
     def onValid(self):        
 
+        #print "onValid pour ", self.item.nom
         if hasattr(self,'fenetre') and self.fenetre: 
            self.fenetre.setValide()
         if self.item.nom == "VARIABLE" and self.item.isvalid():
@@ -450,14 +463,19 @@ class JDCNode(QTreeWidgetItem):
         self.update_node_texte()
 
     def onAdd(self,object):
-        #print "___________________________ onAdd", object
+        #print "onAdd pour ", self.item.nom
         self.editor.init_modif()
         self.update_nodes()
+        print "dans onAdd" ,self.item 
+        # PN -- non necessaire si item=jdc
+        if hasattr(self.item,'jdc'): self.item.jdc.aReafficher=True
  
     def onSupp(self,object):
-        #print "___________________________ onSupp",  self.item, self.item.GetLabelText()
+        #print "onSupp pour ", self.item.nom
         self.editor.init_modif()
         self.update_nodes()
+        # PN -- non necessaire si item=jdc
+        if hasattr(self.item,'jdc'): self.item.jdc.aReafficher=True
          
     def detruit_les_noeuds_issus_de_blocs(self,bloc):
         from InterfaceQT4 import compobloc