]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
sauvegarde avant week-end avantLeRenommagePourEric
authorPASCALE NOYRET <pascale.noyret@edf.fr>
Fri, 5 Jan 2024 11:06:18 +0000 (12:06 +0100)
committerPASCALE NOYRET <pascale.noyret@edf.fr>
Fri, 5 Jan 2024 11:06:18 +0000 (12:06 +0100)
20 files changed:
InterfaceGUI/QT5/browser.py
InterfaceGUI/QT5/compojdc.py
InterfaceGUI/QT5/composimp.py
InterfaceGUI/QT5/editor.py
InterfaceGUI/cinqC/__init__.py
InterfaceGUI/cinqC/browser.py
InterfaceGUI/cinqC/compoSelection.py
InterfaceGUI/cinqC/compofact.py
InterfaceGUI/cinqC/compojdc.py [changed from file to symlink]
InterfaceGUI/cinqC/compomclist.py
InterfaceGUI/cinqC/compooper.py
InterfaceGUI/cinqC/compoproc.py
InterfaceGUI/cinqC/composimp.py
InterfaceGUI/cinqC/editor.py
InterfaceGUI/cinqC/monWidgetBar.py
InterfaceGUI/cinqC/monWidgetCBSelection5C.py
InterfaceGUI/cinqC/monWidgetDateSelection5C.py
InterfaceGUI/cinqC/monWidgetSelection.py
InterfaceGUI/cinqC/monWidgetSimpSelection5C.py
InterfaceGUI/cinqC/qtEficas.py

index 694e11031c0cdfdeddc696e986ccdec6eea3d0ef..40b5b393ac334db42bc224980452a96ca6c8d348 100644 (file)
@@ -24,7 +24,7 @@ import traceback
 from InterfaceGUI.QT5 import typeNode
 
 
-from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QApplication, QMessageBox
+from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QMessageBox
 from PyQt5.QtGui import QIcon
 from PyQt5.QtCore import Qt
 
index a1f2acafb8dd7c07402d21a7f2e893ca9d800a54..c271fee0574c83573ee582a327c92eba5eedb258 100644 (file)
@@ -127,7 +127,6 @@ class JDCTreeItem(Objecttreeitem.ObjectTreeItem):
         return listeCmd
 
 
-import Accas
-
+from Accas import JDC
 treeitem = JDCTreeItem
-objet = Accas.JDC
+objet = JDC
index aa7b61600af2906589f38d3174484976d538c32d..7d43590a0c4d9bec11eacaab7498c479127d6c7b 100644 (file)
@@ -27,261 +27,160 @@ from InterfaceGUI.QT5 import typeNode
 # Modules Eficas
 from Editeur import Objecttreeitem
 from InterfaceGUI.QT5 import browser
-from Noyau.N_CR import justifyText
 from Accas import SalomeEntry
 from Accas import ASSD
 from Accas import UserASSD
 from Accas import UserASSDMultiple
 
+class NodeCommun:
 
-class Node(browser.JDCNode, typeNode.PopUpMenuNodeMinimal):
-    def createPopUpMenu(self):
-        typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self)
+    def getPanel(self, parentQt, maCommande):
+        return self.getPanelGroupe(parentQt, maCommande)
 
     def getPanelGroupe(self, parentQt, maCommande):
+        # Attention l ordre des if est important
         # print (self,self.item.nom, )
         maDefinition = self.item.get_definition()
         monObjet = self.item.object
         monNom = self.item.nom
 
         # le mot clef est cache ou cache avec defaut
-        if maDefinition.statut in ("c", "d"):
-            return None
+        if maDefinition.statut in ("c", "d"): return None
+
         # label informatif
         if monObjet.isInformation():
-            from InterfaceGUI.QT5.nterfaceGUI.QT5.monWidgetInfo import MonWidgetInfo
-
-            widget = MonWidgetInfo(
-                self, maDefinition, monNom, monObjet, parentQt, maCommande
-            )
+            from InterfaceGUI.QT5.InterfaceGUI.QT5.monWidgetInfo import MonWidgetInfo
+            widget = MonWidgetInfo( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             self.widget = widget
             return widget
 
-        # Attention l ordre des if est important
-        # Attention il faut gerer les blocs et les facteurs
-        # a gerer comme dans composimp
+        # Recalule des into si on a une fonction
+        if maDefinition.into != [] and maDefinition.into != None:
+            if type(maDefinition.into) ==types.FunctionType : monInto=maDefinition.into()
+            else : monInto = maDefinition.into
+
+        # Gestion des widgets specifiees dans le cata
+        if maDefinition.fenetreIhm != 'menuDeroulant' and maDefinition.fenetreIhm != None:
+           widgetParticularise=maDefinition.fenetreIhm
+        if widgetParticularise != None:
+            from importlib import import_module
+            module = import_module(widgetParticularise)
+            classeWidget = getattr(module,'MonWidgetSpecifique')
+            self.widget=classeWidget(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+            return self.widget
+
         # Gestion des matrices
         if self.item.waitMatrice():
             from InterfaceGUI.QT5.monWidgetMatrice import MonWidgetMatrice
-
-            widget = MonWidgetMatrice(
-                self, maDefinition, monNom, monObjet, parentQt, maCommande
-            )
+            widget = MonWidgetMatrice( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             self.widget = widget
             return widget
 
-        # print "____________________________", monNom, self.item.waitCo()
-        # print "____________________________", monNom, self.item.waitAssd()
-        # Gestion d'une seule valeur (eventuellement un tuple ou un complexe)
-        if maDefinition.into != [] and maDefinition.into != None:
-            if type(maDefinition.into) == types.FunctionType:
-                monInto = maDefinition.into()
-            else:
-                monInto = maDefinition.into
-
+        # Gestion des SIMP attendant une seule valeur (eventuellement un tuple ou un complexe)
         if maDefinition.max == 1:
-            # A verifier
+            # Mot Clef avec une suggestion dans une combobox 
             if maDefinition.intoSug != [] and maDefinition.intoSug != None:
                 from InterfaceGUI.QT5.monWidgetCBIntoSug import MonWidgetCBIntoSug
-
-                widget = MonWidgetCBIntoSug(
-                    self, maDefinition, monNom, monObjet, parentQt, maCommande
-                )
+                widget = MonWidgetCBIntoSug( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             elif maDefinition.into != [] and maDefinition.into != None:
                 if maDefinition.fenetreIhm == "menuDeroulant":
                     from InterfaceGUI.QT5.monWidgetCB import MonWidgetCB
-
-                    widget = MonWidgetCB(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    widget = MonWidgetCB( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 elif len(monInto) < 4:
                     from InterfaceGUI.QT5.monWidgetRadioButton import MonWidgetRadioButton
-
-                    widget = MonWidgetRadioButton(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    widget = MonWidgetRadioButton( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 elif len(monInto) < 7:
-                    from InterfaceGUI.QT5.monWidget4a6RadioButton import (
-                        MonWidget4a6RadioButton,
-                    )
-
-                    widget = MonWidget4a6RadioButton(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    from InterfaceGUI.QT5.monWidget4a6RadioButton import MonWidget4a6RadioButton
+                    widget = MonWidget4a6RadioButton( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 else:
                     from InterfaceGUI.QT5.monWidgetCB import MonWidgetCB
-
-                    widget = MonWidgetCB(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
-
+                    widget = MonWidgetCB( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             elif self.item.waitBool():
                 from InterfaceGUI.QT5.monWidgetSimpBool import MonWidgetSimpBool
-
-                widget = MonWidgetSimpBool(
-                    self, maDefinition, monNom, monObjet, parentQt, maCommande
-                )
+                widget = MonWidgetSimpBool( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             elif self.item.waitFichier():
                 from InterfaceGUI.QT5.monWidgetSimpFichier import MonWidgetSimpFichier
-
-                widget = MonWidgetSimpFichier(
-                    self, maDefinition, monNom, monObjet, parentQt, maCommande
-                )
-
-            # PNPNPN - a faire
+                widget = MonWidgetSimpFichier( self, maDefinition, monNom, monObjet, parentQt, maCommande)
+            # PNPNPN - a retester
             elif self.item.waitDate():
                 from InterfaceGUI.QT5.monWidgetDate import MonWidgetDate
-
-                widget = MonWidgetDate(
-                    self, maDefinition, monNom, monObjet, parentQt, maCommande
-                )
+                widget = MonWidgetDate( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             elif self.item.waitHeure():
                 from InterfaceGUI.QT5.monWidgetHeure import MonWidgetHeure
-
-                widget = MonWidgetHeure(
-                    self, maDefinition, monNom, monObjet, parentQt, maCommande
-                )
-
+                widget = MonWidgetHeure( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             elif self.item.waitTuple():
                 num = self.item.object.definition.type[0].ntuple
                 nomDeLaClasse = "MonWidgetSimpTuple" + str(num)
                 nomDuFichier = "InterfaceGUI.QT5.monWidgetSimpTupleN"
                 try:
                     # if 1 :
-                    _temp = __import__(
-                        nomDuFichier, globals(), locals(), [nomDeLaClasse], 0
-                    )
+                    _temp = __import__( nomDuFichier, globals(), locals(), [nomDeLaClasse], 0)
                     # print (_temp)
                     MonWidgetSimpTuple = getattr(_temp, nomDeLaClasse)
                     # print (MonWidgetSimpTuple)
                 except:
                     print("Pas de Tuple de longueur : ", num)
                 #   print ("Prevenir la maintenance ")
-                widget = MonWidgetSimpTuple(
-                    self, maDefinition, monNom, monObjet, parentQt, maCommande
-                )
-
+                widget = MonWidgetSimpTuple( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             elif self.item.waitComplex():
                 from InterfaceGUI.QT5.monWidgetSimpComplexe import MonWidgetSimpComplexe
-
-                widget = MonWidgetSimpComplexe(
-                    self, maDefinition, monNom, monObjet, parentQt, maCommande
-                )
-
+                widget = MonWidgetSimpComplexe( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             elif self.item.waitCo():
                 if len(self.item.getSdAvantDuBonType()) == 0:
                     from InterfaceGUI.QT5.monWidgetUniqueSDCO import MonWidgetUniqueSDCO
-
-                    widget = MonWidgetUniqueSDCO(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    widget = MonWidgetUniqueSDCO( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 else:
                     from InterfaceGUI.QT5.monWidgetSDCOInto import MonWidgetSDCOInto
-
-                    widget = MonWidgetSDCOInto(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    widget = MonWidgetSDCOInto( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             elif self.item.waitAssd():
                 # PN - pour ne pas appeller trop souvent self.item.getSdAvantDuBonType()
                 if not (self.item.waitUserAssdOrAssdMultipleEnCreation()):
                     maListe = self.item.getSdAvantDuBonType()
                 if self.item.waitUserAssdOrAssdMultipleEnCreation():
                     from InterfaceGUI.QT5.monWidgetCreeUserAssd import MonWidgetCreeUserAssd
-
-                    widget = MonWidgetCreeUserAssd(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
-                # elif len(self.item.getSdAvantDuBonType()) == 0 :
+                    widget = MonWidgetCreeUserAssd( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 elif len(maListe) == 0:
                     from InterfaceGUI.QT5.monWidgetVide import MonWidgetVide
-
-                    widget = MonWidgetVide(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
-                # elif len(self.item.getSdAvantDuBonType()) < 4 :
+                    widget = MonWidgetVide( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 elif len(maListe) < 4:
                     from InterfaceGUI.QT5.monWidgetRadioButton import MonWidgetRadioButtonSD
-
-                    widget = MonWidgetRadioButtonSD(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
-                # elif len(self.item.getSdAvantDuBonType()) < 7 :
+                    widget = MonWidgetRadioButtonSD( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 elif len(maListe) < 7:
-                    from InterfaceGUI.QT5.monWidget4a6RadioButton import (
-                        MonWidget4a6RadioButtonSD,
-                    )
-
-                    widget = MonWidget4a6RadioButtonSD(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    from InterfaceGUI.QT5.monWidget4a6RadioButton import ( MonWidget4a6RadioButtonSD,)
+                    widget = MonWidget4a6RadioButtonSD( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 else:
                     from InterfaceGUI.QT5.monWidgetCB import MonWidgetCBSD
-
-                    widget = MonWidgetCBSD(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
-
+                    widget = MonWidgetCBSD( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             elif self.item.waitSalome() and self.editor.salome:
                 from InterfaceGUI.QT5.monWidgetSimpSalome import MonWidgetSimpSalome
-
-                widget = MonWidgetSimpSalome(
-                    self, maDefinition, monNom, monObjet, parentQt, maCommande
-                )
-
+                widget = MonWidgetSimpSalome( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             elif self.item.waitTxm():
                 from InterfaceGUI.QT5.monWidgetSimpTxt import MonWidgetSimpTxt
-
-                widget = MonWidgetSimpTxt(
-                    self, maDefinition, monNom, monObjet, parentQt, maCommande
-                )
+                widget = MonWidgetSimpTxt( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             else:
                 from InterfaceGUI.QT5.monWidgetSimpBase import MonWidgetSimpBase
+                widget = MonWidgetSimpBase( self, maDefinition, monNom, monObjet, parentQt, maCommande)
 
-                widget = MonWidgetSimpBase(
-                    self, maDefinition, monNom, monObjet, parentQt, maCommande
-                )
-
-        # Gestion des listes
+        # Gestion des SIMP attendant une liste
         else:
             if maDefinition.intoSug != [] and maDefinition.intoSug != None:
-                if self.item in self.editor.listeDesListesOuvertes or not (
-                    self.editor.afficheListesPliees
-                ):
+                if self.item in self.editor.listeDesListesOuvertes or not (self.editor.afficheListesPliees):
                     from InterfaceGUI.QT5.monWidgetIntoSug import MonWidgetIntoSug
-
-                    widget = MonWidgetIntoSug(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    widget = MonWidgetIntoSug( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 else:
-                    from InterfaceGUI.QT5.monWidgetPlusieursPlie import (
-                        MonWidgetPlusieursPlie,
-                    )
-
-                    widget = MonWidgetPlusieursPlie(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    from InterfaceGUI.QT5.monWidgetPlusieursPlie import MonWidgetPlusieursPlie
+                    widget = MonWidgetPlusieursPlie( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             # if maDefinition.into != [] and maDefinition.into != None:
             # Attention pas fini --> on attend une liste de ASSD avec ordre
             elif self.item.waitAssd() and self.item.isListSansOrdreNiDoublon():
                 listeAAfficher = self.item.getSdAvantDuBonType()
                 if len(listeAAfficher) == 0:
                     from InterfaceGUI.QT5.monWidgetVide import MonWidgetVide
-
-                    widget = MonWidgetVide(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    widget = MonWidgetVide( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 else:
-                    from InterfaceGUI.QT5.monWidgetPlusieursInto import (
-                        MonWidgetPlusieursInto,
-                    )
-
-                    widget = MonWidgetPlusieursInto(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
-            elif (
-                self.item.waitAssd()
-                and not self.item.waitUserAssdOrAssdMultipleEnCreation()
-            ):
+                    from InterfaceGUI.QT5.monWidgetPlusieursInto import MonWidgetPlusieursInto
+                    widget = MonWidgetPlusieursInto( self, maDefinition, monNom, monObjet, parentQt, maCommande)
+            elif  self.item.waitAssd() and not self.item.waitUserAssdOrAssdMultipleEnCreation():
                 listeAAfficher = self.item.getSdAvantDuBonType()
                 # a changer selon UserASSD ou UserASSDMultiple
                 mctype = maDefinition.type[0]
@@ -295,133 +194,69 @@ class Node(browser.JDCNode, typeNode.PopUpMenuNodeMinimal):
                     )
                 )
                 if enable_salome_selection:
-                    from InterfaceGUI.QT5.monWidgetPlusieursBase import (
-                        MonWidgetPlusieursBase,
-                    )
-
-                    widget = MonWidgetPlusieursBase(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    from InterfaceGUI.QT5.monWidgetPlusieursBase import MonWidgetPlusieursBase
+                    widget = MonWidgetPlusieursBase( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 elif len(listeAAfficher) == 0:
                     from InterfaceGUI.QT5.monWidgetVide import MonWidgetVide
-
-                    widget = MonWidgetVide(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
-                elif self.item in self.editor.listeDesListesOuvertes or not (
-                    self.editor.afficheListesPliees
-                ):
-                    from InterfaceGUI.QT5.monWidgetPlusieursASSDIntoOrdonne import (
-                        MonWidgetPlusieursASSDIntoOrdonne,
-                    )
-
-                    widget = MonWidgetPlusieursASSDIntoOrdonne(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    widget = MonWidgetVide( self, maDefinition, monNom, monObjet, parentQt, maCommande)
+                elif self.item in self.editor.listeDesListesOuvertes or not ( self.editor.afficheListesPliees):
+                    from InterfaceGUI.QT5.monWidgetPlusieursASSDIntoOrdonne import MonWidgetPlusieursASSDIntoOrdonne
+                    widget = MonWidgetPlusieursASSDIntoOrdonne( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 else:
-                    from InterfaceGUI.QT5.monWidgetPlusieursPlie import (
-                        MonWidgetPlusieursPlieASSD,
-                    )
-
-                    widget = MonWidgetPlusieursPlieASSD(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    from InterfaceGUI.QT5.monWidgetPlusieursPlie import MonWidgetPlusieursPlieASSD
+                    widget = MonWidgetPlusieursPlieASSD( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             elif self.item.waitTuple():
                 if self.item.object.definition.fenetreIhm == "Tableau":
+                # Attention, tableau est obsolete et mal teste
                     from InterfaceGUI.QT5.monWidgetTableau import MonWidgetTableau
-
-                    widget = MonWidgetTableau(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    widget = MonWidgetTableau( self, maDefinition, monNom, monObjet, parentQt, maCommande) 
                 else:
                     num = self.item.object.definition.type[0].ntuple
                     nomDeLaClasse = "MonWidgetPlusieursTuple" + str(num)
                     nomDuFichier = "InterfaceGUI.QT5.monWidgetPlusieursTupleN"
                     try:
-                        _temp = __import__(
-                            nomDuFichier, globals(), locals(), [nomDeLaClasse], 0
-                        )
+                        _temp = __import__( nomDuFichier, globals(), locals(), [nomDeLaClasse], 0)
                         MonWidgetPlusieursTuple = getattr(_temp, nomDeLaClasse)
                     except:
                         print("Pas de Tuple de longueur : ", num)
                         print("Prevenir la maintenance ")
-                    widget = MonWidgetPlusieursTuple(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    widget = MonWidgetPlusieursTuple( self, maDefinition, monNom, monObjet, parentQt, maCommande)
 
             elif self.item.hasInto():
                 if self.item.isListSansOrdreNiDoublon():
-                    if self.item in self.editor.listeDesListesOuvertes or not (
-                        self.editor.afficheListesPliees
-                    ):
-                        from InterfaceGUI.QT5.monWidgetPlusieursInto import (
-                            MonWidgetPlusieursInto,
-                        )
-
-                        widget = MonWidgetPlusieursInto(
-                            self, maDefinition, monNom, monObjet, parentQt, maCommande
-                        )
+                    if self.item in self.editor.listeDesListesOuvertes or not ( self.editor.afficheListesPliees):
+                        from InterfaceGUI.QT5.monWidgetPlusieursInto import MonWidgetPlusieursInto
+                        widget = MonWidgetPlusieursInto( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                     else:
-                        from InterfaceGUI.QT5.monWidgetPlusieursPlie import (
-                            MonWidgetPlusieursPlie,
-                        )
-
-                        widget = MonWidgetPlusieursPlie(
-                            self, maDefinition, monNom, monObjet, parentQt, maCommande
-                        )
+                        from InterfaceGUI.QT5.monWidgetPlusieursPlie import MonWidgetPlusieursPlie
+                        widget = MonWidgetPlusieursPlie( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 else:
-                    if self.item in self.editor.listeDesListesOuvertes or not (
-                        self.editor.afficheListesPliees
-                    ):
-                        from InterfaceGUI.QT5.monWidgetPlusieursIntoOrdonne import (
-                            MonWidgetPlusieursIntoOrdonne,
-                        )
-
-                        widget = MonWidgetPlusieursIntoOrdonne(
-                            self, maDefinition, monNom, monObjet, parentQt, maCommande
-                        )
+                    if self.item in self.editor.listeDesListesOuvertes or not (self.editor.afficheListesPliees):
+                        from InterfaceGUI.QT5.monWidgetPlusieursIntoOrdonne import MonWidgetPlusieursIntoOrdonne
+                        widget = MonWidgetPlusieursIntoOrdonne( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                     else:
-                        from InterfaceGUI.QT5.monWidgetPlusieursPlie import (
-                            MonWidgetPlusieursPlie,
-                        )
-
-                        widget = MonWidgetPlusieursPlie(
-                            self, maDefinition, monNom, monObjet, parentQt, maCommande
-                        )
+                        from InterfaceGUI.QT5.monWidgetPlusieursPlie import MonWidgetPlusieursPlie
+                        widget = MonWidgetPlusieursPlie( self, maDefinition, monNom, monObjet, parentQt, maCommande)
             else:
                 if self.item.waitUserAssdOrAssdMultipleEnCreation():
-                    from InterfaceGUI.QT5.monWidgetPlusieursCreeUserAssd import (
-                        MonWidgetPlusieursCreeUserAssd,
-                    )
-
-                    widget = MonWidgetPlusieursCreeUserAssd(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
-                elif self.item in self.editor.listeDesListesOuvertes or not (
-                    self.editor.afficheListesPliees
-                ):
-                    from InterfaceGUI.QT5.monWidgetPlusieursBase import (
-                        MonWidgetPlusieursBase,
-                    )
-
-                    widget = MonWidgetPlusieursBase(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
+                    from InterfaceGUI.QT5.monWidgetPlusieursCreeUserAssd import MonWidgetPlusieursCreeUserAssd
+                    widget = MonWidgetPlusieursCreeUserAssd( self, maDefinition, monNom, monObjet, parentQt, maCommande)
+                elif self.item in self.editor.listeDesListesOuvertes or not ( self.editor.afficheListesPliees):
+                    from InterfaceGUI.QT5.monWidgetPlusieursBase import MonWidgetPlusieursBase
+                    widget = MonWidgetPlusieursBase( self, maDefinition, monNom, monObjet, parentQt, maCommande)
                 else:
-                    from InterfaceGUI.QT5.monWidgetPlusieursPlie import (
-                        MonWidgetPlusieursPlie,
-                    )
-
-                    widget = MonWidgetPlusieursPlie(
-                        self, maDefinition, monNom, monObjet, parentQt, maCommande
-                    )
-
+                    from InterfaceGUI.QT5.monWidgetPlusieursPlie import MonWidgetPlusieursPlie
+                    widget = MonWidgetPlusieursPlie( self, maDefinition, monNom, monObjet, parentQt, maCommande)
         self.widget = widget
         return widget
 
 
-class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
-    itemNode = Node
+class Node(NodeCommun, browser.JDCNode, typeNode.PopUpMenuNodeMinimal):
+    def createPopUpMenu(self):
+        typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self)
+
+
+class SIMPTreeItemCommun(Objecttreeitem.AtomicObjectTreeItem):
 
     def init(self):
         self.expandable = 0
@@ -1017,7 +852,9 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
             return valeur
 
 
-import Accas
+class SIMPTreeItem(SIMPTreeItemCommun):
+    itemNode = Node
 
+import Accas
 treeitem = SIMPTreeItem
 objet = Accas.MCSIMP
index dba8bb7641b874fd429ded71984d7a1e48494210..7648ca9dcb832d19e09a409daa38ed2e6a4201b9 100755 (executable)
@@ -104,10 +104,8 @@ class JDCEditor(JDCEditorSsIhm, Ui_baseWidget, QWidget):
             self.afficheApresInsert = True
         if self.code in ["Adao", "ADAO", "MAP"]:
             self.afficheApresInsert = True
-        if self.code in [ "TELEMAC", ]:
-            self.enteteQTree = "premier"
-        else:
-            self.enteteQTree = "complet"
+        if self.code in [ "TELEMAC", ]: self.enteteQTree = "premier"
+        else: self.enteteQTree = "complet"
         if self.code in ["Adao", "ADAO", "TELEMAC", "VP"]:
             self.affichePlie = True
         else:
index 57dacc3f8926c7af98d1b99a4e61a1737db7fe81..24d44c1753672d2ec9c669abcfbf2bf2dc62fc87 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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
index 9b6d10b2b29e8f4686c68a7a7bfdde25df0fde20..3c6b5f9540f2a12d1f4ab1a2a1fc7514b8d97d5c 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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
 
 import traceback
 
-#---------------
-class JDCTree():
-#----------------
 
-    def __init__( self, jdcItem, editor):
-    #------------------------------------
-        self.editor       = editor
-        self.item         = jdcItem
-        self.tree         = self
-        self.appliEficas  = self.editor.appliEficas
-        self.childrenComplete = []
-        self.racine       = self.item.itemNode(self,self.item)
-
-    
-    # def affichePremier(self):
-    #--------------------------
-        if self.racine.children !=[] :
-           self.racine.children[0].affichePanneau()
+# -------------
+class JDCTree:
+# --------------
 
-
-#---------------
-class JDCNode():
-#---------------
-     def __init__( self, treeParent, item, itemExpand=False, ancien=False, creeChildren=True ):
-     #-----------------------------------------------------------------------------------------
-        #print ("creation d'un noeud : ", item, " ",item.nom,"", treeParent, self)
-        self.item        = item
-        self.vraiParent  = treeParent
-        self.treeParent  = treeParent
-        self.tree        = self.treeParent.tree
-        self.editor      = self.treeParent.editor
+    def __init__(self, jdcItem, editor):
+    # ----------------------------------
+        self.editor = editor
+        self.item = jdcItem
+        self.tree = self
+        self.appliEficas = self.editor.appliEficas
+        self.childrenComplete = []
+        print (self.item.__class__)
+        print (self.item.itemNode.__class__)
+        self.racine = self.item.itemNode(self, self.item)
+        self.affichePremier()
+
+    def affichePremier(self):
+    # -----------------------
+        if self.racine.children != []:
+            self.racine.children[0].affichePanneau()
+
+
+# -----------
+class JDCNode:
+# -------------
+    def __init__(
+        self, treeParent, item, itemExpand=False, ancien=False, creeChildren=True
+    ):
+        # -----------------------------------------------------------------------------------------
+        # print ("creation d'un noeud : ", item, " ",item.nom,"", treeParent, self)
+        self.item = item
+        self.vraiParent = treeParent
+        self.treeParent = treeParent
+        self.tree = self.treeParent.tree
+        self.editor = self.treeParent.editor
         self.appliEficas = treeParent.appliEficas
         self.appartientAUnNoeudPlie = False
-        self.childrenComplete =[]
-
+        self.childrenComplete = []
 
-        self.treeParent=treeParent
-        #while (isinstance(self.treeParent,compobloc.Node) or ( isinstance(self.treeParent,compomclist.Node) and self.treeParent.item.isMCList())) :
+        self.treeParent = treeParent
+        # while (isinstance(self.treeParent,compobloc.Node) or ( isinstance(self.treeParent,compomclist.Node) and self.treeParent.item.isMCList())) :
         #    self.treeParent.childrenComplete.append(self)
         #    self.treeParent=self.treeParent.vraiParent
         self.treeParent.childrenComplete.append(self)
 
         self.buildChildren()
 
-
-     def buildChildren(self):
-     #-----------------------
-        """ Construit la liste des enfants de self """
+    def buildChildren(self):
+        # -----------------------
+        """Construit la liste des enfants de self"""
         """ Se charge de remettre les noeuds Expanded dans le meme etat """
         debug = 0
-        if debug :
-            print ("*********** buildChildren ",self,self.item, self.item.nom)
+        if debug:
+            print("*********** buildChildren ", self, self.item, self.item.nom)
         #   import traceback
         #   traceback.print_stack()
 
-        self.listeItemExpanded=[]
-        self.listeItemPlie=[]
+        self.listeItemExpanded = []
+        self.listeItemPlie = []
 
-        for enfant in self.childrenComplete :
-            if enfant.plie : self.listeItemPlie.append(enfant.item)
-            else : self.listeItemExpanded.append(enfant.item)
+        for enfant in self.childrenComplete:
+            if enfant.plie:
+                self.listeItemPlie.append(enfant.item)
+            else:
+                self.listeItemExpanded.append(enfant.item)
 
         self.children = []
         self.childrenComplete = []
         sublist = self.item._getSubList()
 
-        for item in sublist :
-            itemExpand=False
-            ancien=False
-            if item in self.listeItemExpanded : itemExpand=True;  ancien=True
-            if item in self.listeItemPlie     : itemExpand=False; ancien=True
-            nouvelItem=item.itemNode(self,item,itemExpand,ancien)
+        for item in sublist:
+            itemExpand = False
+            ancien = False
+            if item in self.listeItemExpanded:
+                itemExpand = True
+                ancien = True
+            if item in self.listeItemPlie:
+                itemExpand = False
+                ancien = True
+            nouvelItem = item.itemNode(self, item, itemExpand, ancien)
             self.children.append(nouvelItem)
 
-     def affichePanneau(self) :
-     #-------------------------
-         #itemParent=self
-         #while not (hasattr (itemParent,'getPanel')) : itemParent=itemParent.treeParent
-         #if itemParent != self :
-         #   itemParent.affichePanneau()
-         #   return
-         debug = False
-         if debug : print ('dans affichePanneau pour', self.item.nom)
-         self.fenetre = self.getPanel()
+    def affichePanneau(self):
+        # -------------------------
+        # itemParent=self
+        # while not (hasattr (itemParent,'getPanel')) : itemParent=itemParent.treeParent
+        # if itemParent != self :
+        #   itemParent.affichePanneau()
+        #   return
+        debug = False
+        if debug:
+            print("dans affichePanneau pour", self.item.nom)
+        self.fenetre = self.getPanel()
index 36f433c97417a5b97771570d85d438eccb8f0273..916b8b6863a6fb2a1b5a5cb33cd6a7320842a926 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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
index 6b60249fd9552a147570b2e16a1f7fdb3e8f6a9f..5fb3cce4a93c1c01cb86ea82ce39766cc1ea520d 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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
deleted file mode 100644 (file)
index 2f34be5caa4cb3c58f222e86d88d1f04ef0d2cf3..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1,109 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2021   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
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-from Editeur import Objecttreeitem
-from InterfaceGUI.cinqC import browser
-from Extensions.i18n import tr
-
-
-class Node(browser.JDCNode):
-
-    def getPanel(self):
-
-       from InterfaceGUI.QT5.monChoixCommande import MonChoixCommande
-       return MonChoixCommande(self,self.item, self.editor)
-
-
-
-class JDCTreeItem(Objecttreeitem.ObjectTreeItem):
-    itemNode=Node
-
-    def isExpandable(self):
-        return 1
-
-    def getText(self):
-        return  "    "
-
-    def getLabelText(self):
-        # None --> fonte et couleur par defaut
-        return tr(self.object.nom),None,None
-
-    def getJdc(self):
-        """
-        Retourne l'objet pointe par self
-        """
-        return self.object
-
-
-    def addItem(self,name,pos):
-        cmd = self._object.addEntite(name,pos)
-        return cmd
-
-    def suppItem(self,item) :
-        # item             = item de l'ETAPE a supprimer du JDC
-        # item.getObject() = ETAPE ou COMMENTAIRE
-        # self.object      = JDC
-
-        itemobject=item.getObject()
-        if self.object.suppEntite(itemobject):
-            if itemobject.nature == "COMMENTAIRE" :
-                message = tr("Commentaire supprime")
-            else :
-                message = tr("Commande %s supprimee",itemobject.nom)
-            return 1,message
-        else:
-            message=tr("Pb interne : impossible de supprimer cet objet")
-            return 0,message
-
-    def getSubList(self):
-        """
-           Retourne la liste des items fils de l'item jdc.
-           Cette liste est conservee et mise a jour a chaque appel
-        """
-        if self.object.etapes_niveaux != []:
-            liste = self.object.etapes_niveaux
-        else:
-            liste = self.object.etapes
-        #print ('getSubList compojdc , liste : ', liste)
-        sublist=[None]*len(liste)
-        # suppression des items lies aux objets disparus
-        for item in self.sublist:
-            old_obj=item.getObject()
-            if old_obj in liste:
-                pos=liste.index(old_obj)
-                sublist[pos]=item
-            else:
-                pass # objets supprimes ignores
-        # ajout des items lies aux nouveaux objets
-        pos=0
-        for obj in liste:
-            if sublist[pos] is None:
-                # nouvel objet : on cree un nouvel item
-                item = self.makeObjecttreeitem(self.appliEficas, obj.nom + " : ", obj)
-                sublist[pos]=item
-            pos=pos+1
-
-        self.sublist=sublist
-        return self.sublist
-
-
-import Accas
-treeitem =JDCTreeItem
-objet = Accas.JDC
new file mode 120000 (symlink)
index 0000000000000000000000000000000000000000..4d30377a6384b5f063a7152842b992709ac51653
--- /dev/null
@@ -0,0 +1 @@
+old/compojdc.py
\ No newline at end of file
index 3cbe73df94447211bcdfc8d6a0ae7b31c7b3dcd8..aa8dc6f5f84d4bd6c54f31a0db85bf26edd055bf 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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
index d64c889b1b56df875803bfe0f9dcd6f7cc092e18..74b2f4ecec5aaa3e89b238b88144db0b1deba1a6 100644 (file)
@@ -1,5 +1,5 @@
 #-*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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
index 0965e71857e31691ad6f2ad3f549435542c94781..0b4bccb5a85c95890dfee4280702b26e0d728050 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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
@@ -27,7 +27,7 @@ class Node(browser.JDCNode):
 
     def getPanel(self):
        
-        debug=0
+        debug=1
         if debug : print ('in getPanel compoproc ', self.item.nom )
         maDefinition = self.item.get_definition()
         if maDefinition.fenetreIhm != None :
index 8f6aea7881b61793015f5070e01f9575194d709e..c191cc6ab0f87a7240c13aafca4b5d8010af78be 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2024   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
 #
-# Modules Python
-from __future__ import absolute_import
-from __future__ import print_function
-try :
-    from builtins import str
-except : pass
 
-import types,os
-
-from copy import copy,deepcopy
-import traceback
-from InterfaceGUI.QT5 import typeNode
-
-# Modules Eficas
-from Editeur       import Objecttreeitem
-from Accas         import SalomeEntry
-from Accas         import ASSD
-from Accas         import UserASSD
-from Accas         import UserASSDMultiple
+from Editeur import Objecttreeitem
 from InterfaceGUI.cinqC import browser
+from InterfaceGUI.QT5.compojdc import JDCTreeItem
 
-#class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
-class Node(browser.JDCNode):
-
-    def createPopUpMenu(self):
-        typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self)
-
-    #def getPanel(self,parentQt,maCommande, widgetParticularise=None):
-    def getPanel(self,parentQt,maCommande, widgetParticularise=None):
-        maDefinition=self.item.get_definition()
-        monObjet=self.item.object
-        monNom=self.item.nom
-
-        # le mot clef est cache ou cache avec defaut
-        if maDefinition.statut in ('c','d') : return None
-
-        if maDefinition.into != [] and maDefinition.into != None:
-            #if type(maDefinition.into) ==types.FunctionType : print(maDefinition.into())
-            if type(maDefinition.into) ==types.FunctionType : monInto=maDefinition.into()
-            else : monInto = maDefinition.into
-
-        if maDefinition.fenetreIhm != 'menuDeroulant' and maDefinition.fenetreIhm != None:
-           widgetParticularise=maDefinition.fenetreIhm
-        if widgetParticularise != None:
-            from importlib import import_module
-            module = import_module(widgetParticularise)
-            classeWidget = getattr(module,'MonWidgetSpecifique')
-            self.widget=classeWidget(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-            return self.widget
-
-        # label informatif
-        if monObjet.isInformation():
-            from InterfaceGUI.QT5.monWidgetInfo import MonWidgetInfo
-            widget=MonWidgetInfo(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-            self.widget=widget
-            return widget
-
-
-        # Attention l ordre des if est important
-        # Attention il faut gerer les blocs et les facteurs
-        # a gerer comme dans composimp
-        # Gestion des matrices
-        if self.item.waitMatrice ():
-            from InterfaceGUI.QT5.monWidgetMatrice import MonWidgetMatrice
-            widget=MonWidgetMatrice(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-            self.widget=widget
-            return widget
-
-        #print "____________________________", monNom, self.item.waitCo()
-        #print "____________________________", monNom, self.item.waitAssd()
-        # Gestion d'une seule valeur (eventuellement un tuple ou un complexe)
-
-
-        if maDefinition.max == 1 :
-            if maDefinition.intoSug != [] and maDefinition.intoSug != None:
-                from InterfaceGUI.QT5.monWidgetCBIntoSug import MonWidgetCBIntoSug
-                widget=MonWidgetCBIntoSug(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-            elif  maDefinition.into != [] and maDefinition.into != None:
-                if maDefinition.fenetreIhm=='menuDeroulant' :
-                    from InterfaceGUI.QT5.monWidgetCB import MonWidgetCB
-                    widget=MonWidgetCB(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                elif len(monInto) < 4 :
-                    from InterfaceGUI.QT5.monWidgetRadioButton import MonWidgetRadioButton
-                    widget=MonWidgetRadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                elif len(monInto) < 7 :
-                    from InterfaceGUI.QT5.monWidget4a6RadioButton import MonWidget4a6RadioButton
-                    widget=MonWidget4a6RadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                else :
-                    from InterfaceGUI.QT5.monWidgetCB import MonWidgetCB
-                    widget=MonWidgetCB(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-
-            elif self.item.waitBool() :
-                from InterfaceGUI.QT5.monWidgetSimpBool import MonWidgetSimpBool
-                widget=MonWidgetSimpBool(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-            elif self.item.waitFichier():
-                from InterfaceGUI.QT5.monWidgetSimpFichier import MonWidgetSimpFichier
-                widget=MonWidgetSimpFichier(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-
-            # PNPNPN - a faire
-            elif self.item.waitDate():
-                from InterfaceGUI.QT5.monWidgetDate import MonWidgetDate
-                widget=MonWidgetDate(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-            elif self.item.waitHeure():
-                from InterfaceGUI.QT5.monWidgetHeure import MonWidgetHeure
-                widget=MonWidgetHeure(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-
-            elif self.item.waitTuple() :
-                num=self.item.object.definition.type[0].ntuple
-                nomDeLaClasse = 'MonWidgetSimpTuple'+str(num)
-                nomDuFichier  = 'InterfaceGUI.QT5.monWidgetSimpTupleN'
-                try :
-                #if 1 :
-                    _temp = __import__(nomDuFichier, globals(), locals(), [nomDeLaClasse], 0)
-                    #print (_temp)
-                    MonWidgetSimpTuple =  getattr(_temp,nomDeLaClasse)
-                    #print (MonWidgetSimpTuple)
-                except :
-                    print ("Pas de Tuple de longueur : ", num)
-                #   print ("Prevenir la maintenance ")
-                widget=MonWidgetSimpTuple(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-
-            elif self.item.waitComplex():
-                from InterfaceGUI.QT5.monWidgetSimpComplexe import MonWidgetSimpComplexe
-                widget=MonWidgetSimpComplexe(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-
-            elif self.item.waitCo():
-                if len(self.item.getSdAvantDuBonType()) == 0 :
-                    from InterfaceGUI.QT5.monWidgetUniqueSDCO import MonWidgetUniqueSDCO
-                    widget=MonWidgetUniqueSDCO(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                else :
-                    from InterfaceGUI.QT5.monWidgetSDCOInto import MonWidgetSDCOInto
-                    widget=MonWidgetSDCOInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-            elif self.item.waitAssd():
-
-                # PN - pour ne pas appeller trop souvent self.item.getSdAvantDuBonType()
-                if not (self.item.waitUserAssdOrAssdMultipleEnCreation()) : maListe=self.item.getSdAvantDuBonType()
-                if self.item.waitUserAssdOrAssdMultipleEnCreation() :
-                    from InterfaceGUI.QT5.monWidgetCreeUserAssd import MonWidgetCreeUserAssd
-                    widget=MonWidgetCreeUserAssd(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                #elif len(self.item.getSdAvantDuBonType()) == 0 :
-                elif len(maListe) == 0 :
-                    from InterfaceGUI.QT5.monWidgetVide import MonWidgetVide
-                    widget=MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                #elif len(self.item.getSdAvantDuBonType()) < 4 :
-                elif len(maListe) < 4 :
-                    from InterfaceGUI.QT5.monWidgetRadioButton import MonWidgetRadioButtonSD
-                    widget=MonWidgetRadioButtonSD(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                #elif len(self.item.getSdAvantDuBonType()) < 7 :
-                elif len(maListe) < 7 :
-                    from InterfaceGUI.QT5.monWidget4a6RadioButton import MonWidget4a6RadioButtonSD
-                    widget=MonWidget4a6RadioButtonSD(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                else :
-                    from InterfaceGUI.QT5.monWidgetCB import MonWidgetCBSD
-                    widget=MonWidgetCBSD(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-
-            elif  self.item.waitSalome() and self.editor.salome:
-                from InterfaceGUI.QT5.monWidgetSimpSalome import MonWidgetSimpSalome
-                widget=MonWidgetSimpSalome(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-
-            elif self.item.waitTxm():
-                from InterfaceGUI.QT5.monWidgetSimpTxt import MonWidgetSimpTxt
-                widget=MonWidgetSimpTxt(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-            else :
-                from InterfaceGUI.QT5.monWidgetSimpBase import MonWidgetSimpBase
-                widget=MonWidgetSimpBase(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-
-        # Gestion des listes
-        else :
-            if maDefinition.intoSug != [] and maDefinition.intoSug != None:
-                if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) :
-                    from InterfaceGUI.QT5.monWidgetIntoSug import MonWidgetIntoSug
-                    widget=MonWidgetIntoSug(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                else :
-                    from InterfaceGUI.QT5.monWidgetPlusieursPlie import MonWidgetPlusieursPlie
-                    widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-            #if maDefinition.into != [] and maDefinition.into != None:
-            # Attention pas fini --> on attend une liste de ASSD avec ordre
-            elif self.item.waitAssd() and self.item.isListSansOrdreNiDoublon():
-                listeAAfficher = self.item.getSdAvantDuBonType()
-                if len(listeAAfficher) == 0:
-                    from InterfaceGUI.QT5.monWidgetVide import MonWidgetVide
-                    widget = MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                else :
-                    from InterfaceGUI.QT5.monWidgetPlusieursInto import MonWidgetPlusieursInto
-                    widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-            elif self.item.waitAssd()  and not self.item.waitUserAssdOrAssdMultipleEnCreation() :
-                listeAAfficher = self.item.getSdAvantDuBonType()
-                # a changer selon UserASSD ou UserASSDMultiple
-                mctype=maDefinition.type[0]
-                enable_salome_selection = self.editor.salome and \
-                       (('grma' in repr(mctype)) or ('grno' in repr(mctype)) or ('SalomeEntry' in repr(mctype)) or \
-                       (hasattr(mctype, "enable_salome_selection") and mctype.enable_salome_selection))
-                if enable_salome_selection:
-                    from InterfaceGUI.QT5.monWidgetPlusieursBase import MonWidgetPlusieursBase
-                    widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                elif len(listeAAfficher) == 0:
-                    from InterfaceGUI.QT5.monWidgetVide import MonWidgetVide
-                    widget = MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                elif self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) :
-                    from InterfaceGUI.QT5.monWidgetPlusieursASSDIntoOrdonne import MonWidgetPlusieursASSDIntoOrdonne
-                    widget=MonWidgetPlusieursASSDIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                else :
-                    from InterfaceGUI.QT5.monWidgetPlusieursPlie import MonWidgetPlusieursPlieASSD
-                    widget=MonWidgetPlusieursPlieASSD(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-            elif self.item.waitTuple() :
-                if self.item.object.definition.fenetreIhm == 'Tableau' :
-                    from InterfaceGUI.QT5.monWidgetTableau import MonWidgetTableau
-                    widget=MonWidgetTableau(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                else  :
-                    num=self.item.object.definition.type[0].ntuple
-                    nomDeLaClasse = 'MonWidgetPlusieursTuple'+str(num)
-                    nomDuFichier  = 'InterfaceGUI.QT5.monWidgetPlusieursTupleN'
-                    try:
-                        _temp = __import__(nomDuFichier, globals(), locals(), [nomDeLaClasse], 0)
-                        MonWidgetPlusieursTuple =  getattr(_temp,nomDeLaClasse)
-                    except :
-                        print ("Pas de Tuple de longueur : ", num)
-                        print ("Prevenir la maintenance ")
-                    widget=MonWidgetPlusieursTuple(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-
-            elif self.item.hasInto():
-                if self.item.isListSansOrdreNiDoublon():
-
-                    if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) :
-                        from InterfaceGUI.QT5.monWidgetPlusieursInto import MonWidgetPlusieursInto
-                        widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                    else :
-                        from InterfaceGUI.QT5.monWidgetPlusieursPlie import MonWidgetPlusieursPlie
-                        widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                else :
-                    if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) :
-                        from InterfaceGUI.QT5.monWidgetPlusieursIntoOrdonne import MonWidgetPlusieursIntoOrdonne
-                        widget=MonWidgetPlusieursIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                    else :
-                        from InterfaceGUI.QT5.monWidgetPlusieursPlie import MonWidgetPlusieursPlie
-                        widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-            else :
-                if self.item.waitUserAssdOrAssdMultipleEnCreation() :
-                    from InterfaceGUI.QT5.monWidgetPlusieursCreeUserAssd import MonWidgetPlusieursCreeUserAssd
-                    widget=MonWidgetPlusieursCreeUserAssd(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                elif self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees)  :
-                    from InterfaceGUI.QT5.monWidgetPlusieursBase import MonWidgetPlusieursBase
-                    widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-                else :
-                    from InterfaceGUI.QT5.monWidgetPlusieursPlie import MonWidgetPlusieursPlie
-                    widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-
-        self.widget=widget
-        return widget
-
-
-class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
-    itemNode=Node
-
-    def init(self) :
-        self.expandable = 0
-
-
-    #-----------------------------------------------
-    #
-    # Methodes liees aux informations sur le Panel
-    # ou au mot-clef simple
-    #
-    #-----------------------------------------------
-    # isList
-    # hasInto
-    # getMinMax
-    # getMultiplicite
-    # getIntervalle
-    # getListeValeurs
-    # getListePossible
-
-    def isList(self):
-        """
-            Cette methode indique si le mot cle simple attend une liste (valeur de retour 1)
-            ou s'il n'en attend pas (valeur de retour 0)
-
-            Deux cas principaux peuvent se presenter : avec validateurs ou bien sans.
-            Dans le cas sans validateur, l'information est donnee par l'attribut max
-            de la definition du mot cle.
-            Dans le cas avec validateur, il faut combiner l'information precedente avec
-            celle issue de l'appel de la methode isList sur le validateur.On utilisera
-            l'operateur ET pour effectuer cette combinaison (AndVal).
-        """
-        is_a_list=0
-        min,max = self.getMinMax()
-        assert (min <= max)
-        if max > 1 :
-            is_a_list=1
-        # Dans le cas avec validateurs, pour que le mot cle soit considere
-        # comme acceptant une liste, il faut que max soit superieur a 1
-        # ET que la methode isList du validateur retourne 1. Dans les autres cas
-        # on retournera 0 (n'attend pas de liste)
-        if self.definition.validators :
-            is_a_list= self.definition.validators.isList() * is_a_list
-        return is_a_list
-
-    def isListSansOrdreNiDoublon(self):
-        if self.definition.homo=="SansOrdreNiDoublon" : return 1
-        return 0
-
-
-    def hasInto(self):
-        """
-            Cette methode indique si le mot cle simple propose un choix (valeur de retour 1)
-            ou s'il n'en propose pas (valeur de retour 0)
-
-            Deux cas principaux peuvent se presenter : avec validateurs ou bien sans.
-            Dans le cas sans validateur, l'information est donnee par l'attribut into
-            de la definition du mot cle.
-            Dans le cas avec validateurs, pour que le mot cle soit considere
-            comme proposant un choix, il faut que into soit present OU
-            que la methode hasInto du validateur retourne 1. Dans les autres cas
-            on retournera 0 (ne propose pas de choix)
-        """
-        has_an_into=0
-        if self.definition.into:
-            has_an_into=1
-        elif self.definition.validators :
-            has_an_into= self.definition.validators.hasInto()
-        return has_an_into
-
-    def hasIntoSug(self):
-        if self.definition.intoSug: return 1
-        return 0
-
-
-    def getMinMax(self):
-        """ Retourne les valeurs min et max de la definition de object """
-        return self.object.getMinMax()
-
-    def getMultiplicite(self):
-        """ A preciser.
-            Retourne la multiplicite des valeurs affectees a l'objet
-            represente par l'item. Pour le moment retourne invariablement 1.
-        """
-        return 1
-
-    def getIntervalle(self):
-        """
-             Retourne le domaine de valeur attendu par l'objet represente
-             par l'item.
-        """
-        return self.object.getintervalle()
-
-    def getListeValeurs(self) :
-        """ Retourne la liste des valeurs de object """
-        valeurs=self.object.getListeValeurs()
-        try :
-            if "R" in self.object.definition.type:
-                clef=self.object.getNomConcept()
-                if clef in self.appliEficas.dict_reels:
-                    if type(valeurs) == tuple:
-                        valeurs_reelles=[]
-                        for val in valeurs :
-                            if val in self.appliEficas.dict_reels[clef]:
-                                valeurs_reelles.append(self.appliEficas.dict_reels[clef][val])
-                            else :
-                                valeurs_reelles.append(val)
-                    else :
-                        if valeurs in self.appliEficas.dict_reels[clef]:
-                            valeurs_reelles=self.appliEficas.dict_reels[clef][valeurs]
-                    valeurs=valeurs_reelles
-        except :
-            pass
-        return valeurs
-
-    def getListePossible(self,listeActuelle=[]):
-        if hasattr(self.definition.validators,'into'):
-            valeurspossibles = self.definition.validators.into
-        else:
-            valeurspossibles = self.get_definition().into
-
-        if listeActuelle==[] : return valeurspossibles
-
-        #On ne garde que les items valides
-        listevalideitem=[]
-        if type(valeurspossibles) in (list,tuple) :
-            pass
-        else :
-            valeurspossibles=(valeurspossibles,)
-        for item in valeurspossibles:
-            encorevalide=self.valideItem(item)
-            if encorevalide :
-                listevalideitem.append(item)
-
-        #on ne garde que les choix possibles qui passent le test de valideListePartielle
-        listevalideliste=[]
-        for item in listevalideitem:
-            encorevalide=self.valideListePartielle(item,listeActuelle)
-            if encorevalide :
-                listevalideliste.append(item)
-        #print listevalideliste
-        return listevalideliste
-
-    def getListePossibleAvecSug(self,listeActuelle=[]):
-        if hasattr(self.definition,'intoSug'):
-            valeurspossibles = self.definition.intoSug
-        else:
-            return listeActuelle
-
-        if listeActuelle==[] :  return valeurspossibles
-        valeurspossibles = valeurspossibles+listeActuelle
 
-        #On ne garde que les items valides
-        listevalideitem=[]
-        if type(valeurspossibles) in (list,tuple) :
-            pass
-        else :
-            valeurspossibles=(valeurspossibles,)
-        for item in valeurspossibles:
-            encorevalide=self.valideItem(item)
-            if encorevalide :
-                listevalideitem.append(item)
-
-        #on ne garde que les choix possibles qui passent le test de valideListePartielle
-        listevalideliste=[]
-        for item in listevalideitem:
-            encorevalide=self.valideListePartielle(item,listeActuelle)
-            if encorevalide :
-                listevalideliste.append(item)
-        return listevalideliste
-
-    def getListeParamPossible(self):
-        liste_param=[]
-        l1,l2=self.jdc.getParametresFonctionsAvantEtape(self.getEtape())
-        for param in self.object.jdc.params:
-            if param.nom not in l1 : continue
-            encorevalide=self.valideItem(param.valeur)
-            if encorevalide:
-                type_param=param.valeur.__class__.__name__
-                for typ in self.definition.type:
-                    if typ=='R':
-                        liste_param.append(param)
-                    if typ=='I' and type_param=='int':
-                        liste_param.append(param)
-                    if typ=='TXM' and type_param=='str':
-                        liste_param.append(repr(param))
-                    if ('grma' in repr(typ)) and type_param=='str':
-                        liste_param.append(param.nom)
-        return liste_param
-
-    #--------------------------------------------------
-    #
-    # Methodes liees a la validite des valeurs saisies
-    #
-    #---------------------------------------------------
-    # valideItem
-    # valideListePartielle
-    # valideListeComplete
-    # infoErreurItem
-    # infoErreurListe
-    # isInIntervalle
-    # isValid
-
-    def valideItem(self,item):
-        """
-          La validation est realisee directement par l'objet
-        """
-        return self.object.valideItem(item)
-
-    def valideListePartielle(self,item,listecourante):
-        #On protege la liste en entree en la copiant
-        valeur=list(listecourante)
-        if item : valeur.append(item)
-        return self.object.validValeurPartielle(valeur)
-
-    def valideListeComplete (self,valeur):
-        return self.object.validValeur(valeur)
-
-    def infoErreurItem(self) :
-        commentaire=""
-        if self.definition.validators :
-            commentaire=self.definition.validators.infoErreurItem()
-        return commentaire
-
-    def aide(self) :
-        commentaire=""
-        if self.definition.validators :
-            commentaire=self.definition.validators.aide()
-        return commentaire
-
-    def infoErreurListe(self) :
-        commentaire=""
-        if self.definition.validators :
-            commentaire=self.definition.validators.infoErreurListe()
-        return commentaire
-
-    def isInIntervalle(self,valeur):
-        """
-            Retourne 1 si la valeur est dans l'intervalle permis par
-            l'objet represente par l'item.
-        """
-        return self.valideItem(valeur)
-
-    def isValid(self):
-        valide=self.object.isValid()
-        return valide
-
-    #--------------------------------------------------
-    #
-    # Autres ...
-    #
-    #---------------------------------------------------
-    # getIconName
-    # getText
-    # setValeurCo
-    # getSdAvantDuBonType
-
-
-    def getIconName(self):
-        if self.appliEficas.maConfiguration.differencieSiDefaut and self.isValid():
-            if self.object.definition.defaut != None :
-                if self.object.valeur == self.object.definition.defaut : return "ast-green-dark-ball"
-                if self.object.definition.max > 1 and list(self.object.valeur) == list(self.object.definition.defaut) : return "ast-green-dark-ball"
-            return "ast-green-ball"
-        elif self.isValid():
-            return "ast-green-ball"
-        elif self.object.isOblig():
-            return "ast-red-ball"
-        else:
-            return "ast-yel-ball"
-
-    def getText(self):
-        """
-        Classe SIMPTreeItem
-        Retourne le texte a afficher dans l'arbre representant la valeur de l'objet
-        pointe par self
-        """
-        if  self.waitUserAssdMultiple() or self.object.waitUserAssd() or self.object.waitAssd(): 
-            return self.object.valeur
-            #if self.object.valeur != None : return self.object.valeur.nom
-            #else : return ""
-        text = self.object.getText()
-        if text == None : text=""
-        return text
-
-
-    def setValeurCo(self,nomCo):
-        """
-        Affecte au MCS pointe par self l'objet de type CO et de nom nom_co
-        """
-        ret = self.object.setValeurCo(nomCo)
-        #print "setValeurCo",ret
-        return ret
-
-    def getSdAvantDuBonType(self):
-        """
-        Retourne la liste des noms des SD presentes avant l'etape qui contient
-        le MCS pointe par self et du type requis par ce MCS
-        """
-        # A changer pour tenir compte des UserASSDMultiple
-        # ici on passe par parent pour avoir le bon type
-        #if  self.waitUserAssdMultiple() :
-        #    l=self.object.parent.getSdCreeParObjetAvecFiltre(self.object)
-        #    return l
-        if  self.waitUserAssdMultiple() :
-            l=self.object.getUserAssdPossible()
-            return l
-        a=self.object.etape.parent.getSdAvantDuBonType(self.object.etape,self.object.definition.type)
-        if self.waitUserAssd() : l=self.jdc.getSdCreeParObjet(self.object.definition.type)
-        else :l=[]
-        return a+l
-
-    def getSdAvantDuBonTypePourTypeDeBase(self):
-        a=self.object.jdc.getSdAvantDuBonTypePourTypeDe_Base(self.object.etape,"LASSD")
-        return a
-
-    def deleteValeurCo(self,valeur=None):
-        """
-             Supprime la valeur du mot cle (de type CO)
-             il faut propager la destruction aux autres etapes
-        """
-        if not valeur : valeur=self.object.valeur
-        # XXX faut il vraiment appeler delSdprod ???
-        #self.object.etape.parent.delSdprod(valeur)
-        self.object.etape.parent.deleteConcept(valeur)
-
-    #-----------------------------------------------
-    #
-    # Methodes liees au type de l objet attendu
-    #
-    #-----------------------------------------------
-    # waitCo
-    # waitGeom
-    # waitComplex
-    # waitReel
-    # waitAssd
-    # getType
-
-    def waitCo(self):
-        """
-        Methode booleenne qui retourne 1 si l'objet pointe par self
-        attend un objet de type ASSD qui n'existe pas encore (type CO()),
-        0 sinon
-        """
-        return self.object.waitCo()
-
-    def waitFichier(self):
-        maDefinition=self.object.definition
-        try :
-            if ('Repertoire' in maDefinition.type[0]) or ('Fichier' in maDefinition.type[0]) :
-                return 1
-        except :
-            return 0
-
-    def waitGeom(self):
-        """
-        Methode booleenne qui retourne 1 si l'objet pointe par self
-        attend un objet GEOM, 0 sinon
-        """
-        return self.object.waitGeom()
-
-    def waitTxm(self):
-        return self.object.waitTxm()
-
-
-    def waitComplex(self):
-        """ Methode booleenne qui retourne 1 si l'objet pointe par self
-        attend un complexe, 0 sinon """
-        if 'C' in self.object.definition.type:
-            return 1
-        else:
-            return 0
-
-    def waitReel(self):
-        """ Methode booleenne qui retourne 1 si l'objet pointe par self
-        attend un reel, 0 sinon """
-        if 'R' in self.object.definition.type:
-            return 1
-        else:
-            return 0
-
-    def waitTuple(self) :
-        return  self.object.waitTuple()
-
-    def waitDate(self):
-        """ Methode booleenne qui retourne 1 si l'objet pointe par self
-        attend un reel, 0 sinon """
-        if 'DateHHMMAAAA' in self.object.definition.type:
-            return 1
-        else:
-            return 0
-
-    def waitHeure(self):
-        """ Methode booleenne qui retourne 1 si l'objet pointe par self
-        attend un reel, 0 sinon """
-        if 'HeureHHMMSS' in self.object.definition.type:
-            return 1
-        else:
-            return 0
-
-
-
-    def waitTuple(self):
-        """ Methode booleenne qui retourne 1 si l'objet pointe par self
-        attend un Tuple, 0 sinon """
-        for ss_type in self.object.definition.type:
-            if repr(ss_type).find('Tuple') != -1 :
-                return 1
-        return 0
-
-    def waitMatrice(self):
-        """ Methode booleenne qui retourne 1 si l'objet pointe par self
-        attend un Tuple, 0 sinon """
-        # il faut trouver autre chose que ce find!!!
-        for ss_type in self.object.definition.type:
-            #if repr(ss_type).find('Matrice') != -1 :
-            if hasattr(ss_type, 'typElt') : 
-                return 1
-        return 0
-
-    def waitAssd(self):
-        """Methode booleenne qui retourne 1 si l'objet pointe par self
-        attend un objet de type ASSD ou derive, 0 sinon """
-        return self.object.waitAssd()
-
-    def waitAssdOrTypeBase(self) :
-        boo=0
-        if len(self.object.definition.type) > 1 :
-            if self.waitReel() :
-                boo = 1
-            if 'I' in self.object.definition.type :
-                boo = 1
-        return boo
-
-    def waitSalome(self):
-        monType = self.object.definition.type[0]
-        if 'grma' in repr(monType) : return True
-        if 'grno' in repr(monType) : return True
-        try :
-            if issubclass(monType, SalomeEntry) : return True
-        except :
-            pass
-        return False
-
-    def getType(self):
-        """
-            Retourne le type de valeur attendu par l'objet represente par l'item.
-        """
-        return self.object.getType()
-
-    #-----------------------------------------------------
-    #
-    # Methodes liees  a l evaluation de la valeur saisie
-    #
-    #-----------------------------------------------------
-    # evalValeur
-    # evalValeurItem
-    # isCO
-    # traiteReel
-
-    def evalValeur(self,valeur):
-        """ Lance l'interpretation de 'valeur' (chaine de caracteres) comme valeur de self :
-               - retourne l'objet associe si on a pu interpreter (entier, reel, ASSD,...)
-               - retourne 'valeur' (chaine de caracteres) sinon
-        """
-        newvaleur=self.evalVal(valeur)
-        return newvaleur,1
-
-
-    def evalValeurItem(self,valeur):
-        """ Lance l'interpretation de 'valeur' qui doit ne pas etre un tuple
-            - va retourner la valeur de retour et la validite
-              selon le type de l objet attendu
-            - traite les reels et les parametres
-        """
-        #print "evalValeurItem",valeur
-        if valeur==None or valeur == "" :
-            return None,0
-        validite=1
-        if self.waitReel():
-            valeurinter = self.traiteReel(valeur)
-            if valeurinter != None :
-                valeurretour,validite= self.object.evalValeur(valeurinter)
-            else:
-                valeurretour,validite= self.object.evalValeur(valeur)
-        elif self.waitGeom():
-            valeurretour,validite = valeur,1
-        else :
-            valeurretour,validite= self.object.evalValeur(valeur)
-
-        if validite == 0:
-            if (type(valeur) == bytes  or type(valeur) == str )and self.object.waitTxm():
-                essai_valeur="'" + valeur + "'"
-                valeurretour,validite= self.object.evalValeur(essai_valeur)
-
-        if hasattr(valeurretour,'__class__'):
-            #if valeurretour.__class__.__name__ in ('PARAMETRE','PARAMETRE_EVAL'):
-            if valeurretour.__class__.__name__ in ('PARAMETRE',):
-                validite=1
-
-        #if self.waitCo():
-            # CCAR : il ne faut pas essayer de creer un concept
-            # il faut simplement en chercher un existant ce qui a du etre fait par self.object.evalValeur(valeur)
-            #try:
-                #valeurretour=Accas.CO(valeur)
-            #except:
-                #valeurretour=None
-                #validite=0
-        # on est dans le cas ou on a evalue et ou on n'aurait pas du
-        if self.object.waitTxm() :
-            if type(valeurretour) != bytes:
-                valeurretour=str(valeur)
-                validite=1
-        return valeurretour,validite
-
-    def isCO(self,valeur=None):
-        """
-           Indique si valeur est un concept produit de la macro
-           Cette methode n'a de sens que pour un MCSIMP d'une MACRO
-           Si valeur vaut None on teste la valeur du mot cle
-        """
-        # Pour savoir si un concept est un nouveau concept de macro
-        # on regarde s'il est present dans l'attribut sdprods de l'etape
-        # ou si son nom de classe est CO.
-        # Il faut faire les 2 tests car une macro non valide peut etre
-        # dans un etat pas tres catholique avec des CO pas encore types
-        # et donc pas dans sdprods (resultat d'une exception dans typeSDProd)
-        if not valeur:valeur=self.object.valeur
-        if valeur in self.object.etape.sdprods:return 1
-        #if type(valeur) is not types.InstanceType:return 0
-        if type(valeur) is not object:return 0
-        if valeur.__class__.__name__ == 'CO':return 1
-        return 0
-
-    def isParam(self,valeur) :
-        for param in self.jdc.params:
-            if (repr(param) == valeur):
-                return 1
-        return 0
+class Node(browser.JDCNode):
 
-    def traiteReel(self,valeur):
-        """
-        Cette fonction a pour but de rajouter le '.' en fin de chaine pour un reel
-        ou de detecter si on fait reference a un concept produit par DEFI_VALEUR
-        ou un EVAL ...
-        """
-        valeur = valeur.strip()
-        liste_reels = self.getSdAvantDuBonType()
-        if valeur in liste_reels:
-            return valeur
-        if len(valeur) >= 3 :
-            if valeur[0:4] == 'EVAL' :
-                # on a trouve un EVAL --> on retourne directement la valeur
-                return valeur
-        if valeur.find('.') == -1 :
-            # aucun '.' n'a ete trouve dans valeur --> on en rajoute un a la fin
-            if (self.isParam(valeur)):
-                return valeur
-            else:
-                if valeur.find('e') != -1:
-                    # Notation scientifique ?
-                    try :
-                        r=eval(valeur)
-                        return valeur
-                    except :
-                        return None
-                else :
-                    return valeur+'.'
-        else:
-            return valeur
+    def getPanel(self):
+       from InterfaceGUI.QT5.monChoixCommande import MonChoixCommande
+       return MonChoixCommande(self,self.item, self.editor)
 
+# Voir avec Eric pour comprendre pourquoi cela change les choses ?
+class cinqCJDCTreeItem(JDCTreeItem) :
+     pass
 
-import Accas
-treeitem = SIMPTreeItem
-objet = Accas.MCSIMP
+from Accas import JDC
+treeitem = cinqCJDCTreeItem
+objet = JDC
index 255f5204fa66e7cc4c58b6e36ce3590465b78456..9b5b54f270a84d22ea708252e77e96c5efde4432 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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
@@ -66,6 +66,7 @@ class JDCEditor(Ui_editor5C, JDCEditorSsIhm, QWidget):
         self.lesIds = []
         self.lesLabels = []
         self.dictLabels = {}
+        self.enteteQTree = 'premier'
 
         # a envisager si on garde une selection ?
         self.initSelection()
index dc9e44fac671f38ea85499d84f6934efde894d38..50dd58432be9a0505bbe7e3a0b0fe77a33275420 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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
index cf08452113251154b5996b532d62eb029ab865c2..d14aebd22252f51578fbcb3dcf45139487b55005 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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
index 75a5a11c38c7efb4a500d71f71e71424a3ef941f..2d944b086c826d9db831566278b3df7437f61494 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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
index a0fcedfd46be36b21a200c4d7d9d9d43de121c77..b138342be53f62ca677041d641a83847dd61767b 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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
index baaea4f4578dfce75b84a68c5fa538fd0e6a6f3b..f83e2f35f21793f301e62c65133d5c9ae98d11a5 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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
index 00d5f06bc88046f157718070c179ea2f3a7e7761..99d5e51cb6308167b35421b1c1bc8c2282e2d870 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 # -*- coding: UTF-8 -*-
-# Copyright (C) 2007-2021   EDF R&D
+# Copyright (C) 2007-2024   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