Salome HOME
suite chgt copyright et menage
[tools/eficas.git] / InterfaceQT4 / compomclist.py
index 3fe2baf51cdadf9fc54afafaf697a18dcf5aa636..6b8a7d4d45e2996fd6c31e582cee3cee525c4281 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013   EDF R&D
+# Copyright (C) 2007-2017   EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
+from __future__ import absolute_import
 import types
 import traceback
 
-import compofact
-import browser
-import typeNode
+from . import compofact
+from . import browser
+from . import typeNode
 from Extensions.i18n import tr
 
 from Editeur     import Objecttreeitem
@@ -31,79 +32,50 @@ from Noyau.N_OBJECT import ErrorObj
 
 
 class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
-    def getPanel(self):
-        """        
-        """    
-        if self.item.isMCList() :
-           if self.item.ajout_possible():
-              from monMCListAjoutPanel import MonMCListAjoutPanel
-              return MonMCListAjoutPanel(self,parent=self.editor)
-           else :
-              print "MCList"
-        elif self.item.isMCFact() :
-           from monMCFactPanel import MonMCFactPanel
-           return MonMCFactPanel(self,parent=self.editor)
-        else :
-           print "MCList"
 
     def createPopUpMenu(self):
         typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self)
 
-    def getPanelGroupe(self,parentQt):
+    def getPanelGroupe(self,parentQt,commande,insertIn=-1):
         maDefinition=self.item.get_definition()
         monObjet=self.item.object
         monNom=self.item.nom
+        maCommande=commande
+        #print "ds getPanelGroupe" , self.item.nom
         if hasattr(parentQt,'niveau'): self.niveau=parentQt.niveau+1
         else : self.niveau=1
         if not (monObjet.isMCList()) :
            if  hasattr(self,'plie') and self.plie==True : 
-               from monWidgetFactPlie import MonWidgetFactPlie
-               widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau)
+               from .monWidgetFactPlie import MonWidgetFactPlie
+               widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande,insertIn)
            else:
-               from monWidgetFact import MonWidgetFact
-               widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau)
+               from .monWidgetFact import MonWidgetFact
+               widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande,insertIn)
         else :
-           from monWidgetBloc import MonWidgetBloc
-           widget=MonWidgetBloc(self,self.editor,parentQt,maDefinition,monObjet,self.niveau)
+           from .monWidgetBloc import MonWidgetBloc
+           widget=MonWidgetBloc(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande)
         return widget
 
 
-    #def doPaste(self,node_selected):
-    #    objet_a_copier = self.item.get_copie_objet()
-    #    child=node_selected.doPasteMCF(objet_a_copier)
-        #print "doPaste",child
-    #    return child
-
-    #def doPasteMCF(self,objet_a_copier):
-    #    child=None
-        # le noeud courant est une MCList
-    #    if self.item.isMCList() :
-    #      child = self.append_child(objet_a_copier,pos='first',retour='oui')
-
-        # le noeud courant est un MCFACT
-    #    elif self.item.isMCFact() :
-          # le noeud selectionne est un MCFACT dans une MCList
-    #      if self.parent.item.isMCList():
-    #         child = self.parent.append_child(objet_a_copier, pos=self.item, retour='oui')
 
-          # le noeud MCFACT selectionne n'est pas dans une MCList
-    #      else:
-    #         child = self.parent.append_child(objet_a_copier,retour='oui')
+    def doPaste(self,node_selected,pos):
+        objet_a_copier = self.item.get_copie_objet()
+        # before est un effet de bord heureux sur l index
+        child=self.appendBrother(objet_a_copier,'before')
+        if self.editor.fenetreCentraleAffichee : self.editor.fenetreCentraleAffichee.node.affichePanneau()
+        self.update_node_label_in_black()
+        self.parent().build_children()
+        return child
 
-    #    else:
-    #      QMessageBox.information( self, "Copie impossible",
-    #               "Vous ne pouvez coller le mot-clé facteur copié à ce niveau de l'arborescence !")          
-    #      self.editor.affiche_infos("Copie refusée")
 
-    #    return child
 
 class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem):
     """ La classe MCListTreeItem joue le role d'un adaptateur pour les objets
         du noyau Accas instances de la classe MCLIST.
-        Elle adapte ces objets pour leur permettre d'etre intégrés en tant que
+        Elle adapte ces objets pour leur permettre d'etre integres en tant que
         noeuds dans un arbre graphique (voir treewidget.py et ObjectTreeItem.py).
-        Cette classe délègue les appels de méthode et les accès
-        aux attributs à l'objet du noyau soit manuellement soit 
+        Cette classe delegue les appels de methode et les acces
+        aux attributs a l'objet du noyau soit manuellement soit 
         automatiquement (voir classe Delegate et attribut object).
     """
     itemNode=Node
@@ -121,7 +93,7 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem):
 
     def panel(self,jdcdisplay,pane,node):
         """ Retourne une instance de l'objet panneau associe a l'item (self)
-            Si la liste ne contient qu'un mot clé facteur, on utilise le panneau
+            Si la liste ne contient qu'un mot cle facteur, on utilise le panneau
             FACTPanel.
             Si la liste est plus longue on utilise le panneau MCLISTPanel.
         """
@@ -182,7 +154,7 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem):
             return "ast-yel-los"
 
     def get_docu(self):
-        """ Retourne la clef de doc de l'objet pointé par self """
+        """ Retourne la clef de doc de l'objet pointe par self """
         return self.object.get_docu()    
 
     def iscopiable(self):
@@ -193,13 +165,13 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem):
 
     def isMCFact(self):
         """
-        Retourne 1 si l'objet pointé par self est un MCFact, 0 sinon
+        Retourne 1 si l'objet pointe par self est un MCFact, 0 sinon
         """
         return len(self._object) <= 1
 
     def isMCList(self):
         """
-        Retourne 1 si l'objet pointé par self est une MCList, 0 sinon
+        Retourne 1 si l'objet pointe par self est une MCList, 0 sinon
         """
         return len(self._object) > 1
         
@@ -226,11 +198,10 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem):
         if self.object.suppentite(obj):
            if len(self._object) == 1: self.updateDelegate()     
            message = "Mot-clef " + obj.nom + " supprime"
-           self.appli.affiche_infos(message)
-           return 1
+           #self.editor.affiche_commentaire(message)
+           return (1,message)
         else:
-           self.appli.affiche_infos(tr('Impossible de supprimer ce mot-clef'),Qt.red)
-           return 0
+           return (0,tr('Impossible de supprimer ce mot-clef'))
 
             
 import Accas