Salome HOME
Pour Adao AdaoV0
authorpascale.noyret <pascale.noyret@edf.fr>
Mon, 2 Mar 2015 13:35:24 +0000 (14:35 +0100)
committerpascale.noyret <pascale.noyret@edf.fr>
Mon, 2 Mar 2015 13:35:24 +0000 (14:35 +0100)
61 files changed:
Adao/qtDico.py
Editeur/icons/CatalogueFormulaire.png [new file with mode: 0644]
Editeur/icons/MoinsBleu.png [new file with mode: 0644]
Editeur/icons/PlusBleu.png [new file with mode: 0644]
Editeur/icons/arrow_down.png [new file with mode: 0644]
Editeur/icons/arrow_up.png [new file with mode: 0644]
Editeur/icons/copy.png [new file with mode: 0644]
Editeur/icons/cut.png [new file with mode: 0644]
Editeur/icons/deleteRond.png [new file with mode: 0644]
Editeur/icons/deleteRondVide.png [new file with mode: 0644]
Editeur/icons/export_MAP.png [new file with mode: 0755]
Editeur/icons/eye.png [new file with mode: 0644]
Editeur/icons/fichier.png [new file with mode: 0644]
Editeur/icons/flecheBasBleue.png [new file with mode: 0644]
Editeur/icons/flecheHautBleue.png [new file with mode: 0644]
Editeur/icons/flecheSalome.png [new file with mode: 0644]
Editeur/icons/graphics_view_zoom.png [new file with mode: 0644]
Editeur/icons/icon_salome.png [new file with mode: 0644]
Editeur/icons/loopOff.png [new file with mode: 0644]
Editeur/icons/new_file.png [new file with mode: 0644]
Editeur/icons/options.png [new file with mode: 0644]
Editeur/icons/ouvrir.png [new file with mode: 0644]
Editeur/icons/parametres.png [new file with mode: 0644]
Editeur/icons/paste.png [new file with mode: 0644]
Editeur/icons/point-interrogation.png [new file with mode: 0644]
Editeur/icons/roue.png [new file with mode: 0644]
Editeur/icons/salomeLoupe.png [new file with mode: 0644]
Editeur/icons/save.png [new file with mode: 0644]
Editeur/icons/txt.png [new file with mode: 0644]
Editeur/icons/verre-loupe-icone-6087-64.png [new file with mode: 0644]
Editeur/icons/visuFichier.png [new file with mode: 0644]
InterfaceQT4/browser.py
InterfaceQT4/compomclist.py
InterfaceQT4/composimp.py
InterfaceQT4/editor.py
InterfaceQT4/feuille.py
InterfaceQT4/gereIcones.py
InterfaceQT4/gereListe.py
InterfaceQT4/groupe.py
InterfaceQT4/monWidget4a6RadioButton.py
InterfaceQT4/monWidgetCB.py
InterfaceQT4/monWidgetCommande.py
InterfaceQT4/monWidgetOptionnel.py
InterfaceQT4/monWidgetParam.py
InterfaceQT4/monWidgetPlusieursBase.py
InterfaceQT4/monWidgetPlusieursInto.py
InterfaceQT4/monWidgetRadioButton.py
InterfaceQT4/monWidgetSimpBool.py
InterfaceQT4/monWidgetSimpComplexe.py
InterfaceQT4/monWidgetSimpTxt.py
Noyau/N_SIMP.py
Noyau/N_VALIDATOR.py
Telemac/Telemac_Cata.py
UiQT4/desWidget4a6RadioButton.ui
UiQT4/desWidgetCommande.ui
UiQT4/desWidgetParam.ui
UiQT4/desWidgetPlusieursInto.ui
UiQT4/desWidgetSimpFichier.ui
UiQT4/desWidgetSimpTxt.ui
UiQT4/makefile
generator/generator_dicoImbrique.py [new file with mode: 0644]

index f388b7433263bfbb60d54ef4b20b2eb23ed4ba26..8b79878c23d5bbbfeffb4280ff169ccab476c36b 100755 (executable)
@@ -30,6 +30,6 @@ __import__(name)
 
 from InterfaceQT4 import eficas_go
 
-dico=eficas_go.lance_eficas_param(code=prefs.code,fichier="/local/noyret/Eficas_ASTER/adao.comm",version='V0',macro="ASSIMILATION_STUDY")
+dico=eficas_go.lance_eficas_param(code=prefs.code,fichier="/local00/home/A96028/GitEficasTravail/eficas/Adao/kk.comm",version='V1',macro="ASSIMILATION_STUDY")
 print dico
 
diff --git a/Editeur/icons/CatalogueFormulaire.png b/Editeur/icons/CatalogueFormulaire.png
new file mode 100644 (file)
index 0000000..12cc06d
Binary files /dev/null and b/Editeur/icons/CatalogueFormulaire.png differ
diff --git a/Editeur/icons/MoinsBleu.png b/Editeur/icons/MoinsBleu.png
new file mode 100644 (file)
index 0000000..84a93f6
Binary files /dev/null and b/Editeur/icons/MoinsBleu.png differ
diff --git a/Editeur/icons/PlusBleu.png b/Editeur/icons/PlusBleu.png
new file mode 100644 (file)
index 0000000..e64eea9
Binary files /dev/null and b/Editeur/icons/PlusBleu.png differ
diff --git a/Editeur/icons/arrow_down.png b/Editeur/icons/arrow_down.png
new file mode 100644 (file)
index 0000000..3b09272
Binary files /dev/null and b/Editeur/icons/arrow_down.png differ
diff --git a/Editeur/icons/arrow_up.png b/Editeur/icons/arrow_up.png
new file mode 100644 (file)
index 0000000..cd26909
Binary files /dev/null and b/Editeur/icons/arrow_up.png differ
diff --git a/Editeur/icons/copy.png b/Editeur/icons/copy.png
new file mode 100644 (file)
index 0000000..46702c3
Binary files /dev/null and b/Editeur/icons/copy.png differ
diff --git a/Editeur/icons/cut.png b/Editeur/icons/cut.png
new file mode 100644 (file)
index 0000000..0dae837
Binary files /dev/null and b/Editeur/icons/cut.png differ
diff --git a/Editeur/icons/deleteRond.png b/Editeur/icons/deleteRond.png
new file mode 100644 (file)
index 0000000..47fbb8f
Binary files /dev/null and b/Editeur/icons/deleteRond.png differ
diff --git a/Editeur/icons/deleteRondVide.png b/Editeur/icons/deleteRondVide.png
new file mode 100644 (file)
index 0000000..4408404
Binary files /dev/null and b/Editeur/icons/deleteRondVide.png differ
diff --git a/Editeur/icons/export_MAP.png b/Editeur/icons/export_MAP.png
new file mode 100755 (executable)
index 0000000..13b2d8d
Binary files /dev/null and b/Editeur/icons/export_MAP.png differ
diff --git a/Editeur/icons/eye.png b/Editeur/icons/eye.png
new file mode 100644 (file)
index 0000000..83dd676
Binary files /dev/null and b/Editeur/icons/eye.png differ
diff --git a/Editeur/icons/fichier.png b/Editeur/icons/fichier.png
new file mode 100644 (file)
index 0000000..0330546
Binary files /dev/null and b/Editeur/icons/fichier.png differ
diff --git a/Editeur/icons/flecheBasBleue.png b/Editeur/icons/flecheBasBleue.png
new file mode 100644 (file)
index 0000000..d97a4a3
Binary files /dev/null and b/Editeur/icons/flecheBasBleue.png differ
diff --git a/Editeur/icons/flecheHautBleue.png b/Editeur/icons/flecheHautBleue.png
new file mode 100644 (file)
index 0000000..ab6f657
Binary files /dev/null and b/Editeur/icons/flecheHautBleue.png differ
diff --git a/Editeur/icons/flecheSalome.png b/Editeur/icons/flecheSalome.png
new file mode 100644 (file)
index 0000000..c0562e3
Binary files /dev/null and b/Editeur/icons/flecheSalome.png differ
diff --git a/Editeur/icons/graphics_view_zoom.png b/Editeur/icons/graphics_view_zoom.png
new file mode 100644 (file)
index 0000000..386c966
Binary files /dev/null and b/Editeur/icons/graphics_view_zoom.png differ
diff --git a/Editeur/icons/icon_salome.png b/Editeur/icons/icon_salome.png
new file mode 100644 (file)
index 0000000..726776e
Binary files /dev/null and b/Editeur/icons/icon_salome.png differ
diff --git a/Editeur/icons/loopOff.png b/Editeur/icons/loopOff.png
new file mode 100644 (file)
index 0000000..a318e1f
Binary files /dev/null and b/Editeur/icons/loopOff.png differ
diff --git a/Editeur/icons/new_file.png b/Editeur/icons/new_file.png
new file mode 100644 (file)
index 0000000..ac54064
Binary files /dev/null and b/Editeur/icons/new_file.png differ
diff --git a/Editeur/icons/options.png b/Editeur/icons/options.png
new file mode 100644 (file)
index 0000000..d78df8d
Binary files /dev/null and b/Editeur/icons/options.png differ
diff --git a/Editeur/icons/ouvrir.png b/Editeur/icons/ouvrir.png
new file mode 100644 (file)
index 0000000..fae2315
Binary files /dev/null and b/Editeur/icons/ouvrir.png differ
diff --git a/Editeur/icons/parametres.png b/Editeur/icons/parametres.png
new file mode 100644 (file)
index 0000000..213820b
Binary files /dev/null and b/Editeur/icons/parametres.png differ
diff --git a/Editeur/icons/paste.png b/Editeur/icons/paste.png
new file mode 100644 (file)
index 0000000..f749568
Binary files /dev/null and b/Editeur/icons/paste.png differ
diff --git a/Editeur/icons/point-interrogation.png b/Editeur/icons/point-interrogation.png
new file mode 100644 (file)
index 0000000..957c5ac
Binary files /dev/null and b/Editeur/icons/point-interrogation.png differ
diff --git a/Editeur/icons/roue.png b/Editeur/icons/roue.png
new file mode 100644 (file)
index 0000000..bcabda6
Binary files /dev/null and b/Editeur/icons/roue.png differ
diff --git a/Editeur/icons/salomeLoupe.png b/Editeur/icons/salomeLoupe.png
new file mode 100644 (file)
index 0000000..8702256
Binary files /dev/null and b/Editeur/icons/salomeLoupe.png differ
diff --git a/Editeur/icons/save.png b/Editeur/icons/save.png
new file mode 100644 (file)
index 0000000..f84dca6
Binary files /dev/null and b/Editeur/icons/save.png differ
diff --git a/Editeur/icons/txt.png b/Editeur/icons/txt.png
new file mode 100644 (file)
index 0000000..bdb2675
Binary files /dev/null and b/Editeur/icons/txt.png differ
diff --git a/Editeur/icons/verre-loupe-icone-6087-64.png b/Editeur/icons/verre-loupe-icone-6087-64.png
new file mode 100644 (file)
index 0000000..82a797f
Binary files /dev/null and b/Editeur/icons/verre-loupe-icone-6087-64.png differ
diff --git a/Editeur/icons/visuFichier.png b/Editeur/icons/visuFichier.png
new file mode 100644 (file)
index 0000000..d66e7a3
Binary files /dev/null and b/Editeur/icons/visuFichier.png differ
index 01d0fd3bc40de8b8e300cc8ffbbd4722fa71da2b..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,6 +99,7 @@ class JDCTree( QTreeWidget ):
             pass
 
     def handleDoubleClickedOnItem(self,item,int):
+        print "je passe dans handleDoubleClickedOnItem"
         #if item.fenetre == None :
         #   while not (hasattr (item,'getPanel2')) : item=item.treeParent 
         #   item.affichePanneau()
@@ -213,10 +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", self.item.GetLabelText()
-        #if  self.item.GetLabelText()[0]=='VCUT : ' : print y
         if self.item.isactif():
            panel=self.getPanel2()
         else:
@@ -404,6 +408,7 @@ class JDCNode(QTreeWidgetItem):
            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=()):
@@ -444,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():
@@ -457,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
index cc8c8a8ad33a1ec1b73b9a0332ddce859a31d4e0..55666f9b473a1f9e5f876c437fdc27a440a2ff0a 100644 (file)
@@ -54,7 +54,7 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
         monObjet=self.item.object
         monNom=self.item.nom
         maCommande=commande
-        print parentQt
+        #print parentQt
         if hasattr(parentQt,'niveau'): self.niveau=parentQt.niveau+1
         else : self.niveau=1
         if not (monObjet.isMCList()) :
index d72a2498a97a64793a2135db51fdb528c7410b1f..e2230482d5b10b359319a202c5620331c45407b9 100644 (file)
@@ -125,9 +125,11 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
       # Gerer les matrices --> Actuellement pas dans ce type de panneau
 
         #print "____________________________", self.item.wait_tuple() 
+        # Gestion d'une seule valeur (eventuellement un tuple ou un complexe)
         if maDefinition.max == 1 :
+
+          # Listes de valeur discretes
           if maDefinition.into != [] and maDefinition.into != None:
-          # a revoir
             if len(maDefinition.into) < 4 :
               from monWidgetRadioButton import MonWidgetRadioButton
               widget=MonWidgetRadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande)
@@ -141,13 +143,19 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
           elif self.item.wait_bool() :
             from monWidgetSimpBool import MonWidgetSimpBool
             widget=MonWidgetSimpBool(self,maDefinition,monNom,monObjet,parentQt,maCommande)
-
           elif self.item.wait_fichier():
             from monWidgetSimpFichier import MonWidgetSimpFichier
             widget=MonWidgetSimpFichier(self,maDefinition,monNom,monObjet,parentQt,maCommande)
 
+          # PNPNPN - a faire
+          elif self.item.wait_date():
+            from monWidgetDate import MonWidgetDate
+            widget=MonWidgetDate(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+          elif self.item.wait_heure():
+            from monWidgetHeure import MonWidgetHeure
+            widget=MonWidgetHeure(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+
           elif self.item.wait_tuple() :
-          # Pas fait
             if self.item.object.definition.type[0].ntuple == 2:
                from monWidgetSimpTuple2 import MonWidgetSimpTuple2
                widget=MonWidgetSimpTuple2(self,maDefinition,monNom,monObjet,parentQt,maCommande)
@@ -155,10 +163,10 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
                from monWidgetSimpTuple3 import MonWidgetSimpTuple3
                widget=MonWidgetSimpTuple3(self,maDefinition,monNom,monObjet,parentQt,maCommande)
             else :
-               print "Pas fait"
+               print "Pas de Tuple de longueur > 3"
+               print "Prevenir la maintenance "
 
           elif self.item.wait_complex():
-          # Pas fait
             from monWidgetSimpComplexe import MonWidgetSimpComplexe
             widget=MonWidgetSimpComplexe(self,maDefinition,monNom,monObjet,parentQt,maCommande)
 
@@ -173,21 +181,25 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
             widget=MonWidgetSimpSalome(self,maDefinition,monNom,monObjet,parentQt,maCommande)
 
           elif self.item.wait_TXM():
-          # Pas fait
             from monWidgetSimpTxt import MonWidgetSimpTxt
             widget=MonWidgetSimpTxt(self,maDefinition,monNom,monObjet,parentQt,maCommande)
           else :
             from monWidgetSimpBase import MonWidgetSimpBase
             widget=MonWidgetSimpBase(self,maDefinition,monNom,monObjet,parentQt,maCommande)
 
+        # Gestion des listes
         else :
           if maDefinition.into != [] and maDefinition.into != None:
-             #Pas encore traité
-            from monWidgetPlusieursInto import MonWidgetPlusieursInto
-            widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+            if self.item.is_list_SansOrdreNiDoublon():
+               from monWidgetPlusieursInto import MonWidgetPlusieursInto
+               widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+            else :
+               from monWidgetPlusieursIntoOrdonne import MonWidgetPlusieursIntoOrdonne
+               widget=MonWidgetPlusieursIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande)
           else :
             from monWidgetPlusieursBase import MonWidgetPlusieursBase
             widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+        self.widget=widget
         return widget
          
     
@@ -239,6 +251,9 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
          is_a_list= self.definition.validators.is_list() * is_a_list
       return is_a_list 
 
+  def is_list_SansOrdreNiDoublon(self):
+      if self.definition.homo=="SansOrdreNiDoublon": return 1
+      return 0 
 
   def has_into(self):
       """
@@ -520,6 +535,24 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
           return 1
       else:
           return 0
+
+  def wait_date(self):
+      """ Méthode booléenne qui retourne 1 si l'objet pointé par self
+      attend un réel, 0 sinon """
+      if 'DateHHMMAAAA' in self.object.definition.type:
+          return 1
+      else:
+          return 0
+        
+  def wait_heure(self):
+      """ Méthode booléenne qui retourne 1 si l'objet pointé par self
+      attend un réel, 0 sinon """
+      if 'HeureHHMMSS' in self.object.definition.type:
+          return 1
+      else:
+          return 0
+        
+        
         
   def wait_tuple(self):
       """ Méthode booléenne qui retourne 1 si l'objet pointé par self
index 0835f14b475ac2df215e34bdf764844ca1c916a0..92f39b254988530ae1defc47f52a4c471d858aa6 100644 (file)
@@ -180,6 +180,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
 
         if jdc_item:
             self.tree = browser.JDCTree( jdc_item,  self )
+        self.jdc.aReafficher=False
         self.appliEficas.construitMenu()
 
     #--------------------------------#
@@ -194,6 +195,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
         texte=""
         if self.code == "CARMELCND" : texte=self._newJDCCND()
         if self.code == "ZCRACKS" : texte=self._newZCRACKS()
+        if self.code == "TELEMAC" : texte=self._newTELEMAC()
         #   texte=self.newTexteCND
        
         jdc=self.readercata.cata[0].JdC( procedure =texte,
@@ -1162,6 +1164,14 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
         return ligne
 
 
+    #---------------------------#
+    def _newTELEMAC(self):
+    #---------------------------#
+        texte="INITIALIZATION();TIDE_PARAMETERS();INITIAL_STATE();NUMERICAL_PARAMETERS();PHYSICAL_PARAMETERS()"
+        return texte
+
+    #---------------------------#
+
     #---------------------------#
     def _newZCRACKS(self):
     #---------------------------#
index 126b2f9afd412b48a32cc25dd99e51e3332b3318..8f90b305adbdecc3f788c31ca4ed42897265ccb9 100644 (file)
@@ -38,6 +38,7 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel):
 
    def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
        #print "Feuille", monSimpDef,nom,objSimp
+       #print self
        QWidget.__init__(self,None)
        self.node=node
        self.node.fenetre=self
@@ -171,3 +172,17 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel):
       # if self.monSimpDef.get_sug() != None and self.monSimpDef.get_sug() != "": info+="Valeur suggérée : "self.monSimpDef.get_sug()
       pass
       #self.editor.affiche_infos(info)
+
+   def reaffiche(self):
+      print "dans reaffiche de feuille", self.nom
+      if self.editor.jdc.aReafficher==True :
+         print " j appelle le reaffiche de parentQt"
+         self.parentQt.reaffiche()
+         #PN PN PN pas satisfaisant
+         #nodeAVoir=self.parentQt.node.chercheNoeudCorrespondant(self.objSimp)
+         #print nodeAVoir.fenetre
+         #print "nodeAVoir.fenetre.isVisible()", nodeAVoir.fenetre.isVisible()
+         #if nodeAVoir.fenetre.isVisible() : return
+         #self.editor.fenetreCentraleAffichee.rendVisibleNoeud(nodeAVoir)
+         #nodeAVoir.fenetre.setFocus()
+
index 05378eb3cc7a32a9c8becc86c54474544c19ed5e..4d3285e15b4389d3a18731ed07eb8fe2af3a1f96 100644 (file)
@@ -102,6 +102,7 @@ class FacultatifOuOptionnel:
       self.RBValide.setIcon(icon)
 
   def rendVisible(self):
+      print "je passe par rendVisible de FacultatifOuOptionnel"
       self.editor.fenetreCentraleAffichee.scrollAreaCommandes.ensureWidgetVisible(self)
       self.setFocus()
 
index 1645b1d09a9800293b6165860c1e909cd3f2b8c3..3c13529305514054930638117c947bd1478329f2 100644 (file)
@@ -50,7 +50,6 @@ class GereListe:
 # ------------- #
 
    def __init__(self):
-       print "GereListe"
        self.connecterSignaux()
 
    def connecterSignaux(self):
index 13de52b58acae696b212dd260072d5213dd19381..94e953dc5cdef2a7ffdcf969cc812bb25cf36a86 100644 (file)
@@ -128,7 +128,7 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
 
 
   def reaffiche(self,nodeAVoir=None):
-      #print "dans reaffiche ________________________", nodeAVoir
+      print "dans reaffiche de groupe.py", nodeAVoir
       self.parentQt.reaffiche(nodeAVoir)
 
   def recalculeListeMC(self,listeMC):
@@ -167,15 +167,16 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
         if firstNode==None : firstNode=nouveau 
         if nouveau == None or nouveau == 0  : 
            self.editor.affiche_infos(str('insertion impossible a cet endroit pour '+nom),Qt.red)
+      print firstNode
+      print firstNode.fenetre
       self.reaffiche(firstNode)
-      
 
 
   def Plie(self):
       self.node.setPlie()
-      self.reaffiche() 
+      self.reaffiche(self.node
 
   def Deplie(self):
       self.node.setDeplie()
-      self.reaffiche() 
+      self.reaffiche(self.node
 
index db3145ed586468db1c878916754e8bd87e662976..20b93fef829572ea1f462f395af16647404abda8 100644 (file)
@@ -32,7 +32,7 @@ from desWidget4a6RadioButton  import Ui_Widget4a6RadioButton
 class MonWidget4a6RadioButton (Ui_Widget4a6RadioButton,MonWidgetRadioButtonCommun):
 
   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
-        #print "dans le init de MonWidget4a6RadioButton"
+        #print "dans le init de MonWidget4a6RadioButton",self
         MonWidgetRadioButtonCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
 
   def setMaxI(self):
index 02d87dd40363f1ded5b32eaa8fbdd6998e4d286d..3fb8f86e5516ac973f9cf11248bd67e9cf5eb745 100644 (file)
@@ -66,4 +66,4 @@ class MonWidgetCB (Ui_WidgetCB,Feuille):
   def ChoixSaisi(self):
       valeur=str(self.CBChoix.currentText().toLatin1())
       SaisieValeur.LEValeurPressed(self,valeur)
-      self.parentQt.reaffiche()
+      self.reaffiche()
index 6b8bd6914b603518bfe63e8d1f9f0fb8cb1a9674..a2555170d3f30c9e49a174e9a323157bd884cae1 100644 (file)
@@ -39,7 +39,9 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       #print "MonWidgetCommande ", self
       self.listeAffichageWidget=[]
       self.inhibe=0
+      self.ensure=0
       Groupe.__init__(self,node,editor,None,etape.definition,etape,1,self)
+      self.labelDoc.setText(QString(etape.definition.fr))
       if (etape.get_type_produit()==None): self.LENom.close()
       elif (hasattr (etape, 'sdnom')) and etape.sdnom != "sansnom" : self.LENom.setText(etape.sdnom) 
       else : self.LENom.setText("")
@@ -50,7 +52,6 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       self.commandesLayout.addStretch()
       self.commandesLayout.focusInEvent=self.focusInEvent
       self.scrollAreaCommandes.focusInEvent=self.focusInEvent
-      #self.RBValide.focusInEvent=FacultatifOuOptionnel.focusInEvent
       if self.editor.code in ['MAP','Adao','CARMELCND'] : self.bCatalogue.close()
       else : self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue)
       self.connect(self.LENom,SIGNAL("returnPressed()"),self.nomChange)
@@ -70,12 +71,14 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
         self.monOptionnel=MonWidgetOptionnel(self)
         self.editor.widgetOptionnel=self.monOptionnel
         self.editor.splitter.addWidget(self.monOptionnel)
+      print "dans init ", self.monOptionnel
       self.afficheOptionnel()
 
 
   def focusNextPrevChild(self, next):
       # on s assure que ce n est pas un chgt de fenetre
-      if self.editor.fenetreAffichee != self : return True
+      print "je passe dans focusNextPrevChild"
+      if self.editor.fenetreCentraleAffichee != self : return True
       try :
         i= self.listeAffichageWidget.index(self.focusWidget())
       except :
@@ -121,21 +124,47 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
   def afficheOptionnel(self):
       # N a pas de parentQt. doit donc etre redefini
       liste=self.ajouteMCOptionnelDesBlocs()
+      print "dans afficheOptionnel", self.monOptionnel
       self.monOptionnel.parentMC=self
       self.monOptionnel.affiche(liste)
 
   def focusInEvent(self,event):
-      #print "je mets a jour dans focusInEvent de monWidget Commande "
+      print "je mets a jour dans focusInEvent de monWidget Commande "
       if self.editor.code == "CARMELCND" : return #Pas de MC Optionnels pour Carmel
       self.afficheOptionnel()
 
 
   def reaffiche(self,nodeAVoir=None):
+      self.avantH=self.editor.fenetreCentraleAffichee.scrollAreaCommandes.horizontalScrollBar().sliderPosition()
+      self.avantV=self.editor.fenetreCentraleAffichee.scrollAreaCommandes.verticalScrollBar().sliderPosition()
       self.node.affichePanneau()
+      print "dans reaffiche de monWidgetCommande", self.avantH, self.avantV
+      QTimer.singleShot(1, self.recentre)
       if nodeAVoir != None:
-        f=nodeAVoir.fenetre
-        qApp.processEvents()
-        self.editor.fenetreCentraleAffichee.scrollAreaCommandes.ensureWidgetVisible(f)
+        self.f=nodeAVoir.fenetre
+        if self.f==None : 
+             newNode=nodeAVoir.treeParent.chercheNoeudCorrespondant(nodeAVoir.item.object)
+             self.f = newNode.fenetre 
+        print "dans reaffiche",self.f, nodeAVoir.item.nom
+        if self.f != None and self.f.isVisible() : return
+        if self.f != None : QTimer.singleShot(1, self.rendVisible)
+
+
+  def recentre(self):
+      qApp.processEvents()
+      s=self.editor.fenetreCentraleAffichee.scrollAreaCommandes
+      s.horizontalScrollBar().setSliderPosition(self.avantH)
+      s.verticalScrollBar().setSliderPosition(self.avantV)
+
+  def rendVisibleNoeud(self,node):
+      self.f=node.fenetre
+      print "dans rendVisibleNoeud",self.f, node.item.nom
+      QTimer.singleShot(1, self.rendVisible)
+     
+  def rendVisible(self):
+      qApp.processEvents()
+      self.f.setFocus()
+      self.editor.fenetreCentraleAffichee.scrollAreaCommandes.ensureWidgetVisible(self.f)
 
   def afficheCatalogue(self):
       if self.editor.code != "CARMELCND" : self.monOptionnel.hide()
index eaa6fce00a54f90651afa85d30ef4591a3c61d51..5ca0b75e4f6af0d341529eb6f0260be6c16a95de 100644 (file)
@@ -34,14 +34,14 @@ class monButtonCustom(QCheckBox):
       self.monOptionnel=monOptionnel
 
    def mouseDoubleClickEvent(self, event):
-      #print "dans mouseDoubleClickEvent"
+      print "dans mouseDoubleClickEvent"
       if self not in self.monOptionnel.dicoCb.keys() : return
       listeCheckedMC="+"+self.monOptionnel.dicoCb[self]
       self.monOptionnel.parentMC.ajoutMC(listeCheckedMC)
       self.setChecked(False)
 
    def mousePressEvent(self, event):
-      #print "dans mousePressEvent"
+      print "dans mousePressEvent"
       self.mousePressed=True
       if not( event.button() != Qt.RightButton)  : return
       QCheckBox.mousePressEvent(self, event)
@@ -51,7 +51,10 @@ class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel):
   """
   """
   def __init__(self,parentQt):
-     #print "dans init de monWidgetOptionnel ", parentQt, parentQt.node.item.nom
+     print "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"
+     print "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"
+     print "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"
+     print "dans init de monWidgetOptionnel ", parentQt, parentQt.node.item.nom
      QWidget.__init__(self,None)
      self.setupUi(self)
      self.dicoCb={}
@@ -66,6 +69,7 @@ class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel):
      
 
   def affiche(self,liste):
+     print "dans Optionnel ____ affiche", liste
      self.show()
      labeltext,fonte,couleur = self.parentMC.node.item.GetLabelText()
      l=labeltext
@@ -80,12 +84,14 @@ class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel):
      self.GeneaLabel.setText(tr("Options pour \n") +texte)
 
      for cb in self.dicoCb.keys():
+         #print 'je detruit', self.dicoCb[cb], cb
          cb.close()
+     #print self.commandesOptionnellesLayout.children()
      self.dicoCb={}
-     #print liste
      liste.reverse()
      for mot in liste :
          cb = monButtonCustom(QString(mot),self)
+         #print "j ajoute ", mot, cb
          self.dicoCb[cb]=mot
          self.commandesOptionnellesLayout.insertWidget(0,cb)
 
@@ -104,5 +110,6 @@ class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel):
      for cb in self.dicoCb.keys():
          if cb.isChecked() : maListe+="+"+str(cb.text())
      if maListe=="":return
+     print "dans Optionnel __ ajout de ", maListe
      self.parentMC.ajoutMC(maListe)
 
index da899ba1e6fe13f2957518428f69a42cb2cf2c20..9e0c8a128d769d6963c7be36a85494af62b827ae 100644 (file)
@@ -53,9 +53,12 @@ class MonWidgetParam(Ui_desWidgetParam,QDialog):
         if val == "" or None : return
         if nom == "" or None : return
         print self.editor.tree
-        if len(self.editor.tree.selectedItems()) == 0 : itemAvant=self.editor.tree.racine 
-        else :                                          itemAvant=self.editor.tree.selectedItems()[0]
-        param=itemAvant.addParameters(True)
+        if len(self.editor.tree.selectedItems()) == 0 : 
+           itemAvant=self.editor.tree.racine 
+           param=itemAvant.addParameters(True)
+        else :                                     
+           itemAvant=self.editor.tree.selectedItems()[0]
+           param=itemAvant.addParameters(False)
         param.item.set_nom(nom)
         param.item.set_valeur(val)
         param.update_node_texte()
index 8f12ce0eed81a1de4f950307a1ed2f27b6445062..e1e6c6ec4ba560724484a7b23e71dffb064320bf 100644 (file)
@@ -146,6 +146,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
            self.listeValeursCourantes=self.listeValeursCourantes+listeRetour
            if len(self.listeValeursCourantes) > self.monSimpDef.min :
               self.node.item.set_valeur(self.listeValeursCourantes)
+              self.reaffiche()
            return None
         else :
            return(comm2+" "+comm)
@@ -185,6 +186,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
       if len(self.listeValeursCourantes) < min : return
       self.node.item.set_valeur(self.listeValeursCourantes)
       self.setValide()
+      self.reaffiche()
 
           
 
index 5002a4a209aa23393956421a89055e4096b47061..08fd77f2893432cb381e923f45ba387151ec7924 100644 (file)
@@ -34,7 +34,7 @@ from gereListe              import GereListe
 class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
 
   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
-        #print "MonWidgetPlusieursInto", nom
+        print "MonWidgetPlusieursInto", nom, self
         self.index=1
         Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
         self.listeValeursCourantes=self.node.item.GetListeValeurs()
@@ -44,6 +44,12 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
 
   def setValeurs(self):
        self.listeValeursCourantes=self.node.item.GetListeValeurs()
+       #print "dans setValeurs"
+       #print self.node.item.definition.validators
+       #print self.monSimpDef.into
+       #if len(self.monSimpDef.into)*20 > 400 : self.setMinimumHeight(400)
+       #else : self.setMinimumHeight(len(self.monSimpDef.into)*30)
+       #self.adjustSize()
        if hasattr(self.node.item.definition.validators,'set_MCSimp'):
             obj=self.node.item.getObject()
             self.node.item.definition.validators.set_MCSimp(obj)
@@ -53,9 +59,14 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
                    if self.node.item.definition.validators.verif_item(item)==1:
                       liste.append(item)
                self.listeAAfficher=self.node.item.get_liste_possible(liste)
-               print self.listeAAfficher
+               #print self.listeAAfficher
+            else: 
+               self.listeAAfficher=self.node.item.get_liste_possible([])
        else :
                self.listeAAfficher=self.monSimpDef.into
+       if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400)
+       else : self.setMinimumHeight(len(self.listeAAfficher)*30)
+       self.adjustSize()
        self.vScrollBar = self.scrollArea.verticalScrollBar()
        self.politique=PolitiquePlusieurs(self.node,self.editor)
        self.indexListe=1
@@ -72,6 +83,7 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
        
 
   def ajoutCB(self,index,valeur=None):
+      print "ajoutCB ", index
       nomCB="lineEditVal"+str(index)
       if hasattr(self,nomCB) : 
          return
@@ -109,10 +121,10 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
         return str(commentaire)
 
   def ajout1Valeur(self,valeur=None):
-        print "________________"
-        print self
-        print self.node
-        print self.node.item
+        #print "________________"
+        #print self
+        #print self.node
+        #print self.node.item
         if valeur == None : return
         liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur))
         if validite == 0 : return
@@ -131,9 +143,11 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
         
 
 
-  def changeValeur(self,etat):
+  def changeValeur(self):
+      self.listeValeursCourantesAvant=self.listeValeursCourantes
       self.listeValeursCourantes = []
-      for i in range (1,len(self.monSimpDef.into)+1):
+      print "changeValeur ____________" , self.monSimpDef.into, len(self.monSimpDef.into)
+      for i in range (1,len(self.listeAAfficher)+1):
           nomLineEdit="lineEditVal"+str(i)
           courant=getattr(self,nomLineEdit)
           if not (courant.isChecked()):continue
@@ -143,18 +157,17 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
              if (commentaire != None ):
                  self.editor.affiche_infos(commentaire,Qt.red)
                  courant.setText("")
-      if self.listeValeursCourantes == [] : 
-         self.setValide()
-         return
       min,max = self.node.item.GetMinMax()
-      print (self.listeValeursCourantes),min
+      print 'kkkkkkkkkkkkkkkkk', (self.listeValeursCourantes),min,max
       if len(self.listeValeursCourantes) < min : 
-                 self.editor.affiche_infos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red)
+         print "je passe dans le if 1"
+         self.editor.affiche_infos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red)
       elif len(self.listeValeursCourantes) > max : 
-                 self.editor.affiche_infos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
+         self.editor.affiche_infos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
+      else :
+         self.editor.affiche_infos(tr(""))
       self.node.item.set_valeur(self.listeValeursCourantes)
       self.setValide()
+      self.reaffiche()
 
-          
 
-# Avertissement quand on quitte le widget
index 82a1558371d359768af85273f2eb1c18233cfc1f..9ce02e07b60c8ef0908e455f5a3ccdbdfada39b8 100644 (file)
@@ -79,9 +79,9 @@ class MonWidgetRadioButtonCommun (Feuille):
   def boutonclic(self):
       for valeur in self.dict_bouton.keys():
           if self.dict_bouton[valeur].isChecked():
-             print "dans boutonclic is checked", valeur, type(valeur)
+             #print "dans boutonclic is checked", valeur, type(valeur)
              SaisieValeur.LEValeurPressed(self,valeur)
-      self.parentQt.reaffiche()
+      self.reaffiche()
 
 
   def keyPressEvent(self, event):
@@ -102,10 +102,7 @@ class MonWidgetRadioButtonCommun (Feuille):
       aLeFocus=self.focusWidget()
       nom=aLeFocus.objectName()[12:]
       i=nom.toInt()[0]-1
-      print i
       if i == 0 : i= len(self.monSimpDef.into)  
-      print i
-      print "_______"
       nomBouton="radioButton_"+str(i)
       courant=getattr(self,nomBouton)
       courant.setFocus(True)
@@ -113,6 +110,7 @@ class MonWidgetRadioButtonCommun (Feuille):
 
 class MonWidgetRadioButton (Ui_WidgetRadioButton,MonWidgetRadioButtonCommun):
   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
+        #print "MonWidgetRadioButton ", self
         MonWidgetRadioButtonCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
         
   def setMaxI(self):
index 0cbb381bdbbee8d4f82ff77ed3cd7ff1846229d5..278b8e1a8938494187d0c9b7147d807ef632c603 100644 (file)
@@ -50,7 +50,9 @@ class MonWidgetSimpBool (Ui_WidgetSimpBool,Feuille):
 
   def boutonTrueClic(self):
       SaisieValeur.LEValeurPressed(self,True)
+      self.reaffiche()
 
   def boutonFalseClic(self):
       SaisieValeur.LEValeurPressed(self,False)
+      self.reaffiche()
 
index fe7c54b8ef8c6d5bf8299ed437e76f954f8e850a..64ccda81f6aa5b65f6936e28f3c48dde10faa9ef 100644 (file)
@@ -142,6 +142,7 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille):
               return
           valeur=  self.getValeurComp()
       self.politique.RecordValeur(valeur)
+      self.reaffiche()
       self.parentQt.donneFocus()
 
   def getValeurRI(self):
index b740289ae94eae926ffb4487485416dc6bbed0d6..40231104be463cbf2b8ca996ca035eec5143756f 100644 (file)
@@ -34,9 +34,5 @@ class MonWidgetSimpTxt (Ui_WidgetSimpTxt,MonWidgetSimpBase):
 
   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
         MonWidgetSimpBase.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
-        # deja fait dans MonWidgetSimpBase
-        #self.maCommande.listeAffichageWidget.append(self.lineEditVal)
-        print self.lineEditVal
-
 
 
index 21ee63457776799079a48e4dbd93d34bf23680c8..9858af0b5637ecde4359c6fd431a6f1310e7b0a2 100644 (file)
@@ -59,13 +59,13 @@ class SIMP(N_ENTITE.ENTITE):
             - defaut : valeur par défaut
             - min : nombre minimal de valeurs
             - max : nombre maximal de valeurs
-            - homo : ?
+            - homo : homogene (toutes les valeurs d une liste sont de meme type)
             - ang : doc
             - position : si global, le mot-clé peut-être lu n'importe où dans la commande
             - val_min : valeur minimale autorisée
             - val_max : valeur maximale autorisée
             - docu : ?
-            - sug : ?
+            - sug : suggere
         """
         N_ENTITE.ENTITE.__init__(self, validators)
         # Initialisation des attributs
index caa8e99ff3e5ccd80fc8362c5511620f4c789096..741887a87eff9dc61d6569fe979f1ce1ffb137e6 100644 (file)
@@ -162,7 +162,7 @@ class TypeProtocol(PProtocol):
                     return obj
                 else:
                     raise ValError(
-                        ufmt(_tr((u"%s n'est pas un fichier valide")), repr(obj)))
+                        ufmt(_(tr(u"%s n'est pas un fichier valide")), repr(obj)))
             elif type_permis == 'FichierNoAbs':
                 import os
                 if (len(typ) > 2 and typ[2] == "Sauvegarde") or isinstance(obj, type("")):
index 9dcbe35a027e2cefbe3d2362bf882106bd6bcea3..1269626c5662b38ddb174d2ff3ff6a991e7d6950 100644 (file)
@@ -1,4 +1,5 @@
 # coding: utf-8
+# PNPNPNPN
 
 from Accas import *
 class DateJJMMAAAA:
index 6927e614c395f8f7f66fb1596eae705d7dff0a70..2fcf0fbb2fbca5fe522da0ffea689b172d8743ad 100644 (file)
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>951</width>
-    <height>104</height>
+    <height>101</height>
    </rect>
   </property>
   <property name="sizePolicy">
   <property name="windowTitle">
    <string>Form</string>
   </property>
-  <layout class="QHBoxLayout" name="horizontalLayout_5">
+  <layout class="QHBoxLayout" name="horizontalLayout_3">
    <property name="spacing">
     <number>0</number>
    </property>
-   <property name="leftMargin">
+   <property name="margin">
     <number>0</number>
    </property>
-   <property name="topMargin">
-    <number>2</number>
-   </property>
-   <property name="rightMargin">
-    <number>0</number>
-   </property>
-   <property name="bottomMargin">
-    <number>2</number>
-   </property>
    <item>
     <layout class="QVBoxLayout" name="verticalLayout_3">
      <item>
     </layout>
    </item>
    <item>
-    <layout class="QVBoxLayout" name="verticalLayout">
-     <property name="spacing">
-      <number>0</number>
-     </property>
-     <item>
-      <layout class="QHBoxLayout" name="horizontalLayout_3">
-       <item>
-        <widget class="QRadioButton" name="radioButton_1">
-         <property name="text">
-          <string>RadioButton</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QRadioButton" name="radioButton_2">
-         <property name="text">
-          <string>RadioButton</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QRadioButton" name="radioButton_3">
-         <property name="text">
-          <string>RadioButton</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
+    <layout class="QGridLayout" name="gridLayout">
+     <item row="0" column="0">
+      <widget class="QRadioButton" name="radioButton_1">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>RadioButton</string>
+       </property>
+      </widget>
      </item>
-     <item>
-      <layout class="QHBoxLayout" name="horizontalLayout_4">
-       <item>
-        <widget class="QRadioButton" name="radioButton_4">
-         <property name="text">
-          <string>RadioButton</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QRadioButton" name="radioButton_5">
-         <property name="text">
-          <string>RadioButton</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QRadioButton" name="radioButton_6">
-         <property name="text">
-          <string>RadioButton</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
+     <item row="0" column="1">
+      <widget class="QRadioButton" name="radioButton_2">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>RadioButton</string>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="2">
+      <widget class="QRadioButton" name="radioButton_3">
+       <property name="text">
+        <string>RadioButton</string>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="0">
+      <widget class="QRadioButton" name="radioButton_4">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>RadioButton</string>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1">
+      <widget class="QRadioButton" name="radioButton_5">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>RadioButton</string>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="2">
+      <widget class="QRadioButton" name="radioButton_6">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>RadioButton</string>
+       </property>
+      </widget>
      </item>
     </layout>
    </item>
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Maximum</enum>
+       </property>
        <property name="sizeHint" stdset="0">
         <size>
-         <width>163</width>
+         <width>10</width>
          <height>20</height>
         </size>
        </property>
     </layout>
    </item>
   </layout>
+  <zorder>RBPoubelle</zorder>
  </widget>
  <customwidgets>
   <customwidget>
index acddf9324b360615f737be723534929c2e82f26f..82f4039ab6f68c6ea5b8835044899e87d5be2e71 100644 (file)
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>1031</width>
-    <height>203</height>
+    <height>251</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -486,6 +486,13 @@ border-radius : 12px
      </item>
     </layout>
    </item>
+   <item>
+    <widget class="QLabel" name="labelDoc">
+     <property name="text">
+      <string>TextLabel</string>
+     </property>
+    </widget>
+   </item>
    <item>
     <widget class="QScrollArea" name="scrollAreaCommandes">
      <property name="minimumSize">
@@ -506,6 +513,9 @@ border-radius : 12px
      <property name="verticalScrollBarPolicy">
       <enum>Qt::ScrollBarAsNeeded</enum>
      </property>
+     <property name="horizontalScrollBarPolicy">
+      <enum>Qt::ScrollBarAsNeeded</enum>
+     </property>
      <property name="widgetResizable">
       <bool>true</bool>
      </property>
@@ -515,7 +525,7 @@ border-radius : 12px
         <x>0</x>
         <y>0</y>
         <width>1013</width>
-        <height>117</height>
+        <height>135</height>
        </rect>
       </property>
       <layout class="QVBoxLayout" name="verticalLayout">
index 84c7f93f2d0b42da9843101f1cf3a5bd3ca7bea1..ad5a8f853ff24256d8f642eec31455703effe386 100644 (file)
@@ -34,7 +34,7 @@
         <x>0</x>
         <y>0</y>
         <width>710</width>
-        <height>291</height>
+        <height>349</height>
        </rect>
       </property>
       <property name="sizePolicy">
@@ -87,92 +87,18 @@ background-color: rgb(247,247,247);
      </widget>
     </widget>
    </item>
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout_3">
-     <item>
-      <spacer name="horizontalSpacer_3">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>40</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QRadioButton" name="RBTous">
-       <property name="text">
-        <string>Tous les paramètres</string>
-       </property>
-       <property name="checked">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer name="horizontalSpacer_2">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>40</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <layout class="QHBoxLayout" name="horizontalLayout">
-       <property name="spacing">
-        <number>0</number>
-       </property>
-       <item>
-        <widget class="QRadioButton" name="RBFiltre">
-         <property name="text">
-          <string>Paramètre du type de </string>
-         </property>
-         <property name="checked">
-          <bool>false</bool>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QLabel" name="label">
-         <property name="text">
-          <string>mon mot</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <spacer name="horizontalSpacer_4">
-         <property name="orientation">
-          <enum>Qt::Horizontal</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>40</width>
-           <height>20</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-      </layout>
-     </item>
-    </layout>
-   </item>
    <item>
     <spacer name="verticalSpacer">
      <property name="orientation">
       <enum>Qt::Vertical</enum>
      </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::Fixed</enum>
+     </property>
      <property name="sizeHint" stdset="0">
       <size>
        <width>20</width>
-       <height>36</height>
+       <height>20</height>
       </size>
      </property>
     </spacer>
index dee582f9d94685ecd20e0c5821494307fd579f81..d6db9bda271db9353e500169a0991ac6bd06f594 100644 (file)
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>826</width>
-    <height>235</height>
+    <height>83</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -19,7 +19,7 @@
   <property name="minimumSize">
    <size>
     <width>0</width>
-    <height>180</height>
+    <height>60</height>
    </size>
   </property>
   <property name="windowTitle">
    </property>
    <item>
     <layout class="QVBoxLayout" name="verticalLayout_3">
+     <property name="spacing">
+      <number>0</number>
+     </property>
      <item>
       <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <property name="spacing">
+        <number>0</number>
+       </property>
        <item>
         <layout class="QHBoxLayout" name="horizontalLayout">
          <property name="spacing">
            </property>
           </widget>
          </item>
-         <item>
-          <widget class="QToolButton" name="RBPoubelle">
-           <property name="minimumSize">
-            <size>
-             <width>21</width>
-             <height>31</height>
-            </size>
-           </property>
-           <property name="maximumSize">
-            <size>
-             <width>21</width>
-             <height>31</height>
-            </size>
-           </property>
-           <property name="styleSheet">
-            <string notr="true">border : 0px</string>
-           </property>
-           <property name="text">
-            <string>...</string>
-           </property>
-           <property name="icon">
-            <iconset>
-             <normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/deleteRond.png</normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/deleteRond.png</iconset>
-           </property>
-           <property name="iconSize">
-            <size>
-             <width>32</width>
-             <height>32</height>
-            </size>
-           </property>
-          </widget>
-         </item>
         </layout>
        </item>
        <item>
        <rect>
         <x>0</x>
         <y>0</y>
-        <width>381</width>
-        <height>235</height>
+        <width>435</width>
+        <height>83</height>
        </rect>
       </property>
       <property name="sizePolicy">
        </sizepolicy>
       </property>
       <layout class="QVBoxLayout" name="CBLayout">
-       <item>
-        <spacer name="verticalSpacer_3">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>40</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="margin">
+        <number>0</number>
+       </property>
       </layout>
      </widget>
     </widget>
      </property>
      <property name="sizeHint" stdset="0">
       <size>
-       <width>150</width>
+       <width>20</width>
        <height>17</height>
       </size>
      </property>
     </spacer>
    </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <widget class="QToolButton" name="RBPoubelle">
+       <property name="minimumSize">
+        <size>
+         <width>21</width>
+         <height>31</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>21</width>
+         <height>31</height>
+        </size>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/deleteRond.png</normaloff>../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/deleteRond.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>32</width>
+         <height>32</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>40</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
   </layout>
   <zorder>horizontalSpacer</zorder>
   <zorder></zorder>
index 588a7c50616b5945147ef747f552435b115778cf..5b88c9ffc143c1896609e86b741ffe06552faad9 100644 (file)
@@ -160,7 +160,7 @@ border:0px;</string>
      </property>
      <property name="sizeHint" stdset="0">
       <size>
-       <width>70</width>
+       <width>71</width>
        <height>20</height>
       </size>
      </property>
index dbcf0bec7aa64a055d5d33a11a715d013c71f35f..49747ffb2b63305c354763458b250590534d6c72 100644 (file)
@@ -166,7 +166,7 @@ border:0px;</string>
      </property>
      <property name="sizeHint" stdset="0">
       <size>
-       <width>200</width>
+       <width>79</width>
        <height>17</height>
       </size>
      </property>
index 186c99bd15633916407bc9b759bd942e8b1e41da..35c86347b25b3117e7e012f52b2e3c037fcf5ecf 100644 (file)
@@ -10,7 +10,7 @@ PY_FILES = desSelectVal.py desViewTexte.py  desChoixCommandes.py desWidgetComman
         desWidgetSimpBool.py desWidgetSimpComplexe.py desWidgetSimpTuple.py myMain.py \
         desChoixCata.py desWidgetPlusieursInto.py desBaseWidget.py desWidgetOptionnel.py \
         desWidgetSimpFichier.py desWidgetSimpTxt.py desRecherche.py desWidgetCommentaire.py\
-       desWidgetTuple2.py desWidgetTuple3.py desWidgetParam.py
+       desWidgetTuple2.py desWidgetTuple3.py desWidgetParam.py desWidgetHeure.py desWidgetDate.py
 
 QM_FILES=eficas_en.qm 
 
diff --git a/generator/generator_dicoImbrique.py b/generator/generator_dicoImbrique.py
new file mode 100644 (file)
index 0000000..010eb18
--- /dev/null
@@ -0,0 +1,96 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2013   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
+#
+"""Ce module contient le plugin generateur de fichier au format  Code_Carmel3D pour EFICAS.
+"""
+
+import traceback
+import types,string,re,os
+from Extensions.i18n import tr
+from generator_python import PythonGenerator
+
+def entryPoint():
+   """
+      Retourne les informations necessaires pour le chargeur de plugins
+      Ces informations sont retournees dans un dictionnaire
+   """
+   return {
+        # Le nom du plugin
+          'name' : 'dicoImbrique',
+        # La factory pour creer une instance du plugin
+          'factory' : DicoImbriqueGenerator,
+          }
+
+
+class DicoImbriqueGenerator(PythonGenerator):
+   """
+      Ce generateur parcourt un objet de type JDC et produit
+      un texte au format eficas et 
+      un texte au format dictionnaire
+
+   """
+   # Les extensions de fichier permis?
+   extensions=('.comm',)
+
+#----------------------------------------------------------------------------------------
+   def gener(self,obj,format='brut',config=None):
+       
+      self.initDico()
+      
+      # Cette instruction genere le contenu du fichier de commandes (persistance)
+      self.text=PythonGenerator.gener(self,obj,format)
+      return self.text
+
+
+#----------------------------------------------------------------------------------------
+# initialisations
+#----------------------------------------------------------------------------------------
+   
+   def initDico(self) :
+      self.Dico={}
+
+
+#----------------------------------------------------------------------------------------
+# ecriture
+#----------------------------------------------------------------------------------------
+
+   def writeDefault(self,fn) :
+       print "je passe par writeDefault"
+       fileDico = fn[:fn.rfind(".")] + '.py'
+       f = open( str(fileDico), 'wb')
+       f.write( str(self.Dico) )
+       f.close()
+
+#----------------------------------------------------------------------------------------
+#  analyse de chaque noeud de l'arbre 
+#----------------------------------------------------------------------------------------
+
+   def generMCSIMP(self,obj) :
+        """recuperation de l objet MCSIMP"""
+        s=PythonGenerator.generMCSIMP(self,obj)
+        liste=obj.get_genealogie() 
+        dicoCourant=self.Dico
+        for i in liste [0:-1]:
+            if not(dicoCourant.has_key(i)) : dicoCourant[i]={}
+            dicoCourant=dicoCourant[i] 
+        dicoCourant[liste[-1]]=obj.valeur
+        return s
+
+