]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
*** empty log message ***
authorPascale Noyret <pascale.noyret@edf.fr>
Mon, 2 Jun 2008 14:15:13 +0000 (14:15 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Mon, 2 Jun 2008 14:15:13 +0000 (14:15 +0000)
89 files changed:
InterfaceQT/monOptionsEditeur.py
InterfaceQT4/monOptionsEditeur.py
InterfaceQT4/monOptionsPdf.py [new file with mode: 0644]
InterfaceQT4/monParamPanel.py [new file with mode: 0644]
InterfaceQT4/monPlusieursASSDPanel.py [new file with mode: 0644]
InterfaceQT4/monPlusieursBasePanel.py [new file with mode: 0644]
InterfaceQT4/monPlusieursIntoPanel.py [new file with mode: 0644]
InterfaceQT4/monPoursuitePanel.py [new file with mode: 0644]
InterfaceQT4/monRacinePanel.py [new file with mode: 0644]
InterfaceQT4/monSelectVal.py [new file with mode: 0644]
InterfaceQT4/monUniqueASSDPanel.py [new file with mode: 0644]
InterfaceQT4/monUniqueBasePanel.py [new file with mode: 0644]
InterfaceQT4/monUniqueCompPanel.py [new file with mode: 0644]
InterfaceQT4/monUniqueIntoPanel.py [new file with mode: 0644]
InterfaceQT4/monUniqueSDCOIntoPanel.py [new file with mode: 0644]
InterfaceQT4/monUniqueSDCOPanel.py [new file with mode: 0644]
InterfaceQT4/panelsQT.py [new file with mode: 0644]
InterfaceQT4/politiquesValidation.py [new file with mode: 0644]
InterfaceQT4/prefsQT.py [new file with mode: 0644]
InterfaceQT4/qtCommun.py [new file with mode: 0644]
InterfaceQT4/qtEficas.py [new file with mode: 0644]
InterfaceQT4/qtSaisie.py [new file with mode: 0644]
InterfaceQT4/readercata.py [new file with mode: 0644]
InterfaceQT4/typeNode.py [new file with mode: 0644]
InterfaceQT4/utilIcons.py [new file with mode: 0644]
InterfaceQT4/viewManager.py [new file with mode: 0644]
UiQT4/OptionsEditeur.py [new file with mode: 0644]
UiQT4/OptionsEditeur.ui [new file with mode: 0644]
UiQT4/OptionsEditeur.ui~ [new file with mode: 0644]
UiQT4/OptionsPdf.py [new file with mode: 0644]
UiQT4/OptionsPdf.ui [new file with mode: 0644]
UiQT4/aideQT.py [new file with mode: 0644]
UiQT4/aideQT.ui [new file with mode: 0644]
UiQT4/desChoixCata.py [new file with mode: 0644]
UiQT4/desChoixCata.ui [new file with mode: 0644]
UiQT4/desCommande.py [new file with mode: 0644]
UiQT4/desCommande.ui [new file with mode: 0644]
UiQT4/desCommentaire.py [new file with mode: 0644]
UiQT4/desCommentaire.ui [new file with mode: 0644]
UiQT4/desError.py [new file with mode: 0644]
UiQT4/desError.ui [new file with mode: 0644]
UiQT4/desFormule.py [new file with mode: 0644]
UiQT4/desFormule.ui [new file with mode: 0644]
UiQT4/desInactif.py [new file with mode: 0644]
UiQT4/desInactif.ui [new file with mode: 0644]
UiQT4/desInclude.py [new file with mode: 0644]
UiQT4/desInclude.ui [new file with mode: 0644]
UiQT4/desListeParam.py [new file with mode: 0644]
UiQT4/desListeParam.ui [new file with mode: 0644]
UiQT4/desMCFact.py [new file with mode: 0644]
UiQT4/desMCFact.ui [new file with mode: 0644]
UiQT4/desMCListAjout.py [new file with mode: 0644]
UiQT4/desMCListAjout.ui [new file with mode: 0644]
UiQT4/desMacro.py [new file with mode: 0644]
UiQT4/desMacro.ui [new file with mode: 0644]
UiQT4/desParam.py [new file with mode: 0644]
UiQT4/desParam.ui [new file with mode: 0644]
UiQT4/desPlusieursBase.py [new file with mode: 0644]
UiQT4/desPlusieursBase.ui [new file with mode: 0644]
UiQT4/desPlusieursInto.py [new file with mode: 0644]
UiQT4/desPlusieursInto.ui [new file with mode: 0644]
UiQT4/desPoursuite.py [new file with mode: 0644]
UiQT4/desPoursuite.ui [new file with mode: 0644]
UiQT4/desRacine.py [new file with mode: 0644]
UiQT4/desRacine.ui [new file with mode: 0644]
UiQT4/desRacine.ui~ [new file with mode: 0644]
UiQT4/desSelectVal.py [new file with mode: 0644]
UiQT4/desSelectVal.ui [new file with mode: 0644]
UiQT4/desUniqueASSD.py [new file with mode: 0644]
UiQT4/desUniqueASSD.ui [new file with mode: 0644]
UiQT4/desUniqueBase.py [new file with mode: 0644]
UiQT4/desUniqueBase.ui [new file with mode: 0644]
UiQT4/desUniqueComp.py [new file with mode: 0644]
UiQT4/desUniqueComp.ui [new file with mode: 0644]
UiQT4/desUniqueInto.py [new file with mode: 0644]
UiQT4/desUniqueInto.ui [new file with mode: 0644]
UiQT4/desUniqueSDCO.py [new file with mode: 0644]
UiQT4/desUniqueSDCO.ui [new file with mode: 0644]
UiQT4/desUniqueSDCOInto.py [new file with mode: 0644]
UiQT4/desUniqueSDCOInto.ui [new file with mode: 0644]
UiQT4/desVisu.py [new file with mode: 0644]
UiQT4/desVisu.ui [new file with mode: 0644]
UiQT4/image120.gif [new file with mode: 0644]
UiQT4/image120.png [new file with mode: 0644]
UiQT4/image240.gif [new file with mode: 0644]
UiQT4/makefile [new file with mode: 0644]
UiQT4/myMain.py [new file with mode: 0644]
UiQT4/myMain.ui [new file with mode: 0644]
UiQT4/myMain.ui~ [new file with mode: 0644]

index 7432ae372b6b861e601429f3bd040799bae12c0e..89c4510c3da29d7e3ffb35b7da3bb4747c022a5f 100644 (file)
@@ -140,6 +140,6 @@ class Options(desOptions):
        self.initAll()
 
    def ChangePathDoc(self):
-       self.configuration.path_doc=str(self.LERepDoc.currentText())
+       self.configuration.path_doc=str(self.LERepDoc.text())
        self.configuration.save_params()
 
index 7432ae372b6b861e601429f3bd040799bae12c0e..89c4510c3da29d7e3ffb35b7da3bb4747c022a5f 100644 (file)
@@ -140,6 +140,6 @@ class Options(desOptions):
        self.initAll()
 
    def ChangePathDoc(self):
-       self.configuration.path_doc=str(self.LERepDoc.currentText())
+       self.configuration.path_doc=str(self.LERepDoc.text())
        self.configuration.save_params()
 
diff --git a/InterfaceQT4/monOptionsPdf.py b/InterfaceQT4/monOptionsPdf.py
new file mode 100644 (file)
index 0000000..a7c81d2
--- /dev/null
@@ -0,0 +1,22 @@
+from OptionsPdf import desPdf
+
+class OptionPdf(desPdf):
+   def __init__(self,parent = None,name = None,modal = 0,fl = 0,configuration=None):
+       desPdf.__init__(self,parent,name,modal,fl)
+       self.configuration=configuration
+       self.initVal()
+
+   def initVal(self):
+       if hasattr(self.configuration,'exec_acrobat'):
+          self.LERepPdf.setText(self.configuration.exec_acrobat)
+       else :
+          self.LERepPdf.clear()
+   
+   def LeRepPdfPressed(self):
+       nouveau=str(self.LERepPdf.text())
+       self.configuration.exec_acrobat=nouveau
+       self.configuration.save_params()
+
+   def BokClicked(self):
+       self.LeRepPdfPressed()
+       self.close()
diff --git a/InterfaceQT4/monParamPanel.py b/InterfaceQT4/monParamPanel.py
new file mode 100644 (file)
index 0000000..84472fc
--- /dev/null
@@ -0,0 +1,138 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+import string,types,os,re
+
+# Modules Eficas
+import prefs 
+
+from qt import *
+
+from desParam import DParam
+from qtCommun import QTPanel
+from qtCommun import QTPanelTBW2
+
+# Import des panels
+
+class MonParamPanel(DParam,QTPanelTBW2,QTPanel):
+  """
+  Classe définissant le panel associé aux mots-clés qui demandent
+  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discrètes
+  """
+  def __init__(self,node, parent = None,name = None,fl = 0):
+        DParam.__init__(self,parent,name,fl)
+        QTPanel.__init__(self,node,parent)
+        QTPanelTBW2.__init__(self,node,parent)
+        self.InitLEs()
+
+  def InitLEs(self):
+        nom=self.node.item.get_nom()
+        self.lineEditNom.setText(nom)
+        valeur=self.node.item.get_valeur()
+        if valeur != None:
+           #str=QString("").setNum(valeur)
+           self.lineEditVal.setText(str(valeur))
+        else :
+           self.lineEditVal.clear()
+
+  def BOkParamPressed(self):
+        val=self.LEValeurPressed() 
+        nom=self.LENomPressed()
+        if not nom :
+           commentaire="Entrer un nom de parametre"
+           self.Commentaire.setText(QString(commentaire))
+           self.editor.affiche_infos(commentaire)
+           return
+        self.node.item.set_nom(nom)
+        self.node.item.set_valeur(val)
+        self.node.update_texte()
+        self.node.update_valid()
+        self.editor.init_modif()
+        self.InitLEs()
+
+  def BSupPressed(self):
+        QTPanel.BSupPressed(self)
+
+  def LEValeurPressed(self):
+        self.Commentaire.setText(QString(""))
+        commentaire="Valeur incorrecte"
+        qtVal=self.lineEditVal.text()
+        boul=2
+        try :
+            val,boul=QString.toInt(qtVal)
+        except :
+            pass
+        if boul == 0 :
+            try :
+                val,boul=QString.toDouble(qtVal)
+            except :
+                pass
+        if boul == 0 :
+            try :
+                val=str(qtVal)
+                boul=1
+            except :
+                pass
+        if boul: commentaire="Valeur correcte"
+        self.Commentaire.setText(QString(commentaire))
+        valString=str(self.lineEditVal.text())
+        return valString
+
+  def LENomPressed(self):
+        self.Commentaire.setText(QString(""))
+        qtNom=self.lineEditNom.text()
+        nom=str(qtNom)
+        numDebutPattern=re.compile('[a-zA-Z]')
+        if numDebutPattern.match(nom) :
+           return nom
+        else :
+           commentaire="Les noms de parametre doivent commencer par une lettre"
+           self.Commentaire.setText(QString(commentaire))
+           self.editor.affiche_infos(commentaire)
+           return None
+
+  def BuildTabCommand(self):
+      QTPanelTBW2.BuildLBNouvCommande(self)
+
+  def LEFiltreTextChanged(self):
+      QTPanelTBW2.LEFiltreTextChanged(self)
+
+  def LEfiltreReturnPressed(self):
+      QTPanelTBW2.LEfiltreReturnPressed(self)
+
+  def LBNouvCommandeClicked(self):
+      QTPanelTBW2.LBNouvCommandeClicked(self)
+
+  def AppelleBuildLBRegles(self):
+      listeRegles=self.node.item.get_regles()
+      listeNomsEtapes = self.node.item.get_l_noms_etapes()
+      self.BuildLBRegles(listeRegles,listeNomsEtapes)
+
+  def BNextPressed(self) :
+      QTPanelTBW2.BNextPressed(self)
+
+  def BOkPressed(self):
+      QTPanel.BOkPressed(self)
+
+  def ViewDoc(self):
+      QTPanel.ViewDoc(self)
+
diff --git a/InterfaceQT4/monPlusieursASSDPanel.py b/InterfaceQT4/monPlusieursASSDPanel.py
new file mode 100644 (file)
index 0000000..5cc6b30
--- /dev/null
@@ -0,0 +1,118 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+import string,types,os
+
+# Modules Eficas
+import prefs 
+
+from qt import *
+from monPlusieursIntoPanel import MonPlusieursIntoPanel
+from desPlusieursInto      import DPlusInto
+from qtCommun              import QTPanel
+from politiquesValidation  import PolitiquePlusieurs
+# Import des panels
+
+class MonPlusieursASSDPanel(MonPlusieursIntoPanel):
+  """
+  Classe définissant le panel associé aux mots-clés qui demandent
+  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discrètes
+  """
+  def __init__(self,node, parent = None,name = None,fl = 0):
+        QTPanel.__init__(self,node,parent)
+        DPlusInto.__init__(self,parent,name,fl)
+
+        self.listeValeursCourantes=self.node.item.GetListeValeurs()
+        self.InitValeursCourantes()
+        self.DisplayListBoxCourantes()
+        self.DisplayListBoxPossibles()
+
+        self.politique=PolitiquePlusieurs(node,parent)
+        #QObject.connect(self.listBoxVal, SIGNAL("doubleClicked(QListBoxItem*)" ), self.Ajout1Valeur )
+        #    QObject.connect(self.listBoxVal, SIGNAL("doubleClicked(QListBoxItem*)" ), self.ClicASSD )
+
+  def DisplayListBoxPossibles(self):
+        listeNomsSD = self.node.item.get_sd_avant_du_bon_type()
+        self.listBoxVal.clear()
+        for aSD in listeNomsSD:
+            self.listBoxVal.insertItem( aSD)
+        if len(listeNomsSD) == 1 :
+            self.listBoxVal.setSelected(0,1)
+
+  def DisplayListBoxCourantes(self):
+        self.LBValeurs.clear()
+        for aSD in self.listNomsValeurs :
+            self.LBValeurs.insertItem( aSD)
+
+  def InitValeursCourantes(self):
+        self.listNomsValeurs=[]
+        for i in self.listeValeursCourantes :
+              self.listNomsValeurs.append(i.get_name())
+
+  def BOkPourListePressed(self):
+        if self.listeValeursCourantes == [] :
+          self.editor.affiche_infos("Pas de Validation d un groupe vide")
+           return
+        self.node.item.set_valeur(self.listeValeursCourantes)
+       self.editor.affiche_infos("Valeur Acceptée")
+       pass
+
+  def BSupPressed(self):
+        QTPanel.BSupPressed(self)
+
+  def Sup1Valeur(self):
+        index=self.LBValeurs.currentItem()
+        self.LBValeurs.removeItem(self.LBValeurs.currentItem())
+        listeVal=[]
+        i=0
+        for valeur in self.listeValeursCourantes :
+                if i != index : listeVal.append(valeur)
+                i = i+1
+        self.listeValeursCourantes=listeVal
+        self.InitValeursCourantes()
+        self.DisplayListBoxCourantes()
+        self.DisplayListBoxPossibles()
+          
+  def Ajout1Valeur(self):
+        liste=[]
+        if self.listBoxVal.currentText().latin1() == None : return
+        liste.append(self.listBoxVal.currentText().latin1())
+        index=self.LBValeurs.currentItem() + 1
+        if index==0 : index = -1
+        listeVal=[]
+        for valeur in self.listeValeursCourantes :
+                valeurSD,validite=self.node.item.eval_valeur(valeur)
+                if validite : listeVal.append(valeur)
+        validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(liste,index,listeVal) 
+       self.Commentaire.setText(comm2)
+        if not validite :
+               self.editor.affiche_infos(comm)
+        else:
+           l1=self.listeValeursCourantes[:index]
+           l3=self.listeValeursCourantes[index:]
+           for valeur in listeRetour:
+               self.LBValeurs.insertItem(QString(str(valeur)),index)
+               index=index+1
+           self.listeValeursCourantes=l1+listeRetour+l3
+           self.InitValeursCourantes()
+           self.DisplayListBoxCourantes()
+           self.DisplayListBoxPossibles()
diff --git a/InterfaceQT4/monPlusieursBasePanel.py b/InterfaceQT4/monPlusieursBasePanel.py
new file mode 100644 (file)
index 0000000..6f21db5
--- /dev/null
@@ -0,0 +1,176 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+import string,types,os
+
+# Modules Eficas
+import prefs
+
+from qt import *
+
+from desPlusieursBase import DPlusBase
+from qtCommun      import QTPanel
+from qtSaisie      import SaisieValeur
+from politiquesValidation import PolitiquePlusieurs
+
+# Import des panels
+
+class MonPlusieursBasePanel(DPlusBase,QTPanel,SaisieValeur):
+  """
+  Classe définissant le panel associé aux mots-clés qui demandent
+  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discrètes
+  """
+  def __init__(self,node, parent = None,name = None,fl = 0):
+        QTPanel.__init__(self,node,parent)
+        DPlusBase.__init__(self,parent,name,fl)
+        self.politique=PolitiquePlusieurs(node,parent)
+        self.BuildLBValeurs()
+        self.listeValeursCourantes=self.node.item.GetListeValeurs()
+        self.InitCommentaire()
+        self.detruitBouton()
+
+  def detruitBouton(self):
+        mc = self.node.item.get_definition()
+        type = mc.type[0]
+        print self.editor.salome
+        if not('grma' in repr(type)) or not(self.editor.salome) :
+           self.BSalome.close()
+           self.BView2D.close()
+
+  def ViewDoc(self):
+        QTPanel.ViewDoc(self)
+
+  def BuildLBValeurs(self):
+       # redefinit en raison de l heritage par monFonctionPanel
+        SaisieValeur.BuildLBValeurs(self)
+
+  def BOkPourListePressed(self):
+        if self.listeValeursCourantes == [] :
+           self.editor.affiche_infos("Pas de validation d un groupe vide")
+           return
+        self.node.item.set_valeur(self.listeValeursCourantes)
+       self.editor.affiche_infos("Valeur Acceptée")
+
+  def BSupPressed(self):
+        QTPanel.BSupPressed(self)
+
+  def BParametresPressed(self):
+        QTPanel.BParametresPressed(self)
+
+  def LEValeurPressed(self):
+        self.Ajout1Valeur()
+
+  def Sup1Valeur(self):
+        index=self.LBValeurs.currentItem()
+        self.LEValeur.setText(self.LBValeurs.currentText())
+        self.LBValeurs.removeItem(self.LBValeurs.currentItem())
+        listeVal=[]
+        i=0
+        for valeur in self.listeValeursCourantes :
+                if i != index : listeVal.append(valeur)
+                i = i+1
+        self.listeValeursCourantes=listeVal
+          
+
+  def Ajout1Valeur(self,valeur=None):
+        liste,validite=SaisieValeur.TraiteLEValeur(self,valeur)
+        if validite == 0 : return
+        if liste ==[]    : return
+
+        index=self.LBValeurs.currentItem() + 1
+        listeVal=[]
+        for valeur in self.listeValeursCourantes :
+                listeVal.append(valeur)
+        validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(liste,index,listeVal) 
+       self.Commentaire.setText(comm2)
+        if not validite :
+               self.editor.affiche_infos(comm)
+        else:
+           self.LEValeur.setText(QString(""))
+           l1=self.listeValeursCourantes[:index]
+           l3=self.listeValeursCourantes[index:]
+           for valeur in listeRetour:
+               self.LBValeurs.insertItem(QString(str(valeur)),index)
+               index=index+1
+           self.listeValeursCourantes=l1+listeRetour+l3
+
+  def BImportPressed(self):
+        init=QString( self.editor.CONFIGURATION.rep_user)
+        fn = QFileDialog.getOpenFileName(init, self.trUtf8('All Files (*)',))
+        if fn == None : return
+        if fn == "" : return
+        from monSelectVal import MonSelectVal
+        MonSelectVal(file=fn,parent=self).show()
+
+  def InitCommentaire(self):
+        commentaire=""
+        mc = self.node.item.get_definition()
+        d_aides = { 'TXM' : 'chaînes de caractères',
+                  'R'   : 'réels',
+                  'I'   : 'entiers',
+                  'C'   : 'complexes'}
+        type = mc.type[0]
+        if not d_aides.has_key(type) :
+           if mc.min == mc.max:
+               commentaire="Entrez "+str(mc.min)+" valeurs "
+           else :
+               commentaire="Entrez entre "+str(mc.min)+" et "+str(mc.max)+" valeurs "
+        else :
+           if mc.min == mc.max:
+               commentaire="Entrez "+str(mc.min)+" "+d_aides[type]
+           else :
+               commentaire="Entrez entre "+str(mc.min)+" et  "+str(mc.max) +" " + d_aides[type]
+        aideval=self.node.item.aide()
+        commentaire=commentaire + "\n" + aideval
+        self.Commentaire.setText(QString(commentaire))
+
+  def BSalomePressed(self):
+
+        genea=self.node.item.get_genealogie()
+        kwType = None
+        for e in genea:
+            if "GROUP_NO" in e: kwType = "GROUP_NO"
+            if "GROUP_MA" in e: kwType = "GROUP_MA"
+
+        #print "BkwType",kwType
+        #print "editor", self.editor
+        selection, commentaire = self.editor.parent.appliEficas.selectGroupFromSalome(kwType,editor=self.editor)
+        if commentaire !="" :
+            self.Commentaire.setText(QString(commentaire))
+        monTexte=""
+        if selection == [] : return
+        for geomElt in selection: 
+            monTexte=geomElt+","
+        monTexte= monTexte[0:-1]
+        self.LEValeur.setText(QString(monTexte))
+
+  def BView2DPressed(self):
+        valeur=self.LEValeur.text()
+        if valeur == QString("") :
+           valeur=self.LBValeurs.currentText()
+        if valeur == QString("") : return
+        valeur = str(valeur)
+        if valeur :
+           ok, msgError = self.editor.parent.appliEficas.displayShape(valeur)
+           if not ok:
+              self.editor.parent.appli.affiche_infos(msgError)
+
diff --git a/InterfaceQT4/monPlusieursIntoPanel.py b/InterfaceQT4/monPlusieursIntoPanel.py
new file mode 100644 (file)
index 0000000..80fa423
--- /dev/null
@@ -0,0 +1,119 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+import string,types,os
+
+# Modules Eficas
+import prefs 
+
+from qt import *
+
+from desPlusieursInto import DPlusInto
+from qtCommun      import QTPanel
+from qtSaisie      import SaisieValeur
+from politiquesValidation import PolitiquePlusieurs
+
+# Import des panels
+
+class MonPlusieursIntoPanel(DPlusInto,QTPanel,SaisieValeur):
+  """
+  Classe définissant le panel associé aux mots-clés qui demandent
+  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discrètes
+  """
+  def __init__(self,node, parent = None,name = None,fl = 0):
+        QTPanel.__init__(self,node,parent)
+        DPlusInto.__init__(self,parent,name,fl)
+        self.politique=PolitiquePlusieurs(node,parent)
+        SaisieValeur.BuildLBValeurs(self)
+        self.listeValeursCourantes=self.node.item.GetListeValeurs()
+        SaisieValeur.RemplitPanel(self,self.listeValeursCourantes)
+        QObject.connect(self.listBoxVal, SIGNAL("doubleClicked(QListBoxItem*)" ), self.Ajout1Valeur )
+        self.InitCommentaire()
+
+  def BOkPourListePressed(self):
+        if self.listeValeursCourantes == [] :
+           self.editor.affiche_infos("Pas de validation d un groupe vide")
+           return
+        self.node.item.set_valeur(self.listeValeursCourantes)
+       self.editor.affiche_infos("Valeur Acceptée")
+
+  def BSupPressed(self):
+        QTPanel.BSupPressed(self)
+
+  def ViewDoc(self):
+      QTPanel.ViewDoc(self)
+
+  def Sup1Valeur(self):
+        index=self.LBValeurs.currentItem()
+        self.LBValeurs.removeItem(self.LBValeurs.currentItem())
+        listeVal=[]
+        i=0
+        for valeur in self.listeValeursCourantes :
+                if i != index : listeVal.append(valeur)
+                i = i+1
+        self.listeValeursCourantes=listeVal
+        SaisieValeur.RemplitPanel(self,self.listeValeursCourantes)
+          
+  def Ajout1Valeur(self):
+        liste=[]
+        if self.listBoxVal.currentText().latin1() == None : return
+        liste.append(self.listBoxVal.currentText().latin1())
+        index=self.LBValeurs.currentItem() + 1
+        if index==0 : index = -1
+        listeVal=[]
+        for valeur in self.listeValeursCourantes :
+                listeVal.append(valeur)
+        validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(liste,index,listeVal) 
+       self.Commentaire.setText(comm2)
+        if not validite :
+               self.editor.affiche_infos(comm)
+        else:
+           l1=self.listeValeursCourantes[:index]
+           l3=self.listeValeursCourantes[index:]
+           for valeur in listeRetour:
+               self.LBValeurs.insertItem(QString(str(valeur)),index)
+               index=index+1
+           self.listeValeursCourantes=l1+listeRetour+l3
+        SaisieValeur.RemplitPanel(self,self.listeValeursCourantes)
+
+  def InitCommentaire(self):
+        commentaire=""
+        mc = self.node.item.get_definition()
+        d_aides = { 'TXM' : 'chaînes de caractères',
+                  'R'   : 'réels',
+                  'I'   : 'entiers',
+                  'C'   : 'complexes'}
+        type = mc.type[0]
+        if not d_aides.has_key(type) :
+           if mc.min == mc.max:
+               commentaire="Entrez "+str(mc.min)+" valeurs "
+           else :
+               commentaire="Entrez entre "+str(mc.min)+" et "+str(mc.max)+" valeurs "
+        else :
+           if mc.min == mc.max:
+               commentaire="Entrez "+str(mc.min)+" "+d_aides[type]
+           else :
+               commentaire="Entrez entre "+str(mc.min)+" et "+str(mc.max)+" "+d_aides[type]
+        aideval=self.node.item.aide()
+        commentaire=commentaire + "\n" + aideval
+        self.Commentaire.setText(QString(commentaire))
+
diff --git a/InterfaceQT4/monPoursuitePanel.py b/InterfaceQT4/monPoursuitePanel.py
new file mode 100644 (file)
index 0000000..3ba31b2
--- /dev/null
@@ -0,0 +1,115 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+# Modules Eficas
+
+import os,traceback,sys
+from qt import *
+from desMacro import DMacro
+
+from monMacroPanel import MonMacroPanel
+import convert
+
+
+# Import des panels
+
+class MonPoursuitePanel(MonMacroPanel):
+  """
+  Classe définissant le panel associé aux mots-clés qui demandent
+  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discrètes
+  """
+  def __init__(self,node, parent = None,name = None,fl = 0):
+        MonMacroPanel.__init__(self,node,parent,name,fl)
+        #Version TK ??
+        self.ajoutPageOk()
+
+  def ajoutPageOk(self) :
+        self.TabPage = QWidget(self.TWChoix,"TabPage")
+        self.LENomFichier = QLineEdit(self.TabPage,"LENomFichier")
+        self.LENomFichier.setGeometry(QRect(18,127,450,30))
+        self.textLabel1_3 = QLabel(self.TabPage,"textLabel1_3")
+        self.textLabel1_3.setGeometry(QRect(70,50,350,41))
+        self.BBrowse = QPushButton(self.TabPage,"BBrowse")
+        self.BBrowse.setGeometry(QRect(288,306,161,41))
+        self.TWChoix.insertTab(self.TabPage,QString(""))
+        self.textLabel1_3.setText(self._DMacro__tr("<font size=\"+1\">La commande POURSUITE requiert un nom de Fichier :</font>"))
+        self.BBrowse.setText(self._DMacro__tr("Edit"))
+        self.TWChoix.changeTab(self.TabPage,self._DMacro__tr("Fichier Poursuite"))
+        self.TWChoix.setCurrentPage(2)
+        if hasattr(self.node.item.object,'fichier_ini'):
+           self.LENomFichier.setText(self.node.item.object.fichier_ini)
+        else :
+           self.LENomFichier.setText("")
+        self.connect(self.BBrowse,SIGNAL("clicked()"),self.BBrowsePressed)
+        self.connect(self.LENomFichier,SIGNAL("returnPressed()"),self.LENomFichReturnPressed)
+
+
+  def BBrowsePressed(self):
+      self.node.makeEdit()
+
+  def BOkIncPressed (self):
+      self.LENomFichReturnPressed()
+
+  def LENomFichReturnPressed(self):
+        nomFichier=str(self.LENomFichier.text())
+        if not os.path.isfile(nomFichier) :
+           commentaire = "Fichier introuvable"
+           self.Commentaire.setText(QString(commentaire))
+           self.editor.affiche_infos(commentaire)
+           return
+
+        text=self.convert_file(nomFichier)
+
+        # Si probleme a la lecture-conversion on arrete le traitement
+        if not text:
+           return
+
+        try :
+           self.node.item.object.change_fichier_init(nomFichier,text)
+           commentaire = "Fichier modifie  : " + self.node.item.get_nom()
+           self.Commentaire.setText(QString(commentaire))
+        except: 
+           l=traceback.format_exception_only("Fichier invalide",sys.exc_info()[1])
+           QMessageBox.critical( self, "Erreur fatale au chargement du fichier Include", l[0])
+           commentaire = "Fichier invalide" 
+           self.Commentaire.setText(QString(commentaire))
+           self.editor.affiche_infos(commentaire)
+           return
+
+
+  def convert_file(self,file):
+       """
+         Methode pour convertir le fichier file dans le format courant
+       """
+       format=self.editor.format_fichier
+       text=None
+       if convert.plugins.has_key(format):
+          # Le convertisseur existe on l'utilise
+          p=convert.plugins[format]()
+          p.readfile(file)
+          text=p.convert('execnoparseur')
+       else :
+            commentaire = "Impossible de lire le fichier : Format inconnu"
+            self.Commentaire.setText(QString(commentaire))
+            self.editor.affiche_infos(commentaire)
+       return text
+
diff --git a/InterfaceQT4/monRacinePanel.py b/InterfaceQT4/monRacinePanel.py
new file mode 100644 (file)
index 0000000..bf8f3a8
--- /dev/null
@@ -0,0 +1,79 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+# Modules Eficas
+
+from desRacine import DRac
+from qtCommun  import QTPanel
+from qtCommun  import QTPanelTBW2
+from qtCommun  import itemColore
+from qt import *
+
+
+# Import des panels
+
+class MonRacinePanel(DRac,QTPanelTBW2):
+  """
+  Classe définissant le panel associé aux mots-clés qui demandent
+  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discrètes
+  """
+  def __init__(self,node, parent = None,name = None,fl = 0):
+        DRac.__init__(self,parent,name,fl)
+        QTPanel.__init__(self,node,parent)
+        QTPanelTBW2.__init__(self,node,parent,racine=1)
+
+  def BSupPressed(self):
+      QTPanel.BSupPressed(self)
+
+  def BOkPressed(self):
+      self.DefCmd()
+
+  def ViewDoc(self):
+      QTPanel.ViewDoc(self)
+
+  def BNextPressed(self):
+      QTPanelTBW2.BNextPressed(self)
+
+  def BuildTabCommand(self):
+      QTPanelTBW2.BuildLBNouvCommande(self)
+
+  def LEFiltreTextChanged(self):
+      QTPanelTBW2.LEFiltreTextChanged(self)
+
+  def LEfiltreReturnPressed(self):
+      QTPanelTBW2.LEfiltreReturnPressed(self)
+
+  def LBNouvCommandeClicked(self):
+      QTPanelTBW2.LBNouvCommandeClicked(self)
+
+  def AppelleBuildLBRegles(self):
+      listeRegles=self.node.item.get_regles()
+      listeNomsEtapes = self.node.item.get_l_noms_etapes()
+      self.BuildLBRegles(listeRegles,listeNomsEtapes)
+
+  def DefCmd(self):
+      if self.LBNouvCommande.selectedItem()== None : return
+      name=str(self.LBNouvCommande.selectedItem().text())
+      if name==QString(" "): return
+      if name.find("GROUPE :")==0 : return
+      self.editor.init_modif()
+      new_node = self.node.append_child(name,'first')
diff --git a/InterfaceQT4/monSelectVal.py b/InterfaceQT4/monSelectVal.py
new file mode 100644 (file)
index 0000000..c3c6414
--- /dev/null
@@ -0,0 +1,84 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+# Modules Eficas
+
+from desSelectVal import DSelVal
+from qt import *
+
+# Import des panels
+
+class MonSelectVal(DSelVal):
+  """
+  Classe définissant le panel associé aux mots-clés qui demandent
+  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discrètes
+  """
+  def __init__(self,file,parent,name = None,fl = 0):
+        self.FonctPanel=parent
+        DSelVal.__init__(self,parent,name,Qt.WType_Dialog)
+        self.dictSepar={}
+        self.separateur=" "
+        self.texte=" "
+        self.textTraite=""
+        self.file=str(file)
+        self.readVal()
+        self.initVal()
+
+  def readVal(self):
+        f = open(self.file, "rb")
+        self.texte = f.read()
+        f.close()
+
+  def initVal(self):
+        self.TBtext.clear()
+        self.TBtext.setText(self.texte)
+        self.dictSepar["virgule"]=","
+        self.dictSepar["point-virgule"]=";"
+        self.dictSepar["espace"]=" "
+
+  def SeparateurSelect(self,numero):
+        monBouton=self.BGSeparateur.find(numero)
+        self.separateur=self.dictSepar[str(monBouton.text())]
+        
+  def BImportSelPressed(self):
+        text=str(self.TBtext.selectedText())
+        self.textTraite=text
+        self.Traitement()
+        
+  def BImportToutPressed(self):
+        self.textTraite=self.texte
+        self.Traitement()
+
+  def Traitement(self):
+        import string
+        if self.textTraite[-1]=="\n" : self.textTraite=self.textTraite[0:-1]
+        self.textTraite=string.replace(self.textTraite,"\n",self.separateur)
+        liste1=self.textTraite.split(self.separateur)
+        liste=[]
+        for val in liste1 :
+            val=str(val)
+            try :
+              val=eval(val,{})
+            except :
+              pass
+            liste.append(val)
+        self.FonctPanel.AjoutNValeur(liste) 
diff --git a/InterfaceQT4/monUniqueASSDPanel.py b/InterfaceQT4/monUniqueASSDPanel.py
new file mode 100644 (file)
index 0000000..a2280be
--- /dev/null
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+import string,types,os
+
+# Modules Eficas
+import prefs 
+
+from qt import *
+
+from desUniqueASSD import DUnASSD
+from qtCommun      import QTPanel
+from qtSaisie      import SaisieValeur
+from politiquesValidation import PolitiqueUnique
+
+# Import des panels
+
+class MonUniqueASSDPanel(DUnASSD,QTPanel,SaisieValeur):
+  """
+  Classe définissant le panel associé aux mots-clés qui demandent
+  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discrètes
+  """
+  def __init__(self,node, parent = None,name = None,fl = 0):
+        self.editor=parent
+        QTPanel.__init__(self,node,parent)
+        DUnASSD.__init__(self,parent,name,fl)
+        self.politique=PolitiqueUnique(node,parent)
+        self.InitListBoxASSD()
+        self.InitCommentaire()
+
+  def BOkPressed(self):
+        self.ClicASSD()
+
+  def BSupPressed(self):
+        QTPanel.BSupPressed(self)
+
+  def ViewDoc(self):
+      QTPanel.ViewDoc(self)
+
+  def InitCommentaire(self): 
+      mc = self.node.item.get_definition()
+      try :
+          type = mc.type[0].__name__
+      except :
+          type = str(mc.type[0])
+      if len(mc.type)>1 :
+          for typ in mc.type[1:] :
+            try :
+                l=typ.__name__
+            except:
+                l=str(typ)
+            type = type + ' ou '+l
+      commentaire="Un objet de type "+type+" est attendu"
+      aideval=self.node.item.aide()
+      commentaire=commentaire +"\n"+ aideval
+      self.Commentaire.setText(QString(commentaire))
diff --git a/InterfaceQT4/monUniqueBasePanel.py b/InterfaceQT4/monUniqueBasePanel.py
new file mode 100644 (file)
index 0000000..91bc8c0
--- /dev/null
@@ -0,0 +1,124 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+import string,types,os
+
+# Modules Eficas
+import prefs 
+
+from qt import *
+
+from desUniqueBase import DUnBase
+from qtCommun      import QTPanel
+from qtSaisie      import SaisieValeur
+from politiquesValidation import PolitiqueUnique
+
+# Import des panels
+
+class MonUniqueBasePanel(DUnBase,QTPanel,SaisieValeur):
+  """
+  Classe définissant le panel associé aux mots-clés qui demandent
+  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discrètes
+  """
+  def __init__(self,node, parent = None,name = None,fl = 0):
+        self.editor=parent
+        QTPanel.__init__(self,node,parent)
+        DUnBase.__init__(self,parent,name,fl)
+        self.politique=PolitiqueUnique(node,parent)
+        self.InitLineEditVal()
+        self.InitCommentaire()
+        self.detruitBouton()
+
+  def ViewDoc(self):
+      QTPanel.ViewDoc(self)
+
+  def detruitBouton(self):
+        mc = self.node.item.get_definition()
+        type = mc.type[0]
+        #if not('grma' in repr(type)):
+        if not('grma' in repr(type)) or not(self.editor.salome) :
+           self.BSalome.close()
+           self.BView2D.close()
+
+  def InitLineEditVal(self):
+        valeur=self.node.item.get_valeur()
+        valeurTexte=self.politique.GetValeurTexte(valeur)
+        if valeurTexte != None:
+           try :
+               str=QString("").setNum(valeurTexte)
+           except :
+               str=QString(valeurTexte)
+           self.lineEditVal.setText(str)
+
+
+  def InitCommentaire(self):
+      mc = self.node.item.get_definition()
+      d_aides = { 'TXM' : "Une chaîne de caractères est attendue",
+                  'R'   : "Un réel est attendu",
+                  'I'   : "Un entier est attendu"}
+      type = mc.type[0]
+      commentaire=d_aides.get(type,"Type de base inconnu")
+      aideval=self.node.item.aide()
+      commentaire=commentaire +"\n"+ aideval
+      self.Commentaire.setText(QString(commentaire))
+
+  def BOk2Pressed(self):
+        SaisieValeur.BOk2Pressed(self)
+
+  def BSupPressed(self):
+        QTPanel.BSupPressed(self)
+
+  def LEValeurPressed(self):
+        SaisieValeur.LEValeurPressed(self)
+
+  def BParametresPressed(self):
+        QTPanel.BParametresPressed(self)
+
+  def Ajout1Valeur(self,valeur):
+        SaisieValeur.LEValeurPressed(self,valeur)
+
+  def BSalomePressed(self):
+        genea=self.node.item.get_genealogie()
+        kwType = None
+        for e in genea:
+            if "GROUP_NO" in e: kwType = "GROUP_NO"
+            if "GROUP_MA" in e: kwType = "GROUP_MA"
+
+        selection, commentaire = self.editor.parent.appliEficas.selectGroupFromSalome(kwType,editor=self.editor)
+        if commentaire !="" :
+            self.Commentaire.setText(QString(commentaire))
+        monTexte=""
+        if selection == [] : return
+        for geomElt in selection:
+            monTexte=geomElt+","
+        monTexte= monTexte[0:-1]
+        self.LEValeur.setText(QString(monTexte))
+
+  def BView2DPressed(self):
+        valeur=self.LEValeur.text()
+        if valeur == QString("") : return
+        valeur = str(valeur)
+        if valeur :
+           ok, msgError = self.editor.parent.appliEficas.displayShape(valeur)
+           if not ok:
+              self.editor.parent.appli.affiche_infos(msgError)
+
diff --git a/InterfaceQT4/monUniqueCompPanel.py b/InterfaceQT4/monUniqueCompPanel.py
new file mode 100644 (file)
index 0000000..46a8533
--- /dev/null
@@ -0,0 +1,163 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+import string,types,os,re
+
+# Modules Eficas
+import prefs 
+
+from qt import *
+
+from desUniqueComp import DUnComp
+from qtCommun      import QTPanel
+from politiquesValidation import PolitiqueUnique
+
+# Import des panels
+
+#class MonUniqueCompPanel(DUnComp,QTPanel,SaisieValeur):
+class MonUniqueCompPanel(DUnComp,QTPanel,PolitiqueUnique):
+  """
+  Classe définissant le panel associé aux mots-clés qui demandent
+  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discrètes
+  """
+  def __init__(self,node, parent = None,name = None,fl = 0):
+        QTPanel.__init__(self,node,parent)
+        DUnComp.__init__(self,parent,name,fl)
+        self.politique=PolitiqueUnique(node,parent)
+        self.InitLinesVal()
+        self.InitCommentaire()
+
+  def InitLinesVal(self):
+        valeur=self.node.item.get_valeur()
+        if valeur == None or valeur == '' : return
+        if type(valeur) not in (types.ListType,types.TupleType) :
+           self.LEcomp.setText(str(valeur))
+        else :
+           typ_cplx,x1,x2=valeur
+           self.LEReel.setText(str(x1))
+           self.LEImag.setText(str(x2))
+           if typ_cplx == "RI" :
+              self.buttonGroup1.setButton(1)
+           else :
+              self.buttonGroup1.setButton(0)
+      
+
+  def LEcompRPressed(self) :
+        self.LEReel.clear()
+        self.LEImag.clear()
+        commentaire="expression valide"
+        valeur = str(self.LEcomp.text())
+        d={}
+        try :
+          v=eval(valeur,d)
+        except :
+          commentaire="expression invalide"
+          self.editor.affiche_infos(commentaire)
+          return
+        try :
+          i=v.imag
+        except :
+          commentaire="expression n est pas de la forme a+bj"
+        self.editor.affiche_infos(commentaire)
+          
+  def LEReelRPressed(self):
+        self.LEcomp.clear()
+        commentaire="expression valide"
+        valeur = str(self.LEReel.text())
+        try :
+          a=string.atof(valeur)
+        except :
+          commentaire="expression invalide"
+        self.editor.affiche_infos(commentaire)
+
+  def LEImagRPressed(self):
+        self.LEcomp.clear()
+        commentaire="expression valide"
+        valeur = str(self.LEImag.text())
+        try :
+          a=string.atof(valeur)
+        except :
+          commentaire="expression invalide"
+        self.editor.affiche_infos(commentaire)
+
+  def BOkPressed(self):
+        if self.LEcomp.text()== "" : 
+           valeur = self.getValeurAster()
+        else :
+           if self.LEReel.text() != "" or self.LEImag.text() != "" :
+              commentaire="entrer une seule valeur SVP"
+              self.editor.affiche_infos(commentaire)
+              return
+           valeur=  self.getValeurComp()
+        self.politique.RecordValeur(valeur)
+
+  def getValeurAster(self):
+      """
+      Retourne le complexe saisi par l'utilisateur
+      """
+      l=[]
+      if  (self.buttonGroup1.selectedId() == 1 ) :
+         l.append("MP")
+      elif (self.buttonGroup1.selectedId() == 0) :
+         l.append("RI")
+      else :
+         commentaire="saisir le type de complexe"
+         self.editor.affiche_infos(commentaire)
+         return None
+      try :
+         l.append(string.atof(str(self.LEReel.text())))
+         l.append(string.atof(str(self.LEImag.text())))
+      except :
+         return None
+      return `tuple(l)`
+
+  def getValeurComp(self):
+        commentaire="expression valide"
+        valeur = str(self.LEcomp.text())
+        d={}
+        try :
+          v=eval(valeur,d)
+        except :
+          commentaire="expression invalide"
+          self.editor.affiche_infos(commentaire)
+          return None
+        try :
+          i=v.imag
+        except :
+          commentaire="expression n est pas de la forme a+bj"
+          self.editor.affiche_infos(commentaire)
+          return None
+        return v
+
+  def InitCommentaire(self):
+        commentaire='Un complexe est attendu'
+        aideval=self.node.item.aide()
+        commentaire=commentaire +"\n"+ aideval
+        self.Commentaire.setText(QString(commentaire))
+
+
+  def BSupPressed(self):
+        QTPanel.BSupPressed(self)
+
+  def ViewDoc(self):
+      QTPanel.ViewDoc(self)
+
diff --git a/InterfaceQT4/monUniqueIntoPanel.py b/InterfaceQT4/monUniqueIntoPanel.py
new file mode 100644 (file)
index 0000000..568410e
--- /dev/null
@@ -0,0 +1,60 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+import string,types,os
+
+# Modules Eficas
+import prefs 
+
+from qt import *
+
+from desUniqueInto        import DUnIn
+from qtCommun             import QTPanel
+from qtSaisie             import SaisieValeur
+from politiquesValidation import PolitiqueUnique
+
+# Import des panels
+
+class MonUniqueIntoPanel(DUnIn,QTPanel,SaisieValeur):
+  """
+  Classe définissant le panel associé aux mots-clés qui demandent
+  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discrètes
+  """
+  def __init__(self,node, parent = None,name = None,fl = 0):
+        QTPanel.__init__(self,node,parent)
+        DUnIn.__init__(self,parent,name,fl)
+        SaisieValeur.RemplitPanel(self)
+        self.politique=PolitiqueUnique(node,parent)
+        QObject.connect(self.listBoxVal, SIGNAL("doubleClicked(QListBoxItem*)" ), self.ClicValeur )
+
+  def ClicValeur(self):
+        SaisieValeur.ClicValeur(self)
+
+  def BOkPressed(self):
+        SaisieValeur.BOkPressed(self)
+
+  def BSupPressed(self):
+        QTPanel.BSupPressed(self)
+
+  def ViewDoc(self):
+      QTPanel.ViewDoc(self)
+
diff --git a/InterfaceQT4/monUniqueSDCOIntoPanel.py b/InterfaceQT4/monUniqueSDCOIntoPanel.py
new file mode 100644 (file)
index 0000000..0a54315
--- /dev/null
@@ -0,0 +1,97 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+import string,types,os
+
+# Modules Eficas
+import prefs 
+
+from qt import *
+
+from desUniqueSDCOInto    import DUnSDCOInto
+from qtCommun             import QTPanel
+from qtSaisie             import SaisieSDCO
+from politiquesValidation import PolitiqueUnique
+
+# Import des panels
+
+class MonUniqueSDCOIntoPanel(DUnSDCOInto,QTPanel,SaisieSDCO):
+  """
+  Classe définissant le panel associé aux mots-clés qui demandent
+  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discrètes
+  """
+  def __init__(self,node, parent = None,name = None,fl = 0):
+        QTPanel.__init__(self,node,parent)
+        DUnSDCOInto.__init__(self,parent,name,fl)
+        self.initLBSDCO()
+
+  def initLBSDCO(self):
+        listeNomsSDCO = self.node.item.get_sd_avant_du_bon_type()
+        for aSDCO in listeNomsSDCO:
+            self.LBSDCO.insertItem( aSDCO)
+        valeur = self.node.item.get_valeur()
+        if valeur  != "" and valeur != None :
+           self.LESDCO.setText(QString(valeur.nom))
+
+
+  def LBSDCOReturnPressed(self):
+        """
+         Teste si la valeur fournie par l'utilisateur est une valeur permise :
+          - si oui, l'enregistre
+          - si non, restaure l'ancienne valeur
+        """
+        nomConcept=str(self.LBSDCO.currentText())
+        self.LESDCO.clear()
+        self.editor.init_modif()
+        anc_val = self.node.item.get_valeur()
+        test_CO=self.node.item.is_CO(anc_val)
+
+        valeur,validite=self.node.item.eval_valeur(nomConcept)
+        test = self.node.item.set_valeur(valeur)
+        if not test :
+          commentaire = "impossible d'évaluer : %s " %`valeur`
+        elif validite:
+          commentaire = "Valeur du mot-clé enregistrée"
+          if test_CO:
+             # il faut egalement propager la destruction de l'ancien concept
+             self.node.item.delete_valeur_co(valeur=anc_val)
+             self.node.item.object.etape.get_type_produit(force=1)
+             self.node.item.object.etape.parent.reset_context()
+        else :
+          commentaire = self.node.item.get_cr()
+          self.reset_old_valeur(anc_val,mess=mess)
+          self.editor.affiche_infos(commentaire)
+        self.Commentaire.setText(commentaire)
+
+  def LESDCOReturnPressed(self) :
+        self.LBSDCO.clearSelection()
+        SaisieSDCO.LESDCOReturnPressed(self)
+
+  def BOkPressed(self):
+        self.LESDCOReturnPressed()
+
+  def BSupPressed(self):
+        QTPanel.BSupPressed(self)
+
+  def ViewDoc(self):
+      QTPanel.ViewDoc(self)
+
diff --git a/InterfaceQT4/monUniqueSDCOPanel.py b/InterfaceQT4/monUniqueSDCOPanel.py
new file mode 100644 (file)
index 0000000..f2247ed
--- /dev/null
@@ -0,0 +1,67 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+import string,types,os
+
+# Modules Eficas
+import prefs 
+
+from qt import *
+
+from desUniqueSDCO        import DUnSDCO
+from qtCommun             import QTPanel
+from qtSaisie             import SaisieSDCO
+
+# Import des panels
+
+class MonUniqueSDCOPanel(DUnSDCO,QTPanel,SaisieSDCO):
+  """
+  Classe définissant le panel associé aux mots-clés qui demandent
+  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discrètes
+  """
+  def __init__(self,node, parent = None,name = None,fl = 0):
+        QTPanel.__init__(self,node,parent)
+        DUnSDCO.__init__(self,parent,name,fl)
+        valeur = self.node.item.get_valeur()
+        if valeur  != "" and valeur != None :
+           self.LESDCO.setText(QString(valeur.nom))
+
+  def BOkPressed(self):
+        SaisieSDCO.LESDCOReturnPressed(self)
+
+  def BSupPressed(self):
+        QTPanel.BSupPressed(self)
+
+  def BOuiPressed(self):
+        self.Commentaire.setText("Aucun Objet de ce type n'est defini")
+        self.rbOui.setChecked(1)
+
+  def LESDCOReturnPressed(self):
+        """
+           Lit le nom donné par l'utilisateur au concept de type CO qui doit être
+           la valeur du MCS courant et stocke cette valeur
+        """
+        SaisieSDCO.LESDCOReturnPressed(self)
+
+  def ViewDoc(self):
+      QTPanel.ViewDoc(self)
+
diff --git a/InterfaceQT4/panelsQT.py b/InterfaceQT4/panelsQT.py
new file mode 100644 (file)
index 0000000..cc2125f
--- /dev/null
@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+import string
+import os
+
+import traceback
+
+from qt import *
+from qtCommun import QTPanel
+from desInactif import DInactif
+
+
+SEPARATEUR = '-'*30
+
+      
+class PanelInactif( QTPanel, DInactif ):   
+    def __init__(self,node,parent=None ):
+        DInactif.__init__(self,parent)
+        QTPanel.__init__(self,node,parent)
+                
+        
+class NoPanel( QWidget ):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+        self.textLabel = QLabel(self)
+        self.textLabel.setText(QString("PANNEAU A IMPLEMENTER"))
+        self.textLabel.setGeometry(QRect(130,150,219,17))
+        self.resize(QSize(600,480).expandedTo(self.minimumSizeHint()))
+        
diff --git a/InterfaceQT4/politiquesValidation.py b/InterfaceQT4/politiquesValidation.py
new file mode 100644 (file)
index 0000000..539f611
--- /dev/null
@@ -0,0 +1,162 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+import types
+
+from qt import *
+
+
+#------------------
+class Validation  :
+#------------------
+  def __init__(self,node,parent) :
+         self.node=node
+         self.parent=parent
+
+  def TesteUneValeur(self,valeurentree):
+         valeur,validite=self.node.item.eval_valeur(valeurentree)
+         if not validite :
+                  commentaire = "impossible d'évaluer : %s " %`valeurentree`
+                  return valeur,validite,commentaire
+
+         testtype,commentaire = self.node.item.object.verif_type(valeur)
+         if not testtype :
+                  return valeur,0,commentaire
+
+         valide=self.node.item.valide_item(valeur)
+         if type(valide) == types.TupleType:
+                 validite,commentaire=valide
+         else :
+                 validite=valide
+                 commentaire=" "
+
+         if not validite :
+                  commentaire = "impossible d'évaluer : %s " %`valeurentree`
+         return valeur, validite, commentaire
+
+# ----------------------------------------------------------------------------------------
+#   Méthodes utilisées pour la manipulation des items en notation scientifique
+#   a mettre au point
+# ----------------------------------------------------------------------------------------
+  def SetValeurTexte(self,texteValeur) :
+         try :
+                  if "R" in self.node.item.object.definition.type:
+                     if texteValeur[0] != "'":
+                        clef=eval(texteValeur)
+                        if str(clef) != str(texteValeur) :
+                           self.node.item.object.init_modif()
+                           clefobj=self.node.item.object.GetNomConcept()
+                           if not self.parent.dict_reels.has_key(clefobj):
+                              self.parent.dict_reels[clefobj] = {}
+                           self.parent.dict_reels[clefobj][clef]=texteValeur
+                           self.parent.dict_reels[clefobj]
+                           self.node.item.object.fin_modif()
+         except:
+            pass
+
+  def GetValeurTexte(self,valeur) :
+         valeurTexte=valeur
+         if "R" in self.node.item.object.definition.type:
+                  clefobj=self.node.item.object.GetNomConcept()
+                  if self.parent.dict_reels.has_key(clefobj):
+                     if self.parent.dict_reels[clefobj].has_key(valeur):
+                        valeurTexte=self.parent.dict_reels[clefobj][valeur]
+         return valeurTexte
+
+#------------------------------------
+class PolitiqueUnique(Validation) :
+#------------------------------------
+  """
+  classe servant pour les entrees ne demandant qu un mot clef
+  """
+  def __init__(self,node,parent):
+        Validation.__init__(self,node,parent)
+
+  def RecordValeur(self,valeurentree):
+         if self.parent.modified == 'n' : self.parent.init_modif()
+         ancienne_val = self.node.item.get_valeur()
+         valeur,validite,commentaire =self.TesteUneValeur(valeurentree)
+         if validite :
+            validite=self.node.item.set_valeur(valeur)
+            if self.node.item.isvalid():
+                  commentaire = "Valeur du mot-clé enregistrée"
+                  self.SetValeurTexte(str(valeurentree))
+            else:
+                  cr = self.node.item.get_cr()
+                  commentaire =  "Valeur du mot-clé non autorisée "+cr.get_mess_fatal()
+                  self.node.item.set_valeur(ancienne_val)
+         return validite, commentaire 
+
+#------------------------
+class PolitiquePlusieurs:
+#------------------------
+  """
+  classe servant pour les entrees ne demandant qu un mot clef
+  """
+  def __init__(self,node,parent) :
+         self.node=node
+         self.parent=parent
+
+
+  def AjoutValeurs(self,listevaleur,index,listecourante):
+         listeRetour=[]
+         commentaire="Nouvelle valeur acceptée"
+         commentaire2=""
+         valide=1
+         if listevaleur==None: return
+         if listevaleur=="": return
+         if not( type(listevaleur)  in (types.ListType,types.TupleType)) :
+            listevaleur=tuple(listevaleur)
+         for valeur in listevaleur :
+             # On teste le type de la valeur
+             valide=self.node.item.valide_item(valeur)
+             if not valide :
+                #print self.__class__
+                #if not testtype :
+                try :
+                   valeur,valide=self.node.item.eval_valeur(valeur)
+                   valide,commentaire = self.node.item.object.verif_type(valeur)
+                except :
+                   #return testtype,commentaire,"",listeRetour
+                   pass
+             if not valide:
+                commentaire="Valeur "+str(valeur)+ " incorrecte : ajout à la liste refusé"
+                commentaire2=self.node.item.info_erreur_item()
+                return valide,commentaire,commentaire2,listeRetour
+
+             # On valide la liste obtenue
+             encorevalide=self.node.item.valide_liste_partielle(valeur,listecourante)
+             if not encorevalide :
+                commentaire2=self.node.item.info_erreur_liste()
+                # On traite le cas ou la liste n est pas valide pour un pb de cardinalite
+                min,max = self.node.item.GetMinMax()
+                if len(listecourante) + 1 >= max :
+                   commentaire="La liste a déjà atteint le nombre maximum d'éléments,ajout refusé"
+                   return valide,commentaire,commentaire2,listeRetour
+                if len(listecourante) + 1 > min :
+                   return valide,commentaire,commentaire2,listeRetour
+             # On ajoute la valeur testee a la liste courante et a la liste acceptee
+             listecourante.insert(index,valeur)
+             index=index+1
+             listeRetour.append(valeur)
+
+         return valide,commentaire,commentaire2,listeRetour
diff --git a/InterfaceQT4/prefsQT.py b/InterfaceQT4/prefsQT.py
new file mode 100644 (file)
index 0000000..ef1aa89
--- /dev/null
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+
+# ======================================================================
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+
+lang='fr'
+
diff --git a/InterfaceQT4/qtCommun.py b/InterfaceQT4/qtCommun.py
new file mode 100644 (file)
index 0000000..a2c6207
--- /dev/null
@@ -0,0 +1,347 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+import string,types,os
+import traceback
+
+from qt import *
+import prefsQT
+
+# Import des panels
+
+# ---------- #
+class QTPanel:
+# ---------- #
+  """
+  Classe contenant les méthodes Qt communes a tous les panneaux droits
+  Tous les panneaux Mon...Panel héritent de cette classe
+  Gére plus précisement :
+     - l affichage de la doc
+     - le bouton Suppression (BSupPressed)
+     - la mutualisation de l affichage des regles
+  """
+  def __init__(self,node, parent = None):
+        self.editor    = parent
+        self.node      = node
+        
+  def BSupPressed(self):
+        self.editor.init_modif()
+        self.node.delete()
+        
+  def ViewDoc(self) :
+      cle_doc = self.node.item.get_docu()
+      if cle_doc == None :
+         QMessageBox.information( self.editor, "Documentation Vide", \
+                                  "Aucune documentation Aster n'est associée à ce noeud")
+         return
+      cle_doc = string.replace(cle_doc,'.','')
+      cle_doc = string.replace(cle_doc,'-','')
+      commande = self.editor.appliEficas.CONFIGURATION.exec_acrobat
+      try :
+         f=open(commande,"rb")
+      except :
+         texte="impossible de trouver la commande  " + commande
+         QMessageBox.information( self.editor, "Lecteur PDF", texte)
+         return
+      nom_fichier = cle_doc+".pdf"
+      fichier = os.path.abspath(os.path.join(self.editor.CONFIGURATION.path_doc,
+                                       nom_fichier))
+      try :
+         f=open(fichier,"rb")
+      except :
+         texte="impossible d'ouvrir " + fichier
+         QMessageBox.information( self.editor, "Documentation Vide", texte)
+         return
+      if os.name == 'nt':
+          os.spawnv(os.P_NOWAIT,commande,(commande,fichier,))
+      elif os.name == 'posix':
+          script ="#!/usr/bin/sh \n%s %s&" %(commande,fichier)
+          pid = os.system(script)
+
+  def BOkPressed(self):
+        """ Impossible d utiliser les vrais labels avec designer ?? """
+        label=self.TWChoix.tabLabel(self.TWChoix.currentPage())
+        if label==QString("Nouvelle Commande"):
+           self.DefCmd()
+        if label==QString("Nommer Concept"):
+           self.LENomConceptReturnPressed()
+        if label==QString("Ajouter Mot-Clef"):
+           self.DefMC()
+        if label==QString("Définition Formule"):
+           self.BOkPressedFormule()
+        if label==QString("Valeur Parametre"):
+           self.BOkParamPressed()
+        if label==QString("Fichier Include"):
+           self.BOkIncPressed()
+
+  def BParametresPressed(self):
+        liste=self.node.item.get_liste_param_possible()
+        from monListeParamPanel import MonListeParamPanel
+        MonListeParamPanel(liste=liste,parent=self).show()
+       
+  def AppelleBuildLBRegles(self):
+        listeRegles     = self.node.item.get_regles()
+        listeNomsEtapes = self.node.item.get_mc_presents()
+        self.BuildLBRegles(listeRegles,listeNomsEtapes)
+
+
+  def BuildLBRegles(self,listeRegles,listeNomsEtapes):
+        if len(listeRegles) > 0:
+           for regle in listeRegles :
+              texteRegle=regle.gettext()
+              texteMauvais,test = regle.verif(listeNomsEtapes)
+              for ligne in texteRegle.split("\n") :
+                 if ligne == "" :
+                    self.LBRegles.insertItem(ligne)
+                    continue
+                 if ligne[0]=="\t" :
+                    ligne="     "+ligne[1:]
+                 if test :
+                    self.LBRegles.insertItem(ligne)
+                 else :
+                    self.LBRegles.insertItem(itemColore(ligne))
+
+
+# ----------------------- #
+class QTPanelTBW1(QTPanel):
+# ----------------------- #
+  """
+  Classe contenant les méthodes nécessaires a l onglet "Ajouter Mot-Clef"  
+  hérite de QTPanel  # Attention n appelle pas le __init__
+  Gére plus précisement :
+  """
+  def __init__(self,node, parent = None):
+        self.editor    = parent
+        self.node      = node
+        self.BuildLBMCPermis()
+        self.AppelleBuildLBRegles()
+
+  def BuildLBMCPermis(self):
+        self.LBMCPermis.clear()
+        try :
+           QObject.disconnect(self.LBMCPermis,SIGNAL("doubleClicked(QListBoxItem*)"),self.DefMC)
+        except :
+           # normal pour la première fois qu on passe
+           # peut-etre inutile selon le connect ??
+           pass
+        QObject.connect(self.LBMCPermis,SIGNAL("doubleClicked(QListBoxItem*)"),self.DefMC)
+
+        jdc = self.node.item.get_jdc()
+        genea =self.node.item.get_genealogie()
+        liste_mc=self.node.item.get_liste_mc_ordonnee(genea,jdc.cata_ordonne_dico)
+        for aMc in liste_mc:
+           self.LBMCPermis.insertItem( aMc)
+
+
+  def DefMC(self):
+        """ On ajoute un mot-clé à  la commande : subnode """
+        if self.LBMCPermis.selectedItem() == None : return
+        name=str(self.LBMCPermis.selectedItem().text())
+        self.editor.init_modif()
+        self.node.append_child(name)
+
+# ---------------------------- #
+class QTPanelTBW2(QTPanel):
+# ---------------------------- #
+  """
+  Classe contenant les méthodes nécessaires a l onglet "Nouvelle Commande"  
+  hérite de QTPanel  # Attention n appelle pas le __init__
+  Gére plus précisement :
+  """
+
+  def __init__(self,node, parent = None, racine = 0):
+        self.editor    = parent
+        self.node      = node
+        self.BuildLBNouvCommande()
+        if racine == 1 : self.AppelleBuildLBRegles()
+
+      
+  def BuildLBNouvCommande(self):
+        self.LBNouvCommande.clear()
+        try :
+           QObject.disconnect(self.LBNouvCommande,SIGNAL("doubleClicked(QListBoxItem*)"),self.DefCmd)
+        except :
+           # normal pour la première fois qu on passe
+           # peut-etre inutile selon le connect ??
+           pass
+
+        jdc=self.node.item.object.get_jdc_root()
+        if self.RBalpha.isOn():
+           listeCmd = jdc.get_liste_cmd()
+           for aCmd in listeCmd:
+              self.LBNouvCommande.insertItem( aCmd )
+        else :
+           listeGroupes,dictGroupes=jdc.get_groups()
+           for grp in listeGroupes:
+              if grp == "CACHE":continue
+              listeCmd=dictGroupes[grp]
+              texte="GROUPE : "+grp
+              self.LBNouvCommande.insertItem( texte )
+              self.LBNouvCommande.insertItem( " " )
+              for aCmd in listeCmd:
+                 self.LBNouvCommande.insertItem( aCmd)
+              self.LBNouvCommande.insertItem( " " )
+        QObject.connect( self.LBNouvCommande, SIGNAL("doubleClicked(QListBoxItem*)"),self.DefCmd )
+        QObject.connect( self.LBNouvCommande, SIGNAL("returnPressed(QListBoxItem*)"),self.DefCmd )
+
+  def DefCmd(self):
+        if (self.editor.focusWidget())!=self.LBNouvCommande :
+            return 
+        if self.LBNouvCommande.selectedItem()== 0 : return
+        if self.LBNouvCommande.selectedItem()== None : return
+        name=str(self.LBNouvCommande.selectedItem().text())
+        if name==QString(" "):
+          return
+        if name.find("GROUPE :")==0 :
+          return
+        self.editor.init_modif()
+        new_node = self.node.append_brother(name,'after')
+
+
+  def LEFiltreTextChanged(self):
+        MonItem=self.LBNouvCommande.findItem(self.LEFiltre.text().upper(),Qt.Contains)
+       if MonItem != None :
+          self.LBNouvCommande.setCurrentItem(MonItem)
+          self.LBNouvCommande.setSelected(MonItem,1)
+        try :
+           QObject.disconnect(self.LBNouvCommande,SIGNAL("returnPressed(QListBoxItem*)"),self.DefCmd)
+        except :
+           pass
+
+  def LEfiltreReturnPressed(self):
+        self.DefCmd()
+
+  def BNextPressed(self):
+        MonItem=self.LBNouvCommande.findItem(self.LEFiltre.text().upper(),Qt.Contains)
+        if MonItem != None :
+           self.LBNouvCommande.setCurrentItem(self.LBNouvCommande.currentItem()+1)
+           self.LEFiltreTextChanged()
+
+  def LBNouvCommandeClicked(self):
+        name=str(self.LBNouvCommande.currentText())
+
+
+# ---------------------------- #
+class QTPanelTBW3(QTPanel):
+# ---------------------------- #
+
+  """
+  Classe contenant les méthodes nécessaires a l onglet "Nommer Concept"  
+  si non réentrant
+  hérite de QTPanel                   # Attention n appelle pas le __init__
+  Gére plus précisement :
+  """
+
+  def __init__(self,node, parent = None):
+        self.editor    = parent
+        self.node      = node
+        type_sd = self.node.item.get_type_sd_prod()
+        nomConcept = self.node.item.GetText()
+        self.typeConcept.setText(type_sd)
+        self.LENomConcept.setText("")
+        self.LENomConcept.setText(nomConcept)
+        
+
+
+  def LENomConceptReturnPressed(self):
+        """
+        Nomme le concept SD retourne par l'etape
+        """
+        nom = str(self.LENomConcept.text())
+        nom = string.strip(nom)
+
+        if nom == '' : return                  # si pas de nom, on ressort sans rien faire
+
+        self.editor.init_modif()
+        test,mess = self.node.item.nomme_sd(nom)
+        self.editor.affiche_infos(mess)
+
+# ----------------------- #
+class ViewText(QDialog):
+# ----------------------- #
+    """
+    Classe permettant la visualisation de texte
+    """
+    def __init__(self,parent = None,name = None,modal = 0,fl = 0):
+        QDialog.__init__(self,parent,name,modal,fl)
+        
+        l1 = QVBoxLayout(self,11,6,)
+        self.view = QTextEdit(self)
+        self.view.setReadOnly(True)
+
+        l2 = QHBoxLayout(None,0,6)
+        Horizontal_Spacing2 = QSpacerItem(220,20,QSizePolicy.Expanding,QSizePolicy.Minimum)                
+        bclose= QPushButton(self)
+        bclose.setText(self.trUtf8( "Fermer"))
+        bsave= QPushButton(self)
+        bsave.setText(self.trUtf8( "Sauver"))
+        l2.addItem(Horizontal_Spacing2)
+        l2.addWidget(bsave)
+        l2.addWidget(bclose)
+                
+        l1.addWidget(self.view)        
+        l1.addLayout(l2)
+
+        self.resize( QSize(600,507).expandedTo(self.minimumSizeHint()) )
+        self.connect( bclose,SIGNAL("clicked()"), self, SLOT("close()") )
+        self.connect( bsave,SIGNAL("clicked()"), self.saveFile )
+        
+    def setText(self, txt ):    
+        self.view.setText(txt)
+        
+    def saveFile(self):
+        #recuperation du nom du fichier
+        fn = QFileDialog.getSaveFileName(None,
+                self.trUtf8("All Files (*)"), self, None,
+                self.trUtf8("Save File"), '', 0)                
+        if not fn.isNull():                
+           if QFileInfo(fn).exists():
+              abort = QMessageBox.warning(self,
+                        self.trUtf8("Save File"),
+                        self.trUtf8("The file <b>%1</b> already exists.")
+                            .arg(fn),
+                        self.trUtf8("&Overwrite"),
+                        self.trUtf8("&Abort"), None, 1)
+              if abort:
+                 return
+           fn = unicode(QDir.convertSeparators(fn))                
+        else:
+           return
+
+        #ecriture du fichier
+        try:
+           f = open(fn, 'wb')
+           f.write(str(self.view.text()))
+           f.close()
+           return 1
+        except IOError, why:
+           QMessageBox.critical(self, self.trUtf8('Save File'),
+                self.trUtf8('The file <b>%1</b> could not be saved.<br>Reason: %2')
+                    .arg(unicode(fn)).arg(str(why)))
+           return
+
+
+#-------------------------------
+class itemColore(QListBoxText):
+#-------------------------------
+    def paint(self,p):
+        p.setPen(Qt.red)
+        QListBoxText.paint(self,p);
diff --git a/InterfaceQT4/qtEficas.py b/InterfaceQT4/qtEficas.py
new file mode 100644 (file)
index 0000000..f27ad84
--- /dev/null
@@ -0,0 +1,291 @@
+# -*- coding: iso-8859-1 -*-
+
+import os, sys
+REPINI=os.path.dirname(os.path.abspath(__file__))
+INSTALLDIR=os.path.join(REPINI,'..')
+sys.path.append(INSTALLDIR)
+sys.path.append(INSTALLDIR+"/Ui")
+sys.path.append(INSTALLDIR+"/InterfaceQT")
+
+from qt import *
+from myMain import Eficas
+from viewManager import MyTabview
+
+from Editeur import configuration
+from Editeur import session
+
+import utilIcons
+utilIcons.initializeMimeSourceFactory()
+
+
+class Appli(Eficas):    
+    """
+    Class implementing the main user interface.
+    """
+    def __init__(self,code="ASTER",salome=0,parent=None):
+        """
+        Constructor
+        
+        @param loc locale to be used by the UI (string)
+        @param splash reference to the splashscreen (UI.SplashScreen.SplashScreen)
+        """
+        self.ihm="QT"
+        self.code=code
+        self.salome=salome
+        Eficas.__init__(self,parent,fl=Qt.WType_Dialog)
+        #Eficas.__init__(self,parent)
+
+        if code == "ASTER" : 
+           from Aster import prefs
+           import sys
+           sys.path.append(INSTALLDIR+"/Aster")
+       else :
+          import prefs 
+           #try :
+           if 1 :
+             apply(Appli.__dict__[code],(self,))
+           #except :
+           else:
+             pass
+        if hasattr(prefs,'encoding'):
+           import sys
+           reload(sys)
+           sys.setdefaultencoding(prefs.encoding)
+           del sys.setdefaultencoding
+
+        self.top=self
+        self.CONFIGURATION = configuration.make_config(self,prefs.REPINI)
+        self.CONFIGStyle = configuration.make_config_style(self,prefs.REPINI)
+
+        self.viewmanager = MyTabview(self, self) #MyTabview, MyWorkspace, Listspace
+        self.setCentralWidget(self.viewmanager)
+
+        self.recentMenu = QPopupMenu(self.Fichier)
+        self.Fichier.insertItem(self.trUtf8('&Recents'), self.recentMenu)
+        self.connect(self.recentMenu,SIGNAL('aboutToShow()'),self.handleShowRecentMenu)
+        self.connect(self,PYSIGNAL('preferencesChanged'),
+                     self.viewmanager.handlePreferencesChanged)
+        
+        self.connect(self.viewmanager,PYSIGNAL('lastEditorClosed'),
+                     self.handleLastEditorClosed)
+                     
+        self.connect(self.viewmanager,PYSIGNAL('editorOpened'),
+                     self.handleEditorOpened)
+                             
+        # Initialise the instance variables.
+        self.currentProg = None
+        self.isProg = 0
+        self.utEditorOpen = 0
+        self.utProjectOpen = 0
+        
+        self.inDragDrop = 0
+        self.setAcceptDrops(1)
+        self.ficPatrons={}
+        self.initPatrons()
+        self.monAssistant=QAssistantClient(QString(""), self.viewmanager)
+        
+        if self.salome :
+           from Editeur import session
+           self.ouvreFichiers()
+        
+    def OPENTURNS(self) :
+        self.MenuBar.removeItem(5)
+        self.MenuBar.removeItem(6)
+        self.MenuBar.removeItem(7)
+
+
+    def ouvreFichiers(self) :
+    # Ouverture des fichiers de commandes donnes sur la ligne de commande
+        cwd=os.getcwd()
+        self.dir=cwd
+        for study in session.d_env.studies:
+            os.chdir(cwd)
+            d=session.get_unit(study,self)
+            #print study["comm"]
+            self.viewmanager.handleOpen(fn=study["comm"],units=d)
+
+        
+    def initPatrons(self) :
+    # Mise à jour du menu des fichiers recemment ouverts
+        from Editeur import listePatrons
+        self.listePatrons = listePatrons.listePatrons(self.code)
+        idx = 0
+        for nomSsMenu in self.listePatrons.liste.keys():
+            ssmenu = QPopupMenu(self.Patrons)
+            self.Patrons.insertItem(nomSsMenu, ssmenu)
+            for fichier in self.listePatrons.liste[nomSsMenu]:
+               id = ssmenu.insertItem(fichier, self.handleOpenPatrons)
+               self.ficPatrons[idx]=fichier
+               self.Patrons.setItemParameter(id,idx)
+               idx=idx+1
+
+    def traductionV7V8(self):
+        from gereTraduction import traduction
+        traduction(self.CONFIGURATION.rep_user,self.viewmanager,"V7V8")
+
+    def version(self) :
+        from desVisu import DVisu
+        titre = "version "
+        monVisu=DVisu(parent=self.viewmanager,fl=Qt.WType_Dialog)
+        monVisu.setCaption(titre)
+        monVisu.TB.setText("Eficas V1.13")
+        monVisu.adjustSize()
+        monVisu.show()
+
+    def aidePPal(self) :
+        maD=INSTALLDIR+"/AIDE/fichiers"
+        docsPath = QDir(maD).absPath()
+        self.monAssistant.showPage( QString("%1/index.html").arg(docsPath) )
+
+    def optionEditeur(self) :
+        from monOptionsEditeur import Options
+        monOption=Options(parent=self.viewmanager,fl=Qt.WType_Dialog,configuration=self.CONFIGURATION)
+        monOption.show()
+        
+    def optionPdf(self) :
+        from monOptionsPdf import OptionPdf
+        monOption=OptionPdf(parent=self.viewmanager,fl=Qt.WType_Dialog,configuration=self.CONFIGURATION)
+        monOption.show()
+        
+    def handleShowRecentMenu(self):
+        """
+        Private method to set up recent files menu.
+        """
+        idx = 0
+        self.recentMenu.clear()
+        
+        for rp in self.viewmanager.recent:
+            id = self.recentMenu.insertItem('&%d. %s' % (idx+1, unicode(rp)),
+                                            self.handleOpenRecent)
+            self.recentMenu.setItemParameter(id,idx)
+            
+            idx = idx + 1
+            
+        self.recentMenu.insertSeparator()
+        self.recentMenu.insertItem(self.trUtf8('&Clear'), self.handleClearRecent)
+        
+    def handleOpenPatrons(self, idx):
+        fichier=REPINI+"/../Editeur/Patrons/"+self.code+"/"+self.ficPatrons[idx]
+        self.viewmanager.handleOpen(fn=fichier, patron = 1)
+
+
+    def handleOpenRecent(self, idx):
+        """
+        Private method to open a file from the list of rencently opened files.
+        
+        @param idx index of the selected entry (int)
+        """        
+        self.viewmanager.handleOpen(unicode(self.viewmanager.recent[idx]))
+        
+    def handleClearRecent(self):
+        """
+        Private method to clear the recent files menu.
+        """
+        self.viewmanager.recent = QStringList()
+
+        
+    def handleLastEditorClosed(self):
+        """
+        Public slot to handle the lastEditorClosed signal.
+        """
+        pass # CS_pbruno todo griser les parties k'il faut
+        
+    def handleEditorOpened(self, fn):
+        """
+        Public slot to handle the editorOpened signal.
+        
+        @param fn filename of the opened editor (string)
+        """
+        pass # CS_pbruno todo degriser les parties k'il faut
+        
+        
+    def fileNew(self):        
+        self.viewmanager.newEditor()        
+        
+    def fileOpen(self, prog=None):
+        self.viewmanager.handleOpen(prog)        
+        
+    def fileNewView(self):
+        self.viewmanager.handleNewView()
+        
+    def fileSave(self):
+        self.viewmanager.saveCurrentEditor()
+        
+    def fileSaveAs(self):
+        self.viewmanager.saveAsCurrentEditor()
+        
+    def fileClose(self):
+        self.viewmanager.handleClose()
+        
+    def fileCloseAll(self):
+        self.viewmanager.handleCloseAll()
+        
+    def fileExit(self):
+        # On peut sortir sur Abort
+        if self.viewmanager.handleCloseAll() ==0 : 
+           return
+        if self.salome :
+           self.close()
+        else :
+           qApp.closeAllWindows()
+        
+    def editCopy(self):
+        self.viewmanager.handleEditCopy()
+      
+    def editCut(self):
+        self.viewmanager.handleEditCut()
+    
+    def editPaste(self):
+        self.viewmanager.handleEditPaste()
+        
+    def jdcFichierSource(self):
+        self.viewmanager.handleViewJdcFichierSource()
+        
+    def jdcRapport(self):
+        self.viewmanager.handleViewJdcRapport()
+        
+    def visuJdcPy(self):
+        self.viewmanager.handlevisuJdcPy()
+
+    def get_source(self,file):
+        from editor import JDCEditor
+        monEditeur=JDCEditor()
+        texte=monEditeur.get_source(file)
+        return texte
+    
+    def helpAbout(self):
+        import AIDE
+        AIDE.go3(parent=self)
+
+    def NewInclude(self):
+        self.viewmanager.newIncludeEditor()
+
+if __name__=='__main__':
+
+    # Modules Eficas
+    sys.path.append(INSTALLDIR+"/Aster")
+    from Aster import prefs
+    if hasattr(prefs,'encoding'):
+       # Hack pour changer le codage par defaut des strings
+       import sys
+       reload(sys)
+       sys.setdefaultencoding(prefs.encoding)
+       del sys.setdefaultencoding
+       # Fin hack
+
+    from Editeur import import_code
+    from Editeur import session
+
+    # Analyse des arguments de la ligne de commande
+    options=session.parse(sys.argv)
+    code=options.code
+
+    app = QApplication(sys.argv)    
+    mw = Appli()
+    app.setMainWidget(mw)
+    app.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()"))
+    mw.ouvreFichiers()
+    mw.show()
+            
+    res = app.exec_loop()
+    sys.exit(res)
diff --git a/InterfaceQT4/qtSaisie.py b/InterfaceQT4/qtSaisie.py
new file mode 100644 (file)
index 0000000..7c3c86e
--- /dev/null
@@ -0,0 +1,185 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+# Modules Python
+import string,types,os
+from qt import *
+
+# Import des panels
+
+class SaisieValeur:
+  """
+  Classe contenant les méthodes communes aux  panels
+  permettant de choisir des valeurs 
+  """
+  def __init__(self):
+        pass
+
+  def InitListBoxASSD(self):
+       listeNomsSD = self.node.item.get_sd_avant_du_bon_type()
+       for aSD in listeNomsSD:
+            self.listBoxASSD.insertItem( aSD)
+            QObject.connect(self.listBoxASSD, SIGNAL("doubleClicked(QListBoxItem*)" ), self.ClicASSD )
+       min,max =  self.node.item.GetMinMax()
+       l= self.node.item.GetListeValeurs()
+       
+       if (min == 1 and min == max and len(listeNomsSD)==1 and (l==[] or l==None)):
+            if ('R' not in self.node.item.get_type()) :
+               self.listBoxASSD.setCurrentItem(0)
+
+
+  def BuildLBValeurs(self):
+        self.LBValeurs.clear()
+        listeValeurs=self.node.item.GetListeValeurs()
+        for valeur in listeValeurs:
+            self.LBValeurs.insertItem(str(valeur))
+        if listeValeurs != None and listeValeurs != [] :
+            self.LBValeurs.setCurrentItem(len(listeValeurs) - 1)
+       
+
+  def RemplitPanel(self,listeDejaLa=[]):
+        self.listBoxVal.clear()
+        lChoix=self.node.item.get_liste_possible(listeDejaLa)
+        for valeur in lChoix :
+            self.listBoxVal.insertItem( str(valeur) ) 
+        if len(lChoix) == 1 :
+            self.listBoxVal.setSelected(0,1)
+
+  def ClicASSD(self):
+         if self.listBoxASSD.selectedItem()== None : return
+         valeurQstring=self.listBoxASSD.selectedItem().text()
+         commentaire = QString("Valeur selectionnée : ") 
+         commentaire.append(valeurQstring)
+         self.Commentaire.setText(commentaire)
+         valeur=valeurQstring.latin1()
+         validite,commentaire=self.politique.RecordValeur(valeur)
+         self.Commentaire.setText(QString(commentaire))
+         self.editor.affiche_infos(commentaire)
+
+  def ClicValeur(self):
+         if self.listBoxVal.selectedItem()== None : return
+         valeurQstring=self.listBoxVal.selectedItem().text()
+         valeur=valeurQstring.latin1()
+         validite,commentaire=self.politique.RecordValeur(valeur)
+         #self.Commentaire.setText(QString(commentaire))
+         self.editor.affiche_infos(commentaire)
+
+  def BOkPressed(self):
+         if self.listBoxVal.selectedItem()==None :
+            commentaire = "Pas de valeur selectionnée" 
+            self.Commentaire.setText(QString(commentaire))
+         else :
+            self.ClicValeur()       
+
+  def BOk2Pressed(self):
+         if str(self.lineEditVal.text())== "" :
+            commentaire = "Pas de valeur entrée " 
+            self.Commentaire.setText(QString(commentaire))
+         else :
+            self.LEValeurPressed()       
+
+  def LEValeurPressed(self,valeur=None):
+         if valeur == None :
+            nouvelleValeur=str(self.lineEditVal.text())
+         else :
+            self.lineEditVal.setText(QString(valeur.nom))
+            nouvelleValeur=valeur
+         validite,commentaire=self.politique.RecordValeur(nouvelleValeur)
+         if commentaire != "" :
+            #self.Commentaire.setText(QString(commentaire))
+            self.editor.affiche_infos(commentaire)
+
+
+  def TraiteLEValeur(self,valeurTraitee=None) :
+        # lit la chaine entree dans le line edit
+        # et la tranforme en chaine de valeurs
+        # a traiter. renvoie eventuellement des complexes
+        listeValeurs=[]
+        if valeurTraitee == None :
+           valeurBrute=str(self.LEValeur.text())
+        else :
+           valeurBrute=valeurTraitee
+        if valeurBrute == str("") : return 1, listeValeurs
+        try :
+           valeur=eval(valeurBrute,{})        
+        except :
+           valeur=valeurBrute
+        if type(valeur)  in (types.ListType,types.TupleType) :
+           indice = 0
+           while (indice < len(valeur)):
+              v=valeur[indice]
+              if self.node.item.wait_complex() :
+                 if (v== 'RI' or v == 'MP'):
+                    try :
+                       t=tuple([v,valeur[indice+1],valeur[indice+2]])
+                       listeValeurs.append(t)
+                       indice=indice+3
+                    except :
+                       commentaire = "Veuillez entrer le complexe sous forme aster ou sous forme python"
+                       self.editor.affiche_infos(commentaire)
+                       return listeValeurs,0
+                       
+
+                 else :     # ce n'est pas un tuple à la mode aster
+                    
+                    listeValeurs.append(v)
+                    indice = indice + 1
+
+              else:  # on n'attend pas un complexe
+                 listeValeurs.append(v)
+                 indice=indice+1
+        elif type(valeur) == types.StringType:
+             listeValeurs=valeur.split(',')
+        else:
+          listeValeurs.append(valeur)
+
+        return listeValeurs,1
+
+
+class SaisieSDCO :
+  def __init__(self):
+        pass
+
+  def LESDCOReturnPressed(self):
+        """
+           Lit le nom donné par l'utilisateur au concept de type CO qui doit être
+           la valeur du MCS courant et stocke cette valeur
+        """
+        self.editor.init_modif()
+        anc_val = self.node.item.get_valeur()
+        if anc_val != None:
+          # il faut egalement propager la destruction de l'ancien concept
+          self.node.item.delete_valeur_co(valeur=anc_val)
+          # et on force le recalcul des concepts de sortie de l'etape
+          self.node.item.object.etape.get_type_produit(force=1)
+          # et le recalcul du contexte
+          self.node.item.object.etape.parent.reset_context()
+        nomConcept = str(self.LESDCO.text())
+        if nomConcept == "" : return
+
+        test,commentaire=self.node.item.set_valeur_co(nomConcept)
+        if test:
+           commentaire="Valeur du mot-clé enregistree"
+           self.node.update_node_valid()
+        else :
+           cr = self.node.item.get_cr()
+           commentaire = "Valeur du mot-clé non autorisée :"+cr.get_mess_fatal()
+           self.node.item.set_valeur_co(anc_val)
+        self.Commentaire.setText(QString(commentaire))
diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py
new file mode 100644 (file)
index 0000000..2f37094
--- /dev/null
@@ -0,0 +1,413 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+"""
+    Ce module sert a lire un catalogue et a construire
+    un objet CataItem pour Eficas.
+    Il s'appuie sur la classe READERCATA
+"""
+# Modules Python
+import time
+import os,sys,py_compile
+import traceback
+import cPickle
+import re
+
+# Modules Eficas
+import prefs
+from Noyau.N_CR import CR
+from utils      import init_rep_cata_dev
+
+from Editeur    import analyse_catalogue
+from Editeur    import autre_analyse_cata
+from Editeur    import uiinfo
+from monChoixCata import MonChoixCata
+
+from qt import *
+
+version="14"
+
+class READERCATA:
+
+   def __init__(self,appli,parent):
+      self.appli=appli      
+      self.parent=parent
+      self.code=self.appli.code
+      self.appli.format_fichier='python'
+      self.version_code=self.appli.version_code
+      self.version_cata=None
+      self.fic_cata=None
+      self.OpenCata()
+      self.cataitem=None
+
+   def OpenCata(self):
+      """ 
+          Ouvre le catalogue standard du code courant, cad le catalogue présent
+          dans le répertoire Cata 
+      """
+      message1 = "Compilation des fichiers Eficas \n\n Veuillez patienter ..."
+      self.configure_barre(4)
+
+      liste_cata_possibles=[]
+      for catalogue in self.appli.CONFIGURATION.catalogues:
+          if catalogue[0] == self.code :
+             liste_cata_possibles.append(catalogue)
+
+      if len(liste_cata_possibles)==0:          
+          QMessageBox.critical( self.parent, "Import du catalogue","Pas de catalogue defini pour le code %s" % self.code)
+          self.appli.parent.ui.close()
+          sys.exit(1)
+
+      if self.version_code is not None:
+          # La version a ete fixee
+          for cata in liste_cata_possibles:
+             if self.version_code == cata[1]:
+                self.fic_cata = cata[2]
+                self.appli.format_fichier=cata[3]
+      elif len(liste_cata_possibles)==1:
+          self.fic_cata = liste_cata_possibles[0][2]
+          self.version_code = liste_cata_possibles[0][1]
+          self.appli.format_fichier=liste_cata_possibles[0][3] 
+          lab=QString("Eficas V1.") 
+          lab+=QString(version) 
+          lab+=QString(" pour ")
+          lab+=QString(self.code) 
+          lab+=QString(" avec le catalogue ")
+          lab+=self.version_code
+          try :
+          # souci pour les includes
+              self.appli.parent.ui.setCaption(lab)
+          except :
+              pass
+          #qApp.mainWidget().setCaption(lab)
+      else:
+          # plusieurs catalogues sont disponibles : il faut demander a l'utilisateur
+          # lequel il veut utiliser ...
+          self.ask_choix_catalogue()
+
+      if self.fic_cata == None :
+          print "Pas de catalogue pour code %s, version %s" %(self.code,self.version_code)
+          sys.exit(0)
+
+      self.determineMater()
+
+
+      # détermination de fic_cata_c et fic_cata_p
+      self.fic_cata_c = self.fic_cata + 'c'
+      self.fic_cata_p = os.path.splitext(self.fic_cata)[0]+'_pickled.py'
+
+      # import du catalogue
+      self.cata = self.import_cata(self.fic_cata)
+      self.update_barre()
+      if not self.cata :          
+          QMessageBox.critical( self.parent, "Import du catalogue","Impossible d'importer le catalogue %s" %self.fic_cata)
+         self.appli.parent.ui.close()
+          sys.exit(1)
+      #
+      # analyse du catalogue (ordre des mots-clés)
+      #
+      # Retrouve_Ordre_Cata_Standard fait une analyse textuelle du catalogue
+      # remplacé par Retrouve_Ordre_Cata_Standard_autre qui utilise une numerotation
+      # des mots clés a la création
+      self.Retrouve_Ordre_Cata_Standard_autre()
+      self.update_barre()
+
+      #
+      # analyse des données liées a  l'IHM : UIinfo
+      #
+      uiinfo.traite_UIinfo(self.cata)
+      self.update_barre()
+
+      #
+      # traitement des clefs documentaires
+      #
+      self.traite_clefs_documentaires()
+
+      # chargement et analyse des catalogues développeur (le cas échéant)
+      #
+      if self.appli.CONFIGURATION.isdeveloppeur == 'OUI' :
+          init_rep_cata_dev(self.fic_cata,self.appli.CONFIGURATION.path_cata_dev)
+          fic_cata_dev = os.path.join(self.appli.CONFIGURATION.path_cata_dev,'cata_developpeur.py')
+          if os.path.isfile(fic_cata_dev):
+              # il y a bien un catalogue développeur : il faut récupérer le module_object associé ...
+              test = self.compile_cata(fic_cata_dev,fic_cata_dev+'c')
+              if not test :
+                  showinfo("Compilation catalogue développeur",
+                           "Erreur dans la compilation du catalogue développeur")
+                  self.cata = (self.cata,)
+              else:
+                  self.cata_dev =self.import_cata(fic_cata_dev)
+                  #self.Retrouve_Ordre_Cata_Developpeur()
+                  self.Retrouve_Ordre_Cata_Developpeur_autre()
+                  self.cata = (self.cata,self.cata_dev)
+          else:
+              self.cata = (self.cata,)
+      else:
+          self.cata = (self.cata,)
+      titreSuite=" avec le catalogue " + os.path.basename(self.fic_cata)
+      titre=self.appli.titre+titreSuite
+      if self.appli.top:
+        self.appli.top.title(titre)
+      self.appli.titre=titre
+
+   def determineMater(self) :
+      # Determinination du repertoire materiau
+      v_codeSansPoint=self.version_code
+      v_codeSansPoint=re.sub("\.","",v_codeSansPoint)
+      chaine="rep_mat_"+v_codeSansPoint
+      if hasattr(self.appli.CONFIGURATION,chaine):
+          a=getattr(self.appli.CONFIGURATION,chaine)
+      else :
+          try :
+             a=self.appli.CONFIGURATION.dRepMat[self.version_code]
+          except :
+             if self.code == "ASTER" :
+                print "Probleme avec le repertoire materiau"
+             a='.'
+      self.appli.CONFIGURATION.rep_mat=a
+
+   def import_cata(self,cata):
+      """ 
+          Réalise l'import du catalogue dont le chemin d'acca¨s est donné par cata
+      """
+      nom_cata = os.path.splitext(os.path.basename(cata))[0]
+      rep_cata = os.path.dirname(cata)
+      sys.path[:0] = [rep_cata]
+      try :
+          o=__import__(nom_cata)
+          return o
+      except Exception,e:
+          traceback.print_exc()
+          return 0
+
+   def Retrouve_Ordre_Cata_Standard_autre(self):
+      """ 
+          Construit une structure de données dans le catalogue qui permet
+          a  EFICAS de retrouver l'ordre des mots-clés dans le texte du catalogue.
+          Pour chaque entité du catlogue on crée une liste de nom ordre_mc qui
+          contient le nom des mots clés dans le bon ordre
+      """ 
+      self.cata_ordonne_dico,self.appli.liste_simp_reel=autre_analyse_cata.analyse_catalogue(self.cata)
+
+   def Retrouve_Ordre_Cata_Standard(self):
+      """ 
+          Retrouve l'ordre des mots-clés dans le catalogue, cad :
+           - si ce dernier a été modifié, relance l'analyse du catalogue pour déterminer
+               l'ordre des mots-clés dans le catalogue
+           - s'il n'a pas été modifié, relie le fichier pickle 
+      """
+      time1 = os.path.getmtime(self.fic_cata)
+      try :
+          time2 = os.path.getmtime(self.fic_cata_p)
+      except:
+          time2 = 0
+      if time2 > time1 :
+          # l'objet catalogue n'a pas été modifié depuis le dernier "pickle"
+          self.Get_Ordre_Cata()
+      else :
+          # le catalogue a été modifié depuis le dernier "pickle" :
+          # il faut retrouver l'ordre du catalogue et refaire pickle
+          self.Get_Ordre_Cata(mode='cata')
+      self.appli.affiche_infos("Catalogue standard chargé")
+
+   def Retrouve_Ordre_Cata_Developpeur(self):
+      """ 
+          Retrouve l'ordre des mots-clés dans le catalogue, cad :
+          - si ce dernier a été modifié, relance l'analyse du catalogue pour déterminer
+            l'ordre des mots-clés dans le catalogue
+          - s'il n'a pas été modifié, relie le fichier pickle 
+      """
+      if self.code != 'ASTER' : return
+      fic_cata = os.path.join(self.appli.CONFIGURATION.path_cata_dev,'cata_developpeur.py')
+      message="Chargement catalogue développeur présent dans :\n %s..." % self.appli.CONFIGURATION.path_cata_dev
+      cata_dev_ordonne = analyse_cata.analyse_catalogue(self,self.fic_cata)
+      self.cata_dev_ordonne_cr = cata_dev_ordonne.cr
+      cata_dev_ordonne_dico = cata_dev_ordonne.entites
+      self.cata_ordonne_dico.update(cata_dev_ordonne_dico)
+      self.appli.affiche_infos(" catalogue(s) développeur(s) chargé(s)" )
+
+   def Retrouve_Ordre_Cata_Developpeur_autre(self):
+      """
+          Retrouve l'ordre des mots-clés dans le catalogue, cad :
+          - si ce dernier a été modifié, relance l'analyse du catalogue pour déterminer
+            l'ordre des mots-clés dans le catalogue
+          - s'il n'a pas été modifié, relie le fichier pickle
+      """
+      if self.code != 'ASTER' : return
+      message="Chargement catalogue développeur présent dans :\n %s..." % self.appli.CONFIGURATION.path_cata_dev
+      cata_dev_ordonne_dico,self.appli.liste_simp_reel=autre_analyse_cata.analyse_catalogue(self.cata)
+      self.cata_ordonne_dico.update(cata_dev_ordonne_dico)
+      self.appli.affiche_infos(" catalogue(s) développeur(s) chargé(s)" )
+
+   def Get_Ordre_Cata(self,mode='pickle'):
+      """ 
+          Retrouve l'ordre du catalogue :
+            - mode='pickle ': tente de relire le fichier pickle et sinon lance l'analyse du catalogue
+            - mode='cata'   : force l'analyse du catalogue directement sans relire le pickle
+      """
+      if mode == 'pickle' :
+          try:
+              f = open(self.fic_cata_p)
+              u = cPickle.Unpickler(f)
+              self.cata_ordonne_dico = u.load()
+              f.close()
+          except :
+              # on peut ne pas arriver a  relire le fichier pickle s'il a été altéré
+              # ou (le plus probable) s'il a été créé sous un autre OS
+              self.Get_Ordre_Cata(mode='cata')
+      elif mode == 'cata':
+          cata_ordonne = analyse_catalogue.analyse_catalogue(self,self.fic_cata)
+          self.cata_ordonne_cr = cata_ordonne.cr
+          self.cata_ordonne_dico = cata_ordonne.entites
+          f = open(self.fic_cata_p,'w+')
+          p = cPickle.Pickler(f)
+          p.dump(self.cata_ordonne_dico)
+          f.close()
+      else :
+          raise Exception("Appel a  un mode inconnu de Get_Ordre_Cata : %s" % mode)
+          return
+
+   def ask_choix_catalogue(self):
+      """
+      Ouvre une fenetre de sélection du catalogue dans le cas oa¹ plusieurs
+      ont été définis dans Accas/editeur.ini
+      """      
+      # construction du dictionnaire et de la liste des catalogues
+      self.dico_catalogues = {}
+      defaut = None
+      for catalogue in self.appli.CONFIGURATION.catalogues:
+          if catalogue[0] == self.code :
+              self.dico_catalogues[catalogue[1]] = catalogue
+              if len(catalogue) == 5 :
+                  if catalogue[4]=='defaut' : defaut = catalogue[1]
+      liste_choix = self.dico_catalogues.keys()
+      liste_choix.sort()
+
+      lab=QString("Eficas V1.") 
+      lab+=QString(version) 
+      lab+=QString(" pour ")
+      lab+=QString(self.code) 
+      lab+=QString(" avec le catalogue ")
+
+      # teste si plusieurs catalogues ou non
+      if len(liste_choix) == 0:          
+          QMessageBox.critical( self.parent, "", "Aucun catalogue déclaré pour %s" %self.code)
+         self.appli.parent.ui.close()
+          sys.exit(1)
+          
+      # création d'une boite de dialogue modale
+      widgetChoix=MonChoixCata(liste_choix,self, self.parent, "", True )
+      ret=widgetChoix.exec_loop()
+      
+      lab=QString("Eficas V1.") 
+      lab+=QString(version) 
+      lab+=QString(" pour ")
+      lab+=QString(self.code) 
+      lab+=QString(" avec le catalogue ")
+      if ret == QDialog.Accepted:
+          self.version_cata=str(self.version_cata)
+          self.fic_cata = self.dico_catalogues[self.version_cata][2]
+          self.version_code = self.version_cata
+          self.appli.format_fichier = self.dico_catalogues[self.version_cata][3]
+          lab+=self.version_cata
+          self.appli.parent.ui.setCaption(lab)
+          #qApp.mainWidget().setCaption(lab)
+      else :
+          sys.exit(0)
+
+
+   def compile_cata(self,cata,catac):
+      """ 
+           Teste si le catalogue a bien besoin d'etre recompilé et si oui, le compile et
+           affiche un message dans le splash . Retourne 1 si la compilation s'est bien déroulée,
+           0 sinon.
+      """
+      time1 = os.path.getmtime(cata)
+      try:
+          time2 = os.path.getmtime(catac)
+      except:
+          time2 = 0
+      if time1 > time2:
+          try:
+              # le catalogue doit etre recompilé avant d'etre importé
+              if self.appli.test == 0 :
+                 splash._splash.configure(text="Compilation du catalogue\nCela peut prendre plusieurs secondes ...")
+              py_compile.compile(cata)
+          except:
+              return 0
+      return 1
+
+
+#--------------------------------------------------------------------------------
+# Méthodes concernant la barre de progression lors de l'analyse du catalogue
+#--------------------------------------------------------------------------------
+
+   def configure_barre(self,nbcommandes):
+      """ Configure la barre de progression en lui passant comme parama¨tre le
+          nombre de commandes du catalogue qui lui sert a  déterminer la longueur de son incrément """
+      try:
+          if self.appli.test == 0 :
+             splash._splash.configure(barre='oui',ratio = nbcommandes)
+      except:
+          pass
+
+   def update_barre(self):
+      """ Update la position de la barre de progression : la fait progresser de son incrément """
+      try:
+          if self.appli.test == 0 :
+             splash._splash.update_barre()
+      except:
+          pass
+
+   def visuCRCATA(self):
+      """
+      Méthode permettant l'affichage du rapport de validation
+      """
+      cr = CR( debut = "Début rapport de validation du catalogue",
+               fin = "Fin rapport de validation du catalogue")
+      titre="rapport de validation du catalogue"
+      if hasattr(self,'cata_ordonne_cr') :
+          cr.add(self.cata_ordonne_cr)
+      if hasattr(self,'cata_dev_ordonne_cr') :
+          cr.add(self.cata_dev_ordonne_cr)
+      for cata in self.cata:
+          if hasattr(cata,'JdC'):
+              cr.add(cata.JdC.report())
+      texte_cr = str(cr)
+      self.visu_texte_cr = Fenetre(self.appli,titre=titre,texte=texte_cr)
+
+
+   def traite_clefs_documentaires(self):
+      try:
+        self.fic_cata_clef=os.path.splitext(self.fic_cata_c)[0]+'_clefs_docu'
+        f=open(self.fic_cata_clef)
+      except:
+        #print "Pas de fichier associé contenant des clefs documentaires"
+        return
+
+      dict_clef_docu={}
+      for l in f.readlines():
+          clef=l.split(':')[0]
+          docu=l.split(':')[1]
+          docu=docu[0:-1]
+          dict_clef_docu[clef]=docu
+      for oper in self.cata.JdC.commandes:
+           if dict_clef_docu.has_key(oper.nom):
+              oper.docu=dict_clef_docu[oper.nom]
diff --git a/InterfaceQT4/typeNode.py b/InterfaceQT4/typeNode.py
new file mode 100644 (file)
index 0000000..53d3f54
--- /dev/null
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+from qt import *
+
+#---------------------------#
+class PopUpMenuNodePartiel :
+#---------------------------#
+    def createPopUpMenu(self):
+        #menu
+        self.menu = QPopupMenu(self.tree)
+
+        #ss-menu Comment:
+        self.commentMenu = QPopupMenu( self.menu )
+        self.menu.insertItem( qApp.translate('Browser','Commentaire'), self.commentMenu ) 
+        self.commentMenu.insertItem( 'après', self.addCommentAfter )
+        self.commentMenu.insertItem( 'avant', self.addCommentBefore )
+
+        #ss-menu Parameters:
+        self.parametersMenu = QPopupMenu( self.menu )
+        self.parametersMenu.insertItem( 'après', self.addParametersAfter )
+        self.parametersMenu.insertItem( 'avant', self.addParametersBefore )
+
+        #items du menu
+        self.menu.insertItem( qApp.translate('Browser','Supprimer'), self.delete )
+        self.menu.insertItem( qApp.translate('Browser','Parametres'), self.parametersMenu )
+
+    
+    def addCommentAfter(self):
+        """
+        """
+        self.addComment()
+
+    def addCommentBefore(self):
+        """
+        """
+        self.addComment(False)
+
+    def addParametersAfter(self):
+        """
+        """
+        self.addParameters()
+
+    def addParametersBefore(self):
+        """
+        """
+        self.addParameters(False)
+
+
+#-----------------------------------------#
+class PopUpMenuNode(PopUpMenuNodePartiel) :
+#-----------------------------------------#
+    def createPopUpMenu(self):
+        PopUpMenuNodePartiel.createPopUpMenu(self)
+        self.commentMenu.insertItem( 'ce noeud', self.commentIt )
diff --git a/InterfaceQT4/utilIcons.py b/InterfaceQT4/utilIcons.py
new file mode 100644 (file)
index 0000000..d52fbc5
--- /dev/null
@@ -0,0 +1,52 @@
+# -*- coding: utf-8 -*-
+
+from qt import QPixmap
+import os
+
+class PixmapCache:
+    """
+    Class implementing a pixmap cache for icons.
+    """
+    def __init__(self):
+        """
+        Constructor
+        """
+        self.pixmapCache = {}
+
+    def getPixmap(self, key):
+        """
+        Public method to retrieve a pixmap.
+        
+        @param key name of the wanted pixmap (string)
+        @return the requested pixmap (QPixmap)
+        """
+        try:
+            return self.pixmapCache[key]
+        except KeyError:
+            self.pixmapCache[key] = QPixmap.fromMimeSource(key)
+            return self.pixmapCache[key]
+            
+pixCache = PixmapCache()
+
+def getPixmap(key, cache = pixCache):
+    """
+    Module function to retrieve a pixmap.
+    
+    @param key name of the wanted pixmap (string)
+    @return the requested pixmap (QPixmap)
+    """
+    return cache.getPixmap(key)
+    
+    
+
+from qt import QMimeSourceFactory
+
+def initializeMimeSourceFactory():
+    """
+    Function to initialize the default mime source factory.
+    
+    """
+    defaultFactory = QMimeSourceFactory.defaultFactory()
+    repini=os.path.dirname(os.path.abspath(__file__))
+    defaultFactory.addFilePath(repini+"/../Editeur/icons") #CS_pbruno todo (config)
+    
diff --git a/InterfaceQT4/viewManager.py b/InterfaceQT4/viewManager.py
new file mode 100644 (file)
index 0000000..cf9f2d3
--- /dev/null
@@ -0,0 +1,2550 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+
+import os
+from InterfaceQT import utilIcons 
+from qt import *
+
+
+##fonctions utilitaires
+def normabspath(path):
+    """
+    Function returning a normalized, absolute path.
+    
+    @param path file path (string)
+    @return absolute, normalized path (string)
+    """
+    return os.path.abspath(path)
+    
+    
+def samepath(f1, f2):
+    """
+    Function to compare two paths.
+    
+    @param f1 first path for the compare (string)
+    @param f2 second path for the compare (string)
+    @return flag indicating whether the two paths represent the
+        same path on disk.
+    """
+    if f1 is None or f2 is None:
+        return 0
+        
+    if normcasepath(f1) == normcasepath(f2):
+        return 1
+        
+    return 0
+
+def normcasepath(path):
+    """
+    Function returning a path, that is normalized with respect to its case and references.
+    
+    @param path file path (string)
+    @return case normalized path (string)
+    """
+    return os.path.normcase(os.path.normpath(path))    
+    
+
+
+
+class ViewManager:
+    """
+    Base class inherited by all specific viewmanager classes.
+    
+    It defines the interface to be implemented by specific
+    viewmanager classes and all common methods.
+    
+    @signal lastEditorClosed emitted after the last editor window was closed
+    @signal editorOpened(string) emitted after an editor window was opened
+    @signal editorSaved(string) emitted after an editor window was saved
+    @signal checkActions(editor) emitted when some actions should be checked
+            for their status
+    @signal cursorChanged(editor) emitted after the cursor position of the active
+            window has changed
+    @signal breakpointToggled(editor) emitted when a breakpoint is toggled.
+    @signal bookmarkToggled(editor) emitted when a bookmark is toggled.
+    """
+    def __init__(self, ui ):
+        """
+        Constructor
+        
+        @param ui reference to the main user interface
+        @param dbs reference to the debug server object
+        """
+        # initialize the instance variables
+        self.ui = ui
+        self.appliEficas = ui
+        self.editors = []
+        self.doubles = {}
+        self.currentEditor = None
+        self.untitledCount = 0
+        self.srHistory = {"search" : QStringList(), "replace" : QStringList()}
+        self.editorsCheckFocusIn = 1
+        self.recent =  QStringList()      
+                
+        
+        # initialize the central store for api information (used by
+        # autocompletion and calltips)
+        self.apis = {}
+        self.initFileFilters()
+        
+        
+    def initFileFilters(self):
+        """
+        Private method to initialize the lists of supported filename filters.
+        """
+        self.fileFiltersString = self.trUtf8(\
+            'Python Files (*.py);;'
+            'Aster Files (*.com*);;'
+            'Pyrex Files (*.pyx);;'
+            'Quixote Template Files (*.ptl);;'
+            'IDL Files (*.idl);;'
+            'C Files (*.h *.c);;'
+            'C++ Files (*.h *.hpp *.hh *.cxx *.cpp *.cc);;'
+            'C# Files (*.cs);;'
+            'HTML Files (*.html *.htm *.asp *.shtml *.css);;'
+            'PHP Files (*.php *.php3 *.php4 *.php5 *.phtml);;'
+            'XML Files (*.xml *.xsl *.xslt *.dtd);;'
+            'Java Files (*.java);;'
+            'JavaScript Files (*.js);;'
+            'SQL Files (*.sql);;'
+            'Docbook Files (*.docbook);;'
+            'Perl Files (*.pl *.pm *.ph);;'
+            'Shell Files (*.sh);;'
+            'Aster Files (*.com*);;'
+            'All Files (*)')
+
+        fileFilters = QStringList.split(';;', self.fileFiltersString)
+        
+        self.ext2Filter = {}
+        for fileFilter in fileFilters:
+            extensions = QStringList.split('*', fileFilter)
+            for extension in extensions[1:]:
+                extension = unicode(extension).strip().replace(')', '')
+                if extension:
+                    self.ext2Filter[extension] = unicode(fileFilter)
+        
+        
+        
+    #####################################################################
+    ## methods above need to be implemented by a subclass
+    #####################################################################
+    
+    def canSplit(self):
+        """
+        public method to signal if splitting of the view is available.
+        
+        @return flag indicating splitting of the view is available.
+        """
+        return 0
+        
+    def addSplit(self):
+        """
+        Public method used to split the current view.
+        """
+        pass
+        
+    def removeSplit(self):
+        """
+        Public method used to remove the current split view.
+        
+        @return Flag indicating successful deletion
+        """
+        return 0
+        
+    def setSplitOrientation(self, orientation):
+        """
+        Public method used to set the orientation of the split view.
+        
+        @param orientation orientation of the split
+                (QSplitter.Horizontal or QSplitter.Vertical)
+        """
+        pass
+        
+    def eventFilter(self, object, event):
+        """
+        Private method called to filter an event.
+        
+        @param object object, that generated the event (QObject)
+        @param event the event, that was generated by object (QEvent)
+        @return flag indicating if event was filtered out
+        """
+        return 0
+        
+    def focusInEvent(self, event):
+        """
+        Public method called when the viewmanager receives focus.
+        
+        @param event the event object (QFocusEvent)
+        """
+        self.editorActGrp.setEnabled(1)
+        
+    def focusOutEvent(self, event):
+        """
+        Public method called when the viewmanager loses focus.
+        
+        @param event the event object (QFocusEvent)
+        """
+        self.editorActGrp.setEnabled(0)
+        
+    
+    def initEditMenu(self):
+        """
+        Public method to create the Edit menu
+        
+        @return the generated menu
+        """
+        menu = QPopupMenu(self.ui)
+        menu.insertTearOffHandle()
+        self.undoAct.addTo(menu)
+        self.redoAct.addTo(menu)
+        self.revertAct.addTo(menu)
+        menu.insertSeparator()
+        self.cutAct.addTo(menu)
+        self.copyAct.addTo(menu)
+        self.pasteAct.addTo(menu)
+        self.deleteAct.addTo(menu)
+        menu.insertSeparator()
+        self.indentAct.addTo(menu)
+        self.unindentAct.addTo(menu)
+        menu.insertSeparator()
+        self.commentAct.addTo(menu)
+        self.uncommentAct.addTo(menu)
+        self.streamCommentAct.addTo(menu)
+        self.boxCommentAct.addTo(menu)
+        menu.insertSeparator()
+        self.autoCompleteAct.addTo(menu)
+        self.autoCompleteFromDocAct.addTo(menu)
+        self.autoCompleteFromAPIsAct.addTo(menu)
+        menu.insertSeparator()
+        self.searchAct.addTo(menu)
+        self.searchAgainAct.addTo(menu)
+        self.replaceAct.addTo(menu)
+        menu.insertSeparator()
+        self.searchFilesAct.addTo(menu)
+        menu.insertSeparator()
+        self.gotoAct.addTo(menu)
+        self.gotoBraceAct.addTo(menu)
+        menu.insertSeparator()
+        self.selectBraceAct.addTo(menu)
+        self.selectAllAct.addTo(menu)
+        self.deselectAllAct.addTo(menu)
+        menu.insertSeparator()
+        self.shortenEmptyAct.addTo(menu)
+        self.convertEOLAct.addTo(menu)
+        
+        return menu
+        
+    def initEditToolbar(self):
+        """
+        Public method to create the Edit toolbar
+        
+        @return the generated toolbar
+        """
+        tb = QToolBar(self.ui)
+        self.undoAct.addTo(tb)
+        self.redoAct.addTo(tb)
+        tb.addSeparator()
+        self.cutAct.addTo(tb)
+        self.copyAct.addTo(tb)
+        self.pasteAct.addTo(tb)
+        self.deleteAct.addTo(tb)
+        tb.addSeparator()
+        self.indentAct.addTo(tb)
+        self.unindentAct.addTo(tb)
+        tb.addSeparator()
+        self.commentAct.addTo(tb)
+        self.uncommentAct.addTo(tb)
+        
+        return tb
+        
+    ##################################################################
+    ## Initialize the search related actions, search menu and toolbar
+    ##################################################################
+    
+    def initSearchActions(self):
+        """
+        Private method defining the user interface actions for the search commands.
+        """
+        self.searchActGrp = QActionGroup(self)
+        
+        self.searchAct = QAction(self.trUtf8('Search'),
+                QIconSet(utilIcons.getPixmap("find.png")),
+                self.trUtf8('&Search...'),
+                QKeySequence(self.trUtf8("CTRL+F","Search|Search")),
+                self.searchActGrp)
+        self.searchAct.setStatusTip(self.trUtf8('Search for a text'))
+        self.searchAct.setWhatsThis(self.trUtf8(
+            """<b>Search</b>"""
+            """<p>Search for some text in the current editor. A"""
+            """ dialog is shown to enter the searchtext and options"""
+            """ for the search.</p>"""
+        ))
+        self.connect(self.searchAct,SIGNAL('activated()'),self.handleSearch)
+        self.searchActions.append(self.searchAct)
+        
+        self.searchAgainAct = QAction(self.trUtf8('Search again'),
+                QIconSet(utilIcons.getPixmap("findNext.png")),
+                self.trUtf8('Search &again'),
+                Qt.Key_F3,self.searchActGrp)
+        self.searchAgainAct.setStatusTip(self.trUtf8('Search again for text'))
+        self.searchAgainAct.setWhatsThis(self.trUtf8(
+            """<b>Search again</b>"""
+            """<p>Search again for some text in the current editor."""
+            """ The previously entered searchtext and options are reused.</p>"""
+        ))
+        self.connect(self.searchAgainAct,SIGNAL('activated()'),self.searchDlg.handleFindNext)
+        self.searchActions.append(self.searchAgainAct)
+        
+        self.replaceAct = QAction(self.trUtf8('Replace'),
+                self.trUtf8('&Replace...'),
+                QKeySequence(self.trUtf8("CTRL+R","Search|Replace")),
+                self.searchActGrp)
+        self.replaceAct.setStatusTip(self.trUtf8('Replace some text'))
+        self.replaceAct.setWhatsThis(self.trUtf8(
+            """<b>Replace</b>"""
+            """<p>Search for some text in the current editor and replace it. A"""
+            """ dialog is shown to enter the searchtext, the replacement text"""
+            """ and options for the search and replace.</p>"""
+        ))
+        self.connect(self.replaceAct,SIGNAL('activated()'),self.handleReplace)
+        self.searchActions.append(self.replaceAct)
+        
+        self.gotoAct = QAction(self.trUtf8('Goto Line'),
+                QIconSet(utilIcons.getPixmap("goto.png")),
+                self.trUtf8('&Goto Line...'),
+                QKeySequence(self.trUtf8("CTRL+G","Search|Goto Line")),
+                self.searchActGrp)
+        self.gotoAct.setStatusTip(self.trUtf8('Goto Line'))
+        self.gotoAct.setWhatsThis(self.trUtf8(
+            """<b>Goto Line</b>"""
+            """<p>Go to a specific line of text in the current editor."""
+            """ A dialog is shown to enter the linenumber.</p>"""
+        ))
+        self.connect(self.gotoAct,SIGNAL('activated()'),self.handleGoto)
+        self.searchActions.append(self.gotoAct)
+        
+        self.gotoBraceAct = QAction(self.trUtf8('Goto Brace'),
+                QIconSet(utilIcons.getPixmap("gotoBrace.png")),
+                self.trUtf8('Goto &Brace'),
+                QKeySequence(self.trUtf8("CTRL+L","Search|Goto Brace")),
+                self.searchActGrp)
+        self.gotoBraceAct.setStatusTip(self.trUtf8('Goto Brace'))
+        self.gotoBraceAct.setWhatsThis(self.trUtf8(
+            """<b>Goto Brace</b>"""
+            """<p>Go to the matching brace in the current editor.</p>"""
+        ))
+        self.connect(self.gotoBraceAct,SIGNAL('activated()'),self.handleGotoBrace)
+        self.searchActions.append(self.gotoBraceAct)
+        
+        self.searchActGrp.setEnabled(0)
+        
+        self.searchFilesAct = QAction(self.trUtf8('Search in Files'),
+                QIconSet(utilIcons.getPixmap("projectFind.png")),
+                self.trUtf8('Search in &Files...'),
+                QKeySequence(self.trUtf8("SHIFT+CTRL+F","Search|Search Files")),
+                self)
+        self.searchFilesAct.setStatusTip(self.trUtf8('Search for a text in files'))
+        self.searchFilesAct.setWhatsThis(self.trUtf8(
+            """<b>Search in Files</b>"""
+            """<p>Search for some text in the files of a directory tree"""
+            """ or the project. A dialog is shown to enter the searchtext"""
+            """ and options for the search and to display the result.</p>"""
+        ))
+        self.connect(self.searchFilesAct,SIGNAL('activated()'),self.handleSearchFiles)
+        self.searchActions.append(self.searchFilesAct)
+        
+        
+    ##################################################################
+    ## Initialize the view related actions, view menu and toolbar
+    ##################################################################
+    
+    def initViewActions(self):
+        """
+        Protected method defining the user interface actions for the view commands.
+        """
+        self.viewActGrp = QActionGroup(self)
+        self.viewFoldActGrp = QActionGroup(self)
+
+        self.zoomInAct = QAction(self.trUtf8('Zoom in'),
+                            QIconSet(utilIcons.getPixmap("zoomIn.png")),
+                            self.trUtf8('Zoom &in'),
+                            Qt.CTRL+Qt.Key_Plus, self.viewActGrp)
+        self.zoomInAct.setStatusTip(self.trUtf8('Zoom in on the text'))
+        self.zoomInAct.setWhatsThis(self.trUtf8(
+                """<b>Zoom in</b>"""
+                """<p>Zoom in on the text. This makes the text bigger.</p>"""
+                ))
+        self.connect(self.zoomInAct,SIGNAL('activated()'),self.handleZoomIn)
+        self.viewActions.append(self.zoomInAct)
+        
+        self.zoomOutAct = QAction(self.trUtf8('Zoom out'),
+                            QIconSet(utilIcons.getPixmap("zoomOut.png")),
+                            self.trUtf8('Zoom &out'),
+                            Qt.CTRL+Qt.Key_Minus, self.viewActGrp)
+        self.zoomOutAct.setStatusTip(self.trUtf8('Zoom out on the text'))
+        self.zoomOutAct.setWhatsThis(self.trUtf8(
+                """<b>Zoom out</b>"""
+                """<p>Zoom out on the text. This makes the text smaller.</p>"""
+                ))
+        self.connect(self.zoomOutAct,SIGNAL('activated()'),self.handleZoomOut)
+        self.viewActions.append(self.zoomOutAct)
+        
+        self.zoomToAct = QAction(self.trUtf8('Zoom'),
+                            QIconSet(utilIcons.getPixmap("zoomTo.png")),
+                            self.trUtf8('&Zoom'),
+                            0, self.viewActGrp)
+        self.zoomToAct.setStatusTip(self.trUtf8('Zoom the text'))
+        self.zoomToAct.setWhatsThis(self.trUtf8(
+                """<b>Zoom</b>"""
+                """<p>Zoom the text. This opens a dialog where the"""
+                """ desired size can be entered.</p>"""
+                ))
+        self.connect(self.zoomToAct,SIGNAL('activated()'),self.handleZoom)
+        self.viewActions.append(self.zoomToAct)
+        
+        self.toggleAllAct = QAction(self.trUtf8('Toggle all folds'),
+                            self.trUtf8('Toggle &all folds'),
+                            0, self.viewFoldActGrp)
+        self.toggleAllAct.setStatusTip(self.trUtf8('Toggle all folds'))
+        self.toggleAllAct.setWhatsThis(self.trUtf8(
+                """<b>Toggle all folds</b>"""
+                """<p>Toggle all folds of the current editor.</p>"""
+                ))
+        self.connect(self.toggleAllAct,SIGNAL('activated()'),self.handleToggleAll)
+        self.viewActions.append(self.toggleAllAct)
+        
+        self.toggleCurrentAct = QAction(self.trUtf8('Toggle current fold'),
+                            self.trUtf8('Toggle &current fold'),
+                            0, self.viewFoldActGrp)
+        self.toggleCurrentAct.setStatusTip(self.trUtf8('Toggle current fold'))
+        self.toggleCurrentAct.setWhatsThis(self.trUtf8(
+                """<b>Toggle current fold</b>"""
+                """<p>Toggle the folds of the current line of the current editor.</p>"""
+                ))
+        self.connect(self.toggleCurrentAct,SIGNAL('activated()'),self.handleToggleCurrent)
+        self.viewActions.append(self.toggleCurrentAct)
+        
+        self.unhighlightAct = QAction(self.trUtf8('Remove all highlights'),
+                            QIconSet(utilIcons.getPixmap("unhighlight.png")),
+                            self.trUtf8('Remove all highlights'),
+                            0, self)
+        self.unhighlightAct.setStatusTip(self.trUtf8('Remove all highlights'))
+        self.unhighlightAct.setWhatsThis(self.trUtf8(
+                """<b>Remove all highlights</b>"""
+                """<p>Remove the highlights of all editors.</p>"""
+                ))
+        self.connect(self.unhighlightAct,SIGNAL('activated()'),self.unhighlight)
+        self.viewActions.append(self.unhighlightAct)
+        
+        self.splitViewAct = QAction(self.trUtf8('Split view'),
+                            QIconSet(utilIcons.getPixmap("splitVertical.png")),
+                            self.trUtf8('&Split view'),
+                            0, self)
+        self.splitViewAct.setStatusTip(self.trUtf8('Add a split to the view'))
+        self.splitViewAct.setWhatsThis(self.trUtf8(
+                """<b>Split view</b>"""
+                """<p>Add a split to the view.</p>"""
+                ))
+        self.connect(self.splitViewAct,SIGNAL('activated()'),self.handleSplitView)
+        self.viewActions.append(self.splitViewAct)
+        
+        self.splitOrientationAct = QAction(self.trUtf8('Arrange horizontally'),
+                            self.trUtf8('Arrange &horizontally'),
+                            0, self, None, 1)
+        self.splitOrientationAct.setStatusTip(self.trUtf8('Arrange the splitted views horizontally'))
+        self.splitOrientationAct.setWhatsThis(self.trUtf8(
+                """<b>Arrange horizontally</b>"""
+                """<p>Arrange the splitted views horizontally.</p>"""
+                ))
+        self.splitOrientationAct.setOn(0)
+        self.connect(self.splitOrientationAct,SIGNAL('activated()'),self.handleSplitOrientation)
+        self.viewActions.append(self.splitOrientationAct)
+        
+        self.splitRemoveAct = QAction(self.trUtf8('Remove split'),
+                            QIconSet(utilIcons.getPixmap("remsplitVertical.png")),
+                            self.trUtf8('&Remove split'),
+                            0, self)
+        self.splitRemoveAct.setStatusTip(self.trUtf8('Remove the current split'))
+        self.splitRemoveAct.setWhatsThis(self.trUtf8(
+                """<b>Remove split</b>"""
+                """<p>Remove the current split.</p>"""
+                ))
+        self.connect(self.splitRemoveAct,SIGNAL('activated()'),self.removeSplit)
+        self.viewActions.append(self.splitRemoveAct)
+        
+        self.viewActGrp.setEnabled(0)
+        self.viewFoldActGrp.setEnabled(0)
+        self.unhighlightAct.setEnabled(0)
+        self.splitViewAct.setEnabled(0)
+        self.splitOrientationAct.setEnabled(0)
+        self.splitRemoveAct.setEnabled(0)
+        
+    def initViewMenu(self):
+        """
+        Public method to create the View menu
+        
+        @return the generated menu
+        """
+        menu = QPopupMenu(self.ui)
+        menu.insertTearOffHandle()
+        self.viewActGrp.addTo(menu)
+        menu.insertSeparator()
+        self.viewFoldActGrp.addTo(menu)
+        menu.insertSeparator()
+        self.unhighlightAct.addTo(menu)
+        if self.canSplit():
+            menu.insertSeparator()
+            self.splitViewAct.addTo(menu)
+            self.splitOrientationAct.addTo(menu)
+            self.splitRemoveAct.addTo(menu)       
+        return menu
+        
+    def initViewToolbar(self):
+        """
+        Public method to create the View toolbar
+        
+        @return the generated toolbar
+        """
+        tb = QToolBar(self.ui)
+        self.viewActGrp.addTo(tb)
+        tb.addSeparator()
+        self.unhighlightAct.addTo(tb)
+        if self.canSplit():
+            tb.addSeparator()
+            self.splitViewAct.addTo(tb)
+            self.splitRemoveAct.addTo(tb)
+        
+        return tb
+        
+    ##################################################################
+    ## Initialize the macro related actions and macro menu
+    ##################################################################
+    
+    def initMacroActions(self):
+        """
+        Private method defining the user interface actions for the macro commands.
+        """
+        self.macroActGrp = QActionGroup(self)
+
+        self.macroStartRecAct = QAction(self.trUtf8('Start Macro Recording'),
+                            self.trUtf8('S&tart Macro Recording'),
+                            0, self.macroActGrp)
+        self.macroStartRecAct.setStatusTip(self.trUtf8('Start Macro Recording'))
+        self.macroStartRecAct.setWhatsThis(self.trUtf8(
+                """<b>Start Macro Recording</b>"""
+                """<p>Start recording editor commands into a new macro.</p>"""
+                ))
+        self.connect(self.macroStartRecAct,SIGNAL('activated()'),self.handleMacroStartRecording)
+        self.macroActions.append(self.macroStartRecAct)
+        
+        self.macroStopRecAct = QAction(self.trUtf8('Stop Macro Recording'),
+                            self.trUtf8('Sto&p Macro Recording'),
+                            0, self.macroActGrp)
+        self.macroStopRecAct.setStatusTip(self.trUtf8('Stop Macro Recording'))
+        self.macroStopRecAct.setWhatsThis(self.trUtf8(
+                """<b>Stop Macro Recording</b>"""
+                """<p>Stop recording editor commands into a new macro.</p>"""
+                ))
+        self.connect(self.macroStopRecAct,SIGNAL('activated()'),self.handleMacroStopRecording)
+        self.macroActions.append(self.macroStopRecAct)
+        
+        self.macroRunAct = QAction(self.trUtf8('Run Macro'),
+                            self.trUtf8('&Run Macro'),
+                            0, self.macroActGrp)
+        self.macroRunAct.setStatusTip(self.trUtf8('Run Macro'))
+        self.macroRunAct.setWhatsThis(self.trUtf8(
+                """<b>Run Macro</b>"""
+                """<p>Run a previously recorded editor macro.</p>"""
+                ))
+        self.connect(self.macroRunAct,SIGNAL('activated()'),self.handleMacroRun)
+        self.macroActions.append(self.macroRunAct)
+        
+        self.macroDeleteAct = QAction(self.trUtf8('Delete Macro'),
+                            self.trUtf8('&Delete Macro'),
+                            0, self.macroActGrp)
+        self.macroDeleteAct.setStatusTip(self.trUtf8('Delete Macro'))
+        self.macroDeleteAct.setWhatsThis(self.trUtf8(
+                """<b>Delete Macro</b>"""
+                """<p>Delete a previously recorded editor macro.</p>"""
+                ))
+        self.connect(self.macroDeleteAct,SIGNAL('activated()'),self.handleMacroDelete)
+        self.macroActions.append(self.macroDeleteAct)
+        
+        self.macroLoadAct = QAction(self.trUtf8('Load Macro'),
+                            self.trUtf8('&Load Macro'),
+                            0, self.macroActGrp)
+        self.macroLoadAct.setStatusTip(self.trUtf8('Load Macro'))
+        self.macroLoadAct.setWhatsThis(self.trUtf8(
+                """<b>Load Macro</b>"""
+                """<p>Load an editor macro from a file.</p>"""
+                ))
+        self.connect(self.macroLoadAct,SIGNAL('activated()'),self.handleMacroLoad)
+        self.macroActions.append(self.macroLoadAct)
+        
+        self.macroSaveAct = QAction(self.trUtf8('Save Macro'),
+                            self.trUtf8('&Save Macro'),
+                            0, self.macroActGrp)
+        self.macroSaveAct.setStatusTip(self.trUtf8('Save Macro'))
+        self.macroSaveAct.setWhatsThis(self.trUtf8(
+                """<b>Save Macro</b>"""
+                """<p>Save a previously recorded editor macro to a file.</p>"""
+                ))
+        self.connect(self.macroSaveAct,SIGNAL('activated()'),self.handleMacroSave)
+        self.macroActions.append(self.macroSaveAct)
+        
+        self.macroActGrp.setEnabled(0)
+        
+    def initMacroMenu(self):
+        """
+        Public method to create the Macro menu
+        
+        @return the generated menu
+        """
+        menu = QPopupMenu(self.ui)
+        menu.insertTearOffHandle()
+        self.macroActGrp.addTo(menu)
+        return menu
+    
+
+    def checkDirty(self, editor):
+        """
+        Private method to check dirty status and open a message window.
+        
+        @param editor editor window to check
+        @return flag indicating successful reset of the dirty flag (boolean)
+        """        
+     
+        if (editor.modified) and (editor in self.doubles.keys()) :
+            res = QMessageBox.warning(
+                     None,
+                     self.trUtf8("Fichier Duplique"),
+                     self.trUtf8("Le fichier ne sera pas sauvegarde."),
+                     self.trUtf8("&Quitter"), 
+                     self.trUtf8("&Abandonner"))
+            if res == 0 : return 1
+            return 0
+        if editor.modified:
+            fn = editor.getFileName()
+            if fn is None:
+                fn = self.trUtf8('Noname')
+            res = QMessageBox.warning(self.parent(), 
+                self.trUtf8("Fichier Modifie"),
+                self.trUtf8("Le fichier <b>%1</b> n a pas ete sauvegarde.")
+                    .arg(fn),
+                self.trUtf8("&Sauvegarder"), self.trUtf8("&Quitter "),
+                self.trUtf8("&Annuler"), 0, 2)
+            if res == 0:
+                (ok, newName) = editor.saveFile()
+                if ok:
+                    self.setEditorName(editor, newName)
+                return ok
+            elif res == 2:
+                return  0
+        return 1
+        
+    def checkAllDirty(self):
+        """
+        Public method to check the dirty status of all editors.
+        
+        @return flag indicating successful reset of all dirty flags (boolean)
+        """
+        for editor in self.editors:
+            if not self.checkDirty(editor):
+                return 0
+                
+        return 1
+        
+    def closeEditor(self, editor):
+        """
+        Private method to close an editor window.
+        
+        @param editor editor window to be closed
+        @return flag indicating success (boolean)
+        """
+        # save file if necessary
+        if not self.checkDirty(editor):
+            return 0
+            
+        # remove the window
+        self.removeView(editor)
+        self.editors.remove(editor)        
+        if not len(self.editors):
+            self.handleLastEditorClosed()
+            self.emit(PYSIGNAL('lastEditorClosed'), ()) #CS_pbruno connecter signal avec l'appli
+        return 1
+    
+    def handleClose(self):
+        """
+        Public method to close the current window.
+        
+        @return flag indicating success (boolean)
+        """
+        aw = self.activeWindow()
+        if aw is None:
+            return 0
+            
+        res = self.closeEditor(aw)
+        if res and aw == self.currentEditor:
+            self.currentEditor = None
+            
+        return res
+        
+    def handleNewView(self):
+        """
+        Public method to close the current window.
+        
+        @return flag indicating success (boolean)
+        """
+        aw = self.activeWindow()
+        if aw is None:
+            return 0
+            
+        aw.handleNewView()
+        
+            
+    def handleCloseAll(self):
+        """
+        Private method to close all editor windows via file menu.
+        """
+        savedEditors = self.editors[:]
+        retour=1
+        for editor in savedEditors:
+            retour=retour*self.closeEditor(editor)
+        return retour
+            
+    def handleCloseWindow(self, fn):
+        """
+        Public method to close an arbitrary source editor.
+        
+        @param fn filename of editor to be closed
+        @return flag indicating success (boolean)
+        """
+        for editor in self.editors:
+            if samepath(fn, editor.getFileName()):
+                break
+        else:
+            return 1
+            
+        res = self.closeEditor(editor)
+        if res and editor == self.currentEditor:
+            self.currentEditor = None
+            
+        return res
+        
+    def handleExit(self):
+        """
+        Public method to handle the debugged program terminating.
+        """
+        if self.currentEditor is not None:
+            self.currentEditor.highlight()
+            self.currentEditor = None
+            
+        self.setSbFile()
+
+    def handlePythonFile(self,pyfn,lineno=None):
+        """
+        Public method to handle the user selecting a file for display.
+        
+        @param pyfn name of file to be opened
+        @param lineno line number to place the cursor at
+        """
+        try:
+            self.displayPythonFile(pyfn,lineno)
+        except IOError:
+            pass
+
+        
+    def displayJDC(self,jdc,fn=None):
+        """
+        Public slot to display a file in an editor.
+        
+        @param fn name of file to be opened
+        @param lineno line number to place the cursor at
+        """        
+        titre=None
+        if fn != None : titre=fn.split("/")[-1]
+        newWin, editor = self.getEditor(None, jdc, title = titre )
+        
+        if newWin:
+            editor.fileName=fn
+            self.handleModificationStatusChanged(editor.modified, editor)
+        self.checkActions(editor)
+        
+        # insert filename into list of recently opened files
+        self.addToRecentList(editor.getFileName())
+
+
+        
+    def newEditorView(self, fn, caller):
+        """
+        Public method to create a new editor displaying the given document.
+        
+        @param fn filename of this view
+        @param caller reference to the editor calling this method        
+        """
+        from editor import JDCEditor
+        editor = JDCEditor(fn, None, self, editor=caller)
+        self.editors.append(editor)
+        self.connect(editor, PYSIGNAL('modificationStatusChanged'),
+            self.handleModificationStatusChanged)
+        self.connect(editor, PYSIGNAL('cursorChanged'), self.handleCursorChanged)
+        self.connect(editor, PYSIGNAL('editorSaved'), self.handleEditorSaved)
+        self.connect(editor, PYSIGNAL('breakpointToggled'), self.handleBreakpointToggled)
+        self.connect(editor, PYSIGNAL('bookmarkToggled'), self.handleBookmarkToggled)
+        self.connect(editor, PYSIGNAL('syntaxerrorToggled'), self.handleSyntaxErrorToggled)
+        self.connect(editor, PYSIGNAL('autoCompletionAPIsAvailable'), 
+            self.handleEditoracAPIsAvailable)
+        self.handleEditorOpened()
+        self.emit(PYSIGNAL('editorOpened'), (fn,))
+        
+        self.connect(caller, PYSIGNAL('editorRenamed'), editor.handleRenamed)
+        self.connect(editor, PYSIGNAL('editorRenamed'), caller.handleRenamed)
+        
+        self.addView(editor, fn)
+        self.handleModificationStatusChanged(editor.modified, editor)
+        self.checkActions(editor)
+        
+    def addToRecentList(self, fn):
+        """
+        Public slot to add a filename to the list of recently opened files.
+        
+        @param fn name of the file to be added
+        """
+        self.recent.remove(fn)
+        self.recent.prepend(fn)
+        if len(self.recent) > 9:
+            self.recent = self.recent[:9]
+
+    def toggleWindow(self,w):
+        """
+        Private method to toggle a workspace window.
+        
+        @param w editor window to be toggled
+        """
+        if w.isHidden():
+            w.show()
+        else:
+            w.hide()
+
+    def setFileLine(self,fn,line,error=0,syntaxError=0):
+        """
+        Public method to update the user interface when the current program or line changes.
+        
+        @param fn filename of editor to update (string)
+        @param line line number to highlight (int)
+        @param error flag indicating an error highlight (boolean)
+        @param syntaxError flag indicating a syntax error
+        """
+        self.setSbFile(fn,line)
+
+        try:
+            newWin, self.currentEditor = self.getEditor(fn)
+        except IOError:
+            return
+
+        # Change the highlighted line.
+        self.currentEditor.highlight(line,error,syntaxError)
+
+        self.currentEditor.highlightVisible()
+        self.checkActions(self.currentEditor, 0)
+            
+    def setSbFile(self,fn=None,line=None,pos=None):
+        """
+        Private method to set the file info in the status bar.
+        
+        @param fn filename to display (string)
+        @param line line number to display (int)
+        @param pos character position to display (int)
+        """
+        if fn is None:
+            fn = ''
+            writ = '   '
+        else:
+            if QFileInfo(fn).isWritable():
+                writ = ' rw'
+            else:
+                writ = ' ro'
+        
+        self.sbWritable.setText(writ)
+        self.sbFile.setText(self.trUtf8('File: %1').arg(fn,-50))
+
+        if line is None:
+            line = ''
+
+        self.sbLine.setText(self.trUtf8('Line: %1').arg(line,5))
+
+        if pos is None:
+            pos = ''
+            
+        self.sbPos.setText(self.trUtf8('Pos: %1').arg(pos, 5))
+        
+    def unhighlight(self, current=0):
+        """
+        Public method to switch off all highlights.
+        
+        @param current flag indicating only the current editor should be unhighlighted
+                (boolean)
+        """
+        if current: 
+            if self.currentEditor is not None:
+                self.currentEditor.highlight()
+        else:
+            for editor in self.editors:
+                editor.highlight()
+
+    def getOpenFilenames(self):
+        """
+        Public method returning a list of the filenames of all editors.
+        
+        @return list of all opened filenames (list of strings)
+        """
+        filenames = []
+        for editor in self.editors:
+            fn = editor.getFileName()
+            if fn is not None:
+                filenames.append(fn)
+                
+        return filenames
+                
+    def getEditor(self, fn, jdc = None, title = None, units = None):
+        """
+        Private method to return the editor displaying the given file.
+        
+        If there is no editor with the given file, a new editor window is
+        created.
+        
+        @param fn filename to look for
+        @param isPythonFile flag indicating that this is a Python file
+                even if it doesn't have the .py extension (boolean)
+        @return tuple of two values giving a flag indicating a new window creation and
+            a reference to the editor displaying this file
+        """
+        newWin = 0
+        double=None
+        for editor in self.editors:
+            if samepath(fn, editor.getFileName()):
+               abort = QMessageBox.warning(self,
+                        self.trUtf8("Fichier"),
+                        self.trUtf8("Le fichier <b>%1</b> est deja ouvert.Voulez-vous l ouvrir tel qu'il etait lors du dernier enregistrement") .arg(fn),
+                        self.trUtf8("&Duplication"),
+                        self.trUtf8("&Annuler"), None, 1)
+               if abort:
+                        break
+               double=editor
+        else:
+            from editor import JDCEditor
+            editor = JDCEditor(fn, jdc, self,units=units)
+            if double != None :
+               self.doubles[editor]=double
+               #self.doubles[double]=editor
+            if editor.jdc: # le fichier est bien un jdc            
+                self.editors.append(editor)
+                self.connect(editor, PYSIGNAL('modificationStatusChanged'),
+                    self.handleModificationStatusChanged)
+                self.connect(editor, PYSIGNAL('cursorChanged'), self.handleCursorChanged)
+                self.connect(editor, PYSIGNAL('editorSaved'), self.handleEditorSaved)
+                self.connect(editor, PYSIGNAL('breakpointToggled'), self.handleBreakpointToggled)
+                self.connect(editor, PYSIGNAL('bookmarkToggled'), self.handleBookmarkToggled)
+                self.connect(editor, PYSIGNAL('syntaxerrorToggled'), self.handleSyntaxErrorToggled)
+                self.connect(editor, PYSIGNAL('autoCompletionAPIsAvailable'), 
+                    self.handleEditoracAPIsAvailable)
+                self.handleEditorOpened()
+                self.emit(PYSIGNAL('editorOpened'), (fn,))
+                newWin = 1
+            else:
+                editor.closeIt()
+
+        if newWin:
+            self.addView(editor, fn , title)
+        elif editor.jdc:
+            self.showView(editor, fn)
+            
+        return (newWin, editor)
+        
+        
+    def getOpenEditor(self, fn):
+        """
+        Public method to return the editor displaying the given file.
+        
+        @param fn filename to look for
+        @return a reference to the editor displaying this file or None, if
+            no editor was found
+        """
+        for editor in self.editors:
+            if samepath(fn, editor.getFileName()):
+                return editor
+                
+        return None
+
+    def getActiveName(self):
+        """
+        Public method to retrieve the filename of the active window.
+        
+        @return filename of active window (string)
+        """
+        aw = self.activeWindow()
+        if aw:
+            return aw.getFileName()
+        else:
+            return None
+
+    def saveEditor(self, fn):
+        """
+        Public method to save a named editor file.
+        
+        @param fn filename of editor to be saved (string)
+        @return flag indicating success (boolean)
+        """
+        for editor in self.editors:
+            if samepath(fn, editor.getFileName()):
+                break
+        else:
+            return 1
+            
+        if not editor.modified:
+            return 1
+        else:
+            ok, dummy = editor.saveFile()
+            return ok
+        
+    def saveCurrentEditor(self):
+        """
+        Public slot to save the contents of the current editor.
+        """
+        aw = self.activeWindow()
+        if aw in self.doubles.keys() :
+           QMessageBox.warning(
+                     None,
+                     self.trUtf8("Fichier Duplique"),
+                     self.trUtf8("Le fichier ne sera pas sauvegarde."),
+                     self.trUtf8("&Abandonner"))
+           return
+        if aw:
+            ok, newName = aw.saveFile()
+            if ok:
+                self.setEditorName(aw, newName)
+        else:
+            return
+
+    def saveAsCurrentEditor(self):
+        """
+        Public slot to save the contents of the current editor to a new file.
+        """
+        aw = self.activeWindow()
+        if aw:
+            ok, newName = aw.saveFileAs()
+            if ok:
+                self.setEditorName(aw, newName)
+        else:
+            return
+
+    def saveAllEditors(self):
+        """
+        Public slot to save the contents of all editors.
+        """
+        for editor in self.editors:
+            ok, newName = editor.saveFile()
+            if ok:
+                self.setEditorName(editor, newName)
+        
+        # restart autosave timer
+        if self.autosaveInterval > 0:
+            self.autosaveTimer.start(self.autosaveInterval * 60000, 1)
+
+    def saveCurrentEditorToProject(self):
+        """
+        Public slot to save the contents of the current editor to the current project.
+        """
+        pro = self.ui.getProject()
+        path = pro.ppath
+        aw = self.activeWindow()
+        if aw:
+            ok, newName = aw.saveFileAs(path)
+            if ok:
+                self.setEditorName(aw, newName)
+                pro.appendFile(newName)
+        else:
+            return
+        
+    def newIncludeEditor(self) :
+        self.newEditor(include=1)
+        
+    def newEditor(self,include=0):
+        """
+        Public slot to generate a new empty editor.
+        """
+        from editor import JDCEditor
+        editor = JDCEditor(None,None,self,include=include)
+        
+        self.editors.append(editor)
+        self.connect(editor, PYSIGNAL('modificationStatusChanged'),
+            self.handleModificationStatusChanged)
+        self.connect(editor, PYSIGNAL('cursorChanged'), self.handleCursorChanged)
+        self.connect(editor, PYSIGNAL('editorSaved'),   self.handleEditorSaved)
+        self.connect(editor, PYSIGNAL('breakpointToggled'), self.handleBreakpointToggled)
+        self.connect(editor, PYSIGNAL('bookmarkToggled'), self.handleBookmarkToggled)
+        self.connect(editor, PYSIGNAL('syntaxerrorToggled'), self.handleSyntaxErrorToggled)
+        self.connect(editor, PYSIGNAL('autoCompletionAPIsAvailable'), 
+            self.handleEditoracAPIsAvailable)
+        self.addView(editor, None)
+        self.handleEditorOpened()
+        self.checkActions(editor)
+        self.emit(PYSIGNAL('editorOpened'), (None,))
+        
+    def printCurrentEditor(self):
+        """
+        Public slot to print the contents of the current editor.
+        """
+        aw = self.activeWindow()
+        if aw:
+            aw.printFile()
+        else:
+            return
+
+    def printCurrentEditorSel(self):
+        """
+        Public slot to print the selection of the current editor.
+        """
+        aw = self.activeWindow()
+        if aw:
+            aw.printSelection()
+        else:
+            return
+
+    def handlevisuJdcPy(self):
+        if self.activeWindow()== None : return
+        self.activeWindow().viewJdcPy()
+        
+    def handleViewJdcFichierSource(self):
+        if self.activeWindow()== None : return
+        self.activeWindow().viewJdcSource()
+                
+    def handleViewJdcRapport(self):
+        if self.activeWindow()== None : return
+        self.activeWindow().viewJdcRapport()
+        
+    def handleNewProject(self):
+        """
+        Public slot to handle the NewProject signal.
+        """
+        self.saveToProjectAct.setEnabled(1)
+        
+    def handleProjectOpened(self):
+        """
+        Public slot to handle the projectOpened signal.
+        """
+        self.saveToProjectAct.setEnabled(1)
+        
+    def handleProjectClosed(self):
+        """
+        Public slot to handle the projectClosed signal.
+        """
+        self.saveToProjectAct.setEnabled(0)
+        
+    def handleProjectFileRenamed(self, oldfn, newfn):
+        """
+        Public slot to handle the projectFileRenamed signal.
+        
+        @param oldfn old filename of the file (string)
+        @param newfn new filename of the file (string)
+        """
+        editor = self.getOpenEditor(oldfn)
+        if editor:
+            editor.fileRenamed(newfn)
+        
+    def enableEditorsCheckFocusIn(self, enabled):
+        """
+        Public method to set a flag enabling the editors to perform focus in checks.
+        
+        @param enabled flag indicating focus in checks should be performed (boolean)
+        """
+        self.editorsCheckFocusIn = enabled
+        
+    def editorsCheckFocusInEnabled(self):
+        """
+        Public method returning the flag indicating editors should perform focus in checks.
+        
+        @return flag indicating focus in checks should be performed (boolean)
+        """
+        return self.editorsCheckFocusIn
+
+    def handleFindFileName(self):
+        """
+        Private method to handle the search for file action.
+        """
+        self.ui.findFileNameDialog.show()
+        self.ui.findFileNameDialog.raiseW()
+        self.ui.findFileNameDialog.setActiveWindow()
+        
+    ##################################################################
+    ## Below are the action methods for the edit menu
+    ##################################################################
+    
+    def handleEditUndo(self):
+        """
+        Private method to handle the undo action.
+        """
+        self.activeWindow().undo()
+        
+    def handleEditRedo(self):
+        """
+        Private method to handle the redo action.
+        """
+        self.activeWindow().redo()
+        
+    def handleEditRevert(self):
+        """
+        Private method to handle the revert action.
+        """
+        self.activeWindow().revertToUnmodified()
+        
+    def handleEditCut(self):
+        """
+        Private method to handle the cut action.
+        """
+        self.activeWindow().cut()
+        
+    def handleEditCopy(self):
+        """
+        Private method to handle the copy action.
+        """
+        self.activeWindow().copy()
+        
+    def handleEditPaste(self):
+        """
+        Private method to handle the paste action.
+        """
+        self.activeWindow().paste()
+        
+    def handleEditDelete(self):
+        """
+        Private method to handle the delete action.
+        """
+        self.activeWindow().clear()
+        
+    def handleEditIndent(self):
+        """
+        Private method to handle the indent action.
+        """
+        self.activeWindow().indentLineOrSelection()
+        
+    def handleEditUnindent(self):
+        """
+        Private method to handle the unindent action.
+        """
+        self.activeWindow().unindentLineOrSelection()
+        
+    def handleEditComment(self):
+        """
+        Private method to handle the comment action.
+        """
+        self.activeWindow().commentLineOrSelection()
+        
+    def handleEditUncomment(self):
+        """
+        Private method to handle the uncomment action.
+        """
+        self.activeWindow().uncommentLineOrSelection()
+        
+    def handleEditStreamComment(self):
+        """
+        Private method to handle the stream comment action.
+        """
+        self.activeWindow().streamCommentLineOrSelection()
+        
+    def handleEditBoxComment(self):
+        """
+        Private method to handle the box comment action.
+        """
+        self.activeWindow().boxCommentLineOrSelection()
+        
+    def handleEditSelectBrace(self):
+        """
+        Private method to handle the select to brace action.
+        """
+        self.activeWindow().selectToMatchingBrace()
+        
+    def handleEditSelectAll(self):
+        """
+        Private method to handle the select all action.
+        """
+        self.activeWindow().selectAll(1)
+        
+    def handleEditDeselectAll(self):
+        """
+        Private method to handle the select all action.
+        """
+        self.activeWindow().selectAll(0)
+        
+    def handleConvertEOL(self):
+        """
+        Private method to handle the convert line end characters action.
+        """
+        aw = self.activeWindow()
+        aw.convertEols(aw.eolMode())
+        
+    def handleShortenEmptyLines(self):
+        """
+        Private method to handle the shorten empty lines action.
+        """
+        self.activeWindow().handleShortenEmptyLines()
+        
+    def handleEditAutoComplete(self):
+        """
+        Private method to handle the autocomplete action.
+        """
+        aw = self.activeWindow()
+        aw.autoComplete()
+        
+    def handleEditAutoCompleteFromDoc(self):
+        """
+        Private method to handle the autocomplete from document action.
+        """
+        aw = self.activeWindow()
+        aw.autoCompleteFromDocument()
+        
+    def handleEditAutoCompleteFromAPIs(self):
+        """
+        Private method to handle the autocomplete from APIs action.
+        """
+        aw = self.activeWindow()
+        aw.autoCompleteFromAPIs()
+        
+    def handleEditoracAPIsAvailable(self, available):
+        """
+        Private method to handle the availability of API autocompletion signal.
+        """
+        self.autoCompleteFromAPIsAct.setEnabled(available)
+        
+    ##################################################################
+    ## Below are the action and utility methods for the search menu
+    ##################################################################
+
+    def getWord(self, text, index):
+        """
+        Private method to get the word at a position.
+        
+        @param text text to look at (string or QString)
+        @param index position to look at (int)
+        @return the word at that position
+        """
+        re = QRegExp('[^\w_]')
+        start = text.findRev(re, index) + 1
+        end = text.find(re, index)
+        if end > start:
+            word = text.mid(start, end-start)
+        else:
+            word = QString('')
+        return word
+        
+    def textForFind(self):
+        """
+        Private method to determine the selection or the current word for the next find operation.
+        
+        @return selection or current word (QString)
+        """
+        aw = self.activeWindow()
+        if aw is None:
+            return ''
+            
+        if aw.hasSelectedText():
+            text = aw.selectedText()
+            if text.contains('\r') or text.contains('\n'):
+                # the selection contains at least a newline, it is
+                # unlikely to be the expression to search for
+                return ''
+                
+            return text
+            
+        # no selected text, determine the word at the current position
+        line, index = aw.getCursorPosition()
+        return self.getWord(aw.text(line), index)
+        
+    def getSRHistory(self, key):
+        """
+        Private method to get the search or replace history list.
+        
+        @param key list to return (must be 'search' or 'replace')
+        @return the requested history list (QStringList)
+        """
+        return self.srHistory[key]
+        
+    def handleSearch(self):
+        """
+        Private method to handle the search action.
+        """
+        self.searchDlg.showFind(self.textForFind())
+        
+    def handleReplace(self):
+        """
+        Private method to handle the replace action.
+        """
+        self.replaceDlg.showReplace(self.textForFind())
+        
+    def handleGoto(self):
+        """
+        Private method to handle the goto action.
+        """
+        aw = self.activeWindow()
+        dlg = GotoDialog(self.ui, None, 1)
+        dlg.selectAll()
+        if dlg.exec_loop() == QDialog.Accepted:
+            aw.gotoLine(min(dlg.getLinenumber(), aw.lines()))
+        
+    def handleGotoBrace(self):
+        """
+        Private method to handle the goto brace action.
+        """
+        self.activeWindow().moveToMatchingBrace()
+        
+    def handleSearchFiles(self):
+        """
+        Private method to handle the search in files action.
+        """
+        self.ui.findFilesDialog.show(self.textForFind())
+        self.ui.findFilesDialog.raiseW()
+        self.ui.findFilesDialog.setActiveWindow()
+        
+    ##################################################################
+    ## Below are the action methods for the view menu
+    ##################################################################
+    
+    def handleZoomIn(self):
+        """
+        Private method to handle the zoom in action.
+        """
+        self.activeWindow().zoomIn()
+        
+    def handleZoomOut(self):
+        """
+        Private method to handle the zoom out action.
+        """
+        self.activeWindow().zoomOut()
+        
+    def handleZoom(self):
+        """
+        Private method to handle the zoom action.
+        """
+        aw = self.activeWindow()
+        dlg = ZoomDialog(aw.getZoom(), self.ui, None, 1)
+        if dlg.exec_loop() == QDialog.Accepted:
+            aw.zoomTo(dlg.getZoomSize())
+            
+    def handleToggleAll(self):
+        """
+        Private method to handle the toggle all folds action.
+        """
+        self.activeWindow().foldAll()
+        
+    def handleToggleCurrent(self):
+        """
+        Private method to handle the toggle current fold action.
+        """
+        aw = self.activeWindow()
+        line, index = aw.getCursorPosition()
+        aw.foldLine(line)
+        
+    def handleSplitView(self):
+        """
+        Private method to handle the split view action.
+        """
+        self.addSplit()
+        
+    def handleSplitOrientation(self):
+        """
+        Private method to handle the split orientation action.
+        """
+        if self.splitOrientationAct.isOn():
+            self.setSplitOrientation(QSplitter.Horizontal)
+            self.splitViewAct.setIconSet(\
+                QIconSet(utilIcons.getPixmap("splitHorizontal.png")))
+            self.splitRemoveAct.setIconSet(\
+                QIconSet(utilIcons.getPixmap("remsplitHorizontal.png")))
+        else:
+            self.setSplitOrientation(QSplitter.Vertical)
+            self.splitViewAct.setIconSet(\
+                QIconSet(utilIcons.getPixmap("splitVertical.png")))
+            self.splitRemoveAct.setIconSet(\
+                QIconSet(utilIcons.getPixmap("remsplitVertical.png")))
+    
+    ##################################################################
+    ## Below are the action methods for the macro menu
+    ##################################################################
+    
+    def handleMacroStartRecording(self):
+        """
+        Private method to handle the start macro recording action.
+        """
+        self.activeWindow().handleStartMacroRecording()
+        
+    def handleMacroStopRecording(self):
+        """
+        Private method to handle the stop macro recording action.
+        """
+        self.activeWindow().handleStopMacroRecording()
+        
+    def handleMacroRun(self):
+        """
+        Private method to handle the run macro action.
+        """
+        self.activeWindow().handleRunMacro()
+        
+    def handleMacroDelete(self):
+        """
+        Private method to handle the delete macro action.
+        """
+        self.activeWindow().handleDeleteMacro()
+        
+    def handleMacroLoad(self):
+        """
+        Private method to handle the load macro action.
+        """
+        self.activeWindow().handleLoadMacro()
+        
+    def handleMacroSave(self):
+        """
+        Private method to handle the save macro action.
+        """
+        self.activeWindow().handleSaveMacro()
+    
+    ##################################################################
+    ## Below are the action methods for the bookmarks menu
+    ##################################################################
+    
+    def handleToggleBookmark(self):
+        """
+        Private method to handle the toggle bookmark action.
+        """
+        self.activeWindow().handleToggleBookmark()
+        
+    def handleNextBookmark(self):
+        """
+        Private method to handle the next bookmark action.
+        """
+        self.activeWindow().handleNextBookmark()
+    
+    def handlePreviousBookmark(self):
+        """
+        Private method to handle the previous bookmark action.
+        """
+        self.activeWindow().handlePreviousBookmark()
+    
+    def handleClearAllBookmarks(self):
+        """
+        Private method to handle the clear all bookmarks action.
+        """
+        for editor in self.editors:
+            editor.handleClearBookmarks()
+            
+        self.bookmarkNextAct.setEnabled(0)
+        self.bookmarkPreviousAct.setEnabled(0)
+        self.bookmarkClearAct.setEnabled(0)
+    
+    def handleShowBookmarksMenu(self):
+        """
+        Private method to handle the show bookmarks menu signal.
+        """
+        self.bookmarks = {}
+        self.bookmarksMenu.clear()
+        
+        filenames = self.getOpenFilenames()
+        filenames.sort()
+        for filename in filenames:
+            editor = self.getOpenEditor(filename)
+            for bookmark in editor.getBookmarks():
+                if len(filename) > 50:
+                    dots = "..."
+                else:
+                    dots = ""
+                id = self.bookmarksMenu.insertItem(\
+                        "%s%s : %d" % (dots, filename[-50:], bookmark))
+                self.bookmarks[id] = (filename, bookmark)
+    
+    def handleBookmarkSelected(self, id):
+        """
+        Private method to handle the bookmark selected signal.
+        
+        @param id index of the selected menu entry
+                This acts as an index into the list of bookmarks
+                that was created, when the bookmarks menu was built.
+        """
+        self.displayPythonFile(self.bookmarks[id][0], self.bookmarks[id][1])
+        
+    def handleBookmarkToggled(self, editor):
+        """
+        Private slot to handle the bookmarkToggled signal.
+        
+        It checks some bookmark actions and reemits the signal.
+        
+        @param editor editor that sent the signal
+        """
+        if editor.hasBookmarks():
+            self.bookmarkNextAct.setEnabled(1)
+            self.bookmarkPreviousAct.setEnabled(1)
+            self.bookmarkClearAct.setEnabled(1)
+        else:
+            self.bookmarkNextAct.setEnabled(0)
+            self.bookmarkPreviousAct.setEnabled(0)
+            self.bookmarkClearAct.setEnabled(0)
+        self.emit(PYSIGNAL('bookmarkToggled'), (editor,))
+    
+    def handleGotoSyntaxError(self):
+        """
+        Private method to handle the goto syntax error action.
+        """
+        self.activeWindow().handleGotoSyntaxError()
+    
+    def handleClearAllSyntaxErrors(self):
+        """
+        Private method to handle the clear all syntax errors action.
+        """
+        for editor in self.editors:
+            editor.handleClearSyntaxError()
+    
+    def handleSyntaxErrorToggled(self, editor):
+        """
+        Private slot to handle the syntaxerrorToggled signal.
+        
+        It checks some syntax error actions and reemits the signal.
+        
+        @param editor editor that sent the signal
+        """
+        if editor.hasSyntaxErrors():
+            self.syntaxErrorGotoAct.setEnabled(1)
+            self.syntaxErrorClearAct.setEnabled(1)
+        else:
+            self.syntaxErrorGotoAct.setEnabled(0)
+            self.syntaxErrorClearAct.setEnabled(0)
+        self.emit(PYSIGNAL('syntaxerrorToggled'), (editor,))
+    
+    ##################################################################
+    ## Below are general utility methods
+    ##################################################################
+    
+    def handleResetUI(self):
+        """
+        Public slot to handle the resetUI signal.
+        """
+        editor = self.activeWindow()
+        if editor is None:
+            self.setSbFile()
+        else:
+            line, pos = editor.getCursorPosition()
+            self.setSbFile(editor.getFileName(), line+1, pos)
+        
+    def closeViewManager(self):
+        """
+        Public method to shutdown the viewmanager. 
+        
+        If it cannot close all editor windows, it aborts the shutdown process.
+        
+        @return flag indicating success (boolean)
+        """
+        self.handleCloseAll()
+        if len(self.editors):
+            return 0
+        else:
+            return 1
+
+    def handleLastEditorClosed(self):
+        """
+        Private slot to handle the lastEditorClosed signal.
+        """
+        self.SauveRecents() 
+        
+        
+    def handleEditorOpened(self):
+        """
+        Private slot to handle the editorOpened signal.
+        """
+        self.closeActGrp.setEnabled(1)
+        self.saveActGrp.setEnabled(1)
+        self.printAct.setEnabled(1)
+        self.printSelAct.setEnabled(1)
+        self.editActGrp.setEnabled(1)
+        self.searchActGrp.setEnabled(1)
+        self.viewActGrp.setEnabled(1)
+        self.viewFoldActGrp.setEnabled(1)
+        self.unhighlightAct.setEnabled(1)
+        self.splitViewAct.setEnabled(1)
+        self.splitOrientationAct.setEnabled(1)
+        self.macroActGrp.setEnabled(1)
+        self.bookmarkActGrp.setEnabled(1)
+        
+        # activate the autosave timer
+        if not self.autosaveTimer.isActive() and \
+           self.autosaveInterval > 0:
+            self.autosaveTimer.start(self.autosaveInterval * 60000, 1)
+        
+        
+    def checkActions(self, editor, setSb=1):
+        """
+        Private slot to check some actions for their enable/disable status and set the statusbar info.
+        
+        @param editor editor window
+        @param setSb flag indicating an update of the status bar is wanted (boolean)
+        """
+        if editor is not None:
+            self.saveAct.setEnabled(editor.modified)
+            self.revertAct.setEnabled(editor.modified)
+            
+            lex = editor.getLexer()
+            if lex is not None:
+                self.commentAct.setEnabled(lex.canBlockComment())
+                self.uncommentAct.setEnabled(lex.canBlockComment())
+                self.streamCommentAct.setEnabled(lex.canStreamComment())
+                self.boxCommentAct.setEnabled(lex.canBoxComment())
+            else:
+                self.commentAct.setEnabled(0)
+                self.uncommentAct.setEnabled(0)
+                self.streamCommentAct.setEnabled(0)
+                self.boxCommentAct.setEnabled(0)
+            
+            if editor.hasBookmarks():
+                self.bookmarkNextAct.setEnabled(1)
+                self.bookmarkPreviousAct.setEnabled(1)
+                self.bookmarkClearAct.setEnabled(1)
+            else:
+                self.bookmarkNextAct.setEnabled(0)
+                self.bookmarkPreviousAct.setEnabled(0)
+                self.bookmarkClearAct.setEnabled(0)
+            
+            if editor.hasSyntaxErrors():
+                self.syntaxErrorGotoAct.setEnabled(1)
+                self.syntaxErrorClearAct.setEnabled(1)
+            else:
+                self.syntaxErrorGotoAct.setEnabled(0)
+                self.syntaxErrorClearAct.setEnabled(0)
+            
+            if editor.canAutoCompleteFromAPIs():
+                self.autoCompleteFromAPIsAct.setEnabled(1)
+            else:
+                self.autoCompleteFromAPIsAct.setEnabled(0)
+                
+            if setSb:
+                line, pos = editor.getCursorPosition()
+                self.setSbFile(editor.getFileName(), line+1, pos)
+                
+            self.emit(PYSIGNAL('checkActions'), (editor,))
+        
+    def handlePreferencesChanged(self):
+        """
+        Public slot to handle the preferencesChanged signal.
+        
+        This method performs the following actions
+            <ul>
+            <li>reread the colours for the syntax highlighting</li>
+            <li>reloads the already created API objetcs</li>
+            <li>starts or stops the autosave timer</li>
+            <li><b>Note</b>: changes in viewmanager type are activated
+              on an application restart.</li>
+            </ul>
+        """
+        # reload api information
+        for language, api in self.apis.items():
+            if api is not None:
+                apifiles = Preferences.getEditorAPI(language)
+                if len(apifiles):
+                    api.clear()
+                    for apifile in apifiles:
+                        api.load(apifile)
+                else:
+                    self.apis[language] = None
+                    
+        # reload editor settings
+        for editor in self.editors:
+            editor.readSettings()
+            
+        # reload the autosave timer setting
+        self.autosaveInterval = Preferences.getEditor("AutosaveInterval")
+        if len(self.editors):
+            if self.autosaveTimer.isActive() and \
+               self.autosaveInterval == 0:
+                self.autosaveTimer.stop()
+            elif not self.autosaveTimer.isActive() and \
+               self.autosaveInterval > 0:
+                self.autosaveTimer.start(self.autosaveInterval * 60000, 1)
+        
+    def handleEditorSaved(self, fn):
+        """
+        Public slot to handle the editorSaved signal.
+        
+        It simply reemits the signal.
+        
+        @param fn filename of the saved editor
+        """
+        self.emit(PYSIGNAL('editorSaved'), (fn,))
+        
+    def handleCursorChanged(self, fn, line, pos):
+        """
+        Private slot to handle the cursorChanged signal. 
+        
+        It emits the signal cursorChanged with parameter editor.
+        
+        @param fn filename (string)
+        @param line line number of the cursor (int)
+        @param pos position in line of the cursor (int)
+        """
+        self.setSbFile(fn, line, pos)
+        self.emit(PYSIGNAL('cursorChanged'), (self.getOpenEditor(fn),))
+        
+    def handleBreakpointToggled(self, editor):
+        """
+        Private slot to handle the breakpointToggled signal.
+        
+        It simply reemits the signal.
+        
+        @param editor editor that sent the signal
+        """
+        self.emit(PYSIGNAL('breakpointToggled'), (editor,))
+        
+            
+    def getProject(self):
+        """
+        Public method to get a reference to the Project object.
+        
+        @return Reference to the Project object (Project.Project)
+        """
+        return self.ui.getProject()
+        
+    def getActions(self, type):
+        """
+        Public method to get a list of all actions.
+        
+        @param type string denoting the action set to get.
+                It must be one of "edit", "file", "search",
+                "view" or "window"
+        @return list of all actions (list of QAction)
+        """
+        try:
+            exec 'actionList = self.%sActions[:]' % type
+        except:
+            actionList = []
+                
+        return actionList
+        
+    def editorCommand(self, cmd):
+        """
+        Private method to send an editor command to the active window.
+        
+        @param cmd the scintilla command to be sent
+        """
+        aw = self.activeWindow()
+        if aw:
+            aw.SendScintilla(cmd)
+        
+    ##################################################################
+    ## Below are protected utility methods
+    ##################################################################
+    
+    def _getOpenStartDir(self):
+        """
+        Protected method to return the starting directory for a file open dialog. 
+        
+        The appropriate starting directory is calculated
+        using the following search order, until a match is found:<br />
+            1: Directory of currently active editor<br />
+            2: Directory of currently active Project<br />
+            3: CWD
+
+        @return String name of directory to start or None
+        """
+        # if we have an active source, return its path
+        if self.activeWindow() is not None and \
+           self.activeWindow().getFileName():
+            return os.path.dirname(self.activeWindow().getFileName())
+            
+        # ok, try if there is an active project and return its path
+        elif self.getProject().isOpen():
+            return self.getProject().ppath
+            
+        else:
+            try :
+               userDir=os.path.expanduser("~/Eficas_install/")
+               return userDir
+            except :
+               return ""        
+
+
+    def _getOpenFileFilter(self):
+        """
+        Protected method to return the active filename filter for a file open dialog.
+        
+        The appropriate filename filter is determined by file extension of
+        the currently active editor.
+        
+        @return name of the filename filter (QString) or None
+        """
+        if self.activeWindow() is not None and \
+           self.activeWindow().getFileName():
+            ext = os.path.splitext(self.activeWindow().getFileName())[1]
+            try:
+                return QString(self.ext2Filter[ext])
+            except KeyError:
+                return None
+                
+        else:
+            return None
+
+            
+
+
+"""
+Module implementing a tabbed viewmanager class.
+"""
+
+
+
+class TabWidget(QTabWidget):
+    """
+    Class implementing a custimized TabWidget.
+    """
+    def __init__(self, parent):
+        """
+        Constructor
+        
+        @param parent parent widget (QWidget)
+        """
+        QTabWidget.__init__(self, parent)
+        
+        self.editors = []
+        self.curIndex = 0
+        
+        self.connect(self, SIGNAL("currentChanged(QWidget *)"), self.handleCurrentChanged)
+        
+    def handleCurrentChanged(self):
+        """
+        Private slot called by the currentChanged signal.
+        """
+        self.curIndex = self.currentPageIndex()
+        
+    def addTab(self, editor, title):
+        """
+        Overwritten method to add a new tab.
+        
+        @param editor the editor object to be added (QScintilla.Editor.Editor)
+        @param title title for the new tab (string, QString or QTab)
+        """
+        QTabWidget.addTab(self, editor, title)
+        
+        if not editor in self.editors:
+            self.editors.append(editor)
+            self.connect(editor, PYSIGNAL('captionChanged'),
+                self.handleCaptionChange)
+                
+    def showPage(self, editor):
+        """
+        Overridden method to show a tab.
+        
+        @param editor the editor object to be shown (QScintilla.Editor.Editor)
+        """
+        QTabWidget.showPage(self, editor)
+        self.curIndex = self.indexOf(editor)
+        
+    def nextTab(self):
+        """
+        Public slot used to show the next tab.
+        """
+        if self.count():
+            self.curIndex += 1
+            if self.curIndex == self.count():
+                self.curIndex = 0
+                
+            QTabWidget.showPage(self, self.page(self.curIndex))
+
+    def prevTab(self):
+        """
+        Public slot used to show the previous tab.
+        """
+        if self.count():
+            self.curIndex -= 1
+            if self.curIndex == -1:
+                self.curIndex = self.count() - 1
+                
+            QTabWidget.showPage(self, self.page(self.curIndex))
+
+    def handleCaptionChange(self, cap, editor):
+        """
+        Private method to handle Caption change signals from the editor. 
+        
+        Updates the listview text to reflect the new caption information.
+        
+        @param cap Caption for the editor
+        @param editor Editor to update the caption for
+        """
+        fn = editor.getFileName()
+        if fn:
+            txt = os.path.basename(fn)
+            if editor.isReadOnly():
+                txt = '%s (ro)' % txt
+            self.changeTab(editor, txt)
+        
+    def removePage(self, object):
+        """
+        Overwritten method to remove a page.
+        
+        @param object object to be removed (QObject)
+        """
+        QTabWidget.removePage(self, object)
+        
+        self.disconnect( object, PYSIGNAL('captionChanged'),
+                         self.handleCaptionChange )
+        self.editors.remove(object)
+        
+    def hasEditor(self, editor):
+        """
+        Public method to check for an editor.
+        
+        @param editor editor object to check for
+        @return flag indicating, whether the editor to be checked belongs
+            to the list of editors managed by this tab widget.
+        """
+        return editor in self.editors
+        
+    def hasEditors(self):
+        """
+        Public method to test, if any editor is managed.
+        
+        @return flag indicating editors are managed
+        """
+        return len(self.editors) and 1 or 0
+        
+class Tabview(QSplitter, ViewManager):
+    """
+    Class implementing a tabbed viewmanager class embedded in a splitter.
+    
+    @signal lastEditorClosed emitted after the last editor window was closed
+    @signal editorOpened emitted after an editor window was opened
+    @signal editorSaved emitted after an editor window was saved
+    """
+    def __init__(self,parent, ui):
+        """
+        Constructor
+        
+        @param parent parent widget (QWidget)
+        @param ui reference to the main user interface
+        @param dbs reference to the debug server object
+        """
+        self.tabWidgets = []
+        
+        QSplitter.__init__(self,parent)
+        ViewManager.__init__(self, ui)
+        tw = TabWidget(self)
+        self.tabWidgets.append(tw)
+        self.currentTabWidget = tw
+        self.connect(tw, SIGNAL('currentChanged(QWidget*)'),
+            self.handleCurrentChanged)
+        tw.installEventFilter(self)
+        tw.tabBar().installEventFilter(self)
+        self.setOrientation(QSplitter.Vertical)
+        
+    def initViewActions(self):
+        """
+        Protected method defining the user interface actions for the view commands.
+        """
+        ViewManager.initViewActions(self)
+        
+        self.nextTabAct = QAction(self.trUtf8('Show next tab'), 
+                      self.trUtf8('Show next tab'), 
+                      QKeySequence(self.trUtf8('Ctrl+Alt+Tab')), self)
+        self.connect(self.nextTabAct, SIGNAL('activated()'), self.nextTab)
+        self.viewActions.append(self.nextTabAct)
+        
+        self.prevTabAct = QAction(self.trUtf8('Show previous tab'), 
+                      self.trUtf8('Show previous tab'), 
+                      QKeySequence(self.trUtf8('Shift+Ctrl+Alt+Tab')), self)
+        self.connect(self.prevTabAct, SIGNAL('activated()'), self.prevTab)
+        self.viewActions.append(self.prevTabAct)
+        
+    def nextTab(self):
+        """
+        Private slot used to show the next tab of the current tabwidget.
+        """
+        self.currentTabWidget.nextTab()
+        
+    def prevTab(self):
+        """
+        Private slot used to show the previous tab of the current tabwidget.
+        """
+        self.currentTabWidget.prevTab()
+        
+    def canCascade(self):
+        """
+        Public method to signal if cascading of managed windows is available.
+        
+        @return flag indicating cascading of windows is available
+        """
+        return 0
+        
+    def canTile(self):
+        """
+        Public method to signal if tiling of managed windows is available.
+        
+        @return flag indicating tiling of windows is available
+        """
+        return 0
+        
+    def canSplit(self):
+        """
+        public method to signal if splitting of the view is available.
+        
+        @return flag indicating splitting of the view is available.
+        """
+        return 1
+        
+    def tile(self):
+        """
+        Public method to tile the managed windows.
+        """
+        pass
+        
+    def cascade(self):
+        """
+        Public method to cascade the managed windows.
+        """
+        pass
+        
+    def removeAllViews(self):
+        """
+        Private method to remove all views (i.e. windows)
+        """
+        for win in self.editors:
+            self.removeView(win)
+            
+    def removeView(self, win):
+        """
+        Private method to remove a view (i.e. window)
+        
+        @param win editor window to be removed
+        """
+        for tw in self.tabWidgets:
+            if tw.hasEditor(win):
+                tw.removePage(win)
+                break        
+        win.closeIt()        
+        
+        # if this was the last editor in this view, switch to the next, that
+        # still has open editors
+        for i in range(self.tabWidgets.index(tw), -1, -1) + \
+                 range(self.tabWidgets.index(tw) + 1, len(self.tabWidgets)):
+            if self.tabWidgets[i].hasEditors():
+                self.currentTabWidget = self.tabWidgets[i]
+                self.activeWindow().setFocus()
+                break
+    
+    def addView(self, win, fn=None, title=None):
+        """
+        Private method to add a view (i.e. window)
+        
+        @param win editor window to be added
+        @param fn filename of this editor
+        """
+        win.show()
+        if fn is None:
+            if title== None : 
+               self.untitledCount += 1
+               self.currentTabWidget.addTab(win, self.trUtf8("Untitled %1").arg(self.untitledCount))
+            else :
+               self.currentTabWidget.addTab(win, title)
+        else:
+            txt = os.path.basename(fn)
+            if not QFileInfo(fn).isWritable():
+                txt = '%s (ro)' % txt
+            self.currentTabWidget.addTab(win, txt)
+            self.currentTabWidget.setTabToolTip(win, os.path.dirname(fn))
+        self.currentTabWidget.showPage(win)
+        win.setFocus()
+    
+    def showView(self, win, fn=None):
+        """
+        Private method to show a view (i.e. window)
+        
+        @param win editor window to be shown
+        @param fn filename of this editor
+        """
+        win.show()
+        for tw in self.tabWidgets:
+            if tw.hasEditor(win):
+                tw.showPage(win)
+                self.currentTabWidget = tw
+                break
+        win.setFocus()
+    
+    def activeWindow(self):
+        """
+        Private method to return the active (i.e. current) window.
+        
+        @return reference to the active editor
+        """
+        return self.currentTabWidget.currentPage()
+        
+    def handleShowWindowMenu(self, windowMenu):
+        """
+        Private method to set up the viewmanager part of the Window menu.
+        
+        @param windowMenu reference to the window menu
+        """
+        pass
+        
+    def initWindowActions(self):
+        """
+        Define the user interface actions for window handling.
+        """
+        pass
+        
+    def setEditorName(self, editor, newName):
+        """
+        Change the displayed name of the editor.
+        
+        @param editor editor window to be changed
+        @param newName new name to be shown (string or QString)
+        """
+        self.currentTabWidget.changeTab(editor, 
+            os.path.basename(unicode(newName)))
+        self.currentTabWidget.setTabToolTip(editor, 
+            os.path.dirname(unicode(newName)))
+    
+    def handleModificationStatusChanged(self, m, editor):
+        """
+        Private slot to handle the modificationStatusChanged signal.
+        
+        @param m flag indicating the modification status (boolean)
+        @param editor editor window changed
+        """
+        for tw in self.tabWidgets:
+            if tw.hasEditor(editor):
+                break
+        if m:
+            tw.setTabIconSet(editor, 
+                QIconSet(utilIcons.getPixmap("fileModified.png")))
+        elif editor.hasSyntaxErrors():
+            tw.setTabIconSet(editor, 
+                QIconSet(utilIcons.getPixmap("syntaxError.png")))
+        else:
+            tw.setTabIconSet(editor, 
+                QIconSet(utilIcons.getPixmap("empty.png")))
+        self.checkActions(editor)
+        
+    def handleSyntaxErrorToggled(self, editor):
+        """
+        Private slot to handle the syntaxerrorToggled signal.
+        
+        @param editor editor that sent the signal
+        """
+        for tw in self.tabWidgets:
+            if tw.hasEditor(editor):
+                break
+        if editor.hasSyntaxErrors():
+            tw.setTabIconSet(editor, 
+                QIconSet(utilIcons.getPixmap("syntaxError.png")))
+        else:
+            tw.setTabIconSet(editor, 
+                QIconSet(utilIcons.getPixmap("empty.png")))
+                
+        ViewManager.handleSyntaxErrorToggled(self, editor)
+        
+    def addSplit(self):
+        """
+        Public method used to split the current view.
+        """
+        tw = TabWidget(self)
+        tw.show()
+        self.tabWidgets.append(tw)
+        self.currentTabWidget = self.tabWidgets[-1]
+        self.connect(tw, SIGNAL('currentChanged(QWidget*)'),
+            self.handleCurrentChanged)
+        tw.installEventFilter(self)
+        tw.tabBar().installEventFilter(self)
+        self.setSizes([int(100/len(self.tabWidgets))] * len(self.tabWidgets))
+        self.splitRemoveAct.setEnabled(1)
+        
+    def removeSplit(self):
+        """
+        Public method used to remove the current split view.
+        
+        @return flag indicating successfull removal
+        """
+        if len(self.tabWidgets) > 1:
+            tw = self.currentTabWidget
+            res = 1
+            savedEditors = tw.editors[:]
+            for editor in savedEditors:
+                res &= self.closeEditor(editor)
+            if res:
+                i = self.tabWidgets.index(tw)
+                if i == len(self.tabWidgets)-1:
+                    i -= 1
+                self.tabWidgets.remove(tw)
+                tw.close(1)
+                self.currentTabWidget = self.tabWidgets[i]
+                if len(self.tabWidgets) == 1:
+                    self.splitRemoveAct.setEnabled(0)
+                return 1
+                
+        return 0
+        
+    def setSplitOrientation(self, orientation):
+        """
+        Public method used to set the orientation of the split view.
+        
+        @param orientation orientation of the split
+                (QSplitter.Horizontal or QSplitter.Vertical)
+        """
+        self.setOrientation(orientation)
+        
+    def handleCurrentChanged(self, editor):
+        """
+        Private slot to handle the currentChanged signal.
+        
+        @param editor selected editor window
+        """
+        self.checkActions(editor)
+        editor.setFocus()
+        
+    def eventFilter(self, watched, event):
+        """
+        Method called to filter the event queue.
+        
+        @param watched the QObject being watched
+        @param event the event that occurred
+        @return always 0
+        """
+        if event.type() == QEvent.MouseButtonPress and \
+           not event.button() == Qt.RightButton:
+            if isinstance(watched, QTabWidget):
+                self.currentTabWidget = watched
+            elif isinstance(watched, QTabBar):
+                self.currentTabWidget = watched.parent()
+            elif isinstance(watched, QScintilla.Editor.Editor):
+                for tw in self.tabWidgets:
+                    if tw.hasEditor(watched):
+                        self.currentTabWidget = tw
+                        break
+                        
+            aw = self.activeWindow()
+            if aw is not None:
+                self.checkActions(aw)
+                aw.setFocus()
+            
+        return 0
+
+
+class MyTabview(Tabview):
+    """
+    Base class inherited by all specific viewmanager classes.
+    
+    It defines the interface to be implemented by specific
+    viewmanager classes and all common methods.
+    
+    @signal lastEditorClosed emitted after the last editor window was closed
+    @signal editorOpened(string) emitted after an editor window was opened
+    @signal editorSaved(string) emitted after an editor window was saved
+    @signal checkActions(editor) emitted when some actions should be checked
+            for their status
+    @signal cursorChanged(editor) emitted after the cursor position of the active
+            window has changed
+    @signal breakpointToggled(editor) emitted when a breakpoint is toggled.
+    @signal bookmarkToggled(editor) emitted when a bookmark is toggled.
+    """
+    def __init__(self, parent, ui):
+        Tabview.__init__(self, parent, ui)
+        self.appli=parent
+        self.code =self.appli.code
+        self.salome=self.appli.salome
+        self.initRecent()
+
+    def initRecent(self) :
+       rep=self.appli.CONFIGURATION.rep_user
+       monFichier=rep+"/listefichiers_"+self.code
+       index=0
+       try :
+           f=open(monFichier)
+           while ( index < 9) :
+              ligne=f.readline()
+              if ligne != "" :
+                 l=(ligne.split("\n"))[0]
+                 self.recent.append(l)
+              index=index+1
+       except : pass
+
+       try    : f.close()
+       except : pass
+        
+    def SauveRecents(self) :
+       rep=self.appli.CONFIGURATION.rep_user
+       monFichier=rep+"/listefichiers_"+self.code
+       try :
+            f=open(monFichier,'w')
+            if len(self.recent) == 0 : return
+            index=0
+            while ( index <  len(self.recent)):
+              ligne=str(self.recent[index])+"\n"
+              f.write(ligne)
+              index=index+1
+       except :
+            pass
+       try :
+            f.close()
+       except :
+            pass
+
+
+    def checkActions(self, editor, setSb=1):
+        """
+        Private slot to check some actions for their enable/disable status and set the statusbar info.
+        
+        @param editor editor window
+        @param setSb flag indicating an update of the status bar is wanted (boolean)
+        """        
+        self.emit(PYSIGNAL('checkActions'), (editor,)) 
+
+    def addToRecentList(self, fn):
+        """
+        Public slot to add a filename to the list of recently opened files.
+        
+        @param fn name of the file to be added
+        """
+        self.recent.remove(fn)
+        self.recent.prepend(fn)
+        if len(self.recent) > 9:
+            self.recent = self.recent[:9] 
+        
+    def handleOpen(self,fn=None,patron=0,units=None):
+        """
+        Public slot to open a Python JDC file.
+        
+        @param prog name of file to be opened (string or QString)
+               patron booleen pour indiquer si le fichier doit etre
+                      ajoute a la liste des fichiers ouverts recemment
+        """
+        # Get the file name if one wasn't specified.
+        if fn is None:
+
+            fn = QFileDialog.getOpenFileName(self._getOpenStartDir(),
+                        self.trUtf8('JDC Files (*.comm);;''All Files (*)'), self.ui)
+
+            if fn.isNull():
+                return
+
+        fn = normabspath(unicode(fn))
+
+        newWin, editor = self.getEditor(fn,units=units)
+        
+        if newWin:
+            self.handleModificationStatusChanged(editor.modified, editor)
+        self.checkActions(editor)
+        
+        # insert filename into list of recently opened files
+        if patron == 0 : self.addToRecentList(fn)
+    
+
+   ##################################################################
+   ## Below are protected utility methods
+   #################################################################
+    
+    def _getOpenStartDir(self):
+        """
+        Protected method to return the starting directory for a file open dialog. 
+        
+        The appropriate starting directory is calculated
+        using the following search order, until a match is found:<br />
+            1: Directory of currently active editor<br />
+            2: Directory of currently active Project<br />
+            3: CWD
+
+        @return String name of directory to start or None
+        """
+        # if we have an active source, return its path
+        if self.activeWindow() is not None and \
+           self.activeWindow().getFileName():
+            return os.path.dirname(self.activeWindow().getFileName())
+            
+            
+        else:
+            # None will cause open dialog to start with cwd
+            try :
+               userDir=os.path.expanduser("~/Eficas_install/")
+               return userDir
+            except :
+               return ""        
+
+
+    def handleEditorOpened(self):
+        """
+        Private slot to handle the editorOpened signal.
+        """
+        pass
+        
+    def handleModificationStatusChanged(self, m, editor):
+        """
+        Private slot to handle the modificationStatusChanged signal.
+        
+        @param m flag indicating the modification status (boolean)
+        @param editor editor window changed
+        """
+        for tw in self.tabWidgets:
+            if tw.hasEditor(editor):
+                break
+        if m:
+            #tw.setTabIconSet(editor, 
+            #    QIconSet(utilIcons.getPixmap("fileModified.png")))
+            pass
+        elif editor.hasSyntaxErrors():
+            tw.setTabIconSet(editor, 
+                QIconSet(utilIcons.getPixmap("syntaxError.png")))
+        else:
+            tw.setTabIconSet(editor, 
+                QIconSet(utilIcons.getPixmap("empty.png")))
+        self.checkActions(editor)        
+        
+        
+
+
+if __name__=='__main__':
+    import sys
+    import prefs 
+    if hasattr(prefs,'encoding'):
+       # Hack pour changer le codage par defaut des strings
+       import sys
+       reload(sys)
+       sys.setdefaultencoding(prefs.encoding)
+       del sys.setdefaultencoding
+       # Fin hack
+
+    #CS_pbruno note: fait implicitement des trucs ces imports (grr)
+    #import styles
+    from Editeur import import_code
+    from Editeur import session
+
+    # Analyse des arguments de la ligne de commande
+    options=session.parse(sys.argv)
+    code=options.code    
+    app = QApplication(sys.argv)
+    
+    mw = MyTabview(None,None)
+    app.setMainWidget(mw)
+    app.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()"))
+    mw.show()
+    mw.getEditor('azAster.comm')
+    mw.getEditor('azAster2.comm')
+    res = app.exec_loop()
+    sys.exit(res)
diff --git a/UiQT4/OptionsEditeur.py b/UiQT4/OptionsEditeur.py
new file mode 100644 (file)
index 0000000..8bd23b6
--- /dev/null
@@ -0,0 +1,137 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'OptionsEditeur.ui'
+#
+# Created: Mon Jun 2 16:08:31 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.16
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class desOptions(QDialog):
+    def __init__(self,parent = None,name = None,modal = 0,fl = 0):
+        QDialog.__init__(self,parent,name,modal,fl)
+
+        if not name:
+            self.setName("desOptions")
+
+
+
+        self.groupBox1 = QGroupBox(self,"groupBox1")
+        self.groupBox1.setGeometry(QRect(11,11,548,191))
+
+        self.textLabel1_3 = QLabel(self.groupBox1,"textLabel1_3")
+        self.textLabel1_3.setGeometry(QRect(30,60,280,20))
+
+        self.textLabel1_2_2 = QLabel(self.groupBox1,"textLabel1_2_2")
+        self.textLabel1_2_2.setGeometry(QRect(30,120,280,20))
+
+        self.CBVersions = QComboBox(0,self.groupBox1,"CBVersions")
+        self.CBVersions.setGeometry(QRect(30,20,90,30))
+
+        self.LERepMat = QLineEdit(self.groupBox1,"LERepMat")
+        self.LERepMat.setGeometry(QRect(30,140,501,31))
+
+        self.LERepCata = QLineEdit(self.groupBox1,"LERepCata")
+        self.LERepCata.setGeometry(QRect(30,80,501,31))
+
+        self.Bok = QPushButton(self.groupBox1,"Bok")
+        self.Bok.setGeometry(QRect(440,20,90,31))
+        self.Bok.setAutoDefault(0)
+
+        self.groupBox2 = QGroupBox(self,"groupBox2")
+        self.groupBox2.setGeometry(QRect(11,208,548,90))
+
+        self.LEVersionAjout = QLineEdit(self.groupBox2,"LEVersionAjout")
+        self.LEVersionAjout.setGeometry(QRect(120,31,101,30))
+
+        self.LEVersionSup = QLineEdit(self.groupBox2,"LEVersionSup")
+        self.LEVersionSup.setGeometry(QRect(410,30,101,30))
+
+        self.PBSup = QPushButton(self.groupBox2,"PBSup")
+        self.PBSup.setGeometry(QRect(300,20,101,41))
+
+        self.PBajout = QPushButton(self.groupBox2,"PBajout")
+        self.PBajout.setGeometry(QRect(10,20,101,41))
+
+        self.PBQuit = QPushButton(self,"PBQuit")
+        self.PBQuit.setGeometry(QRect(400,420,151,31))
+        self.PBQuit.setMinimumSize(QSize(0,30))
+
+        self.groupBox3 = QGroupBox(self,"groupBox3")
+        self.groupBox3.setGeometry(QRect(10,310,548,90))
+
+        self.LERepDoc = QLineEdit(self.groupBox3,"LERepDoc")
+        self.LERepDoc.setGeometry(QRect(20,50,520,31))
+
+        self.textLabel1 = QLabel(self.groupBox3,"textLabel1")
+        self.textLabel1.setGeometry(QRect(20,20,280,30))
+
+        self.Bdefaut = QCheckBox(self,"Bdefaut")
+        self.Bdefaut.setGeometry(QRect(10,430,340,20))
+        Bdefaut_font = QFont(self.Bdefaut.font())
+        Bdefaut_font.setPointSize(12)
+        self.Bdefaut.setFont(Bdefaut_font)
+
+        self.languageChange()
+
+        self.resize(QSize(570,474).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.CBVersions,SIGNAL("activated(int)"),self.VersionChoisie)
+        self.connect(self.Bdefaut,SIGNAL("clicked()"),self.BdefautChecked)
+        self.connect(self.LEVersionAjout,SIGNAL("returnPressed()"),self.AjoutVersion)
+        self.connect(self.LERepDoc,SIGNAL("returnPressed()"),self.ChangePathDoc)
+        self.connect(self.Bok,SIGNAL("clicked()"),self.BokClicked)
+        self.connect(self.LEVersionSup,SIGNAL("returnPressed()"),self.SupVersion)
+        self.connect(self.PBajout,SIGNAL("clicked()"),self.AjoutVersion)
+        self.connect(self.PBSup,SIGNAL("clicked()"),self.SupVersion)
+        self.connect(self.PBQuit,SIGNAL("clicked()"),self.close)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("Options Aster"))
+        self.groupBox1.setTitle(self.__tr("Configurer une Version"))
+        self.textLabel1_3.setText(self.__trUtf8("\x52\xc3\xa9\x70\x65\x72\x74\x6f\x69\x72\x65\x20\x64\x27\x61\x63\x63\xc3\xa8\x73\x20\x61\x75\x20\x63\x61\x74\x61\x6c\x6f\x67\x75\x65\x20\x3a"))
+        self.textLabel1_2_2.setText(self.__trUtf8("\x52\xc3\xa9\x70\x65\x72\x74\x6f\x69\x72\x65\x20\x64\x27\x61\x63\x63\xc3\xa8\x73\x20\x61\x75\x78\x20\x6d\x61\x74\xc3\xa9\x72\x69\x61\x75\x78\x20\x3a"))
+        self.LERepMat.setText(QString.null)
+        self.LERepCata.setText(QString.null)
+        self.Bok.setText(self.__tr("Valider"))
+        self.groupBox2.setTitle(self.__trUtf8("\x47\xc3\xa9\x72\x65\x72\x20\x6c\x65\x73\x20\x76\x65\x72\x73\x69\x6f\x6e\x73"))
+        self.PBSup.setText(self.__tr("Supprimer\n"
+"Version :"))
+        self.PBajout.setText(self.__tr("Ajouter\n"
+"Version :"))
+        self.PBQuit.setText(self.__tr("Quitter"))
+        self.groupBox3.setTitle(self.__tr("Doc"))
+        self.LERepDoc.setText(QString.null)
+        self.textLabel1.setText(self.__trUtf8("\x52\x65\x70\x65\x72\x74\x6f\x69\x72\x65\x20\x64\x27\x61\x63\x63\x65\x73\x20\xc3\xa0\x20\x6c\x61\x20\x64\x6f\x63\x75\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x3a"))
+        self.Bdefaut.setText(self.__tr("Reinitialiser avec les valeurs par defaut"))
+
+
+    def VersionChoisie(self):
+        print "desOptions.VersionChoisie(): Not implemented yet"
+
+    def BdefautChecked(self):
+        print "desOptions.BdefautChecked(): Not implemented yet"
+
+    def AjoutVersion(self):
+        print "desOptions.AjoutVersion(): Not implemented yet"
+
+    def SupVersion(self):
+        print "desOptions.SupVersion(): Not implemented yet"
+
+    def ChangePathDoc(self):
+        print "desOptions.ChangePathDoc(): Not implemented yet"
+
+    def BokClicked(self):
+        print "desOptions.BokClicked(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("desOptions",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("desOptions",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/OptionsEditeur.ui b/UiQT4/OptionsEditeur.ui
new file mode 100644 (file)
index 0000000..7cebf8a
--- /dev/null
@@ -0,0 +1,363 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>desOptions</class>
+<widget class="QDialog">
+    <property name="name">
+        <cstring>desOptions</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>570</width>
+            <height>474</height>
+        </rect>
+    </property>
+    <property name="caption">
+        <string>Options Aster</string>
+    </property>
+    <widget class="QGroupBox">
+        <property name="name">
+            <cstring>groupBox1</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>11</x>
+                <y>11</y>
+                <width>548</width>
+                <height>191</height>
+            </rect>
+        </property>
+        <property name="title">
+            <string>Configurer une Version</string>
+        </property>
+        <widget class="QLabel">
+            <property name="name">
+                <cstring>textLabel1_3</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>30</x>
+                    <y>60</y>
+                    <width>280</width>
+                    <height>20</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string>Répertoire d'accès au catalogue :</string>
+            </property>
+        </widget>
+        <widget class="QLabel">
+            <property name="name">
+                <cstring>textLabel1_2_2</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>30</x>
+                    <y>120</y>
+                    <width>280</width>
+                    <height>20</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string>Répertoire d'accès aux matériaux :</string>
+            </property>
+        </widget>
+        <widget class="QComboBox">
+            <property name="name">
+                <cstring>CBVersions</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>30</x>
+                    <y>20</y>
+                    <width>90</width>
+                    <height>30</height>
+                </rect>
+            </property>
+        </widget>
+        <widget class="QLineEdit">
+            <property name="name">
+                <cstring>LERepMat</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>30</x>
+                    <y>140</y>
+                    <width>501</width>
+                    <height>31</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+        <widget class="QLineEdit">
+            <property name="name">
+                <cstring>LERepCata</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>30</x>
+                    <y>80</y>
+                    <width>501</width>
+                    <height>31</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+        <widget class="QPushButton">
+            <property name="name">
+                <cstring>Bok</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>440</x>
+                    <y>20</y>
+                    <width>90</width>
+                    <height>31</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string>Valider</string>
+            </property>
+            <property name="autoDefault">
+                <bool>false</bool>
+            </property>
+        </widget>
+    </widget>
+    <widget class="QGroupBox">
+        <property name="name">
+            <cstring>groupBox2</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>11</x>
+                <y>208</y>
+                <width>548</width>
+                <height>90</height>
+            </rect>
+        </property>
+        <property name="title">
+            <string>Gérer les versions</string>
+        </property>
+        <widget class="QLineEdit">
+            <property name="name">
+                <cstring>LEVersionAjout</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>120</x>
+                    <y>31</y>
+                    <width>101</width>
+                    <height>30</height>
+                </rect>
+            </property>
+        </widget>
+        <widget class="QLineEdit">
+            <property name="name">
+                <cstring>LEVersionSup</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>410</x>
+                    <y>30</y>
+                    <width>101</width>
+                    <height>30</height>
+                </rect>
+            </property>
+        </widget>
+        <widget class="QPushButton">
+            <property name="name">
+                <cstring>PBSup</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>300</x>
+                    <y>20</y>
+                    <width>101</width>
+                    <height>41</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string>Supprimer
+Version :</string>
+            </property>
+        </widget>
+        <widget class="QPushButton">
+            <property name="name">
+                <cstring>PBajout</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>10</x>
+                    <y>20</y>
+                    <width>101</width>
+                    <height>41</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string>Ajouter
+Version :</string>
+            </property>
+        </widget>
+    </widget>
+    <widget class="QPushButton">
+        <property name="name">
+            <cstring>PBQuit</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>400</x>
+                <y>420</y>
+                <width>151</width>
+                <height>31</height>
+            </rect>
+        </property>
+        <property name="minimumSize">
+            <size>
+                <width>0</width>
+                <height>30</height>
+            </size>
+        </property>
+        <property name="text">
+            <string>Quitter</string>
+        </property>
+    </widget>
+    <widget class="QGroupBox">
+        <property name="name">
+            <cstring>groupBox3</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>10</x>
+                <y>310</y>
+                <width>548</width>
+                <height>90</height>
+            </rect>
+        </property>
+        <property name="title">
+            <string>Doc</string>
+        </property>
+        <widget class="QLineEdit">
+            <property name="name">
+                <cstring>LERepDoc</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>20</x>
+                    <y>50</y>
+                    <width>520</width>
+                    <height>31</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+        <widget class="QLabel">
+            <property name="name">
+                <cstring>textLabel1</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>20</x>
+                    <y>20</y>
+                    <width>280</width>
+                    <height>30</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string>Repertoire d'acces à la documentation :</string>
+            </property>
+        </widget>
+    </widget>
+    <widget class="QCheckBox">
+        <property name="name">
+            <cstring>Bdefaut</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>10</x>
+                <y>430</y>
+                <width>340</width>
+                <height>20</height>
+            </rect>
+        </property>
+        <property name="font">
+            <font>
+                <pointsize>12</pointsize>
+            </font>
+        </property>
+        <property name="text">
+            <string>Reinitialiser avec les valeurs par defaut</string>
+        </property>
+    </widget>
+</widget>
+<connections>
+    <connection>
+        <sender>CBVersions</sender>
+        <signal>activated(int)</signal>
+        <receiver>desOptions</receiver>
+        <slot>VersionChoisie()</slot>
+    </connection>
+    <connection>
+        <sender>Bdefaut</sender>
+        <signal>clicked()</signal>
+        <receiver>desOptions</receiver>
+        <slot>BdefautChecked()</slot>
+    </connection>
+    <connection>
+        <sender>LEVersionAjout</sender>
+        <signal>returnPressed()</signal>
+        <receiver>desOptions</receiver>
+        <slot>AjoutVersion()</slot>
+    </connection>
+    <connection>
+        <sender>LERepDoc</sender>
+        <signal>returnPressed()</signal>
+        <receiver>desOptions</receiver>
+        <slot>ChangePathDoc()</slot>
+    </connection>
+    <connection>
+        <sender>Bok</sender>
+        <signal>clicked()</signal>
+        <receiver>desOptions</receiver>
+        <slot>BokClicked()</slot>
+    </connection>
+    <connection>
+        <sender>LEVersionSup</sender>
+        <signal>returnPressed()</signal>
+        <receiver>desOptions</receiver>
+        <slot>SupVersion()</slot>
+    </connection>
+    <connection>
+        <sender>PBajout</sender>
+        <signal>clicked()</signal>
+        <receiver>desOptions</receiver>
+        <slot>AjoutVersion()</slot>
+    </connection>
+    <connection>
+        <sender>PBSup</sender>
+        <signal>clicked()</signal>
+        <receiver>desOptions</receiver>
+        <slot>SupVersion()</slot>
+    </connection>
+    <connection>
+        <sender>PBQuit</sender>
+        <signal>clicked()</signal>
+        <receiver>desOptions</receiver>
+        <slot>close()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>VersionChoisie()</slot>
+    <slot>BdefautChecked()</slot>
+    <slot>AjoutVersion()</slot>
+    <slot>SupVersion()</slot>
+    <slot>ChangePathDoc()</slot>
+    <slot>BokClicked()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/OptionsEditeur.ui~ b/UiQT4/OptionsEditeur.ui~
new file mode 100644 (file)
index 0000000..ced2a9b
--- /dev/null
@@ -0,0 +1,363 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>desOptions</class>
+<widget class="QDialog">
+    <property name="name">
+        <cstring>desOptions</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>570</width>
+            <height>474</height>
+        </rect>
+    </property>
+    <property name="caption">
+        <string>Options Aster</string>
+    </property>
+    <widget class="QGroupBox">
+        <property name="name">
+            <cstring>groupBox1</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>11</x>
+                <y>11</y>
+                <width>548</width>
+                <height>191</height>
+            </rect>
+        </property>
+        <property name="title">
+            <string>Configurer une Version</string>
+        </property>
+        <widget class="QLabel">
+            <property name="name">
+                <cstring>textLabel1_3</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>30</x>
+                    <y>60</y>
+                    <width>280</width>
+                    <height>20</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string>Répertoire d'accès au catalogue :</string>
+            </property>
+        </widget>
+        <widget class="QLabel">
+            <property name="name">
+                <cstring>textLabel1_2_2</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>30</x>
+                    <y>120</y>
+                    <width>280</width>
+                    <height>20</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string>Répertoire d'accès aux matériaux :</string>
+            </property>
+        </widget>
+        <widget class="QComboBox">
+            <property name="name">
+                <cstring>CBVersions</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>30</x>
+                    <y>20</y>
+                    <width>90</width>
+                    <height>30</height>
+                </rect>
+            </property>
+        </widget>
+        <widget class="QLineEdit">
+            <property name="name">
+                <cstring>LERepMat</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>30</x>
+                    <y>140</y>
+                    <width>501</width>
+                    <height>31</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+        <widget class="QLineEdit">
+            <property name="name">
+                <cstring>LERepCata</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>30</x>
+                    <y>80</y>
+                    <width>501</width>
+                    <height>31</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+        <widget class="QPushButton">
+            <property name="name">
+                <cstring>Bok</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>440</x>
+                    <y>20</y>
+                    <width>90</width>
+                    <height>31</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string>Valider</string>
+            </property>
+            <property name="autoDefault">
+                <bool>false</bool>
+            </property>
+        </widget>
+    </widget>
+    <widget class="QGroupBox">
+        <property name="name">
+            <cstring>groupBox2</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>11</x>
+                <y>208</y>
+                <width>548</width>
+                <height>90</height>
+            </rect>
+        </property>
+        <property name="title">
+            <string>Gérer les versions</string>
+        </property>
+        <widget class="QLineEdit">
+            <property name="name">
+                <cstring>LEVersionAjout</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>120</x>
+                    <y>31</y>
+                    <width>101</width>
+                    <height>30</height>
+                </rect>
+            </property>
+        </widget>
+        <widget class="QLineEdit">
+            <property name="name">
+                <cstring>LEVersionSup</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>410</x>
+                    <y>30</y>
+                    <width>101</width>
+                    <height>30</height>
+                </rect>
+            </property>
+        </widget>
+        <widget class="QPushButton">
+            <property name="name">
+                <cstring>PBSup</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>300</x>
+                    <y>20</y>
+                    <width>101</width>
+                    <height>41</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string>Supprimer
+Version :</string>
+            </property>
+        </widget>
+        <widget class="QPushButton">
+            <property name="name">
+                <cstring>PBajout</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>10</x>
+                    <y>20</y>
+                    <width>101</width>
+                    <height>41</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string>Ajouter
+Version :</string>
+            </property>
+        </widget>
+    </widget>
+    <widget class="QGroupBox">
+        <property name="name">
+            <cstring>groupBox3</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>10</x>
+                <y>310</y>
+                <width>548</width>
+                <height>90</height>
+            </rect>
+        </property>
+        <property name="title">
+            <string>Doc</string>
+        </property>
+        <widget class="QLabel">
+            <property name="name">
+                <cstring>textLabel1</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>20</x>
+                    <y>10</y>
+                    <width>280</width>
+                    <height>40</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string>Repertoire d'acces à la documentation :</string>
+            </property>
+        </widget>
+        <widget class="QLineEdit">
+            <property name="name">
+                <cstring>LERepDoc</cstring>
+            </property>
+            <property name="geometry">
+                <rect>
+                    <x>20</x>
+                    <y>50</y>
+                    <width>520</width>
+                    <height>31</height>
+                </rect>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+    </widget>
+    <widget class="QCheckBox">
+        <property name="name">
+            <cstring>Bdefaut</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>10</x>
+                <y>430</y>
+                <width>280</width>
+                <height>20</height>
+            </rect>
+        </property>
+        <property name="font">
+            <font>
+                <pointsize>12</pointsize>
+            </font>
+        </property>
+        <property name="text">
+            <string>Reinitialiser avec les valeurs par defaut</string>
+        </property>
+    </widget>
+    <widget class="QPushButton">
+        <property name="name">
+            <cstring>PBQuit</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>400</x>
+                <y>420</y>
+                <width>151</width>
+                <height>31</height>
+            </rect>
+        </property>
+        <property name="minimumSize">
+            <size>
+                <width>0</width>
+                <height>30</height>
+            </size>
+        </property>
+        <property name="text">
+            <string>Quitter</string>
+        </property>
+    </widget>
+</widget>
+<connections>
+    <connection>
+        <sender>CBVersions</sender>
+        <signal>activated(int)</signal>
+        <receiver>desOptions</receiver>
+        <slot>VersionChoisie()</slot>
+    </connection>
+    <connection>
+        <sender>Bdefaut</sender>
+        <signal>clicked()</signal>
+        <receiver>desOptions</receiver>
+        <slot>BdefautChecked()</slot>
+    </connection>
+    <connection>
+        <sender>LEVersionAjout</sender>
+        <signal>returnPressed()</signal>
+        <receiver>desOptions</receiver>
+        <slot>AjoutVersion()</slot>
+    </connection>
+    <connection>
+        <sender>LERepDoc</sender>
+        <signal>returnPressed()</signal>
+        <receiver>desOptions</receiver>
+        <slot>ChangePathDoc()</slot>
+    </connection>
+    <connection>
+        <sender>Bok</sender>
+        <signal>clicked()</signal>
+        <receiver>desOptions</receiver>
+        <slot>BokClicked()</slot>
+    </connection>
+    <connection>
+        <sender>LEVersionSup</sender>
+        <signal>returnPressed()</signal>
+        <receiver>desOptions</receiver>
+        <slot>SupVersion()</slot>
+    </connection>
+    <connection>
+        <sender>PBajout</sender>
+        <signal>clicked()</signal>
+        <receiver>desOptions</receiver>
+        <slot>AjoutVersion()</slot>
+    </connection>
+    <connection>
+        <sender>PBSup</sender>
+        <signal>clicked()</signal>
+        <receiver>desOptions</receiver>
+        <slot>SupVersion()</slot>
+    </connection>
+    <connection>
+        <sender>PBQuit</sender>
+        <signal>clicked()</signal>
+        <receiver>desOptions</receiver>
+        <slot>close()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>VersionChoisie()</slot>
+    <slot>BdefautChecked()</slot>
+    <slot>AjoutVersion()</slot>
+    <slot>SupVersion()</slot>
+    <slot>ChangePathDoc()</slot>
+    <slot>BokClicked()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/OptionsPdf.py b/UiQT4/OptionsPdf.py
new file mode 100644 (file)
index 0000000..c5c3c89
--- /dev/null
@@ -0,0 +1,63 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'OptionsPdf.ui'
+#
+# Created: lun avr 7 09:36:07 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class desPdf(QDialog):
+    def __init__(self,parent = None,name = None,modal = 0,fl = 0):
+        QDialog.__init__(self,parent,name,modal,fl)
+
+        if not name:
+            self.setName("desPdf")
+
+
+
+        self.textLabel1_2 = QLabel(self,"textLabel1_2")
+        self.textLabel1_2.setGeometry(QRect(20,10,280,20))
+
+        self.BCancel = QPushButton(self,"BCancel")
+        self.BCancel.setGeometry(QRect(450,90,70,31))
+
+        self.LERepPdf = QLineEdit(self,"LERepPdf")
+        self.LERepPdf.setGeometry(QRect(20,40,501,31))
+
+        self.Bok = QPushButton(self,"Bok")
+        self.Bok.setGeometry(QRect(350,90,70,31))
+
+        self.languageChange()
+
+        self.resize(QSize(538,142).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.BCancel,SIGNAL("clicked()"),self.reject)
+        self.connect(self.LERepPdf,SIGNAL("returnPressed()"),self.LeRepPdfPressed)
+        self.connect(self.Bok,SIGNAL("clicked()"),self.BokClicked)
+
+        self.setTabOrder(self.LERepPdf,self.Bok)
+        self.setTabOrder(self.Bok,self.BCancel)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("desPdf"))
+        self.textLabel1_2.setText(self.__tr("Lecteur Pdf"))
+        self.BCancel.setText(self.__tr("Cancel"))
+        self.LERepPdf.setText(self.__tr("acroread"))
+        self.Bok.setText(self.__tr("Ok"))
+
+
+    def LeRepPdfPressed(self):
+        print "desPdf.LeRepPdfPressed(): Not implemented yet"
+
+    def BokClicked(self):
+        print "desPdf.BokClicked(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("desPdf",s,c)
diff --git a/UiQT4/OptionsPdf.ui b/UiQT4/OptionsPdf.ui
new file mode 100644 (file)
index 0000000..5d7a8a5
--- /dev/null
@@ -0,0 +1,116 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>desPdf</class>
+<widget class="QDialog">
+    <property name="name">
+        <cstring>desPdf</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>538</width>
+            <height>142</height>
+        </rect>
+    </property>
+    <property name="caption">
+        <string>desPdf</string>
+    </property>
+    <widget class="QLabel">
+        <property name="name">
+            <cstring>textLabel1_2</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>20</x>
+                <y>10</y>
+                <width>280</width>
+                <height>20</height>
+            </rect>
+        </property>
+        <property name="text">
+            <string>Lecteur Pdf</string>
+        </property>
+    </widget>
+    <widget class="QPushButton">
+        <property name="name">
+            <cstring>BCancel</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>450</x>
+                <y>90</y>
+                <width>70</width>
+                <height>31</height>
+            </rect>
+        </property>
+        <property name="text">
+            <string>Cancel</string>
+        </property>
+    </widget>
+    <widget class="QLineEdit">
+        <property name="name">
+            <cstring>LERepPdf</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>20</x>
+                <y>40</y>
+                <width>501</width>
+                <height>31</height>
+            </rect>
+        </property>
+        <property name="text">
+            <string>acroread</string>
+        </property>
+    </widget>
+    <widget class="QPushButton">
+        <property name="name">
+            <cstring>Bok</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>350</x>
+                <y>90</y>
+                <width>70</width>
+                <height>31</height>
+            </rect>
+        </property>
+        <property name="text">
+            <string>Ok</string>
+        </property>
+    </widget>
+</widget>
+<connections>
+    <connection>
+        <sender>BCancel</sender>
+        <signal>clicked()</signal>
+        <receiver>desPdf</receiver>
+        <slot>reject()</slot>
+    </connection>
+    <connection>
+        <sender>LERepPdf</sender>
+        <signal>returnPressed()</signal>
+        <receiver>desPdf</receiver>
+        <slot>LeRepPdfPressed()</slot>
+    </connection>
+    <connection>
+        <sender>Bok</sender>
+        <signal>clicked()</signal>
+        <receiver>desPdf</receiver>
+        <slot>BokClicked()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LERepPdf</tabstop>
+    <tabstop>Bok</tabstop>
+    <tabstop>BCancel</tabstop>
+</tabstops>
+<includes>
+    <include location="local" impldecl="in implementation">OptionsPdf.ui.h</include>
+</includes>
+<slots>
+    <slot>LeRepPdfPressed()</slot>
+    <slot>BokClicked()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/aideQT.py b/UiQT4/aideQT.py
new file mode 100644 (file)
index 0000000..a60c760
--- /dev/null
@@ -0,0 +1,78 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'aideQT.ui'
+#
+# Created: mar mar 25 10:05:07 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class Aide(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("Aide")
+
+
+        AideLayout = QGridLayout(self,1,1,11,6,"AideLayout")
+
+        layout2 = QHBoxLayout(None,0,6,"layout2")
+
+        self.PBIndex = QPushButton(self,"PBIndex")
+        self.PBIndex.setMinimumSize(QSize(0,30))
+        layout2.addWidget(self.PBIndex)
+
+        self.PBBack = QPushButton(self,"PBBack")
+        self.PBBack.setEnabled(1)
+        self.PBBack.setMinimumSize(QSize(0,30))
+        layout2.addWidget(self.PBBack)
+
+        self.PBForward = QPushButton(self,"PBForward")
+        self.PBForward.setEnabled(1)
+        self.PBForward.setMinimumSize(QSize(0,30))
+        layout2.addWidget(self.PBForward)
+
+        AideLayout.addLayout(layout2,1,0)
+
+        self.TB1 = QTextBrowser(self,"TB1")
+
+        AideLayout.addMultiCellWidget(self.TB1,0,0,0,1)
+        spacer1 = QSpacerItem(311,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
+        AideLayout.addItem(spacer1,1,1)
+
+        self.languageChange()
+
+        self.resize(QSize(602,480).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.PBBack,SIGNAL("clicked()"),self.TB1.backward)
+        self.connect(self.PBForward,SIGNAL("clicked()"),self.TB1.forward)
+        self.connect(self.PBIndex,SIGNAL("clicked()"),self.TB1.home)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("Aide"))
+        self.PBIndex.setText(self.__tr("Index"))
+        self.PBBack.setText(self.__tr("Back"))
+        self.PBForward.setText(self.__tr("Forward"))
+
+
+    def PBIndexPushed(self):
+        print "Aide.PBIndexPushed(): Not implemented yet"
+
+    def PBBackPushed(self):
+        print "Aide.PBBackPushed(): Not implemented yet"
+
+    def PBForwardPushed(self):
+        print "Aide.PBForwardPushed(): Not implemented yet"
+
+    def SlotSourceChanged(self):
+        print "Aide.SlotSourceChanged(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("Aide",s,c)
diff --git a/UiQT4/aideQT.ui b/UiQT4/aideQT.ui
new file mode 100644 (file)
index 0000000..40a8d59
--- /dev/null
@@ -0,0 +1,131 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>Aide</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>Aide</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>602</width>
+            <height>480</height>
+        </rect>
+    </property>
+    <property name="caption">
+        <string>Aide</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QLayoutWidget" row="1" column="0">
+            <property name="name">
+                <cstring>layout2</cstring>
+            </property>
+            <hbox>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <widget class="QPushButton">
+                    <property name="name">
+                        <cstring>PBIndex</cstring>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>0</width>
+                            <height>30</height>
+                        </size>
+                    </property>
+                    <property name="text">
+                        <string>Index</string>
+                    </property>
+                </widget>
+                <widget class="QPushButton">
+                    <property name="name">
+                        <cstring>PBBack</cstring>
+                    </property>
+                    <property name="enabled">
+                        <bool>true</bool>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>0</width>
+                            <height>30</height>
+                        </size>
+                    </property>
+                    <property name="text">
+                        <string>Back</string>
+                    </property>
+                </widget>
+                <widget class="QPushButton">
+                    <property name="name">
+                        <cstring>PBForward</cstring>
+                    </property>
+                    <property name="enabled">
+                        <bool>true</bool>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>0</width>
+                            <height>30</height>
+                        </size>
+                    </property>
+                    <property name="text">
+                        <string>Forward</string>
+                    </property>
+                </widget>
+            </hbox>
+        </widget>
+        <widget class="QTextBrowser" row="0" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>TB1</cstring>
+            </property>
+        </widget>
+        <spacer row="1" column="1">
+            <property name="name">
+                <cstring>spacer1</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Horizontal</enum>
+            </property>
+            <property name="sizeType">
+                <enum>Expanding</enum>
+            </property>
+            <property name="sizeHint">
+                <size>
+                    <width>311</width>
+                    <height>20</height>
+                </size>
+            </property>
+        </spacer>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>PBBack</sender>
+        <signal>clicked()</signal>
+        <receiver>TB1</receiver>
+        <slot>backward()</slot>
+    </connection>
+    <connection>
+        <sender>PBForward</sender>
+        <signal>clicked()</signal>
+        <receiver>TB1</receiver>
+        <slot>forward()</slot>
+    </connection>
+    <connection>
+        <sender>PBIndex</sender>
+        <signal>clicked()</signal>
+        <receiver>TB1</receiver>
+        <slot>home()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>PBIndexPushed()</slot>
+    <slot>PBBackPushed()</slot>
+    <slot>PBForwardPushed()</slot>
+    <slot>SlotSourceChanged()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desChoixCata.py b/UiQT4/desChoixCata.py
new file mode 100644 (file)
index 0000000..22e37b8
--- /dev/null
@@ -0,0 +1,85 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desChoixCata.ui'
+#
+# Created: mar mar 25 10:05:07 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DChoixCata(QDialog):
+    def __init__(self,parent = None,name = None,modal = 0,fl = 0):
+        QDialog.__init__(self,parent,name,modal,fl)
+
+        if not name:
+            self.setName("DChoixCata")
+
+        self.setSizeGripEnabled(1)
+
+        DChoixCataLayout = QGridLayout(self,1,1,11,6,"DChoixCataLayout")
+
+        self.frame3 = QFrame(self,"frame3")
+        self.frame3.setFrameShape(QFrame.StyledPanel)
+        self.frame3.setFrameShadow(QFrame.Raised)
+
+        self.buttonCancel = QPushButton(self.frame3,"buttonCancel")
+        self.buttonCancel.setGeometry(QRect(380,6,90,30))
+        self.buttonCancel.setAutoDefault(1)
+
+        self.buttonOk = QPushButton(self.frame3,"buttonOk")
+        self.buttonOk.setGeometry(QRect(40,6,90,30))
+        self.buttonOk.setAutoDefault(1)
+        self.buttonOk.setDefault(1)
+
+        DChoixCataLayout.addMultiCellWidget(self.frame3,2,2,0,1)
+
+        self.TLNb = QLabel(self,"TLNb")
+        self.TLNb.setMinimumSize(QSize(30,0))
+
+        DChoixCataLayout.addWidget(self.TLNb,0,0)
+
+        self.CBChoixCata = QComboBox(0,self,"CBChoixCata")
+        self.CBChoixCata.setEnabled(1)
+
+        DChoixCataLayout.addWidget(self.CBChoixCata,1,1)
+
+        self.textLabel1_2 = QLabel(self,"textLabel1_2")
+        self.textLabel1_2.setMinimumSize(QSize(380,60))
+
+        DChoixCataLayout.addWidget(self.textLabel1_2,1,0)
+
+        self.languageChange()
+
+        self.resize(QSize(547,172).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.buttonOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.buttonCancel,SIGNAL("clicked()"),self.BCancelPressed)
+        self.connect(self.CBChoixCata,SIGNAL("activated(const QString&)"),self.CataChoisi)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("Choix d'une version du code Aster"))
+        self.buttonCancel.setText(self.__tr("&Cancel"))
+        self.buttonCancel.setAccel(QString.null)
+        self.buttonOk.setText(self.__tr("&OK"))
+        self.buttonOk.setAccel(QString.null)
+        self.TLNb.setText(self.__tr("2"))
+        self.textLabel1_2.setText(self.__tr("<font size=\"+1\">Veuillez choisir celle avec laquelle vous souhaitez travailler</font>"))
+
+
+    def CataChoisi(self):
+        print "DChoixCata.CataChoisi(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DChoixCata.BOkPressed(): Not implemented yet"
+
+    def BCancelPressed(self):
+        print "DChoixCata.BCancelPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DChoixCata",s,c)
diff --git a/UiQT4/desChoixCata.ui b/UiQT4/desChoixCata.ui
new file mode 100644 (file)
index 0000000..8f6eff5
--- /dev/null
@@ -0,0 +1,147 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DChoixCata</class>
+<widget class="QDialog">
+    <property name="name">
+        <cstring>DChoixCata</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>547</width>
+            <height>172</height>
+        </rect>
+    </property>
+    <property name="caption">
+        <string>Choix d'une version du code Aster</string>
+    </property>
+    <property name="sizeGripEnabled">
+        <bool>true</bool>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QFrame" row="2" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>frame3</cstring>
+            </property>
+            <property name="frameShape">
+                <enum>StyledPanel</enum>
+            </property>
+            <property name="frameShadow">
+                <enum>Raised</enum>
+            </property>
+            <widget class="QPushButton">
+                <property name="name">
+                    <cstring>buttonCancel</cstring>
+                </property>
+                <property name="geometry">
+                    <rect>
+                        <x>380</x>
+                        <y>6</y>
+                        <width>90</width>
+                        <height>30</height>
+                    </rect>
+                </property>
+                <property name="text">
+                    <string>&amp;Cancel</string>
+                </property>
+                <property name="accel">
+                    <string></string>
+                </property>
+                <property name="autoDefault">
+                    <bool>true</bool>
+                </property>
+            </widget>
+            <widget class="QPushButton">
+                <property name="name">
+                    <cstring>buttonOk</cstring>
+                </property>
+                <property name="geometry">
+                    <rect>
+                        <x>40</x>
+                        <y>6</y>
+                        <width>90</width>
+                        <height>30</height>
+                    </rect>
+                </property>
+                <property name="text">
+                    <string>&amp;OK</string>
+                </property>
+                <property name="accel">
+                    <string></string>
+                </property>
+                <property name="autoDefault">
+                    <bool>true</bool>
+                </property>
+                <property name="default">
+                    <bool>true</bool>
+                </property>
+            </widget>
+        </widget>
+        <widget class="QLabel" row="0" column="0">
+            <property name="name">
+                <cstring>TLNb</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>30</width>
+                    <height>0</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>2</string>
+            </property>
+        </widget>
+        <widget class="QComboBox" row="1" column="1">
+            <property name="name">
+                <cstring>CBChoixCata</cstring>
+            </property>
+            <property name="enabled">
+                <bool>true</bool>
+            </property>
+        </widget>
+        <widget class="QLabel" row="1" column="0">
+            <property name="name">
+                <cstring>textLabel1_2</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>380</width>
+                    <height>60</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&lt;font size="+1"&gt;Veuillez choisir celle avec laquelle vous souhaitez travailler&lt;/font&gt;</string>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>buttonOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DChoixCata</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>buttonCancel</sender>
+        <signal>clicked()</signal>
+        <receiver>DChoixCata</receiver>
+        <slot>BCancelPressed()</slot>
+    </connection>
+    <connection>
+        <sender>CBChoixCata</sender>
+        <signal>activated(const QString&amp;)</signal>
+        <receiver>DChoixCata</receiver>
+        <slot>CataChoisi()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>CataChoisi()</slot>
+    <slot>BOkPressed()</slot>
+    <slot>BCancelPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desCommande.py b/UiQT4/desCommande.py
new file mode 100644 (file)
index 0000000..2a4cc27
--- /dev/null
@@ -0,0 +1,228 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desCommande.ui'
+#
+# Created: ven mai 16 13:30:38 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DComm(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DComm")
+
+        self.setMinimumSize(QSize(505,0))
+
+        DCommLayout = QGridLayout(self,1,1,11,6,"DCommLayout")
+
+        self.Commentaire = QLabel(self,"Commentaire")
+        self.Commentaire.setFrameShape(QLabel.NoFrame)
+        self.Commentaire.setFrameShadow(QLabel.Plain)
+
+        DCommLayout.addMultiCellWidget(self.Commentaire,1,1,0,2)
+
+        self.bOk = QPushButton(self,"bOk")
+        self.bOk.setMinimumSize(QSize(0,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+
+        DCommLayout.addWidget(self.bOk,2,1)
+
+        self.bSup = QPushButton(self,"bSup")
+        self.bSup.setMinimumSize(QSize(0,30))
+        self.bSup.setAutoDefault(1)
+
+        DCommLayout.addWidget(self.bSup,2,0)
+
+        self.bHelp = QPushButton(self,"bHelp")
+        self.bHelp.setMinimumSize(QSize(0,30))
+        self.bHelp.setAutoDefault(1)
+
+        DCommLayout.addWidget(self.bHelp,2,2)
+
+        self.TWChoix = QTabWidget(self,"TWChoix")
+
+        self.MotClef = QWidget(self.TWChoix,"MotClef")
+
+        self.textLabel1 = QLabel(self.MotClef,"textLabel1")
+        self.textLabel1.setGeometry(QRect(11,11,226,18))
+        self.textLabel1.setMinimumSize(QSize(0,0))
+
+        self.LBMCPermis = QListBox(self.MotClef,"LBMCPermis")
+        self.LBMCPermis.setGeometry(QRect(11,35,226,342))
+        self.LBMCPermis.setMinimumSize(QSize(0,0))
+
+        self.textLabel1_2 = QLabel(self.MotClef,"textLabel1_2")
+        self.textLabel1_2.setGeometry(QRect(243,11,225,18))
+
+        self.LBRegles = QListBox(self.MotClef,"LBRegles")
+        self.LBRegles.setGeometry(QRect(243,35,225,342))
+        self.TWChoix.insertTab(self.MotClef,QString(""))
+
+        self.Concept = QWidget(self.TWChoix,"Concept")
+        ConceptLayout = QGridLayout(self.Concept,1,1,11,6,"ConceptLayout")
+
+        self.groupBox1 = QGroupBox(self.Concept,"groupBox1")
+
+        self.textLabel1_3 = QLabel(self.groupBox1,"textLabel1_3")
+        self.textLabel1_3.setGeometry(QRect(80,50,130,31))
+
+        self.textLabel1_3_2 = QLabel(self.groupBox1,"textLabel1_3_2")
+        self.textLabel1_3_2.setGeometry(QRect(80,170,150,31))
+
+        self.LENomConcept = QLineEdit(self.groupBox1,"LENomConcept")
+        self.LENomConcept.setGeometry(QRect(80,110,310,30))
+
+        self.textLabel3 = QLabel(self.groupBox1,"textLabel3")
+        self.textLabel3.setGeometry(QRect(10,200,290,31))
+
+        self.typeConcept = QLabel(self.groupBox1,"typeConcept")
+        self.typeConcept.setGeometry(QRect(310,200,130,31))
+
+        ConceptLayout.addWidget(self.groupBox1,0,0)
+        self.TWChoix.insertTab(self.Concept,QString(""))
+
+        self.Commande = QWidget(self.TWChoix,"Commande")
+        CommandeLayout = QGridLayout(self.Commande,1,1,11,6,"CommandeLayout")
+
+        self.buttonGroup1 = QButtonGroup(self.Commande,"buttonGroup1")
+
+        self.RBalpha = QRadioButton(self.buttonGroup1,"RBalpha")
+        self.RBalpha.setGeometry(QRect(20,20,120,20))
+        self.RBalpha.setChecked(1)
+
+        self.RBGroupe = QRadioButton(self.buttonGroup1,"RBGroupe")
+        self.RBGroupe.setGeometry(QRect(20,40,110,20))
+
+        CommandeLayout.addMultiCellWidget(self.buttonGroup1,0,1,3,3)
+
+        self.LBNouvCommande = QListBox(self.Commande,"LBNouvCommande")
+
+        CommandeLayout.addMultiCellWidget(self.LBNouvCommande,2,2,0,3)
+
+        self.textLabel1_4 = QLabel(self.Commande,"textLabel1_4")
+        self.textLabel1_4.setMaximumSize(QSize(32767,20))
+
+        CommandeLayout.addMultiCellWidget(self.textLabel1_4,0,0,0,2)
+
+        self.textLabel4 = QLabel(self.Commande,"textLabel4")
+
+        CommandeLayout.addMultiCellWidget(self.textLabel4,3,3,0,3)
+
+        self.textLabel6 = QLabel(self.Commande,"textLabel6")
+        self.textLabel6.setMinimumSize(QSize(40,40))
+
+        CommandeLayout.addWidget(self.textLabel6,1,0)
+
+        self.LEFiltre = QLineEdit(self.Commande,"LEFiltre")
+        self.LEFiltre.setMinimumSize(QSize(0,40))
+
+        CommandeLayout.addWidget(self.LEFiltre,1,1)
+
+        self.BNext = QToolButton(self.Commande,"BNext")
+        self.BNext.setMinimumSize(QSize(70,40))
+        self.BNext.setIconSet(QIconSet())
+
+        CommandeLayout.addWidget(self.BNext,1,2)
+        self.TWChoix.insertTab(self.Commande,QString(""))
+
+        DCommLayout.addMultiCellWidget(self.TWChoix,0,0,0,2)
+
+        self.languageChange()
+
+        self.resize(QSize(505,483).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.LBNouvCommande,SIGNAL("doubleClicked(QListBoxItem*)"),self.LBNouvCommandeClicked)
+        self.connect(self.LEFiltre,SIGNAL("textChanged(const QString&)"),self.LEFiltreTextChanged)
+        self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.LEfiltreReturnPressed)
+        self.connect(self.bSup,SIGNAL("pressed()"),self.BSupPressed)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.LENomConcept,SIGNAL("returnPressed()"),self.LENomConceptReturnPressed)
+        self.connect(self.RBGroupe,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.RBalpha,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+        self.connect(self.BNext,SIGNAL("pressed()"),self.BNextPressed)
+
+        self.setTabOrder(self.LEFiltre,self.LBRegles)
+        self.setTabOrder(self.LBRegles,self.LENomConcept)
+        self.setTabOrder(self.LENomConcept,self.TWChoix)
+        self.setTabOrder(self.TWChoix,self.LBMCPermis)
+        self.setTabOrder(self.LBMCPermis,self.RBalpha)
+        self.setTabOrder(self.RBalpha,self.LBNouvCommande)
+        self.setTabOrder(self.LBNouvCommande,self.bOk)
+        self.setTabOrder(self.bOk,self.bSup)
+        self.setTabOrder(self.bSup,self.bHelp)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DComm"))
+        self.Commentaire.setText(QString.null)
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.textLabel1.setText(self.__tr("<h3><p align=\"center\"><u><b>Mots Clefs Permis</b></u></p></h3>"))
+        self.textLabel1_2.setText(self.__trUtf8("\x3c\x68\x33\x3e\x3c\x70\x20\x61\x6c\x69\x67\x6e\x3d\x22\x63\x65\x6e\x74\x65\x72\x22\x3e\x3c\x75\x3e\x3c\x62\x3e\x52\xc3\xa8\x67\x6c\x65\x73\x3c\x2f\x62\x3e\x3c\x2f\x75\x3e\x3c\x2f\x70\x3e\x3c\x2f\x68\x33\x3e"))
+        self.TWChoix.changeTab(self.MotClef,self.__tr("Ajouter Mot-Clef"))
+        self.groupBox1.setTitle(self.__tr("Concept"))
+        self.textLabel1_3.setText(self.__tr("<u>Nom du concept :</u>"))
+        self.textLabel1_3_2.setText(self.__tr("<u>Type du concept :</u>"))
+        self.textLabel3.setText(self.__trUtf8("\x4c\x27\x6f\x70\xc3\xa9\x72\x61\x74\x65\x75\x72\x20\x72\x65\x74\x6f\x75\x72\x6e\x65\x20\x75\x6e\x20\x63\x6f\x6e\x63\x65\x70\x74\x20\x64\x65\x20\x74\x79\x70\x65\x20\x3a"))
+        self.typeConcept.setText(self.__tr("TypeDuConcept"))
+        self.TWChoix.changeTab(self.Concept,self.__tr("Nommer Concept"))
+        self.buttonGroup1.setTitle(self.__tr("Affichage"))
+        self.RBalpha.setText(self.__trUtf8("\x61\x6c\x70\x68\x61\x62\xc3\xa9\x74\x69\x71\x75\x65"))
+        self.RBGroupe.setText(self.__tr("par groupe"))
+        self.textLabel1_4.setText(self.__tr("<b><u>Commandes :</u></b>"))
+        self.textLabel4.setText(self.__trUtf8("\x4c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x68\x6f\x69\x73\x69\x65\x20\x73\x65\x72\x61\x20\x61\x6a\x6f\x75\x74\xc3\xa9\x65\x20\x41\x50\x52\x45\x53\x20\x6c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x6f\x75\x72\x61\x6e\x74\x65"))
+        self.textLabel6.setText(self.__tr("Filtre"))
+        self.BNext.setText(self.__tr("Suivant"))
+        QToolTip.add(self.BNext,self.__tr("affiche la prochaine occurence"))
+        self.TWChoix.changeTab(self.Commande,self.__tr("Nouvelle Commande"))
+
+
+    def LBNouvCommandeClicked(self):
+        print "DComm.LBNouvCommandeClicked(): Not implemented yet"
+
+    def LEFiltreTextChanged(self):
+        print "DComm.LEFiltreTextChanged(): Not implemented yet"
+
+    def LEfiltreReturnPressed(self):
+        print "DComm.LEfiltreReturnPressed(): Not implemented yet"
+
+    def BSupPressed(self):
+        print "DComm.BSupPressed(): Not implemented yet"
+
+    def LENomConceptReturnPressed(self):
+        print "DComm.LENomConceptReturnPressed(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DComm.BOkPressed(): Not implemented yet"
+
+    def BuildTabCommand(self):
+        print "DComm.BuildTabCommand(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DComm.ViewDoc(): Not implemented yet"
+
+    def BNextPressed(self):
+        print "DComm.BNextPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DComm",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DComm",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desCommande.ui b/UiQT4/desCommande.ui
new file mode 100644 (file)
index 0000000..8bff53b
--- /dev/null
@@ -0,0 +1,511 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DComm</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DComm</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>505</width>
+            <height>483</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>505</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DComm</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QLabel" row="1" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>Commentaire</cstring>
+            </property>
+            <property name="frameShape">
+                <enum>NoFrame</enum>
+            </property>
+            <property name="frameShadow">
+                <enum>Plain</enum>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="1">
+            <property name="name">
+                <cstring>bOk</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Valider</string>
+            </property>
+            <property name="accel">
+                <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="default">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>validation de la saisie</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="0">
+            <property name="name">
+                <cstring>bSup</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Supprimer</string>
+            </property>
+            <property name="accel">
+                <string>Alt+S</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>suppression du mot clef</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="2">
+            <property name="name">
+                <cstring>bHelp</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Documentation</string>
+            </property>
+            <property name="accel">
+                <string>Alt+D</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>affichage documentation aster</string>
+            </property>
+        </widget>
+        <widget class="QTabWidget" row="0" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>TWChoix</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>MotClef</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Ajouter Mot-Clef</string>
+                </attribute>
+                <widget class="QLabel">
+                    <property name="name">
+                        <cstring>textLabel1</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>11</x>
+                            <y>11</y>
+                            <width>226</width>
+                            <height>18</height>
+                        </rect>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>0</width>
+                            <height>0</height>
+                        </size>
+                    </property>
+                    <property name="text">
+                        <string>&lt;h3&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;b&gt;Mots Clefs Permis&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;/h3&gt;</string>
+                    </property>
+                </widget>
+                <widget class="QListBox">
+                    <property name="name">
+                        <cstring>LBMCPermis</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>11</x>
+                            <y>35</y>
+                            <width>226</width>
+                            <height>342</height>
+                        </rect>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>0</width>
+                            <height>0</height>
+                        </size>
+                    </property>
+                </widget>
+                <widget class="QLabel">
+                    <property name="name">
+                        <cstring>textLabel1_2</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>243</x>
+                            <y>11</y>
+                            <width>225</width>
+                            <height>18</height>
+                        </rect>
+                    </property>
+                    <property name="text">
+                        <string>&lt;h3&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;b&gt;Règles&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;/h3&gt;</string>
+                    </property>
+                </widget>
+                <widget class="QListBox">
+                    <property name="name">
+                        <cstring>LBRegles</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>243</x>
+                            <y>35</y>
+                            <width>225</width>
+                            <height>342</height>
+                        </rect>
+                    </property>
+                </widget>
+            </widget>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Concept</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Nommer Concept</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QGroupBox" row="0" column="0">
+                        <property name="name">
+                            <cstring>groupBox1</cstring>
+                        </property>
+                        <property name="title">
+                            <string>Concept</string>
+                        </property>
+                        <widget class="QLabel">
+                            <property name="name">
+                                <cstring>textLabel1_3</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>80</x>
+                                    <y>50</y>
+                                    <width>130</width>
+                                    <height>31</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>&lt;u&gt;Nom du concept :&lt;/u&gt;</string>
+                            </property>
+                        </widget>
+                        <widget class="QLabel">
+                            <property name="name">
+                                <cstring>textLabel1_3_2</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>80</x>
+                                    <y>170</y>
+                                    <width>150</width>
+                                    <height>31</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>&lt;u&gt;Type du concept :&lt;/u&gt;</string>
+                            </property>
+                        </widget>
+                        <widget class="QLineEdit">
+                            <property name="name">
+                                <cstring>LENomConcept</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>80</x>
+                                    <y>110</y>
+                                    <width>310</width>
+                                    <height>30</height>
+                                </rect>
+                            </property>
+                        </widget>
+                        <widget class="QLabel">
+                            <property name="name">
+                                <cstring>textLabel3</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>10</x>
+                                    <y>200</y>
+                                    <width>290</width>
+                                    <height>31</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>L'opérateur retourne un concept de type :</string>
+                            </property>
+                        </widget>
+                        <widget class="QLabel">
+                            <property name="name">
+                                <cstring>typeConcept</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>310</x>
+                                    <y>200</y>
+                                    <width>130</width>
+                                    <height>31</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>TypeDuConcept</string>
+                            </property>
+                        </widget>
+                    </widget>
+                </grid>
+            </widget>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Commande</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Nouvelle Commande</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QButtonGroup" row="0" column="3" rowspan="2" colspan="1">
+                        <property name="name">
+                            <cstring>buttonGroup1</cstring>
+                        </property>
+                        <property name="title">
+                            <string>Affichage</string>
+                        </property>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBalpha</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>20</y>
+                                    <width>120</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>alphabétique</string>
+                            </property>
+                            <property name="checked">
+                                <bool>true</bool>
+                            </property>
+                        </widget>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBGroupe</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>40</y>
+                                    <width>110</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>par groupe</string>
+                            </property>
+                        </widget>
+                    </widget>
+                    <widget class="QListBox" row="2" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>LBNouvCommande</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="0" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>textLabel1_4</cstring>
+                        </property>
+                        <property name="maximumSize">
+                            <size>
+                                <width>32767</width>
+                                <height>20</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&lt;b&gt;&lt;u&gt;Commandes :&lt;/u&gt;&lt;/b&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="3" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>textLabel4</cstring>
+                        </property>
+                        <property name="text">
+                            <string>La commande choisie sera ajoutée APRES la commande courante</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="1" column="0">
+                        <property name="name">
+                            <cstring>textLabel6</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>40</width>
+                                <height>40</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Filtre</string>
+                        </property>
+                    </widget>
+                    <widget class="QLineEdit" row="1" column="1">
+                        <property name="name">
+                            <cstring>LEFiltre</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>40</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <widget class="QToolButton" row="1" column="2">
+                        <property name="name">
+                            <cstring>BNext</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>70</width>
+                                <height>40</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Suivant</string>
+                        </property>
+                        <property name="iconSet">
+                            <iconset></iconset>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>affiche la prochaine occurence</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>LBNouvCommande</sender>
+        <signal>doubleClicked(QListBoxItem*)</signal>
+        <receiver>DComm</receiver>
+        <slot>LBNouvCommandeClicked()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>DComm</receiver>
+        <slot>LEFiltreTextChanged()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DComm</receiver>
+        <slot>LEfiltreReturnPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>pressed()</signal>
+        <receiver>DComm</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DComm</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>LENomConcept</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DComm</receiver>
+        <slot>LENomConceptReturnPressed()</slot>
+    </connection>
+    <connection>
+        <sender>RBGroupe</sender>
+        <signal>clicked()</signal>
+        <receiver>DComm</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>RBalpha</sender>
+        <signal>clicked()</signal>
+        <receiver>DComm</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DComm</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+    <connection>
+        <sender>BNext</sender>
+        <signal>pressed()</signal>
+        <receiver>DComm</receiver>
+        <slot>BNextPressed()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LEFiltre</tabstop>
+    <tabstop>LBRegles</tabstop>
+    <tabstop>LENomConcept</tabstop>
+    <tabstop>TWChoix</tabstop>
+    <tabstop>LBMCPermis</tabstop>
+    <tabstop>RBalpha</tabstop>
+    <tabstop>LBNouvCommande</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bHelp</tabstop>
+</tabstops>
+<slots>
+    <slot>LBNouvCommandeClicked()</slot>
+    <slot>LEFiltreTextChanged()</slot>
+    <slot>LEfiltreReturnPressed()</slot>
+    <slot>BSupPressed()</slot>
+    <slot>LENomConceptReturnPressed()</slot>
+    <slot>BOkPressed()</slot>
+    <slot>BuildTabCommand()</slot>
+    <slot>ViewDoc()</slot>
+    <slot>BNextPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desCommentaire.py b/UiQT4/desCommentaire.py
new file mode 100644 (file)
index 0000000..7210da2
--- /dev/null
@@ -0,0 +1,182 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desCommentaire.ui'
+#
+# Created: ven mai 16 13:30:38 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DComment(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DComment")
+
+        self.setMinimumSize(QSize(505,0))
+
+        DCommentLayout = QGridLayout(self,1,1,11,6,"DCommentLayout")
+
+        self.TWChoix = QTabWidget(self,"TWChoix")
+
+        self.Valeur_Parametre = QWidget(self.TWChoix,"Valeur_Parametre")
+
+        self.textCommentaire = QTextEdit(self.Valeur_Parametre,"textCommentaire")
+        self.textCommentaire.setGeometry(QRect(0,0,480,390))
+        self.TWChoix.insertTab(self.Valeur_Parametre,QString(""))
+
+        self.Commande = QWidget(self.TWChoix,"Commande")
+        CommandeLayout = QGridLayout(self.Commande,1,1,11,6,"CommandeLayout")
+
+        self.LBNouvCommande = QListBox(self.Commande,"LBNouvCommande")
+
+        CommandeLayout.addMultiCellWidget(self.LBNouvCommande,2,2,0,3)
+
+        self.buttonGroup1 = QButtonGroup(self.Commande,"buttonGroup1")
+
+        self.RBGroupe = QRadioButton(self.buttonGroup1,"RBGroupe")
+        self.RBGroupe.setGeometry(QRect(20,40,101,20))
+
+        self.RBalpha = QRadioButton(self.buttonGroup1,"RBalpha")
+        self.RBalpha.setGeometry(QRect(20,20,120,20))
+        self.RBalpha.setChecked(1)
+
+        CommandeLayout.addMultiCellWidget(self.buttonGroup1,0,1,3,3)
+
+        self.textLabel1_4 = QLabel(self.Commande,"textLabel1_4")
+
+        CommandeLayout.addMultiCellWidget(self.textLabel1_4,0,0,0,2)
+
+        self.textLabel4 = QLabel(self.Commande,"textLabel4")
+
+        CommandeLayout.addMultiCellWidget(self.textLabel4,3,3,0,3)
+
+        self.LEFiltre = QLineEdit(self.Commande,"LEFiltre")
+        self.LEFiltre.setMinimumSize(QSize(160,30))
+
+        CommandeLayout.addWidget(self.LEFiltre,1,1)
+
+        self.BNext = QToolButton(self.Commande,"BNext")
+        self.BNext.setMinimumSize(QSize(60,30))
+        self.BNext.setIconSet(QIconSet())
+
+        CommandeLayout.addWidget(self.BNext,1,2)
+
+        self.textLabel6 = QLabel(self.Commande,"textLabel6")
+        self.textLabel6.setMinimumSize(QSize(50,30))
+
+        CommandeLayout.addWidget(self.textLabel6,1,0)
+        self.TWChoix.insertTab(self.Commande,QString(""))
+
+        DCommentLayout.addMultiCellWidget(self.TWChoix,0,0,0,2)
+
+        self.bOk = QPushButton(self,"bOk")
+        self.bOk.setMinimumSize(QSize(0,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+
+        DCommentLayout.addWidget(self.bOk,2,1)
+
+        self.bSup = QPushButton(self,"bSup")
+        self.bSup.setMinimumSize(QSize(0,30))
+        self.bSup.setAutoDefault(1)
+
+        DCommentLayout.addWidget(self.bSup,2,0)
+
+        self.bHelp = QPushButton(self,"bHelp")
+        self.bHelp.setMinimumSize(QSize(0,30))
+        self.bHelp.setAutoDefault(1)
+
+        DCommentLayout.addWidget(self.bHelp,2,2)
+
+        self.Commentaire = QLabel(self,"Commentaire")
+        self.Commentaire.setFrameShape(QLabel.NoFrame)
+        self.Commentaire.setFrameShadow(QLabel.Plain)
+
+        DCommentLayout.addMultiCellWidget(self.Commentaire,1,1,0,2)
+
+        self.languageChange()
+
+        self.resize(QSize(505,483).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.LBNouvCommande,SIGNAL("doubleClicked(QListBoxItem*)"),self.LBNouvCommandeClicked)
+        self.connect(self.LEFiltre,SIGNAL("textChanged(const QString&)"),self.LEFiltreTextChanged)
+        self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.LEfiltreReturnPressed)
+        self.connect(self.bSup,SIGNAL("pressed()"),self.BSupPressed)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.RBGroupe,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.RBalpha,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+        self.connect(self.BNext,SIGNAL("pressed()"),self.BNextPressed)
+
+        self.setTabOrder(self.LEFiltre,self.TWChoix)
+        self.setTabOrder(self.TWChoix,self.textCommentaire)
+        self.setTabOrder(self.textCommentaire,self.LBNouvCommande)
+        self.setTabOrder(self.LBNouvCommande,self.RBalpha)
+        self.setTabOrder(self.RBalpha,self.bOk)
+        self.setTabOrder(self.bOk,self.bSup)
+        self.setTabOrder(self.bSup,self.bHelp)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DComm"))
+        self.TWChoix.changeTab(self.Valeur_Parametre,self.__tr("Commentaire"))
+        self.buttonGroup1.setTitle(self.__tr("Affichage"))
+        self.RBGroupe.setText(self.__tr("par groupe"))
+        self.RBalpha.setText(self.__trUtf8("\x61\x6c\x70\x68\x61\x62\xc3\xa9\x74\x69\x71\x75\x65"))
+        self.textLabel1_4.setText(self.__tr("<b><u>Commandes :</u></b>"))
+        self.textLabel4.setText(self.__trUtf8("\x4c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x68\x6f\x69\x73\x69\x65\x20\x73\x65\x72\x61\x20\x61\x6a\x6f\x75\x74\xc3\xa9\x65\x20\x41\x50\x52\x45\x53\x20\x6c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x6f\x75\x72\x61\x6e\x74\x65"))
+        self.BNext.setText(self.__tr("Suivant"))
+        QToolTip.add(self.BNext,self.__tr("affiche la prochaine occurence"))
+        self.textLabel6.setText(self.__tr("Filtre"))
+        self.TWChoix.changeTab(self.Commande,self.__tr("Nouvelle Commande"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.Commentaire.setText(QString.null)
+
+
+    def LBNouvCommandeClicked(self):
+        print "DComment.LBNouvCommandeClicked(): Not implemented yet"
+
+    def LEFiltreTextChanged(self):
+        print "DComment.LEFiltreTextChanged(): Not implemented yet"
+
+    def LEfiltreReturnPressed(self):
+        print "DComment.LEfiltreReturnPressed(): Not implemented yet"
+
+    def BSupPressed(self):
+        print "DComment.BSupPressed(): Not implemented yet"
+
+    def LENomConceptReturnPressed(self):
+        print "DComment.LENomConceptReturnPressed(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DComment.BOkPressed(): Not implemented yet"
+
+    def BuildTabCommand(self):
+        print "DComment.BuildTabCommand(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DComment.ViewDoc(): Not implemented yet"
+
+    def BNextPressed(self):
+        print "DComment.BNextPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DComment",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DComment",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desCommentaire.ui b/UiQT4/desCommentaire.ui
new file mode 100644 (file)
index 0000000..e9cfa82
--- /dev/null
@@ -0,0 +1,342 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DComment</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DComment</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>505</width>
+            <height>483</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>505</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DComm</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QTabWidget" row="0" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>TWChoix</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Valeur_Parametre</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Commentaire</string>
+                </attribute>
+                <widget class="QTextEdit">
+                    <property name="name">
+                        <cstring>textCommentaire</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>0</x>
+                            <y>0</y>
+                            <width>480</width>
+                            <height>390</height>
+                        </rect>
+                    </property>
+                </widget>
+            </widget>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Commande</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Nouvelle Commande</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QListBox" row="2" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>LBNouvCommande</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QButtonGroup" row="0" column="3" rowspan="2" colspan="1">
+                        <property name="name">
+                            <cstring>buttonGroup1</cstring>
+                        </property>
+                        <property name="title">
+                            <string>Affichage</string>
+                        </property>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBGroupe</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>40</y>
+                                    <width>101</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>par groupe</string>
+                            </property>
+                        </widget>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBalpha</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>20</y>
+                                    <width>120</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>alphabétique</string>
+                            </property>
+                            <property name="checked">
+                                <bool>true</bool>
+                            </property>
+                        </widget>
+                    </widget>
+                    <widget class="QLabel" row="0" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>textLabel1_4</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;b&gt;&lt;u&gt;Commandes :&lt;/u&gt;&lt;/b&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="3" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>textLabel4</cstring>
+                        </property>
+                        <property name="text">
+                            <string>La commande choisie sera ajoutée APRES la commande courante</string>
+                        </property>
+                    </widget>
+                    <widget class="QLineEdit" row="1" column="1">
+                        <property name="name">
+                            <cstring>LEFiltre</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>160</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <widget class="QToolButton" row="1" column="2">
+                        <property name="name">
+                            <cstring>BNext</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>60</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Suivant</string>
+                        </property>
+                        <property name="iconSet">
+                            <iconset></iconset>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>affiche la prochaine occurence</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="1" column="0">
+                        <property name="name">
+                            <cstring>textLabel6</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>50</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Filtre</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+        <widget class="QPushButton" row="2" column="1">
+            <property name="name">
+                <cstring>bOk</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Valider</string>
+            </property>
+            <property name="accel">
+                <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="default">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>validation de la saisie</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="0">
+            <property name="name">
+                <cstring>bSup</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Supprimer</string>
+            </property>
+            <property name="accel">
+                <string>Alt+S</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>suppression du mot clef</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="2">
+            <property name="name">
+                <cstring>bHelp</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Documentation</string>
+            </property>
+            <property name="accel">
+                <string>Alt+D</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>affichage documentation aster</string>
+            </property>
+        </widget>
+        <widget class="QLabel" row="1" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>Commentaire</cstring>
+            </property>
+            <property name="frameShape">
+                <enum>NoFrame</enum>
+            </property>
+            <property name="frameShadow">
+                <enum>Plain</enum>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>LBNouvCommande</sender>
+        <signal>doubleClicked(QListBoxItem*)</signal>
+        <receiver>DComment</receiver>
+        <slot>LBNouvCommandeClicked()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>DComment</receiver>
+        <slot>LEFiltreTextChanged()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DComment</receiver>
+        <slot>LEfiltreReturnPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>pressed()</signal>
+        <receiver>DComment</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DComment</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>RBGroupe</sender>
+        <signal>clicked()</signal>
+        <receiver>DComment</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>RBalpha</sender>
+        <signal>clicked()</signal>
+        <receiver>DComment</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DComment</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+    <connection>
+        <sender>BNext</sender>
+        <signal>pressed()</signal>
+        <receiver>DComment</receiver>
+        <slot>BNextPressed()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LEFiltre</tabstop>
+    <tabstop>TWChoix</tabstop>
+    <tabstop>textCommentaire</tabstop>
+    <tabstop>LBNouvCommande</tabstop>
+    <tabstop>RBalpha</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bHelp</tabstop>
+</tabstops>
+<slots>
+    <slot>LBNouvCommandeClicked()</slot>
+    <slot>LEFiltreTextChanged()</slot>
+    <slot>LEfiltreReturnPressed()</slot>
+    <slot>BSupPressed()</slot>
+    <slot>LENomConceptReturnPressed()</slot>
+    <slot>BOkPressed()</slot>
+    <slot>BuildTabCommand()</slot>
+    <slot>ViewDoc() </slot>
+    <slot>BNextPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desError.py b/UiQT4/desError.py
new file mode 100644 (file)
index 0000000..b9c5979
--- /dev/null
@@ -0,0 +1,70 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desError.ui'
+#
+# Created: mar mar 25 10:05:08 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DError(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DError")
+
+        self.setMinimumSize(QSize(350,0))
+
+        DErrorLayout = QGridLayout(self,1,1,11,6,"DErrorLayout")
+
+        self.textLabel1_3 = QLabel(self,"textLabel1_3")
+
+        DErrorLayout.addWidget(self.textLabel1_3,0,0)
+
+        layout1 = QHBoxLayout(None,0,6,"layout1")
+        spacer1_2 = QSpacerItem(171,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
+        layout1.addItem(spacer1_2)
+
+        self.bSup = QPushButton(self,"bSup")
+        self.bSup.setAutoDefault(1)
+        layout1.addWidget(self.bSup)
+        spacer1 = QSpacerItem(171,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
+        layout1.addItem(spacer1)
+
+        DErrorLayout.addLayout(layout1,1,0)
+
+        self.languageChange()
+
+        self.resize(QSize(482,480).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.bSup,SIGNAL("clicked()"),self.BSupPressed)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DInactif"))
+        self.textLabel1_3.setText(self.__trUtf8("\x3c\x66\x6f\x6e\x74\x20\x73\x69\x7a\x65\x3d\x22\x2b\x34\x22\x3e\x3c\x70\x20\x61\x6c\x69\x67\x6e\x3d\x22\x63\x65\x6e\x74\x65\x72\x22\x3e\x4c\x65\x20\x6e\x6f\x65\x75\x64\x20\x73\xc3\xa9\x6c\x65\x63\x74\x69\x6f\x6e\x6e\xc3\xa9\x20\x6e\x65\x20\x63\x6f\x72\x72\x65\x73\x70\x6f\x6e\x64\x20\x70\x61\x73\x20\xc3\xa0\x20\x75\x6e\x20\x6f\x62\x6a\x65\x74\x20\x61\x63\x74\x69\x66\x2e\x3c\x2f\x70\x3e\x3c\x2f\x66\x6f\x6e\x74\x3e"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+
+
+    def BSupPressed(self):
+        print "DError.BSupPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DError.ViewDoc(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DError.BOkPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DError",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DError",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desError.ui b/UiQT4/desError.ui
new file mode 100644 (file)
index 0000000..9dd94bb
--- /dev/null
@@ -0,0 +1,113 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DError</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DError</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>482</width>
+            <height>480</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>350</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DInactif</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QLabel" row="0" column="0">
+            <property name="name">
+                <cstring>textLabel1_3</cstring>
+            </property>
+            <property name="text">
+                <string>&lt;font size="+4"&gt;&lt;p align="center"&gt;Le noeud sélectionné ne correspond pas à un objet actif.&lt;/p&gt;&lt;/font&gt;</string>
+            </property>
+        </widget>
+        <widget class="QLayoutWidget" row="1" column="0">
+            <property name="name">
+                <cstring>layout1</cstring>
+            </property>
+            <hbox>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <spacer>
+                    <property name="name">
+                        <cstring>spacer1_2</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>171</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                </spacer>
+                <widget class="QPushButton">
+                    <property name="name">
+                        <cstring>bSup</cstring>
+                    </property>
+                    <property name="text">
+                        <string>&amp;Supprimer</string>
+                    </property>
+                    <property name="accel">
+                        <string>Alt+S</string>
+                    </property>
+                    <property name="autoDefault">
+                        <bool>true</bool>
+                    </property>
+                    <property name="toolTip" stdset="0">
+                        <string>suppression du mot clef</string>
+                    </property>
+                </widget>
+                <spacer>
+                    <property name="name">
+                        <cstring>spacer1</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>171</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                </spacer>
+            </hbox>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>bSup</sender>
+        <signal>clicked()</signal>
+        <receiver>DError</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>BSupPressed()</slot>
+    <slot>ViewDoc()</slot>
+    <slot>BOkPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desFormule.py b/UiQT4/desFormule.py
new file mode 100644 (file)
index 0000000..6d7b72c
--- /dev/null
@@ -0,0 +1,260 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desFormule.ui'
+#
+# Created: ven mai 16 13:30:38 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DFormule(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DFormule")
+
+        self.setMinimumSize(QSize(505,0))
+
+        DFormuleLayout = QGridLayout(self,1,1,11,6,"DFormuleLayout")
+
+        layout4 = QHBoxLayout(None,0,6,"layout4")
+
+        self.bSup = QPushButton(self,"bSup")
+        self.bSup.setMinimumSize(QSize(0,30))
+        self.bSup.setAutoDefault(1)
+        layout4.addWidget(self.bSup)
+
+        self.bOk = QPushButton(self,"bOk")
+        self.bOk.setMinimumSize(QSize(0,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+        layout4.addWidget(self.bOk)
+
+        self.bHelp = QPushButton(self,"bHelp")
+        self.bHelp.setMinimumSize(QSize(0,30))
+        self.bHelp.setAutoDefault(1)
+        layout4.addWidget(self.bHelp)
+
+        DFormuleLayout.addLayout(layout4,2,0)
+
+        self.Commentaire = QLabel(self,"Commentaire")
+
+        DFormuleLayout.addWidget(self.Commentaire,1,0)
+
+        self.TWChoix = QTabWidget(self,"TWChoix")
+
+        self.Formule = QWidget(self.TWChoix,"Formule")
+        FormuleLayout = QGridLayout(self.Formule,1,1,11,6,"FormuleLayout")
+
+        self.textLabel1 = QLabel(self.Formule,"textLabel1")
+        self.textLabel1.setMinimumSize(QSize(0,0))
+
+        FormuleLayout.addWidget(self.textLabel1,0,0)
+
+        self.textLabel1_3 = QLabel(self.Formule,"textLabel1_3")
+
+        FormuleLayout.addMultiCellWidget(self.textLabel1_3,6,6,0,1)
+
+        layout6 = QHBoxLayout(None,0,6,"layout6")
+
+        self.LENomFormule = QLineEdit(self.Formule,"LENomFormule")
+        self.LENomFormule.setMinimumSize(QSize(0,40))
+        layout6.addWidget(self.LENomFormule)
+
+        layout4_2 = QHBoxLayout(None,0,6,"layout4_2")
+
+        self.textLabel1_6 = QLabel(self.Formule,"textLabel1_6")
+        layout4_2.addWidget(self.textLabel1_6)
+
+        self.LENomsArgs = QLineEdit(self.Formule,"LENomsArgs")
+        self.LENomsArgs.setMinimumSize(QSize(230,40))
+        layout4_2.addWidget(self.LENomsArgs)
+
+        self.textLabel1_6_2 = QLabel(self.Formule,"textLabel1_6_2")
+        layout4_2.addWidget(self.textLabel1_6_2)
+        layout6.addLayout(layout4_2)
+
+        FormuleLayout.addMultiCellLayout(layout6,2,2,0,1)
+
+        self.textLabel2 = QLabel(self.Formule,"textLabel2")
+
+        FormuleLayout.addWidget(self.textLabel2,1,1)
+
+        self.textLabel1_3_2 = QLabel(self.Formule,"textLabel1_3_2")
+
+        FormuleLayout.addMultiCellWidget(self.textLabel1_3_2,7,7,0,1)
+
+        self.textLabel2_2 = QLabel(self.Formule,"textLabel2_2")
+
+        FormuleLayout.addMultiCellWidget(self.textLabel2_2,3,3,0,1)
+
+        self.textLabel1_5 = QLabel(self.Formule,"textLabel1_5")
+        self.textLabel1_5.setMinimumSize(QSize(0,0))
+
+        FormuleLayout.addMultiCellWidget(self.textLabel1_5,4,4,0,1)
+
+        self.LECorpsFormule = QLineEdit(self.Formule,"LECorpsFormule")
+        self.LECorpsFormule.setMinimumSize(QSize(0,30))
+
+        FormuleLayout.addMultiCellWidget(self.LECorpsFormule,5,5,0,1)
+
+        self.textLabel1_2 = QLabel(self.Formule,"textLabel1_2")
+
+        FormuleLayout.addWidget(self.textLabel1_2,0,1)
+        self.TWChoix.insertTab(self.Formule,QString(""))
+
+        self.Commande = QWidget(self.TWChoix,"Commande")
+        CommandeLayout = QGridLayout(self.Commande,1,1,11,6,"CommandeLayout")
+
+        self.textLabel4 = QLabel(self.Commande,"textLabel4")
+
+        CommandeLayout.addMultiCellWidget(self.textLabel4,3,3,0,3)
+
+        self.buttonGroup1 = QButtonGroup(self.Commande,"buttonGroup1")
+
+        LayoutWidget = QWidget(self.buttonGroup1,"layout1")
+        LayoutWidget.setGeometry(QRect(20,20,113,48))
+        layout1 = QVBoxLayout(LayoutWidget,11,6,"layout1")
+
+        self.RBalpha = QRadioButton(LayoutWidget,"RBalpha")
+        self.RBalpha.setChecked(1)
+        layout1.addWidget(self.RBalpha)
+
+        self.RBGroupe = QRadioButton(LayoutWidget,"RBGroupe")
+        layout1.addWidget(self.RBGroupe)
+
+        CommandeLayout.addMultiCellWidget(self.buttonGroup1,0,1,3,3)
+
+        self.LBNouvCommande = QListBox(self.Commande,"LBNouvCommande")
+
+        CommandeLayout.addMultiCellWidget(self.LBNouvCommande,2,2,0,3)
+
+        self.textLabel1_4 = QLabel(self.Commande,"textLabel1_4")
+
+        CommandeLayout.addMultiCellWidget(self.textLabel1_4,0,0,0,2)
+
+        self.textLabel6 = QLabel(self.Commande,"textLabel6")
+        self.textLabel6.setMinimumSize(QSize(40,0))
+
+        CommandeLayout.addWidget(self.textLabel6,1,0)
+
+        self.LEFiltre = QLineEdit(self.Commande,"LEFiltre")
+        self.LEFiltre.setMinimumSize(QSize(160,40))
+
+        CommandeLayout.addWidget(self.LEFiltre,1,1)
+
+        self.BNext = QToolButton(self.Commande,"BNext")
+        self.BNext.setMinimumSize(QSize(60,40))
+        self.BNext.setIconSet(QIconSet())
+
+        CommandeLayout.addWidget(self.BNext,1,2)
+        self.TWChoix.insertTab(self.Commande,QString(""))
+
+        DFormuleLayout.addWidget(self.TWChoix,0,0)
+
+        self.languageChange()
+
+        self.resize(QSize(529,493).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.LBNouvCommande,SIGNAL("doubleClicked(QListBoxItem*)"),self.LBNouvCommandeClicked)
+        self.connect(self.LEFiltre,SIGNAL("textChanged(const QString&)"),self.LEFiltreTextChanged)
+        self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.LEfiltreReturnPressed)
+        self.connect(self.bSup,SIGNAL("pressed()"),self.BSupPressed)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.RBalpha,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.RBGroupe,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.BNext,SIGNAL("clicked()"),self.BNextPressed)
+        self.connect(self.LENomFormule,SIGNAL("returnPressed()"),self.NomFormuleSaisi)
+        self.connect(self.LENomsArgs,SIGNAL("returnPressed()"),self.argsSaisis)
+        self.connect(self.LECorpsFormule,SIGNAL("returnPressed()"),self.FormuleSaisie)
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+
+        self.setTabOrder(self.LEFiltre,self.LENomFormule)
+        self.setTabOrder(self.LENomFormule,self.LENomsArgs)
+        self.setTabOrder(self.LENomsArgs,self.LECorpsFormule)
+        self.setTabOrder(self.LECorpsFormule,self.bSup)
+        self.setTabOrder(self.bSup,self.bOk)
+        self.setTabOrder(self.bOk,self.bHelp)
+        self.setTabOrder(self.bHelp,self.TWChoix)
+        self.setTabOrder(self.TWChoix,self.RBalpha)
+        self.setTabOrder(self.RBalpha,self.RBGroupe)
+        self.setTabOrder(self.RBGroupe,self.LBNouvCommande)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DMacro"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.Commentaire.setText(QString.null)
+        self.textLabel1.setText(self.__tr("<h3><p align=\"center\"><u><b>Nom de la formule</b></u></p></h3>"))
+        self.textLabel1_3.setText(self.__trUtf8("\x52\x65\x74\x6f\x75\x72\x2d\x43\x68\x61\x72\x69\x6f\x74\x20\x70\x65\x72\x6d\x65\x74\x20\x64\x65\x20\x76\xc3\xa9\x72\x69\x66\x69\x65\x72\x20\x71\x75\x65\x20\x6c\x27\x65\x78\x70\x72\x65\x73\x73\x69\x6f\x6e\x20\x65\x73\x74\x20\x76\x61\x6c\x69\x64\x65\x2e"))
+        self.textLabel1_6.setText(self.__tr("<h1><b>(</b></h1>"))
+        self.textLabel1_6_2.setText(self.__tr("<h1><b>)</b></h1>"))
+        self.textLabel2.setText(self.__trUtf8("\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x73\xc3\xa9\x70\x61\x72\xc3\xa9\x65\x73\x20\x70\x61\x72\x20\x64\x65\x73\x20\x22\x2c\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x72\x20\x65\x78\x2e\x20\x3a\x20\x78\x2c\x79\x2c\x7a"))
+        self.textLabel1_3_2.setText(self.__trUtf8("\x43\x65\x20\x6e\x27\x65\x73\x74\x20\x71\x75\x27\x61\x70\x72\xc3\xa8\x73\x20\x61\x76\x6f\x69\x72\x20\x61\x70\x70\x75\x79\xc3\xa9\x20\x73\x75\x72\x20\x6c\x65\x20\x62\x6f\x75\x74\x6f\x6e\x20\x56\x61\x6c\x69\x64\x65\x72\x20\x71\x75\x65\x20\x6c\x65\x73\x20\x6e\x6f\x75\x76\x65\x6c\x6c\x65\x73\x0a\x76\x61\x6c\x65\x75\x72\x73\x20\x73\x65\x72\x6f\x6e\x74\x20\x65\x66\x66\x65\x63\x74\x69\x76\x65\x6d\x65\x6e\x74\x20\x70\x72\x69\x73\x65\x73\x20\x65\x6e\x20\x63\x6f\x6d\x70\x74\x65"))
+        self.textLabel2_2.setText(self.__tr("<font size=\"+4\" face=\"Helvetica\"><b>=</b></font>"))
+        self.textLabel1_5.setText(self.__tr("<h3><p align=\"center\"><u><b>Expression</b></u></p></h3>"))
+        self.textLabel1_2.setText(self.__tr("<h3><p align=\"center\"><u><b>Arguments</b></u></p></h3>"))
+        self.TWChoix.changeTab(self.Formule,self.__trUtf8("\x44\xc3\xa9\x66\x69\x6e\x69\x74\x69\x6f\x6e\x20\x46\x6f\x72\x6d\x75\x6c\x65"))
+        self.textLabel4.setText(self.__trUtf8("\x3c\x70\x20\x61\x6c\x69\x67\x6e\x3d\x22\x6c\x65\x66\x74\x22\x3e\x4c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x68\x6f\x69\x73\x69\x65\x20\x73\x65\x72\x61\x20\x61\x6a\x6f\x75\x74\xc3\xa9\x65\x20\x41\x50\x52\x45\x53\x20\x6c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x6f\x75\x72\x61\x6e\x74\x65\x3c\x2f\x70\x3e"))
+        self.buttonGroup1.setTitle(self.__tr("Affichage"))
+        self.RBalpha.setText(self.__trUtf8("\x61\x6c\x70\x68\x61\x62\xc3\xa9\x74\x69\x71\x75\x65"))
+        self.RBGroupe.setText(self.__tr("par groupe"))
+        self.textLabel1_4.setText(self.__tr("<b><u>Commandes :</u></b>"))
+        self.textLabel6.setText(self.__tr("Filtre"))
+        self.BNext.setText(self.__tr("Suivant"))
+        QToolTip.add(self.BNext,self.__tr("affiche la prochaine occurence"))
+        self.TWChoix.changeTab(self.Commande,self.__tr("Nouvelle Commande"))
+
+
+    def LBNouvCommandeClicked(self):
+        print "DFormule.LBNouvCommandeClicked(): Not implemented yet"
+
+    def LEFiltreTextChanged(self):
+        print "DFormule.LEFiltreTextChanged(): Not implemented yet"
+
+    def LEfiltreReturnPressed(self):
+        print "DFormule.LEfiltreReturnPressed(): Not implemented yet"
+
+    def BSupPressed(self):
+        print "DFormule.BSupPressed(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DFormule.BOkPressed(): Not implemented yet"
+
+    def BuildTabCommand(self):
+        print "DFormule.BuildTabCommand(): Not implemented yet"
+
+    def BNextPressed(self):
+        print "DFormule.BNextPressed(): Not implemented yet"
+
+    def NomFormuleSaisi(self):
+        print "DFormule.NomFormuleSaisi(): Not implemented yet"
+
+    def argsSaisis(self):
+        print "DFormule.argsSaisis(): Not implemented yet"
+
+    def FormuleSaisie(self):
+        print "DFormule.FormuleSaisie(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DFormule.ViewDoc(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DFormule",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DFormule",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desFormule.ui b/UiQT4/desFormule.ui
new file mode 100644 (file)
index 0000000..37d5e0a
--- /dev/null
@@ -0,0 +1,502 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DFormule</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DFormule</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>529</width>
+            <height>493</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>505</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DMacro</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QLayoutWidget" row="2" column="0">
+            <property name="name">
+                <cstring>layout4</cstring>
+            </property>
+            <hbox>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <widget class="QPushButton">
+                    <property name="name">
+                        <cstring>bSup</cstring>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>0</width>
+                            <height>30</height>
+                        </size>
+                    </property>
+                    <property name="text">
+                        <string>&amp;Supprimer</string>
+                    </property>
+                    <property name="accel">
+                        <string>Alt+S</string>
+                    </property>
+                    <property name="autoDefault">
+                        <bool>true</bool>
+                    </property>
+                    <property name="toolTip" stdset="0">
+                        <string>suppression du mot clef</string>
+                    </property>
+                </widget>
+                <widget class="QPushButton">
+                    <property name="name">
+                        <cstring>bOk</cstring>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>0</width>
+                            <height>30</height>
+                        </size>
+                    </property>
+                    <property name="text">
+                        <string>&amp;Valider</string>
+                    </property>
+                    <property name="accel">
+                        <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+                    </property>
+                    <property name="autoDefault">
+                        <bool>true</bool>
+                    </property>
+                    <property name="default">
+                        <bool>true</bool>
+                    </property>
+                    <property name="toolTip" stdset="0">
+                        <string>validation de la saisie</string>
+                    </property>
+                </widget>
+                <widget class="QPushButton">
+                    <property name="name">
+                        <cstring>bHelp</cstring>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>0</width>
+                            <height>30</height>
+                        </size>
+                    </property>
+                    <property name="text">
+                        <string>&amp;Documentation</string>
+                    </property>
+                    <property name="accel">
+                        <string>Alt+D</string>
+                    </property>
+                    <property name="autoDefault">
+                        <bool>true</bool>
+                    </property>
+                    <property name="toolTip" stdset="0">
+                        <string>affichage documentation aster</string>
+                    </property>
+                </widget>
+            </hbox>
+        </widget>
+        <widget class="QLabel" row="1" column="0">
+            <property name="name">
+                <cstring>Commentaire</cstring>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+        <widget class="QTabWidget" row="0" column="0">
+            <property name="name">
+                <cstring>TWChoix</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Formule</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Définition Formule</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QLabel" row="0" column="0">
+                        <property name="name">
+                            <cstring>textLabel1</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&lt;h3&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;b&gt;Nom de la formule&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;/h3&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="6" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>textLabel1_3</cstring>
+                        </property>
+                        <property name="text">
+                            <string>Retour-Chariot permet de vérifier que l'expression est valide.</string>
+                        </property>
+                    </widget>
+                    <widget class="QLayoutWidget" row="2" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>layout6</cstring>
+                        </property>
+                        <hbox>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <widget class="QLineEdit">
+                                <property name="name">
+                                    <cstring>LENomFormule</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>0</width>
+                                        <height>40</height>
+                                    </size>
+                                </property>
+                            </widget>
+                            <widget class="QLayoutWidget">
+                                <property name="name">
+                                    <cstring>layout4</cstring>
+                                </property>
+                                <hbox>
+                                    <property name="name">
+                                        <cstring>unnamed</cstring>
+                                    </property>
+                                    <widget class="QLabel">
+                                        <property name="name">
+                                            <cstring>textLabel1_6</cstring>
+                                        </property>
+                                        <property name="text">
+                                            <string>&lt;h1&gt;&lt;b&gt;(&lt;/b&gt;&lt;/h1&gt;</string>
+                                        </property>
+                                    </widget>
+                                    <widget class="QLineEdit">
+                                        <property name="name">
+                                            <cstring>LENomsArgs</cstring>
+                                        </property>
+                                        <property name="minimumSize">
+                                            <size>
+                                                <width>230</width>
+                                                <height>40</height>
+                                            </size>
+                                        </property>
+                                    </widget>
+                                    <widget class="QLabel">
+                                        <property name="name">
+                                            <cstring>textLabel1_6_2</cstring>
+                                        </property>
+                                        <property name="text">
+                                            <string>&lt;h1&gt;&lt;b&gt;)&lt;/b&gt;&lt;/h1&gt;</string>
+                                        </property>
+                                    </widget>
+                                </hbox>
+                            </widget>
+                        </hbox>
+                    </widget>
+                    <widget class="QLabel" row="1" column="1">
+                        <property name="name">
+                            <cstring>textLabel2</cstring>
+                        </property>
+                        <property name="text">
+                            <string>variables séparées par des ","
+          par ex. : x,y,z</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="7" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>textLabel1_3_2</cstring>
+                        </property>
+                        <property name="text">
+                            <string>Ce n'est qu'après avoir appuyé sur le bouton Valider que les nouvelles
+valeurs seront effectivement prises en compte</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="3" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>textLabel2_2</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;font size="+4" face="Helvetica"&gt;&lt;b&gt;=&lt;/b&gt;&lt;/font&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="4" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>textLabel1_5</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&lt;h3&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;b&gt;Expression&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;/h3&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLineEdit" row="5" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>LECorpsFormule</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="0" column="1">
+                        <property name="name">
+                            <cstring>textLabel1_2</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;h3&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;b&gt;Arguments&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;/h3&gt;</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Commande</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Nouvelle Commande</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QLabel" row="3" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>textLabel4</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;p align="left"&gt;La commande choisie sera ajoutée APRES la commande courante&lt;/p&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QButtonGroup" row="0" column="3" rowspan="2" colspan="1">
+                        <property name="name">
+                            <cstring>buttonGroup1</cstring>
+                        </property>
+                        <property name="title">
+                            <string>Affichage</string>
+                        </property>
+                        <widget class="QLayoutWidget">
+                            <property name="name">
+                                <cstring>layout1</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>20</y>
+                                    <width>113</width>
+                                    <height>48</height>
+                                </rect>
+                            </property>
+                            <vbox>
+                                <property name="name">
+                                    <cstring>unnamed</cstring>
+                                </property>
+                                <widget class="QRadioButton">
+                                    <property name="name">
+                                        <cstring>RBalpha</cstring>
+                                    </property>
+                                    <property name="text">
+                                        <string>alphabétique</string>
+                                    </property>
+                                    <property name="checked">
+                                        <bool>true</bool>
+                                    </property>
+                                </widget>
+                                <widget class="QRadioButton">
+                                    <property name="name">
+                                        <cstring>RBGroupe</cstring>
+                                    </property>
+                                    <property name="text">
+                                        <string>par groupe</string>
+                                    </property>
+                                </widget>
+                            </vbox>
+                        </widget>
+                    </widget>
+                    <widget class="QListBox" row="2" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>LBNouvCommande</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="0" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>textLabel1_4</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;b&gt;&lt;u&gt;Commandes :&lt;/u&gt;&lt;/b&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="1" column="0">
+                        <property name="name">
+                            <cstring>textLabel6</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>40</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Filtre</string>
+                        </property>
+                    </widget>
+                    <widget class="QLineEdit" row="1" column="1">
+                        <property name="name">
+                            <cstring>LEFiltre</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>160</width>
+                                <height>40</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <widget class="QToolButton" row="1" column="2">
+                        <property name="name">
+                            <cstring>BNext</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>60</width>
+                                <height>40</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Suivant</string>
+                        </property>
+                        <property name="iconSet">
+                            <iconset></iconset>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>affiche la prochaine occurence</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>LBNouvCommande</sender>
+        <signal>doubleClicked(QListBoxItem*)</signal>
+        <receiver>DFormule</receiver>
+        <slot>LBNouvCommandeClicked()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>DFormule</receiver>
+        <slot>LEFiltreTextChanged()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DFormule</receiver>
+        <slot>LEfiltreReturnPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>pressed()</signal>
+        <receiver>DFormule</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DFormule</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>RBalpha</sender>
+        <signal>clicked()</signal>
+        <receiver>DFormule</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>RBGroupe</sender>
+        <signal>clicked()</signal>
+        <receiver>DFormule</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>BNext</sender>
+        <signal>clicked()</signal>
+        <receiver>DFormule</receiver>
+        <slot>BNextPressed()</slot>
+    </connection>
+    <connection>
+        <sender>LENomFormule</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DFormule</receiver>
+        <slot>NomFormuleSaisi()</slot>
+    </connection>
+    <connection>
+        <sender>LENomsArgs</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DFormule</receiver>
+        <slot>argsSaisis()</slot>
+    </connection>
+    <connection>
+        <sender>LECorpsFormule</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DFormule</receiver>
+        <slot>FormuleSaisie()</slot>
+    </connection>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DFormule</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LEFiltre</tabstop>
+    <tabstop>LENomFormule</tabstop>
+    <tabstop>LENomsArgs</tabstop>
+    <tabstop>LECorpsFormule</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>bHelp</tabstop>
+    <tabstop>TWChoix</tabstop>
+    <tabstop>RBalpha</tabstop>
+    <tabstop>RBGroupe</tabstop>
+    <tabstop>LBNouvCommande</tabstop>
+</tabstops>
+<slots>
+    <slot>LBNouvCommandeClicked()</slot>
+    <slot>LEFiltreTextChanged()</slot>
+    <slot>LEfiltreReturnPressed()</slot>
+    <slot>BSupPressed()</slot>
+    <slot>BOkPressed()</slot>
+    <slot>BuildTabCommand()</slot>
+    <slot>BNextPressed()</slot>
+    <slot>NomFormuleSaisi()</slot>
+    <slot>argsSaisis()</slot>
+    <slot>FormuleSaisie()</slot>
+    <slot>ViewDoc()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desInactif.py b/UiQT4/desInactif.py
new file mode 100644 (file)
index 0000000..39e7cce
--- /dev/null
@@ -0,0 +1,75 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desInactif.ui'
+#
+# Created: mar mar 25 10:05:08 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DInactif(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DInactif")
+
+        self.setMinimumSize(QSize(350,0))
+
+        DInactifLayout = QGridLayout(self,1,1,11,6,"DInactifLayout")
+
+        self.textLabel1_3 = QLabel(self,"textLabel1_3")
+
+        DInactifLayout.addWidget(self.textLabel1_3,0,0)
+
+        self.textLabel1 = QLabel(self,"textLabel1")
+
+        DInactifLayout.addWidget(self.textLabel1,1,0)
+
+        layout1 = QHBoxLayout(None,0,6,"layout1")
+        spacer2 = QSpacerItem(171,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
+        layout1.addItem(spacer2)
+
+        self.bSup = QPushButton(self,"bSup")
+        self.bSup.setAutoDefault(1)
+        layout1.addWidget(self.bSup)
+        spacer1 = QSpacerItem(171,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
+        layout1.addItem(spacer1)
+
+        DInactifLayout.addLayout(layout1,2,0)
+
+        self.languageChange()
+
+        self.resize(QSize(482,480).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.bSup,SIGNAL("clicked()"),self.BSupPressed)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DInactif"))
+        self.textLabel1_3.setText(self.__trUtf8("\x3c\x66\x6f\x6e\x74\x20\x73\x69\x7a\x65\x3d\x22\x2b\x32\x22\x3e\x3c\x70\x20\x61\x6c\x69\x67\x6e\x3d\x22\x63\x65\x6e\x74\x65\x72\x22\x3e\x4c\x65\x20\x6e\x6f\x65\x75\x64\x20\x73\xc3\xa9\x6c\x65\x63\x74\x69\x6f\x6e\x6e\xc3\xa9\x20\x6e\x65\x20\x63\x6f\x72\x72\x65\x73\x70\x6f\x6e\x64\x20\x70\x61\x73\x20\xc3\xa0\x20\x75\x6e\x20\x6f\x62\x6a\x65\x74\x20\x61\x63\x74\x69\x66\x2e\x3c\x2f\x70\x3e\x3c\x2f\x66\x6f\x6e\x74\x3e"))
+        self.textLabel1.setText(self.__trUtf8("\x3c\x66\x6f\x6e\x74\x20\x73\x69\x7a\x65\x3d\x22\x2b\x32\x22\x3e\x3c\x70\x20\x61\x6c\x69\x67\x6e\x3d\x22\x63\x65\x6e\x74\x65\x72\x22\x3e\x0a\x53\x65\x75\x6c\x65\x73\x20\x6c\x65\x73\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x73\x20\x70\x6c\x61\x63\xc3\xa9\x65\x73\x20\x65\x6e\x74\x72\x65\x20\x3a\x0a\x0a\x44\x45\x42\x55\x54\x20\x2f\x20\x46\x49\x4e\x0a\x0a\x73\x6f\x6e\x74\x20\x61\x63\x74\x69\x76\x65\x73\x0a\x3c\x2f\x70\x3e\x3c\x2f\x66\x6f\x6e\x74\x3e"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+
+
+    def BSupPressed(self):
+        print "DInactif.BSupPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DInactif.ViewDoc(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DInactif.BOkPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DInactif",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DInactif",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desInactif.ui b/UiQT4/desInactif.ui
new file mode 100644 (file)
index 0000000..1b8f7f3
--- /dev/null
@@ -0,0 +1,127 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DInactif</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DInactif</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>482</width>
+            <height>480</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>350</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DInactif</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QLabel" row="0" column="0">
+            <property name="name">
+                <cstring>textLabel1_3</cstring>
+            </property>
+            <property name="text">
+                <string>&lt;font size="+2"&gt;&lt;p align="center"&gt;Le noeud sélectionné ne correspond pas à un objet actif.&lt;/p&gt;&lt;/font&gt;</string>
+            </property>
+        </widget>
+        <widget class="QLabel" row="1" column="0">
+            <property name="name">
+                <cstring>textLabel1</cstring>
+            </property>
+            <property name="text">
+                <string>&lt;font size="+2"&gt;&lt;p align="center"&gt;
+Seules les commandes placées entre :
+
+DEBUT / FIN
+
+sont actives
+&lt;/p&gt;&lt;/font&gt;</string>
+            </property>
+        </widget>
+        <widget class="QLayoutWidget" row="2" column="0">
+            <property name="name">
+                <cstring>layout1</cstring>
+            </property>
+            <hbox>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <spacer>
+                    <property name="name">
+                        <cstring>spacer2</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>171</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                </spacer>
+                <widget class="QPushButton">
+                    <property name="name">
+                        <cstring>bSup</cstring>
+                    </property>
+                    <property name="text">
+                        <string>&amp;Supprimer</string>
+                    </property>
+                    <property name="accel">
+                        <string>Alt+S</string>
+                    </property>
+                    <property name="autoDefault">
+                        <bool>true</bool>
+                    </property>
+                    <property name="toolTip" stdset="0">
+                        <string>suppression du mot clef</string>
+                    </property>
+                </widget>
+                <spacer>
+                    <property name="name">
+                        <cstring>spacer1</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>171</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                </spacer>
+            </hbox>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>bSup</sender>
+        <signal>clicked()</signal>
+        <receiver>DInactif</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>BSupPressed()</slot>
+    <slot>ViewDoc()</slot>
+    <slot>BOkPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desInclude.py b/UiQT4/desInclude.py
new file mode 100644 (file)
index 0000000..dfe0d62
--- /dev/null
@@ -0,0 +1,240 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desInclude.ui'
+#
+# Created: ven mai 16 13:30:38 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DInc1(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DInc1")
+
+        self.setMinimumSize(QSize(505,0))
+
+        DInc1Layout = QGridLayout(self,1,1,11,6,"DInc1Layout")
+
+        self.bOk = QPushButton(self,"bOk")
+        self.bOk.setMinimumSize(QSize(0,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+
+        DInc1Layout.addWidget(self.bOk,2,1)
+
+        self.bHelp = QPushButton(self,"bHelp")
+        self.bHelp.setMinimumSize(QSize(0,30))
+        self.bHelp.setAutoDefault(1)
+
+        DInc1Layout.addWidget(self.bHelp,2,2)
+
+        self.bSup = QPushButton(self,"bSup")
+        self.bSup.setMinimumSize(QSize(0,30))
+        self.bSup.setAutoDefault(1)
+
+        DInc1Layout.addWidget(self.bSup,2,0)
+
+        self.Commentaire = QLabel(self,"Commentaire")
+
+        DInc1Layout.addMultiCellWidget(self.Commentaire,1,1,0,2)
+
+        self.TWChoix = QTabWidget(self,"TWChoix")
+
+        self.MotClef = QWidget(self.TWChoix,"MotClef")
+        MotClefLayout = QGridLayout(self.MotClef,1,1,11,6,"MotClefLayout")
+
+        self.LBMCPermis = QListBox(self.MotClef,"LBMCPermis")
+        self.LBMCPermis.setMinimumSize(QSize(0,0))
+
+        MotClefLayout.addWidget(self.LBMCPermis,1,0)
+
+        self.textLabel1 = QLabel(self.MotClef,"textLabel1")
+        self.textLabel1.setMinimumSize(QSize(0,0))
+
+        MotClefLayout.addWidget(self.textLabel1,0,0)
+
+        self.LBRegles = QListBox(self.MotClef,"LBRegles")
+
+        MotClefLayout.addWidget(self.LBRegles,1,1)
+
+        self.textLabel1_2 = QLabel(self.MotClef,"textLabel1_2")
+
+        MotClefLayout.addWidget(self.textLabel1_2,0,1)
+        self.TWChoix.insertTab(self.MotClef,QString(""))
+
+        self.Commande = QWidget(self.TWChoix,"Commande")
+        CommandeLayout = QGridLayout(self.Commande,1,1,11,6,"CommandeLayout")
+
+        self.LBNouvCommande = QListBox(self.Commande,"LBNouvCommande")
+
+        CommandeLayout.addMultiCellWidget(self.LBNouvCommande,2,2,0,3)
+
+        self.buttonGroup1 = QButtonGroup(self.Commande,"buttonGroup1")
+
+        self.RBGroupe = QRadioButton(self.buttonGroup1,"RBGroupe")
+        self.RBGroupe.setGeometry(QRect(20,40,101,20))
+
+        self.RBalpha = QRadioButton(self.buttonGroup1,"RBalpha")
+        self.RBalpha.setGeometry(QRect(20,20,120,20))
+        self.RBalpha.setChecked(1)
+
+        CommandeLayout.addMultiCellWidget(self.buttonGroup1,0,1,3,3)
+
+        self.textLabel4 = QLabel(self.Commande,"textLabel4")
+
+        CommandeLayout.addMultiCellWidget(self.textLabel4,3,3,0,3)
+
+        self.textLabel1_4 = QLabel(self.Commande,"textLabel1_4")
+
+        CommandeLayout.addMultiCellWidget(self.textLabel1_4,0,0,0,2)
+
+        self.textLabel6 = QLabel(self.Commande,"textLabel6")
+        self.textLabel6.setMinimumSize(QSize(40,0))
+
+        CommandeLayout.addWidget(self.textLabel6,1,0)
+
+        self.LEFiltre = QLineEdit(self.Commande,"LEFiltre")
+        self.LEFiltre.setMinimumSize(QSize(160,40))
+
+        CommandeLayout.addWidget(self.LEFiltre,1,1)
+
+        self.BNext = QToolButton(self.Commande,"BNext")
+        self.BNext.setMinimumSize(QSize(60,0))
+        self.BNext.setIconSet(QIconSet())
+
+        CommandeLayout.addWidget(self.BNext,1,2)
+        self.TWChoix.insertTab(self.Commande,QString(""))
+
+        self.TabPage = QWidget(self.TWChoix,"TabPage")
+
+        self.textLabel1_3 = QLabel(self.TabPage,"textLabel1_3")
+        self.textLabel1_3.setGeometry(QRect(30,40,440,41))
+
+        self.LENomFichier = QLineEdit(self.TabPage,"LENomFichier")
+        self.LENomFichier.setGeometry(QRect(18,117,450,40))
+        self.LENomFichier.setSizePolicy(QSizePolicy(0,0,0,0,self.LENomFichier.sizePolicy().hasHeightForWidth()))
+        self.LENomFichier.setMinimumSize(QSize(450,40))
+
+        self.BBrowse = QPushButton(self.TabPage,"BBrowse")
+        self.BBrowse.setGeometry(QRect(288,306,161,41))
+        self.BBrowse.setSizePolicy(QSizePolicy(0,0,0,0,self.BBrowse.sizePolicy().hasHeightForWidth()))
+
+        self.BChangeFile = QPushButton(self.TabPage,"BChangeFile")
+        self.BChangeFile.setGeometry(QRect(290,350,161,41))
+        self.BChangeFile.setSizePolicy(QSizePolicy(0,0,0,0,self.BChangeFile.sizePolicy().hasHeightForWidth()))
+        self.TWChoix.insertTab(self.TabPage,QString(""))
+
+        self.TabPage_2 = QWidget(self.TWChoix,"TabPage_2")
+        TabPageLayout = QGridLayout(self.TabPage_2,1,1,11,6,"TabPageLayout")
+
+        self.textLabel1_5 = QLabel(self.TabPage_2,"textLabel1_5")
+
+        TabPageLayout.addWidget(self.textLabel1_5,0,0)
+        self.TWChoix.insertTab(self.TabPage_2,QString(""))
+
+        DInc1Layout.addMultiCellWidget(self.TWChoix,0,0,0,2)
+
+        self.languageChange()
+
+        self.resize(QSize(521,511).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.LBNouvCommande,SIGNAL("doubleClicked(QListBoxItem*)"),self.LBNouvCommandeClicked)
+        self.connect(self.LEFiltre,SIGNAL("textChanged(const QString&)"),self.LEFiltreTextChanged)
+        self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.LEfiltreReturnPressed)
+        self.connect(self.bSup,SIGNAL("pressed()"),self.BSupPressed)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.RBalpha,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.RBGroupe,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.BNext,SIGNAL("clicked()"),self.BNextPressed)
+        self.connect(self.BBrowse,SIGNAL("clicked()"),self.BBrowsePressed)
+        self.connect(self.LENomFichier,SIGNAL("returnPressed()"),self.LENomFichReturnPressed)
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+
+        self.setTabOrder(self.LEFiltre,self.LENomFichier)
+        self.setTabOrder(self.LENomFichier,self.bHelp)
+        self.setTabOrder(self.bHelp,self.bSup)
+        self.setTabOrder(self.bSup,self.bOk)
+        self.setTabOrder(self.bOk,self.TWChoix)
+        self.setTabOrder(self.TWChoix,self.LBMCPermis)
+        self.setTabOrder(self.LBMCPermis,self.LBRegles)
+        self.setTabOrder(self.LBRegles,self.LBNouvCommande)
+        self.setTabOrder(self.LBNouvCommande,self.RBalpha)
+        self.setTabOrder(self.RBalpha,self.BBrowse)
+        self.setTabOrder(self.BBrowse,self.BChangeFile)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DMacro"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.Commentaire.setText(QString.null)
+        self.textLabel1.setText(self.__tr("<h3><p align=\"center\"><u><b>Mots Clefs Permis</b></u></p></h3>"))
+        self.textLabel1_2.setText(self.__trUtf8("\x3c\x68\x33\x3e\x3c\x70\x20\x61\x6c\x69\x67\x6e\x3d\x22\x63\x65\x6e\x74\x65\x72\x22\x3e\x3c\x75\x3e\x3c\x62\x3e\x52\xc3\xa9\x67\x6c\x65\x73\x3c\x2f\x62\x3e\x3c\x2f\x75\x3e\x3c\x2f\x70\x3e\x3c\x2f\x68\x33\x3e"))
+        self.TWChoix.changeTab(self.MotClef,self.__tr("Ajouter Mot-Clef"))
+        self.buttonGroup1.setTitle(self.__tr("Affichage"))
+        self.RBGroupe.setText(self.__tr("par groupe"))
+        self.RBalpha.setText(self.__trUtf8("\x61\x6c\x70\x68\x61\x62\xc3\xa9\x74\x69\x71\x75\x65"))
+        self.textLabel4.setText(self.__trUtf8("\x4c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x68\x6f\x69\x73\x69\x65\x20\x73\x65\x72\x61\x20\x61\x6a\x6f\x75\x74\xc3\xa9\x65\x20\x41\x50\x52\x45\x53\x20\x6c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x6f\x75\x72\x61\x6e\x74\x65"))
+        self.textLabel1_4.setText(self.__tr("<b><u>Commandes :</u></b>"))
+        self.textLabel6.setText(self.__tr("Filtre"))
+        self.BNext.setText(self.__tr("Suivant"))
+        QToolTip.add(self.BNext,self.__tr("affiche la prochaine occurence"))
+        self.TWChoix.changeTab(self.Commande,self.__tr("Nouvelle Commande"))
+        self.textLabel1_3.setText(self.__tr("<font size=\"+1\">La commande INCLUDE requiert un nom de Fichier :</font>"))
+        self.BBrowse.setText(self.__tr("Edit"))
+        self.BChangeFile.setText(self.__tr("Autre Fichier"))
+        self.TWChoix.changeTab(self.TabPage,self.__tr("Fichier Include"))
+        self.textLabel1_5.setText(self.__trUtf8("\x3c\x66\x6f\x6e\x74\x20\x73\x69\x7a\x65\x3d\x22\x2b\x31\x22\x3e\x3c\x70\x20\x61\x6c\x69\x67\x6e\x3d\x22\x63\x65\x6e\x74\x65\x72\x22\x3e\x4c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x49\x4e\x43\x4c\x55\x44\x45\x20\x6e\x27\x61\x20\x70\x61\x73\x20\x64\x65\x20\x66\x69\x63\x68\x69\x65\x72\x20\x61\x73\x73\x6f\x63\x69\xc3\xa9\x2e\x0a\x49\x6c\x20\x66\x61\x75\x74\x20\x64\x27\x61\x62\x6f\x72\x64\x20\x63\x68\x6f\x69\x73\x69\x72\x20\x75\x6e\x20\x6e\x75\x6d\xc3\xa9\x72\x6f\x20\x64\x27\x75\x6e\x69\x74\xc3\xa9\x3c\x2f\x70\x3e\x3c\x2f\x66\x6f\x6e\x74\x3e"))
+        self.TWChoix.changeTab(self.TabPage_2,self.__tr("Fichier Inc"))
+
+
+    def LBNouvCommandeClicked(self):
+        print "DInc1.LBNouvCommandeClicked(): Not implemented yet"
+
+    def LEFiltreTextChanged(self):
+        print "DInc1.LEFiltreTextChanged(): Not implemented yet"
+
+    def LEfiltreReturnPressed(self):
+        print "DInc1.LEfiltreReturnPressed(): Not implemented yet"
+
+    def BSupPressed(self):
+        print "DInc1.BSupPressed(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DInc1.BOkPressed(): Not implemented yet"
+
+    def BuildTabCommand(self):
+        print "DInc1.BuildTabCommand(): Not implemented yet"
+
+    def BNextPressed(self):
+        print "DInc1.BNextPressed(): Not implemented yet"
+
+    def BBrowsePressed(self):
+        print "DInc1.BBrowsePressed(): Not implemented yet"
+
+    def LENomFichReturnPressed(self):
+        print "DInc1.LENomFichReturnPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DInc1.ViewDoc(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DInc1",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DInc1",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desInclude.ui b/UiQT4/desInclude.ui
new file mode 100644 (file)
index 0000000..9edfc3e
--- /dev/null
@@ -0,0 +1,504 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DInc1</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DInc1</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>521</width>
+            <height>511</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>505</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DMacro</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QPushButton" row="2" column="1">
+            <property name="name">
+                <cstring>bOk</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Valider</string>
+            </property>
+            <property name="accel">
+                <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="default">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>validation de la saisie</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="2">
+            <property name="name">
+                <cstring>bHelp</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Documentation</string>
+            </property>
+            <property name="accel">
+                <string>Alt+D</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>affichage documentation aster</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="0">
+            <property name="name">
+                <cstring>bSup</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Supprimer</string>
+            </property>
+            <property name="accel">
+                <string>Alt+S</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>suppression du mot clef</string>
+            </property>
+        </widget>
+        <widget class="QLabel" row="1" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>Commentaire</cstring>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+        <widget class="QTabWidget" row="0" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>TWChoix</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>MotClef</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Ajouter Mot-Clef</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QListBox" row="1" column="0">
+                        <property name="name">
+                            <cstring>LBMCPermis</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="0" column="0">
+                        <property name="name">
+                            <cstring>textLabel1</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&lt;h3&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;b&gt;Mots Clefs Permis&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;/h3&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QListBox" row="1" column="1">
+                        <property name="name">
+                            <cstring>LBRegles</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="0" column="1">
+                        <property name="name">
+                            <cstring>textLabel1_2</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;h3&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;b&gt;Régles&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;/h3&gt;</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Commande</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Nouvelle Commande</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QListBox" row="2" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>LBNouvCommande</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QButtonGroup" row="0" column="3" rowspan="2" colspan="1">
+                        <property name="name">
+                            <cstring>buttonGroup1</cstring>
+                        </property>
+                        <property name="title">
+                            <string>Affichage</string>
+                        </property>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBGroupe</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>40</y>
+                                    <width>101</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>par groupe</string>
+                            </property>
+                        </widget>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBalpha</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>20</y>
+                                    <width>120</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>alphabétique</string>
+                            </property>
+                            <property name="checked">
+                                <bool>true</bool>
+                            </property>
+                        </widget>
+                    </widget>
+                    <widget class="QLabel" row="3" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>textLabel4</cstring>
+                        </property>
+                        <property name="text">
+                            <string>La commande choisie sera ajoutée APRES la commande courante</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="0" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>textLabel1_4</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;b&gt;&lt;u&gt;Commandes :&lt;/u&gt;&lt;/b&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="1" column="0">
+                        <property name="name">
+                            <cstring>textLabel6</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>40</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Filtre</string>
+                        </property>
+                    </widget>
+                    <widget class="QLineEdit" row="1" column="1">
+                        <property name="name">
+                            <cstring>LEFiltre</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>160</width>
+                                <height>40</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <widget class="QToolButton" row="1" column="2">
+                        <property name="name">
+                            <cstring>BNext</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>60</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Suivant</string>
+                        </property>
+                        <property name="iconSet">
+                            <iconset></iconset>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>affiche la prochaine occurence</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>TabPage</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Fichier Include</string>
+                </attribute>
+                <widget class="QLabel">
+                    <property name="name">
+                        <cstring>textLabel1_3</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>30</x>
+                            <y>40</y>
+                            <width>440</width>
+                            <height>41</height>
+                        </rect>
+                    </property>
+                    <property name="text">
+                        <string>&lt;font size="+1"&gt;La commande INCLUDE requiert un nom de Fichier :&lt;/font&gt;</string>
+                    </property>
+                </widget>
+                <widget class="QLineEdit">
+                    <property name="name">
+                        <cstring>LENomFichier</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>18</x>
+                            <y>117</y>
+                            <width>450</width>
+                            <height>40</height>
+                        </rect>
+                    </property>
+                    <property name="sizePolicy">
+                        <sizepolicy>
+                            <hsizetype>0</hsizetype>
+                            <vsizetype>0</vsizetype>
+                            <horstretch>0</horstretch>
+                            <verstretch>0</verstretch>
+                        </sizepolicy>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>450</width>
+                            <height>40</height>
+                        </size>
+                    </property>
+                </widget>
+                <widget class="QPushButton">
+                    <property name="name">
+                        <cstring>BBrowse</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>288</x>
+                            <y>306</y>
+                            <width>161</width>
+                            <height>41</height>
+                        </rect>
+                    </property>
+                    <property name="sizePolicy">
+                        <sizepolicy>
+                            <hsizetype>0</hsizetype>
+                            <vsizetype>0</vsizetype>
+                            <horstretch>0</horstretch>
+                            <verstretch>0</verstretch>
+                        </sizepolicy>
+                    </property>
+                    <property name="text">
+                        <string>Edit</string>
+                    </property>
+                </widget>
+                <widget class="QPushButton">
+                    <property name="name">
+                        <cstring>BChangeFile</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>290</x>
+                            <y>350</y>
+                            <width>161</width>
+                            <height>41</height>
+                        </rect>
+                    </property>
+                    <property name="sizePolicy">
+                        <sizepolicy>
+                            <hsizetype>0</hsizetype>
+                            <vsizetype>0</vsizetype>
+                            <horstretch>0</horstretch>
+                            <verstretch>0</verstretch>
+                        </sizepolicy>
+                    </property>
+                    <property name="text">
+                        <string>Autre Fichier</string>
+                    </property>
+                </widget>
+            </widget>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>TabPage</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Fichier Inc</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QLabel" row="0" column="0">
+                        <property name="name">
+                            <cstring>textLabel1_5</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;font size="+1"&gt;&lt;p align="center"&gt;La commande INCLUDE n'a pas de fichier associé.
+Il faut d'abord choisir un numéro d'unité&lt;/p&gt;&lt;/font&gt;</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>LBNouvCommande</sender>
+        <signal>doubleClicked(QListBoxItem*)</signal>
+        <receiver>DInc1</receiver>
+        <slot>LBNouvCommandeClicked()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>DInc1</receiver>
+        <slot>LEFiltreTextChanged()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DInc1</receiver>
+        <slot>LEfiltreReturnPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>pressed()</signal>
+        <receiver>DInc1</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DInc1</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>RBalpha</sender>
+        <signal>clicked()</signal>
+        <receiver>DInc1</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>RBGroupe</sender>
+        <signal>clicked()</signal>
+        <receiver>DInc1</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>BNext</sender>
+        <signal>clicked()</signal>
+        <receiver>DInc1</receiver>
+        <slot>BNextPressed()</slot>
+    </connection>
+    <connection>
+        <sender>BBrowse</sender>
+        <signal>clicked()</signal>
+        <receiver>DInc1</receiver>
+        <slot>BBrowsePressed()</slot>
+    </connection>
+    <connection>
+        <sender>LENomFichier</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DInc1</receiver>
+        <slot>LENomFichReturnPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DInc1</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LEFiltre</tabstop>
+    <tabstop>LENomFichier</tabstop>
+    <tabstop>bHelp</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>TWChoix</tabstop>
+    <tabstop>LBMCPermis</tabstop>
+    <tabstop>LBRegles</tabstop>
+    <tabstop>LBNouvCommande</tabstop>
+    <tabstop>RBalpha</tabstop>
+    <tabstop>BBrowse</tabstop>
+    <tabstop>BChangeFile</tabstop>
+</tabstops>
+<slots>
+    <slot>LBNouvCommandeClicked()</slot>
+    <slot>LEFiltreTextChanged()</slot>
+    <slot>LEfiltreReturnPressed()</slot>
+    <slot>BSupPressed()</slot>
+    <slot>BOkPressed()</slot>
+    <slot>BuildTabCommand()</slot>
+    <slot>BNextPressed()</slot>
+    <slot>BBrowsePressed()</slot>
+    <slot>LENomFichReturnPressed()</slot>
+    <slot>ViewDoc()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desListeParam.py b/UiQT4/desListeParam.py
new file mode 100644 (file)
index 0000000..d832674
--- /dev/null
@@ -0,0 +1,44 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desListeParam.ui'
+#
+# Created: mar mar 25 10:05:08 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DLisParam(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DLisParam")
+
+
+        DLisParamLayout = QGridLayout(self,1,1,11,6,"DLisParamLayout")
+
+        self.LBParam = QListBox(self,"LBParam")
+
+        DLisParamLayout.addWidget(self.LBParam,0,0)
+
+        self.languageChange()
+
+        self.resize(QSize(413,394).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.LBParam,SIGNAL("clicked(QListBoxItem*)"),self.LBParamItemPressed)
+
+
+    def languageChange(self):
+        self.setCaption(self.__trUtf8("\x53\xc3\xa9\x6c\x65\x63\x74\x69\x6f\x6e\x20\x64\x65\x20\x70\x61\x72\x61\x6d\xc3\xa9\x74\x72\x65\x73"))
+
+
+    def LBParamItemPressed(self):
+        print "DLisParam.LBParamItemPressed(): Not implemented yet"
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DLisParam",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desListeParam.ui b/UiQT4/desListeParam.ui
new file mode 100644 (file)
index 0000000..25f30d8
--- /dev/null
@@ -0,0 +1,41 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DLisParam</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DLisParam</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>413</width>
+            <height>394</height>
+        </rect>
+    </property>
+    <property name="caption">
+        <string>Sélection de paramétres</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QListBox" row="0" column="0">
+            <property name="name">
+                <cstring>LBParam</cstring>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>LBParam</sender>
+        <signal>clicked(QListBoxItem*)</signal>
+        <receiver>DLisParam</receiver>
+        <slot>LBParamItemPressed()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>LBParamItemPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desMCFact.py b/UiQT4/desMCFact.py
new file mode 100644 (file)
index 0000000..50c7de5
--- /dev/null
@@ -0,0 +1,111 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desMCFact.ui'
+#
+# Created: mar mar 25 10:05:08 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DMCFact(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DMCFact")
+
+        self.setMinimumSize(QSize(505,0))
+
+        DMCFactLayout = QGridLayout(self,1,1,11,6,"DMCFactLayout")
+
+        self.TWChoix = QTabWidget(self,"TWChoix")
+
+        self.MotClef = QWidget(self.TWChoix,"MotClef")
+        MotClefLayout = QGridLayout(self.MotClef,1,1,11,6,"MotClefLayout")
+
+        self.textLabel1 = QLabel(self.MotClef,"textLabel1")
+        self.textLabel1.setMinimumSize(QSize(0,0))
+
+        MotClefLayout.addWidget(self.textLabel1,0,0)
+
+        self.LBMCPermis = QListBox(self.MotClef,"LBMCPermis")
+        self.LBMCPermis.setMinimumSize(QSize(0,0))
+
+        MotClefLayout.addWidget(self.LBMCPermis,1,0)
+
+        self.LBRegles = QListBox(self.MotClef,"LBRegles")
+
+        MotClefLayout.addWidget(self.LBRegles,1,1)
+
+        self.textLabel1_2 = QLabel(self.MotClef,"textLabel1_2")
+
+        MotClefLayout.addWidget(self.textLabel1_2,0,1)
+        self.TWChoix.insertTab(self.MotClef,QString(""))
+
+        DMCFactLayout.addMultiCellWidget(self.TWChoix,0,0,0,2)
+
+        self.bSup = QPushButton(self,"bSup")
+        self.bSup.setAutoDefault(1)
+
+        DMCFactLayout.addWidget(self.bSup,2,0)
+
+        self.Commentaire = QLabel(self,"Commentaire")
+
+        DMCFactLayout.addMultiCellWidget(self.Commentaire,1,1,0,2)
+
+        self.bHelp = QPushButton(self,"bHelp")
+        self.bHelp.setAutoDefault(1)
+
+        DMCFactLayout.addWidget(self.bHelp,2,2)
+
+        self.bOk = QPushButton(self,"bOk")
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+
+        DMCFactLayout.addWidget(self.bOk,2,1)
+
+        self.languageChange()
+
+        self.resize(QSize(511,499).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.bSup,SIGNAL("pressed()"),self.BSupPressed)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DMacro"))
+        self.textLabel1.setText(self.__tr("<h3><p align=\"center\"><u><b>Mots Clefs Permis</b></u></p></h3>"))
+        self.textLabel1_2.setText(self.__trUtf8("\x3c\x68\x33\x3e\x3c\x70\x20\x61\x6c\x69\x67\x6e\x3d\x22\x63\x65\x6e\x74\x65\x72\x22\x3e\x3c\x75\x3e\x3c\x62\x3e\x52\xc3\xa9\x67\x6c\x65\x73\x3c\x2f\x62\x3e\x3c\x2f\x75\x3e\x3c\x2f\x70\x3e\x3c\x2f\x68\x33\x3e"))
+        self.TWChoix.changeTab(self.MotClef,self.__tr("Ajouter Mot-Clef"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.Commentaire.setText(QString.null)
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+
+
+    def ViewDoc(self):
+        print "DMCFact.ViewDoc(): Not implemented yet"
+
+    def BSupPressed(self):
+        print "DMCFact.BSupPressed(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DMCFact.BOkPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DMCFact",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DMCFact",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desMCFact.ui b/UiQT4/desMCFact.ui
new file mode 100644 (file)
index 0000000..433df5f
--- /dev/null
@@ -0,0 +1,174 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DMCFact</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DMCFact</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>511</width>
+            <height>499</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>505</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DMacro</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QTabWidget" row="0" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>TWChoix</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>MotClef</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Ajouter Mot-Clef</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QLabel" row="0" column="0">
+                        <property name="name">
+                            <cstring>textLabel1</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&lt;h3&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;b&gt;Mots Clefs Permis&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;/h3&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QListBox" row="1" column="0">
+                        <property name="name">
+                            <cstring>LBMCPermis</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <widget class="QListBox" row="1" column="1">
+                        <property name="name">
+                            <cstring>LBRegles</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="0" column="1">
+                        <property name="name">
+                            <cstring>textLabel1_2</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;h3&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;b&gt;Régles&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;/h3&gt;</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+        <widget class="QPushButton" row="2" column="0">
+            <property name="name">
+                <cstring>bSup</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Supprimer</string>
+            </property>
+            <property name="accel">
+                <string>Alt+S</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>suppression du mot clef</string>
+            </property>
+        </widget>
+        <widget class="QLabel" row="1" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>Commentaire</cstring>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="2">
+            <property name="name">
+                <cstring>bHelp</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Documentation</string>
+            </property>
+            <property name="accel">
+                <string>Alt+D</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>affichage documentation aster</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="1">
+            <property name="name">
+                <cstring>bOk</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Valider</string>
+            </property>
+            <property name="accel">
+                <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="default">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>validation de la saisie</string>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>bSup</sender>
+        <signal>pressed()</signal>
+        <receiver>DMCFact</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DMCFact</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DMCFact</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>ViewDoc()</slot>
+    <slot>BSupPressed()</slot>
+    <slot>BOkPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desMCListAjout.py b/UiQT4/desMCListAjout.py
new file mode 100644 (file)
index 0000000..bb0d598
--- /dev/null
@@ -0,0 +1,121 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desMCListAjout.ui'
+#
+# Created: mar mar 25 10:05:08 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DMCListAjout(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DMCListAjout")
+
+        self.setMinimumSize(QSize(350,0))
+
+        DMCListAjoutLayout = QGridLayout(self,1,1,11,6,"DMCListAjoutLayout")
+
+        self.textLabel1 = QLabel(self,"textLabel1")
+
+        DMCListAjoutLayout.addMultiCellWidget(self.textLabel1,1,1,0,2)
+
+        self.textLabel1_2 = QLabel(self,"textLabel1_2")
+
+        DMCListAjoutLayout.addMultiCellWidget(self.textLabel1_2,2,2,0,2)
+
+        layout9 = QHBoxLayout(None,0,6,"layout9")
+        spacer4 = QSpacerItem(60,21,QSizePolicy.Expanding,QSizePolicy.Minimum)
+        layout9.addItem(spacer4)
+
+        self.bAjout = QPushButton(self,"bAjout")
+        self.bAjout.setAutoDefault(1)
+        self.bAjout.setDefault(1)
+        layout9.addWidget(self.bAjout)
+        spacer2 = QSpacerItem(80,21,QSizePolicy.Expanding,QSizePolicy.Minimum)
+        layout9.addItem(spacer2)
+
+        DMCListAjoutLayout.addMultiCellLayout(layout9,8,8,0,2)
+        spacer1 = QSpacerItem(21,40,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        DMCListAjoutLayout.addItem(spacer1,9,1)
+
+        self.textLabel1_2_2 = QLabel(self,"textLabel1_2_2")
+
+        DMCListAjoutLayout.addMultiCellWidget(self.textLabel1_2_2,6,6,0,2)
+        spacer5 = QSpacerItem(20,20,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        DMCListAjoutLayout.addItem(spacer5,7,1)
+
+        self.MCFacteur = QLabel(self,"MCFacteur")
+
+        DMCListAjoutLayout.addMultiCellWidget(self.MCFacteur,4,4,0,2)
+        spacer6 = QSpacerItem(21,31,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        DMCListAjoutLayout.addItem(spacer6,5,1)
+        spacer7 = QSpacerItem(21,51,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        DMCListAjoutLayout.addItem(spacer7,3,1)
+        spacer8 = QSpacerItem(41,51,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        DMCListAjoutLayout.addItem(spacer8,0,1)
+
+        self.bSup = QPushButton(self,"bSup")
+        self.bSup.setAutoDefault(1)
+
+        DMCListAjoutLayout.addWidget(self.bSup,10,0)
+
+        self.bOk = QPushButton(self,"bOk")
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+
+        DMCListAjoutLayout.addWidget(self.bOk,10,1)
+
+        self.bHelp = QPushButton(self,"bHelp")
+        self.bHelp.setAutoDefault(1)
+
+        DMCListAjoutLayout.addWidget(self.bHelp,10,2)
+
+        self.languageChange()
+
+        self.resize(QSize(459,472).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BAjoutClicked)
+        self.connect(self.bAjout,SIGNAL("clicked()"),self.BAjoutClicked)
+        self.connect(self.bSup,SIGNAL("clicked()"),self.BSupPressed)
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("Form1"))
+        self.textLabel1.setText(self.__tr("<p align=\"center\"><font size=\"+1\">Pour ajouter une autre occurrence</font></p>"))
+        self.textLabel1_2.setText(self.__tr("<p align=\"center\"><font size=\"+1\">du mot clef-facteur</font> </p>"))
+        self.bAjout.setText(self.__tr("&Ajouter"))
+        self.bAjout.setAccel(self.__tr("Alt+A"))
+        QToolTip.add(self.bAjout,self.__tr("validation de la saisie"))
+        self.textLabel1_2_2.setText(self.__tr("<p align=\"center\"><font size=\"+1\">cliquez ci-dessous</font> </p>"))
+        self.MCFacteur.setText(self.__tr("<p align=\"center\">AFFE</p>"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+
+
+    def BAjoutClicked(self):
+        print "DMCListAjout.BAjoutClicked(): Not implemented yet"
+
+    def BSupPressed(self):
+        print "DMCListAjout.BSupPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DMCListAjout.ViewDoc(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DMCListAjout",s,c)
diff --git a/UiQT4/desMCListAjout.ui b/UiQT4/desMCListAjout.ui
new file mode 100644 (file)
index 0000000..ff58dbc
--- /dev/null
@@ -0,0 +1,297 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DMCListAjout</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DMCListAjout</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>459</width>
+            <height>472</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>350</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>Form1</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QLabel" row="1" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>textLabel1</cstring>
+            </property>
+            <property name="text">
+                <string>&lt;p align="center"&gt;&lt;font size="+1"&gt;Pour ajouter une autre occurrence&lt;/font&gt;&lt;/p&gt;</string>
+            </property>
+        </widget>
+        <widget class="QLabel" row="2" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>textLabel1_2</cstring>
+            </property>
+            <property name="text">
+                <string>&lt;p align="center"&gt;&lt;font size="+1"&gt;du mot clef-facteur&lt;/font&gt; &lt;/p&gt;</string>
+            </property>
+        </widget>
+        <widget class="QLayoutWidget" row="8" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>layout9</cstring>
+            </property>
+            <hbox>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <spacer>
+                    <property name="name">
+                        <cstring>spacer4</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>60</width>
+                            <height>21</height>
+                        </size>
+                    </property>
+                </spacer>
+                <widget class="QPushButton">
+                    <property name="name">
+                        <cstring>bAjout</cstring>
+                    </property>
+                    <property name="text">
+                        <string>&amp;Ajouter</string>
+                    </property>
+                    <property name="accel">
+                        <string>Alt+A</string>
+                    </property>
+                    <property name="autoDefault">
+                        <bool>true</bool>
+                    </property>
+                    <property name="default">
+                        <bool>true</bool>
+                    </property>
+                    <property name="toolTip" stdset="0">
+                        <string>validation de la saisie</string>
+                    </property>
+                </widget>
+                <spacer>
+                    <property name="name">
+                        <cstring>spacer2</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>80</width>
+                            <height>21</height>
+                        </size>
+                    </property>
+                </spacer>
+            </hbox>
+        </widget>
+        <spacer row="9" column="1">
+            <property name="name">
+                <cstring>spacer1</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Vertical</enum>
+            </property>
+            <property name="sizeType">
+                <enum>Expanding</enum>
+            </property>
+            <property name="sizeHint">
+                <size>
+                    <width>21</width>
+                    <height>40</height>
+                </size>
+            </property>
+        </spacer>
+        <widget class="QLabel" row="6" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>textLabel1_2_2</cstring>
+            </property>
+            <property name="text">
+                <string>&lt;p align="center"&gt;&lt;font size="+1"&gt;cliquez ci-dessous&lt;/font&gt; &lt;/p&gt;</string>
+            </property>
+        </widget>
+        <spacer row="7" column="1">
+            <property name="name">
+                <cstring>spacer5</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Vertical</enum>
+            </property>
+            <property name="sizeType">
+                <enum>Expanding</enum>
+            </property>
+            <property name="sizeHint">
+                <size>
+                    <width>20</width>
+                    <height>20</height>
+                </size>
+            </property>
+        </spacer>
+        <widget class="QLabel" row="4" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>MCFacteur</cstring>
+            </property>
+            <property name="text">
+                <string>&lt;p align="center"&gt;AFFE&lt;/p&gt;</string>
+            </property>
+        </widget>
+        <spacer row="5" column="1">
+            <property name="name">
+                <cstring>spacer6</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Vertical</enum>
+            </property>
+            <property name="sizeType">
+                <enum>Expanding</enum>
+            </property>
+            <property name="sizeHint">
+                <size>
+                    <width>21</width>
+                    <height>31</height>
+                </size>
+            </property>
+        </spacer>
+        <spacer row="3" column="1">
+            <property name="name">
+                <cstring>spacer7</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Vertical</enum>
+            </property>
+            <property name="sizeType">
+                <enum>Expanding</enum>
+            </property>
+            <property name="sizeHint">
+                <size>
+                    <width>21</width>
+                    <height>51</height>
+                </size>
+            </property>
+        </spacer>
+        <spacer row="0" column="1">
+            <property name="name">
+                <cstring>spacer8</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Vertical</enum>
+            </property>
+            <property name="sizeType">
+                <enum>Expanding</enum>
+            </property>
+            <property name="sizeHint">
+                <size>
+                    <width>41</width>
+                    <height>51</height>
+                </size>
+            </property>
+        </spacer>
+        <widget class="QPushButton" row="10" column="0">
+            <property name="name">
+                <cstring>bSup</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Supprimer</string>
+            </property>
+            <property name="accel">
+                <string>Alt+S</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>suppression du mot clef</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="10" column="1">
+            <property name="name">
+                <cstring>bOk</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Valider</string>
+            </property>
+            <property name="accel">
+                <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="default">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>validation de la saisie</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="10" column="2">
+            <property name="name">
+                <cstring>bHelp</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Documentation</string>
+            </property>
+            <property name="accel">
+                <string>Alt+D</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>affichage documentation aster</string>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DMCListAjout</receiver>
+        <slot>BAjoutClicked()</slot>
+    </connection>
+    <connection>
+        <sender>bAjout</sender>
+        <signal>clicked()</signal>
+        <receiver>DMCListAjout</receiver>
+        <slot>BAjoutClicked()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>clicked()</signal>
+        <receiver>DMCListAjout</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DMCListAjout</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>BAjoutClicked()</slot>
+    <slot>BSupPressed()</slot>
+    <slot>ViewDoc()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desMacro.py b/UiQT4/desMacro.py
new file mode 100644 (file)
index 0000000..4850e07
--- /dev/null
@@ -0,0 +1,228 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desMacro.ui'
+#
+# Created: Mon Jun 2 15:35:12 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.16
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DMacro(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DMacro")
+
+        self.setMinimumSize(QSize(505,0))
+
+        DMacroLayout = QGridLayout(self,1,1,11,6,"DMacroLayout")
+
+        self.Commentaire = QLabel(self,"Commentaire")
+
+        DMacroLayout.addMultiCellWidget(self.Commentaire,1,1,0,2)
+
+        self.TWChoix = QTabWidget(self,"TWChoix")
+
+        self.MotClef = QWidget(self.TWChoix,"MotClef")
+        MotClefLayout = QGridLayout(self.MotClef,1,1,11,6,"MotClefLayout")
+
+        self.LBMCPermis = QListBox(self.MotClef,"LBMCPermis")
+        self.LBMCPermis.setMinimumSize(QSize(0,0))
+
+        MotClefLayout.addWidget(self.LBMCPermis,1,0)
+
+        self.LBRegles = QListBox(self.MotClef,"LBRegles")
+
+        MotClefLayout.addWidget(self.LBRegles,1,1)
+
+        self.textLabel1_2 = QLabel(self.MotClef,"textLabel1_2")
+
+        MotClefLayout.addWidget(self.textLabel1_2,0,1)
+
+        self.textLabel1 = QLabel(self.MotClef,"textLabel1")
+        self.textLabel1.setMinimumSize(QSize(0,0))
+
+        MotClefLayout.addWidget(self.textLabel1,0,0)
+        self.TWChoix.insertTab(self.MotClef,QString.fromLatin1(""))
+
+        self.Commande = QWidget(self.TWChoix,"Commande")
+        CommandeLayout = QGridLayout(self.Commande,1,1,11,6,"CommandeLayout")
+
+        self.LBNouvCommande = QListBox(self.Commande,"LBNouvCommande")
+
+        CommandeLayout.addMultiCellWidget(self.LBNouvCommande,2,2,0,3)
+
+        self.buttonGroup1 = QButtonGroup(self.Commande,"buttonGroup1")
+
+        self.RBalpha = QRadioButton(self.buttonGroup1,"RBalpha")
+        self.RBalpha.setGeometry(QRect(20,20,120,20))
+        self.RBalpha.setChecked(1)
+
+        self.RBGroupe = QRadioButton(self.buttonGroup1,"RBGroupe")
+        self.RBGroupe.setGeometry(QRect(20,40,120,20))
+
+        CommandeLayout.addMultiCellWidget(self.buttonGroup1,0,1,3,3)
+
+        self.textLabel1_4 = QLabel(self.Commande,"textLabel1_4")
+
+        CommandeLayout.addMultiCellWidget(self.textLabel1_4,0,0,0,1)
+
+        self.BNext = QToolButton(self.Commande,"BNext")
+        self.BNext.setMinimumSize(QSize(60,0))
+        self.BNext.setIconSet(QIconSet())
+
+        CommandeLayout.addWidget(self.BNext,1,2)
+
+        self.textLabel6 = QLabel(self.Commande,"textLabel6")
+        self.textLabel6.setMinimumSize(QSize(40,0))
+
+        CommandeLayout.addWidget(self.textLabel6,1,0)
+
+        self.textLabel4 = QLabel(self.Commande,"textLabel4")
+
+        CommandeLayout.addMultiCellWidget(self.textLabel4,3,3,0,3)
+
+        self.LEFiltre = QLineEdit(self.Commande,"LEFiltre")
+        self.LEFiltre.setMinimumSize(QSize(160,30))
+
+        CommandeLayout.addWidget(self.LEFiltre,1,1)
+        self.TWChoix.insertTab(self.Commande,QString.fromLatin1(""))
+
+        self.TabPage = QWidget(self.TWChoix,"TabPage")
+
+        self.groupBox1_2 = QGroupBox(self.TabPage,"groupBox1_2")
+        self.groupBox1_2.setGeometry(QRect(0,0,520,380))
+
+        self.textLabel3_2 = QLabel(self.groupBox1_2,"textLabel3_2")
+        self.textLabel3_2.setGeometry(QRect(10,230,320,31))
+
+        self.typeConcept = QLabel(self.groupBox1_2,"typeConcept")
+        self.typeConcept.setGeometry(QRect(360,230,130,31))
+
+        self.textLabel1_3_2_3 = QLabel(self.groupBox1_2,"textLabel1_3_2_3")
+        self.textLabel1_3_2_3.setGeometry(QRect(20,200,160,31))
+
+        self.textLabel1_3_3 = QLabel(self.groupBox1_2,"textLabel1_3_3")
+        self.textLabel1_3_3.setGeometry(QRect(20,50,150,31))
+
+        self.LENomConcept = QLineEdit(self.groupBox1_2,"LENomConcept")
+        self.LENomConcept.setGeometry(QRect(20,80,440,30))
+        self.TWChoix.insertTab(self.TabPage,QString.fromLatin1(""))
+
+        DMacroLayout.addMultiCellWidget(self.TWChoix,0,0,0,2)
+
+        self.bSup = QPushButton(self,"bSup")
+        self.bSup.setMinimumSize(QSize(0,30))
+        self.bSup.setAutoDefault(1)
+
+        DMacroLayout.addWidget(self.bSup,2,0)
+
+        self.bHelp = QPushButton(self,"bHelp")
+        self.bHelp.setMinimumSize(QSize(0,30))
+        self.bHelp.setAutoDefault(1)
+
+        DMacroLayout.addWidget(self.bHelp,2,2)
+
+        self.bOk = QPushButton(self,"bOk")
+        self.bOk.setMinimumSize(QSize(0,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+
+        DMacroLayout.addWidget(self.bOk,2,1)
+
+        self.languageChange()
+
+        self.resize(QSize(521,499).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.LBNouvCommande,SIGNAL("doubleClicked(QListBoxItem*)"),self.LBNouvCommandeClicked)
+        self.connect(self.LEFiltre,SIGNAL("textChanged(const QString&)"),self.LEFiltreTextChanged)
+        self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.LEfiltreReturnPressed)
+        self.connect(self.bSup,SIGNAL("pressed()"),self.BSupPressed)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.RBalpha,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.RBGroupe,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.BNext,SIGNAL("clicked()"),self.BNextPressed)
+        self.connect(self.LENomConcept,SIGNAL("returnPressed()"),self.LENomConceptReturnPressed)
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+
+        self.setTabOrder(self.LEFiltre,self.LENomConcept)
+        self.setTabOrder(self.LENomConcept,self.TWChoix)
+        self.setTabOrder(self.TWChoix,self.LBMCPermis)
+        self.setTabOrder(self.LBMCPermis,self.LBRegles)
+        self.setTabOrder(self.LBRegles,self.LBNouvCommande)
+        self.setTabOrder(self.LBNouvCommande,self.RBalpha)
+        self.setTabOrder(self.RBalpha,self.bSup)
+        self.setTabOrder(self.bSup,self.bHelp)
+        self.setTabOrder(self.bHelp,self.bOk)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DMacro"))
+        self.Commentaire.setText(QString.null)
+        self.textLabel1_2.setText(self.__trUtf8("\x3c\x68\x33\x3e\x3c\x70\x20\x61\x6c\x69\x67\x6e\x3d\x22\x63\x65\x6e\x74\x65\x72\x22\x3e\x3c\x75\x3e\x3c\x62\x3e\x52\xc3\xa9\x67\x6c\x65\x73\x3c\x2f\x62\x3e\x3c\x2f\x75\x3e\x3c\x2f\x70\x3e\x3c\x2f\x68\x33\x3e"))
+        self.textLabel1.setText(self.__tr("<h3><p align=\"center\"><u><b>Mots Clefs Permis</b></u></p></h3>"))
+        self.TWChoix.changeTab(self.MotClef,self.__tr("Ajouter Mot-Clef"))
+        self.buttonGroup1.setTitle(self.__tr("Affichage"))
+        self.RBalpha.setText(self.__trUtf8("\x61\x6c\x70\x68\x61\x62\xc3\xa9\x74\x69\x71\x75\x65"))
+        self.RBGroupe.setText(self.__tr("par groupe"))
+        self.textLabel1_4.setText(self.__tr("<b><u>Commandes :</u></b>"))
+        self.BNext.setText(self.__tr("Suivant"))
+        QToolTip.add(self.BNext,self.__tr("affiche la prochaine occurence"))
+        self.textLabel6.setText(self.__tr("Filtre"))
+        self.textLabel4.setText(self.__trUtf8("\x4c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x68\x6f\x69\x73\x69\x65\x20\x73\x65\x72\x61\x20\x61\x6a\x6f\x75\x74\xc3\xa9\x65\x20\x41\x50\x52\x45\x53\x20\x6c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x6f\x75\x72\x61\x6e\x74\x65"))
+        self.TWChoix.changeTab(self.Commande,self.__tr("Nouvelle Commande"))
+        self.groupBox1_2.setTitle(self.__tr("Concept"))
+        self.textLabel3_2.setText(self.__trUtf8("\x4c\x27\x6f\x70\xc3\xa9\x72\x61\x74\x65\x75\x72\x20\x63\x6f\x75\x72\x61\x6e\x74\x20\x72\x65\x74\x6f\x75\x72\x6e\x65\x20\x75\x6e\x20\x63\x6f\x6e\x63\x65\x70\x74\x20\x64\x65\x20\x74\x79\x70\x65\x20\x3a"))
+        self.typeConcept.setText(self.__tr("TypeDuConcept"))
+        self.textLabel1_3_2_3.setText(self.__tr("<u>Type du concept :</u>"))
+        self.textLabel1_3_3.setText(self.__tr("<u>Nom du concept :</u>"))
+        self.TWChoix.changeTab(self.TabPage,self.__tr("Nommer Concept"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(QKeySequence(self.__tr("Alt+S")))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(QKeySequence(self.__tr("Alt+D")))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(QKeySequence(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A")))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+
+
+    def LBNouvCommandeClicked(self):
+        print "DMacro.LBNouvCommandeClicked(): Not implemented yet"
+
+    def LEFiltreTextChanged(self):
+        print "DMacro.LEFiltreTextChanged(): Not implemented yet"
+
+    def LEfiltreReturnPressed(self):
+        print "DMacro.LEfiltreReturnPressed(): Not implemented yet"
+
+    def BSupPressed(self):
+        print "DMacro.BSupPressed(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DMacro.BOkPressed(): Not implemented yet"
+
+    def BuildTabCommand(self):
+        print "DMacro.BuildTabCommand(): Not implemented yet"
+
+    def BNextPressed(self):
+        print "DMacro.BNextPressed(): Not implemented yet"
+
+    def LENomConceptReturnPressed(self):
+        print "DMacro.LENomConceptReturnPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DMacro.ViewDoc(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DMacro",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DMacro",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desMacro.ui b/UiQT4/desMacro.ui
new file mode 100644 (file)
index 0000000..d451544
--- /dev/null
@@ -0,0 +1,475 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DMacro</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DMacro</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>521</width>
+            <height>499</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>505</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DMacro</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QLabel" row="1" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>Commentaire</cstring>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+        <widget class="QTabWidget" row="0" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>TWChoix</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>MotClef</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Ajouter Mot-Clef</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QListBox" row="1" column="0">
+                        <property name="name">
+                            <cstring>LBMCPermis</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <widget class="QListBox" row="1" column="1">
+                        <property name="name">
+                            <cstring>LBRegles</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="0" column="1">
+                        <property name="name">
+                            <cstring>textLabel1_2</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;h3&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;b&gt;Régles&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;/h3&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="0" column="0">
+                        <property name="name">
+                            <cstring>textLabel1</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&lt;h3&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;b&gt;Mots Clefs Permis&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;/h3&gt;</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Commande</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Nouvelle Commande</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QListBox" row="2" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>LBNouvCommande</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QButtonGroup" row="0" column="3" rowspan="2" colspan="1">
+                        <property name="name">
+                            <cstring>buttonGroup1</cstring>
+                        </property>
+                        <property name="title">
+                            <string>Affichage</string>
+                        </property>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBalpha</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>20</y>
+                                    <width>120</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>alphabétique</string>
+                            </property>
+                            <property name="checked">
+                                <bool>true</bool>
+                            </property>
+                        </widget>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBGroupe</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>40</y>
+                                    <width>120</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>par groupe</string>
+                            </property>
+                        </widget>
+                    </widget>
+                    <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>textLabel1_4</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;b&gt;&lt;u&gt;Commandes :&lt;/u&gt;&lt;/b&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QToolButton" row="1" column="2">
+                        <property name="name">
+                            <cstring>BNext</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>60</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Suivant</string>
+                        </property>
+                        <property name="iconSet">
+                            <iconset></iconset>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>affiche la prochaine occurence</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="1" column="0">
+                        <property name="name">
+                            <cstring>textLabel6</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>40</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Filtre</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="3" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>textLabel4</cstring>
+                        </property>
+                        <property name="text">
+                            <string>La commande choisie sera ajoutée APRES la commande courante</string>
+                        </property>
+                    </widget>
+                    <widget class="QLineEdit" row="1" column="1">
+                        <property name="name">
+                            <cstring>LEFiltre</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>160</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>TabPage</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Nommer Concept</string>
+                </attribute>
+                <widget class="QGroupBox">
+                    <property name="name">
+                        <cstring>groupBox1_2</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>0</x>
+                            <y>0</y>
+                            <width>520</width>
+                            <height>380</height>
+                        </rect>
+                    </property>
+                    <property name="title">
+                        <string>Concept</string>
+                    </property>
+                    <widget class="QLabel">
+                        <property name="name">
+                            <cstring>textLabel3_2</cstring>
+                        </property>
+                        <property name="geometry">
+                            <rect>
+                                <x>10</x>
+                                <y>230</y>
+                                <width>320</width>
+                                <height>31</height>
+                            </rect>
+                        </property>
+                        <property name="text">
+                            <string>L'opérateur courant retourne un concept de type :</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel">
+                        <property name="name">
+                            <cstring>typeConcept</cstring>
+                        </property>
+                        <property name="geometry">
+                            <rect>
+                                <x>360</x>
+                                <y>230</y>
+                                <width>130</width>
+                                <height>31</height>
+                            </rect>
+                        </property>
+                        <property name="text">
+                            <string>TypeDuConcept</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel">
+                        <property name="name">
+                            <cstring>textLabel1_3_2_3</cstring>
+                        </property>
+                        <property name="geometry">
+                            <rect>
+                                <x>20</x>
+                                <y>200</y>
+                                <width>160</width>
+                                <height>31</height>
+                            </rect>
+                        </property>
+                        <property name="text">
+                            <string>&lt;u&gt;Type du concept :&lt;/u&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel">
+                        <property name="name">
+                            <cstring>textLabel1_3_3</cstring>
+                        </property>
+                        <property name="geometry">
+                            <rect>
+                                <x>20</x>
+                                <y>50</y>
+                                <width>150</width>
+                                <height>31</height>
+                            </rect>
+                        </property>
+                        <property name="text">
+                            <string>&lt;u&gt;Nom du concept :&lt;/u&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLineEdit">
+                        <property name="name">
+                            <cstring>LENomConcept</cstring>
+                        </property>
+                        <property name="geometry">
+                            <rect>
+                                <x>20</x>
+                                <y>80</y>
+                                <width>440</width>
+                                <height>30</height>
+                            </rect>
+                        </property>
+                    </widget>
+                </widget>
+            </widget>
+        </widget>
+        <widget class="QPushButton" row="2" column="0">
+            <property name="name">
+                <cstring>bSup</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Supprimer</string>
+            </property>
+            <property name="accel">
+                <string>Alt+S</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>suppression du mot clef</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="2">
+            <property name="name">
+                <cstring>bHelp</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Documentation</string>
+            </property>
+            <property name="accel">
+                <string>Alt+D</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>affichage documentation aster</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="1">
+            <property name="name">
+                <cstring>bOk</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Valider</string>
+            </property>
+            <property name="accel">
+                <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="default">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>validation de la saisie</string>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>LBNouvCommande</sender>
+        <signal>doubleClicked(QListBoxItem*)</signal>
+        <receiver>DMacro</receiver>
+        <slot>LBNouvCommandeClicked()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>DMacro</receiver>
+        <slot>LEFiltreTextChanged()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DMacro</receiver>
+        <slot>LEfiltreReturnPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>pressed()</signal>
+        <receiver>DMacro</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DMacro</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>RBalpha</sender>
+        <signal>clicked()</signal>
+        <receiver>DMacro</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>RBGroupe</sender>
+        <signal>clicked()</signal>
+        <receiver>DMacro</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>BNext</sender>
+        <signal>clicked()</signal>
+        <receiver>DMacro</receiver>
+        <slot>BNextPressed()</slot>
+    </connection>
+    <connection>
+        <sender>LENomConcept</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DMacro</receiver>
+        <slot>LENomConceptReturnPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DMacro</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LEFiltre</tabstop>
+    <tabstop>LENomConcept</tabstop>
+    <tabstop>TWChoix</tabstop>
+    <tabstop>LBMCPermis</tabstop>
+    <tabstop>LBRegles</tabstop>
+    <tabstop>LBNouvCommande</tabstop>
+    <tabstop>RBalpha</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bHelp</tabstop>
+    <tabstop>bOk</tabstop>
+</tabstops>
+<slots>
+    <slot>LBNouvCommandeClicked()</slot>
+    <slot>LEFiltreTextChanged()</slot>
+    <slot>LEfiltreReturnPressed()</slot>
+    <slot>BSupPressed()</slot>
+    <slot>BOkPressed()</slot>
+    <slot>BuildTabCommand()</slot>
+    <slot>BNextPressed()</slot>
+    <slot>LENomConceptReturnPressed()</slot>
+    <slot>ViewDoc()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desParam.py b/UiQT4/desParam.py
new file mode 100644 (file)
index 0000000..bd88658
--- /dev/null
@@ -0,0 +1,209 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desParam.ui'
+#
+# Created: ven mai 16 13:30:38 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DParam(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DParam")
+
+        self.setMinimumSize(QSize(505,0))
+
+        DParamLayout = QGridLayout(self,1,1,11,6,"DParamLayout")
+
+        self.Commentaire = QLabel(self,"Commentaire")
+        self.Commentaire.setFrameShape(QLabel.NoFrame)
+        self.Commentaire.setFrameShadow(QLabel.Plain)
+
+        DParamLayout.addMultiCellWidget(self.Commentaire,1,1,0,2)
+
+        self.TWChoix = QTabWidget(self,"TWChoix")
+
+        self.Valeur_Parametre = QWidget(self.TWChoix,"Valeur_Parametre")
+
+        self.textLabel2_2_2 = QLabel(self.Valeur_Parametre,"textLabel2_2_2")
+        self.textLabel2_2_2.setGeometry(QRect(80,11,231,89))
+
+        self.Commentaire_2 = QLabel(self.Valeur_Parametre,"Commentaire_2")
+        self.Commentaire_2.setGeometry(QRect(11,275,459,89))
+
+        self.lineEditNom = QLineEdit(self.Valeur_Parametre,"lineEditNom")
+        self.lineEditNom.setGeometry(QRect(80,106,231,31))
+        self.lineEditNom.setMinimumSize(QSize(231,31))
+
+        self.textLabel2_2 = QLabel(self.Valeur_Parametre,"textLabel2_2")
+        self.textLabel2_2.setGeometry(QRect(11,106,63,31))
+
+        self.textLabel2 = QLabel(self.Valeur_Parametre,"textLabel2")
+        self.textLabel2.setGeometry(QRect(11,143,63,31))
+
+        self.Commentaire2 = QLabel(self.Valeur_Parametre,"Commentaire2")
+        self.Commentaire2.setGeometry(QRect(11,180,459,89))
+
+        self.lineEditVal = QLineEdit(self.Valeur_Parametre,"lineEditVal")
+        self.lineEditVal.setGeometry(QRect(80,143,231,31))
+        self.lineEditVal.setMinimumSize(QSize(231,31))
+        self.TWChoix.insertTab(self.Valeur_Parametre,QString(""))
+
+        self.Commande = QWidget(self.TWChoix,"Commande")
+        CommandeLayout = QGridLayout(self.Commande,1,1,11,6,"CommandeLayout")
+
+        self.textLabel6 = QLabel(self.Commande,"textLabel6")
+        self.textLabel6.setMinimumSize(QSize(40,0))
+
+        CommandeLayout.addWidget(self.textLabel6,1,0)
+
+        self.LBNouvCommande = QListBox(self.Commande,"LBNouvCommande")
+
+        CommandeLayout.addMultiCellWidget(self.LBNouvCommande,2,2,0,3)
+
+        self.buttonGroup1 = QButtonGroup(self.Commande,"buttonGroup1")
+
+        self.RBGroupe = QRadioButton(self.buttonGroup1,"RBGroupe")
+        self.RBGroupe.setGeometry(QRect(20,40,101,20))
+
+        self.RBalpha = QRadioButton(self.buttonGroup1,"RBalpha")
+        self.RBalpha.setGeometry(QRect(20,20,120,20))
+        self.RBalpha.setChecked(1)
+
+        CommandeLayout.addMultiCellWidget(self.buttonGroup1,0,1,3,3)
+
+        self.textLabel1_4 = QLabel(self.Commande,"textLabel1_4")
+
+        CommandeLayout.addMultiCellWidget(self.textLabel1_4,0,0,0,1)
+
+        self.textLabel4 = QLabel(self.Commande,"textLabel4")
+
+        CommandeLayout.addMultiCellWidget(self.textLabel4,3,3,0,3)
+
+        self.BNext = QToolButton(self.Commande,"BNext")
+        self.BNext.setMinimumSize(QSize(60,0))
+        self.BNext.setIconSet(QIconSet())
+
+        CommandeLayout.addWidget(self.BNext,1,2)
+
+        self.LEFiltre = QLineEdit(self.Commande,"LEFiltre")
+        self.LEFiltre.setMinimumSize(QSize(160,30))
+
+        CommandeLayout.addWidget(self.LEFiltre,1,1)
+        self.TWChoix.insertTab(self.Commande,QString(""))
+
+        DParamLayout.addMultiCellWidget(self.TWChoix,0,0,0,2)
+
+        self.bOk = QPushButton(self,"bOk")
+        self.bOk.setMinimumSize(QSize(0,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+
+        DParamLayout.addWidget(self.bOk,2,1)
+
+        self.bSup = QPushButton(self,"bSup")
+        self.bSup.setMinimumSize(QSize(0,30))
+        self.bSup.setAutoDefault(1)
+
+        DParamLayout.addWidget(self.bSup,2,0)
+
+        self.bHelp = QPushButton(self,"bHelp")
+        self.bHelp.setMinimumSize(QSize(0,30))
+        self.bHelp.setAutoDefault(1)
+
+        DParamLayout.addWidget(self.bHelp,2,2)
+
+        self.languageChange()
+
+        self.resize(QSize(505,483).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.LBNouvCommande,SIGNAL("doubleClicked(QListBoxItem*)"),self.LBNouvCommandeClicked)
+        self.connect(self.LEFiltre,SIGNAL("textChanged(const QString&)"),self.LEFiltreTextChanged)
+        self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.LEfiltreReturnPressed)
+        self.connect(self.bSup,SIGNAL("pressed()"),self.BSupPressed)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.RBGroupe,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.RBalpha,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+        self.connect(self.BNext,SIGNAL("pressed()"),self.BNextPressed)
+        self.connect(self.lineEditVal,SIGNAL("returnPressed()"),self.BOkPressed)
+
+        self.setTabOrder(self.LEFiltre,self.TWChoix)
+        self.setTabOrder(self.TWChoix,self.lineEditNom)
+        self.setTabOrder(self.lineEditNom,self.lineEditVal)
+        self.setTabOrder(self.lineEditVal,self.LBNouvCommande)
+        self.setTabOrder(self.LBNouvCommande,self.RBalpha)
+        self.setTabOrder(self.RBalpha,self.bOk)
+        self.setTabOrder(self.bOk,self.bSup)
+        self.setTabOrder(self.bSup,self.bHelp)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DComm"))
+        self.Commentaire.setText(QString.null)
+        self.textLabel2_2_2.setText(self.__tr("<u><b><p align=\"center\">Parametre</p></b></u>"))
+        self.Commentaire_2.setText(QString.null)
+        self.textLabel2_2.setText(self.__tr("<b> Nom: </b>"))
+        self.textLabel2.setText(self.__tr("<b> Valeur: </b>"))
+        self.Commentaire2.setText(self.__trUtf8("\x52\x65\x74\x6f\x75\x72\x20\x43\x68\x61\x72\x69\x6f\x74\x20\x64\x61\x6e\x73\x20\x75\x6e\x65\x20\x73\x6f\x6e\x65\x20\x64\x65\x20\x73\x61\x69\x73\x69\x65\x20\x70\x65\x72\x6d\x65\x74\x20\x64\x65\x20\x76\xc3\xa9\x72\x69\x66\x69\x65\x72\x20\x6c\x61\x20\x0a\x76\x61\x6c\x69\x64\x69\x74\xc3\xa9\x20\x64\x65\x20\x6c\x61\x20\x76\x61\x6c\x65\x75\x72\x20\x73\x61\x69\x73\x69\x65\x2e\x0a\x0a\x4c\x65\x73\x20\x6e\x6f\x75\x76\x65\x6c\x6c\x65\x73\x20\x76\x61\x6c\x65\x75\x72\x73\x20\x6e\x65\x20\x73\x65\x72\x6f\x6e\x74\x20\x70\x72\x69\x73\x65\x73\x20\x20\x65\x6e\x20\x63\x6f\x6d\x70\x74\x65\x20\x71\x75\x27\x61\x70\x72\xc3\xa8\x73\x20\x61\x76\x6f\x69\x72\x20\x0a\x61\x70\x70\x75\x79\xc3\xa9\x20\x73\x75\x72\x20\x20\x6c\x65\x20\x62\x6f\x75\x74\x6f\x6e\x20\x56\x61\x6c\x69\x64\x65\x72\x2e"))
+        self.TWChoix.changeTab(self.Valeur_Parametre,self.__tr("Valeur Parametre"))
+        self.textLabel6.setText(self.__tr("Filtre"))
+        self.buttonGroup1.setTitle(self.__tr("Affichage"))
+        self.RBGroupe.setText(self.__tr("par groupe"))
+        self.RBalpha.setText(self.__trUtf8("\x61\x6c\x70\x68\x61\x62\xc3\xa9\x74\x69\x71\x75\x65"))
+        self.textLabel1_4.setText(self.__tr("<b><u>Commandes :</u></b>"))
+        self.textLabel4.setText(self.__trUtf8("\x4c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x68\x6f\x69\x73\x69\x65\x20\x73\x65\x72\x61\x20\x61\x6a\x6f\x75\x74\xc3\xa9\x65\x20\x41\x50\x52\x45\x53\x20\x6c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x6f\x75\x72\x61\x6e\x74\x65"))
+        self.BNext.setText(self.__tr("Suivant"))
+        QToolTip.add(self.BNext,self.__tr("affiche la prochaine occurence"))
+        self.TWChoix.changeTab(self.Commande,self.__tr("Nouvelle Commande"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+
+
+    def LBNouvCommandeClicked(self):
+        print "DParam.LBNouvCommandeClicked(): Not implemented yet"
+
+    def LEFiltreTextChanged(self):
+        print "DParam.LEFiltreTextChanged(): Not implemented yet"
+
+    def LEfiltreReturnPressed(self):
+        print "DParam.LEfiltreReturnPressed(): Not implemented yet"
+
+    def BSupPressed(self):
+        print "DParam.BSupPressed(): Not implemented yet"
+
+    def LENomConceptReturnPressed(self):
+        print "DParam.LENomConceptReturnPressed(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DParam.BOkPressed(): Not implemented yet"
+
+    def BuildTabCommand(self):
+        print "DParam.BuildTabCommand(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DParam.ViewDoc(): Not implemented yet"
+
+    def BNextPressed(self):
+        print "DParam.BNextPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DParam",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DParam",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desParam.ui b/UiQT4/desParam.ui
new file mode 100644 (file)
index 0000000..7aa81f8
--- /dev/null
@@ -0,0 +1,508 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DParam</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DParam</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>505</width>
+            <height>483</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>505</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DComm</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QLabel" row="1" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>Commentaire</cstring>
+            </property>
+            <property name="frameShape">
+                <enum>NoFrame</enum>
+            </property>
+            <property name="frameShadow">
+                <enum>Plain</enum>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+        <widget class="QTabWidget" row="0" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>TWChoix</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Valeur_Parametre</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Valeur Parametre</string>
+                </attribute>
+                <widget class="QLabel">
+                    <property name="name">
+                        <cstring>textLabel2_2_2</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>80</x>
+                            <y>11</y>
+                            <width>231</width>
+                            <height>89</height>
+                        </rect>
+                    </property>
+                    <property name="text">
+                        <string>&lt;u&gt;&lt;b&gt;&lt;p align="center"&gt;Parametre&lt;/p&gt;&lt;/b&gt;&lt;/u&gt;</string>
+                    </property>
+                </widget>
+                <widget class="QLabel">
+                    <property name="name">
+                        <cstring>Commentaire_2</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>11</x>
+                            <y>275</y>
+                            <width>459</width>
+                            <height>89</height>
+                        </rect>
+                    </property>
+                    <property name="text">
+                        <string></string>
+                    </property>
+                </widget>
+                <widget class="QLineEdit">
+                    <property name="name">
+                        <cstring>lineEditNom</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>80</x>
+                            <y>106</y>
+                            <width>231</width>
+                            <height>31</height>
+                        </rect>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>231</width>
+                            <height>31</height>
+                        </size>
+                    </property>
+                </widget>
+                <spacer>
+                    <property name="name">
+                        <cstring>spacer1</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>153</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>317</x>
+                            <y>111</y>
+                            <width>153</width>
+                            <height>20</height>
+                        </rect>
+                    </property>
+                </spacer>
+                <spacer>
+                    <property name="name">
+                        <cstring>spacer2</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>153</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>317</x>
+                            <y>148</y>
+                            <width>153</width>
+                            <height>20</height>
+                        </rect>
+                    </property>
+                </spacer>
+                <widget class="QLabel">
+                    <property name="name">
+                        <cstring>textLabel2_2</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>11</x>
+                            <y>106</y>
+                            <width>63</width>
+                            <height>31</height>
+                        </rect>
+                    </property>
+                    <property name="text">
+                        <string>&lt;b&gt; Nom: &lt;/b&gt;</string>
+                    </property>
+                </widget>
+                <widget class="QLabel">
+                    <property name="name">
+                        <cstring>textLabel2</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>11</x>
+                            <y>143</y>
+                            <width>63</width>
+                            <height>31</height>
+                        </rect>
+                    </property>
+                    <property name="text">
+                        <string>&lt;b&gt; Valeur: &lt;/b&gt;</string>
+                    </property>
+                </widget>
+                <widget class="QLabel">
+                    <property name="name">
+                        <cstring>Commentaire2</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>11</x>
+                            <y>180</y>
+                            <width>459</width>
+                            <height>89</height>
+                        </rect>
+                    </property>
+                    <property name="text">
+                        <string>Retour Chariot dans une sone de saisie permet de vérifier la 
+validité de la valeur saisie.
+
+Les nouvelles valeurs ne seront prises  en compte qu'après avoir 
+appuyé sur  le bouton Valider.</string>
+                    </property>
+                </widget>
+                <widget class="QLineEdit">
+                    <property name="name">
+                        <cstring>lineEditVal</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>80</x>
+                            <y>143</y>
+                            <width>231</width>
+                            <height>31</height>
+                        </rect>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>231</width>
+                            <height>31</height>
+                        </size>
+                    </property>
+                </widget>
+            </widget>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Commande</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Nouvelle Commande</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QLabel" row="1" column="0">
+                        <property name="name">
+                            <cstring>textLabel6</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>40</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Filtre</string>
+                        </property>
+                    </widget>
+                    <widget class="QListBox" row="2" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>LBNouvCommande</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QButtonGroup" row="0" column="3" rowspan="2" colspan="1">
+                        <property name="name">
+                            <cstring>buttonGroup1</cstring>
+                        </property>
+                        <property name="title">
+                            <string>Affichage</string>
+                        </property>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBGroupe</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>40</y>
+                                    <width>101</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>par groupe</string>
+                            </property>
+                        </widget>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBalpha</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>20</y>
+                                    <width>120</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>alphabétique</string>
+                            </property>
+                            <property name="checked">
+                                <bool>true</bool>
+                            </property>
+                        </widget>
+                    </widget>
+                    <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>textLabel1_4</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;b&gt;&lt;u&gt;Commandes :&lt;/u&gt;&lt;/b&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="3" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>textLabel4</cstring>
+                        </property>
+                        <property name="text">
+                            <string>La commande choisie sera ajoutée APRES la commande courante</string>
+                        </property>
+                    </widget>
+                    <widget class="QToolButton" row="1" column="2">
+                        <property name="name">
+                            <cstring>BNext</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>60</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Suivant</string>
+                        </property>
+                        <property name="iconSet">
+                            <iconset></iconset>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>affiche la prochaine occurence</string>
+                        </property>
+                    </widget>
+                    <widget class="QLineEdit" row="1" column="1">
+                        <property name="name">
+                            <cstring>LEFiltre</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>160</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+        <widget class="QPushButton" row="2" column="1">
+            <property name="name">
+                <cstring>bOk</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Valider</string>
+            </property>
+            <property name="accel">
+                <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="default">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>validation de la saisie</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="0">
+            <property name="name">
+                <cstring>bSup</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Supprimer</string>
+            </property>
+            <property name="accel">
+                <string>Alt+S</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>suppression du mot clef</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="2">
+            <property name="name">
+                <cstring>bHelp</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Documentation</string>
+            </property>
+            <property name="accel">
+                <string>Alt+D</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>affichage documentation aster</string>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>LBNouvCommande</sender>
+        <signal>doubleClicked(QListBoxItem*)</signal>
+        <receiver>DParam</receiver>
+        <slot>LBNouvCommandeClicked()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>DParam</receiver>
+        <slot>LEFiltreTextChanged()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DParam</receiver>
+        <slot>LEfiltreReturnPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>pressed()</signal>
+        <receiver>DParam</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DParam</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>RBGroupe</sender>
+        <signal>clicked()</signal>
+        <receiver>DParam</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>RBalpha</sender>
+        <signal>clicked()</signal>
+        <receiver>DParam</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DParam</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+    <connection>
+        <sender>BNext</sender>
+        <signal>pressed()</signal>
+        <receiver>DParam</receiver>
+        <slot>BNextPressed()</slot>
+    </connection>
+    <connection>
+        <sender>lineEditVal</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DParam</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LEFiltre</tabstop>
+    <tabstop>TWChoix</tabstop>
+    <tabstop>lineEditNom</tabstop>
+    <tabstop>lineEditVal</tabstop>
+    <tabstop>LBNouvCommande</tabstop>
+    <tabstop>RBalpha</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bHelp</tabstop>
+</tabstops>
+<slots>
+    <slot>LBNouvCommandeClicked()</slot>
+    <slot>LEFiltreTextChanged()</slot>
+    <slot>LEfiltreReturnPressed()</slot>
+    <slot>BSupPressed()</slot>
+    <slot>LENomConceptReturnPressed()</slot>
+    <slot>BOkPressed()</slot>
+    <slot>BuildTabCommand()</slot>
+    <slot>ViewDoc() </slot>
+    <slot>BNextPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desPlusieursBase.py b/UiQT4/desPlusieursBase.py
new file mode 100644 (file)
index 0000000..dc7ca0f
--- /dev/null
@@ -0,0 +1,293 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desPlusieursBase.ui'
+#
+# Created: lun mai 5 17:43:44 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+image0_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x14\x00\x00\x00\x14" \
+    "\x08\x06\x00\x00\x00\x8d\x89\x1d\x0d\x00\x00\x00" \
+    "\x8d\x49\x44\x41\x54\x38\x8d\xb5\xd3\xdb\x0d\x80" \
+    "\x20\x0c\x05\xd0\x5b\xe3\x3a\x8e\xe2\x4c\x86\x99" \
+    "\x18\x85\x81\xea\x87\xc6\xc4\xd2\x56\x28\xd8\x84" \
+    "\x0f\x5e\x27\x17\x50\x02\x63\x6a\x2d\x73\xb9\x1f" \
+    "\xc0\xb5\x69\x15\x39\x17\xc3\xa0\x7e\xf0\xae\x9c" \
+    "\xca\xab\xbf\x1f\x5b\xb5\xa6\xed\xc8\x0c\x02\x83" \
+    "\x34\x20\x06\x02\x00\x81\x65\xc2\x38\x28\x30\x2f" \
+    "\xa9\x77\xdd\x36\xc6\xa0\x67\xa7\x78\x14\x3f\xa1" \
+    "\x85\xf9\x5b\xe6\x61\x76\xc2\x20\xa6\x83\x03\x58" \
+    "\x0d\x0e\x62\x7a\xc2\x01\xcc\x04\xa3\xd8\x55\x2c" \
+    "\x1a\xc0\x39\x95\xab\x27\xe7\x5a\x9a\x3e\x18\x47" \
+    "\xdd\xef\x30\x72\xec\xef\x5f\xaf\xb3\x4e\xcb\x01" \
+    "\x65\xf7\x82\x6b\x45\x7b\x00\x00\x00\x00\x49\x45" \
+    "\x4e\x44\xae\x42\x60\x82"
+image1_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x21\x00\x00\x00\x0e" \
+    "\x08\x06\x00\x00\x00\xa1\x1e\x75\x8c\x00\x00\x00" \
+    "\xc7\x49\x44\x41\x54\x38\x8d\xcd\x94\x59\x0e\xc3" \
+    "\x20\x0c\x44\x71\xd5\x7b\xc7\x3d\xf9\xf4\x07\xd3" \
+    "\x31\xb1\x59\xa2\x28\xaa\x25\x44\x48\xbc\x3c\xc6" \
+    "\x81\x52\xfe\xc0\xe4\x42\x0c\xee\xce\xb9\x12\xe0" \
+    "\x8a\x02\x39\x83\x88\x48\xf5\xdf\x02\xc9\x9c\x11" \
+    "\xf8\x60\x04\x30\x01\x19\x05\x4a\xe8\x68\xc5\x6a" \
+    "\xc2\x06\xc0\x6b\x4b\x10\x91\x11\xc8\x02\x87\x4f" \
+    "\x3a\x52\xa5\x87\x75\x71\x23\x89\x7e\x40\x39\xc4" \
+    "\x6b\x50\xd8\x86\x5b\x07\xf5\x40\x0a\x45\x00\x53" \
+    "\x33\x08\x93\xcf\x86\x74\xa3\x00\x28\xd4\x92\xde" \
+    "\xef\x04\x62\x6b\x55\x9d\xfe\x48\xac\x84\x2b\x1a" \
+    "\x6d\xaa\xe6\x85\x01\x55\x03\x3b\x99\xc5\x00\x9f" \
+    "\x70\xce\xda\x11\x1a\xab\x41\x3b\x6f\x6a\x70\xd1" \
+    "\x18\xe0\x08\xe6\xfd\x8b\xc5\x1d\x5d\x00\xa0\xf6" \
+    "\x14\x55\x6d\x1f\xf9\xb9\xbe\x49\x52\xaa\xbc\x37" \
+    "\x21\xf8\xf8\xb6\xf6\x24\xc5\x57\xef\x89\x47\xaf" \
+    "\xed\xf4\x8c\x5e\x60\xb8\xdf\xbe\xb8\x1d\x6d\xab" \
+    "\x9a\xff\x99\x27\x00\x00\x00\x00\x49\x45\x4e\x44" \
+    "\xae\x42\x60\x82"
+image2_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x21\x00\x00\x00\x0e" \
+    "\x08\x06\x00\x00\x00\xa1\x1e\x75\x8c\x00\x00\x00" \
+    "\xcf\x49\x44\x41\x54\x38\x8d\xd5\x94\xdb\x0e\xc3" \
+    "\x20\x0c\x43\xed\xfd\xf8\xd8\x97\xbb\x0f\x34\x5b" \
+    "\x48\x08\x45\xd5\x1e\xb6\x48\x88\xf4\x12\xe7\x60" \
+    "\x01\xc0\x0f\x04\x6f\xd6\xe9\x9b\xba\x77\x20\x04" \
+    "\x80\x92\x4a\x10\x32\xc9\x2e\xfb\xd8\xc7\xd5\xca" \
+    "\xbc\xc0\x25\x40\x00\x99\xe9\x57\x84\x95\x68\xfe" \
+    "\x7f\x06\xc0\xde\xd1\xde\xb3\x2b\x4a\x1e\xc4\xea" \
+    "\x82\x4b\x9e\x74\x09\x71\x65\xbd\x01\xf8\x55\x27" \
+    "\xf7\x8a\x72\x01\xe0\xa3\x12\x9f\x34\x5a\x01\x7c" \
+    "\x54\x3b\xaf\xdc\x98\x3d\x0f\x71\x09\xd1\x5a\x33" \
+    "\x1b\x47\x1f\x47\x07\x2c\x17\x49\x4a\x82\x33\x8f" \
+    "\x61\x78\x20\x3a\x88\x17\xe6\x73\x06\xb1\xf0\x8b" \
+    "\x07\xba\x03\xe6\x02\xc9\xb8\x31\x07\x7e\x37\xe0" \
+    "\x20\x9e\x67\xe3\x38\x67\x10\x97\x7b\x17\xde\x80" \
+    "\xc1\x85\xad\x38\x69\x5a\x51\xd5\x22\xc8\x2c\xe7" \
+    "\x79\x12\xe2\xfe\xd8\xbe\x83\x76\x20\x92\xf5\x2b" \
+    "\x18\x20\xdd\x11\xbb\x10\xe5\x65\xb5\x3a\x5a\x3b" \
+    "\xba\xff\x13\x07\x13\xd6\x6f\xa6\x98\x18\x57\x06" \
+    "\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82"
+
+class DPlusBase(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        self.image0 = QPixmap()
+        self.image0.loadFromData(image0_data,"PNG")
+        self.image1 = QPixmap()
+        self.image1.loadFromData(image1_data,"PNG")
+        self.image2 = QPixmap()
+        self.image2.loadFromData(image2_data,"PNG")
+        if not name:
+            self.setName("DPlusBase")
+
+        self.setMinimumSize(QSize(350,0))
+        self.setIcon(self.image0)
+
+        DPlusBaseLayout = QGridLayout(self,1,1,11,6,"DPlusBaseLayout")
+
+        self.tabuniqueinto = QTabWidget(self,"tabuniqueinto")
+
+        self.Widget8 = QWidget(self.tabuniqueinto,"Widget8")
+        Widget8Layout = QGridLayout(self.Widget8,1,1,11,6,"Widget8Layout")
+
+        self.textLabel1 = QLabel(self.Widget8,"textLabel1")
+
+        Widget8Layout.addWidget(self.textLabel1,0,0)
+
+        self.LBValeurs = QListBox(self.Widget8,"LBValeurs")
+        self.LBValeurs.setMinimumSize(QSize(200,0))
+
+        Widget8Layout.addMultiCellWidget(self.LBValeurs,1,9,0,0)
+        spacer4 = QSpacerItem(21,231,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        Widget8Layout.addMultiCell(spacer4,5,9,1,2)
+        spacer3_3 = QSpacerItem(31,30,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        Widget8Layout.addMultiCell(spacer3_3,0,0,1,2)
+
+        self.BAjout1Val = QToolButton(self.Widget8,"BAjout1Val")
+        self.BAjout1Val.setSizePolicy(QSizePolicy(0,0,0,0,self.BAjout1Val.sizePolicy().hasHeightForWidth()))
+        self.BAjout1Val.setMinimumSize(QSize(40,30))
+        self.BAjout1Val.setIconSet(QIconSet(self.image1))
+
+        Widget8Layout.addMultiCellWidget(self.BAjout1Val,2,2,1,2)
+        spacer5 = QSpacerItem(150,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
+        Widget8Layout.addMultiCell(spacer5,8,8,2,4)
+
+        layout7 = QVBoxLayout(None,0,6,"layout7")
+
+        self.bParam = QPushButton(self.Widget8,"bParam")
+        self.bParam.setMinimumSize(QSize(0,30))
+        self.bParam.setAutoDefault(1)
+        layout7.addWidget(self.bParam)
+
+        self.bImport = QPushButton(self.Widget8,"bImport")
+        self.bImport.setMinimumSize(QSize(0,30))
+        self.bImport.setAutoDefault(1)
+        layout7.addWidget(self.bImport)
+
+        Widget8Layout.addMultiCellLayout(layout7,7,8,5,5)
+        spacer3 = QSpacerItem(31,50,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        Widget8Layout.addItem(spacer3,6,5)
+        spacer3_2 = QSpacerItem(31,50,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        Widget8Layout.addItem(spacer3_2,9,5)
+
+        self.BSalome = QToolButton(self.Widget8,"BSalome")
+        self.BSalome.setSizePolicy(QSizePolicy(0,0,0,0,self.BSalome.sizePolicy().hasHeightForWidth()))
+        self.BSalome.setMinimumSize(QSize(40,30))
+        self.BSalome.setIconSet(QIconSet(self.image0))
+
+        Widget8Layout.addWidget(self.BSalome,4,3)
+
+        self.BView2D = QPushButton(self.Widget8,"BView2D")
+        self.BView2D.setMinimumSize(QSize(120,30))
+
+        Widget8Layout.addMultiCellWidget(self.BView2D,4,4,4,5)
+
+        layout12 = QHBoxLayout(None,0,6,"layout12")
+
+        self.textLabel1_2 = QLabel(self.Widget8,"textLabel1_2")
+        layout12.addWidget(self.textLabel1_2)
+        spacer6 = QSpacerItem(111,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
+        layout12.addItem(spacer6)
+
+        Widget8Layout.addMultiCellLayout(layout12,0,1,3,5)
+
+        self.LEValeur = QLineEdit(self.Widget8,"LEValeur")
+        self.LEValeur.setSizePolicy(QSizePolicy(1,1,0,0,self.LEValeur.sizePolicy().hasHeightForWidth()))
+        self.LEValeur.setMinimumSize(QSize(220,30))
+
+        Widget8Layout.addMultiCellWidget(self.LEValeur,2,3,3,5)
+
+        self.BSup1Val = QToolButton(self.Widget8,"BSup1Val")
+        self.BSup1Val.setSizePolicy(QSizePolicy(0,0,0,0,self.BSup1Val.sizePolicy().hasHeightForWidth()))
+        self.BSup1Val.setMinimumSize(QSize(40,30))
+        self.BSup1Val.setIconSet(QIconSet(self.image2))
+
+        Widget8Layout.addMultiCellWidget(self.BSup1Val,3,4,1,2)
+
+        self.Commentaire = QLabel(self.Widget8,"Commentaire")
+        self.Commentaire.setMinimumSize(QSize(0,60))
+
+        Widget8Layout.addMultiCellWidget(self.Commentaire,5,5,3,5)
+
+        layout6 = QHBoxLayout(None,0,6,"layout6")
+
+        self.bSup = QPushButton(self.Widget8,"bSup")
+        self.bSup.setMinimumSize(QSize(0,30))
+        self.bSup.setAutoDefault(1)
+        layout6.addWidget(self.bSup)
+
+        self.bOk = QPushButton(self.Widget8,"bOk")
+        self.bOk.setMinimumSize(QSize(0,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+        layout6.addWidget(self.bOk)
+
+        self.bHelp = QPushButton(self.Widget8,"bHelp")
+        self.bHelp.setMinimumSize(QSize(0,30))
+        self.bHelp.setAutoDefault(1)
+        layout6.addWidget(self.bHelp)
+
+        Widget8Layout.addMultiCellLayout(layout6,10,10,0,5)
+        self.tabuniqueinto.insertTab(self.Widget8,QString(""))
+
+        DPlusBaseLayout.addWidget(self.tabuniqueinto,0,0)
+
+        self.languageChange()
+
+        self.resize(QSize(552,480).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPourListePressed)
+        self.connect(self.bSup,SIGNAL("clicked()"),self.BSupPressed)
+        self.connect(self.bParam,SIGNAL("clicked()"),self.BParametresPressed)
+        self.connect(self.bImport,SIGNAL("clicked()"),self.BImportPressed)
+        self.connect(self.BAjout1Val,SIGNAL("clicked()"),self.Ajout1Valeur)
+        self.connect(self.BSup1Val,SIGNAL("clicked()"),self.Sup1Valeur)
+        self.connect(self.LEValeur,SIGNAL("returnPressed()"),self.LEValeurPressed)
+        self.connect(self.BSalome,SIGNAL("clicked()"),self.BSalomePressed)
+        self.connect(self.BView2D,SIGNAL("clicked()"),self.BView2DPressed)
+
+        self.setTabOrder(self.LEValeur,self.tabuniqueinto)
+        self.setTabOrder(self.tabuniqueinto,self.bSup)
+        self.setTabOrder(self.bSup,self.bOk)
+        self.setTabOrder(self.bOk,self.bHelp)
+        self.setTabOrder(self.bHelp,self.bParam)
+        self.setTabOrder(self.bParam,self.bImport)
+        self.setTabOrder(self.bImport,self.LBValeurs)
+        self.setTabOrder(self.LBValeurs,self.BView2D)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DUnIn"))
+        self.textLabel1.setText(self.__tr("<u><font size=\"+1\">Valeur(s) actuelle(s)</font></u>"))
+        self.BAjout1Val.setText(QString.null)
+        QToolTip.add(self.BAjout1Val,self.__trUtf8("\x61\x6a\x6f\x75\x74\x65\x20\x6c\x61\x20\x76\x61\x6c\x65\x75\x72\x20\x73\x61\x69\x73\x69\x65\x20\x73\x6f\x75\x73\x20\x6c\x20\x6f\x63\x63\x75\x72\x65\x6e\x63\x65\x20\x73\x65\x6c\x65\x63\x74\x69\x6f\x6e\x6e\xc3\xa9\x65\x20\x28\x65\x6e\x20\x66\x69\x6e\x20\x64\x65\x20\x6c\x69\x73\x74\x65\x20\x73\x69\x20\x69\x6c\x20\x6e\x20\x79\x20\x61\x20\x70\x61\x73\x20\x64\x65\x20\x73\x65\x6c\x65\x63\x74\x69\x6f\x6e\x29"))
+        self.bParam.setText(self.__tr("&Parametres"))
+        self.bParam.setAccel(self.__tr("Alt+P"))
+        QToolTip.add(self.bParam,self.__tr("suppression du mot clef"))
+        self.bImport.setText(self.__tr("&Importer"))
+        self.bImport.setAccel(self.__tr("Alt+I"))
+        QToolTip.add(self.bImport,self.__tr("suppression du mot clef"))
+        self.BSalome.setText(QString.null)
+        QToolTip.add(self.BSalome,self.__trUtf8("\x61\x6a\x6f\x75\x74\x65\x20\x6c\x61\x20\x76\x61\x6c\x65\x75\x72\x20\x73\x61\x69\x73\x69\x65\x20\x73\x6f\x75\x73\x20\x6c\x20\x6f\x63\x63\x75\x72\x65\x6e\x63\x65\x20\x73\x65\x6c\x65\x63\x74\x69\x6f\x6e\x6e\xc3\xa9\x65\x20\x28\x65\x6e\x20\x66\x69\x6e\x20\x64\x65\x20\x6c\x69\x73\x74\x65\x20\x73\x69\x20\x69\x6c\x20\x6e\x20\x79\x20\x61\x20\x70\x61\x73\x20\x64\x65\x20\x73\x65\x6c\x65\x63\x74\x69\x6f\x6e\x29"))
+        self.BView2D.setText(self.__tr("Visualiser"))
+        self.textLabel1_2.setText(self.__tr("<font size=\"+1\">Valeur</font>"))
+        self.BSup1Val.setText(QString.null)
+        QToolTip.add(self.BSup1Val,self.__tr("enleve l occurence selectionnee"))
+        self.Commentaire.setText(QString.null)
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.tabuniqueinto.changeTab(self.Widget8,self.__tr("Saisir Valeur"))
+
+
+    def BSupPressed(self):
+        print "DPlusBase.BSupPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DPlusBase.ViewDoc(): Not implemented yet"
+
+    def BOkPourListePressed(self):
+        print "DPlusBase.BOkPourListePressed(): Not implemented yet"
+
+    def BParametresPressed(self):
+        print "DPlusBase.BParametresPressed(): Not implemented yet"
+
+    def LEValeurPressed(self):
+        print "DPlusBase.LEValeurPressed(): Not implemented yet"
+
+    def Ajout1Valeur(self):
+        print "DPlusBase.Ajout1Valeur(): Not implemented yet"
+
+    def Sup1Valeur(self):
+        print "DPlusBase.Sup1Valeur(): Not implemented yet"
+
+    def BImportPressed(self):
+        print "DPlusBase.BImportPressed(): Not implemented yet"
+
+    def BSalomePressed(self):
+        print "DPlusBase.BSalomePressed(): Not implemented yet"
+
+    def BView2DPressed(self):
+        print "DPlusBase.BView2DPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DPlusBase",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DPlusBase",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desPlusieursBase.ui b/UiQT4/desPlusieursBase.ui
new file mode 100644 (file)
index 0000000..a6a4eb0
--- /dev/null
@@ -0,0 +1,556 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DPlusBase</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DPlusBase</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>552</width>
+            <height>480</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>350</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DUnIn</string>
+    </property>
+    <property name="icon">
+        <pixmap>image0</pixmap>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QTabWidget" row="0" column="0">
+            <property name="name">
+                <cstring>tabuniqueinto</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Widget8</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Saisir Valeur</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QLabel" row="0" column="0">
+                        <property name="name">
+                            <cstring>textLabel1</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;u&gt;&lt;font size="+1"&gt;Valeur(s) actuelle(s)&lt;/font&gt;&lt;/u&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QListBox" row="1" column="0" rowspan="9" colspan="1">
+                        <property name="name">
+                            <cstring>LBValeurs</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>200</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <spacer row="5" column="1" rowspan="5" colspan="2">
+                        <property name="name">
+                            <cstring>spacer4</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Vertical</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>21</width>
+                                <height>231</height>
+                            </size>
+                        </property>
+                    </spacer>
+                    <spacer row="0" column="1" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>spacer3_3</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Vertical</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>31</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                    </spacer>
+                    <widget class="QToolButton" row="2" column="1" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>BAjout1Val</cstring>
+                        </property>
+                        <property name="sizePolicy">
+                            <sizepolicy>
+                                <hsizetype>0</hsizetype>
+                                <vsizetype>0</vsizetype>
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                            </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>40</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string></string>
+                        </property>
+                        <property name="iconSet">
+                            <iconset>image1</iconset>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>ajoute la valeur saisie sous l occurence selectionnée (en fin de liste si il n y a pas de selection)</string>
+                        </property>
+                    </widget>
+                    <spacer row="8" column="2" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>spacer5</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Horizontal</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>150</width>
+                                <height>20</height>
+                            </size>
+                        </property>
+                    </spacer>
+                    <widget class="QLayoutWidget" row="7" column="5" rowspan="2" colspan="1">
+                        <property name="name">
+                            <cstring>layout7</cstring>
+                        </property>
+                        <vbox>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bParam</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>0</width>
+                                        <height>30</height>
+                                    </size>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Parametres</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Alt+P</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>suppression du mot clef</string>
+                                </property>
+                            </widget>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bImport</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>0</width>
+                                        <height>30</height>
+                                    </size>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Importer</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Alt+I</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>suppression du mot clef</string>
+                                </property>
+                            </widget>
+                        </vbox>
+                    </widget>
+                    <spacer row="6" column="5">
+                        <property name="name">
+                            <cstring>spacer3</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Vertical</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>31</width>
+                                <height>50</height>
+                            </size>
+                        </property>
+                    </spacer>
+                    <spacer row="9" column="5">
+                        <property name="name">
+                            <cstring>spacer3_2</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Vertical</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>31</width>
+                                <height>50</height>
+                            </size>
+                        </property>
+                    </spacer>
+                    <widget class="QToolButton" row="4" column="3">
+                        <property name="name">
+                            <cstring>BSalome</cstring>
+                        </property>
+                        <property name="sizePolicy">
+                            <sizepolicy>
+                                <hsizetype>0</hsizetype>
+                                <vsizetype>0</vsizetype>
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                            </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>40</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string></string>
+                        </property>
+                        <property name="iconSet">
+                            <iconset>image0</iconset>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>ajoute la valeur saisie sous l occurence selectionnée (en fin de liste si il n y a pas de selection)</string>
+                        </property>
+                    </widget>
+                    <widget class="QPushButton" row="4" column="4" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>BView2D</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>120</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Visualiser</string>
+                        </property>
+                    </widget>
+                    <widget class="QLayoutWidget" row="0" column="3" rowspan="2" colspan="3">
+                        <property name="name">
+                            <cstring>layout12</cstring>
+                        </property>
+                        <hbox>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <widget class="QLabel">
+                                <property name="name">
+                                    <cstring>textLabel1_2</cstring>
+                                </property>
+                                <property name="text">
+                                    <string>&lt;font size="+1"&gt;Valeur&lt;/font&gt;</string>
+                                </property>
+                            </widget>
+                            <spacer>
+                                <property name="name">
+                                    <cstring>spacer6</cstring>
+                                </property>
+                                <property name="orientation">
+                                    <enum>Horizontal</enum>
+                                </property>
+                                <property name="sizeType">
+                                    <enum>Expanding</enum>
+                                </property>
+                                <property name="sizeHint">
+                                    <size>
+                                        <width>111</width>
+                                        <height>20</height>
+                                    </size>
+                                </property>
+                            </spacer>
+                        </hbox>
+                    </widget>
+                    <widget class="QLineEdit" row="2" column="3" rowspan="2" colspan="3">
+                        <property name="name">
+                            <cstring>LEValeur</cstring>
+                        </property>
+                        <property name="sizePolicy">
+                            <sizepolicy>
+                                <hsizetype>1</hsizetype>
+                                <vsizetype>1</vsizetype>
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                            </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>220</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <widget class="QToolButton" row="3" column="1" rowspan="2" colspan="2">
+                        <property name="name">
+                            <cstring>BSup1Val</cstring>
+                        </property>
+                        <property name="sizePolicy">
+                            <sizepolicy>
+                                <hsizetype>0</hsizetype>
+                                <vsizetype>0</vsizetype>
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                            </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>40</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string></string>
+                        </property>
+                        <property name="iconSet">
+                            <iconset>image2</iconset>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>enleve l occurence selectionnee</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="5" column="3" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>Commentaire</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>60</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string></string>
+                        </property>
+                    </widget>
+                    <widget class="QLayoutWidget" row="10" column="0" rowspan="1" colspan="6">
+                        <property name="name">
+                            <cstring>layout6</cstring>
+                        </property>
+                        <hbox>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bSup</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>0</width>
+                                        <height>30</height>
+                                    </size>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Supprimer</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Alt+S</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>suppression du mot clef</string>
+                                </property>
+                            </widget>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bOk</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>0</width>
+                                        <height>30</height>
+                                    </size>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Valider</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="default">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>validation de la saisie</string>
+                                </property>
+                            </widget>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bHelp</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>0</width>
+                                        <height>30</height>
+                                    </size>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Documentation</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Alt+D</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>affichage documentation aster</string>
+                                </property>
+                            </widget>
+                        </hbox>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+    </grid>
+</widget>
+<images>
+    <image name="image0">
+        <data format="PNG" length="198">89504e470d0a1a0a0000000d49484452000000140000001408060000008d891d0d0000008d49444154388db5d3db0d80200c05d05be33a8ee24c8699188581ea87c6c4d25628d8840f5e27175002636a2d73b91fc0b569153917c3a07ef0ae9ccaabbf1f5bb5a6edc80c028334200602008165c23828302fa977dd36c6a067a778143fa185f95be66176c220a68303580d0e627ac201cc04a3d8552c1ac03995ab27e75a9a3e1847ddef3072ecef5fafb34ecb0165f7826b457b0000000049454e44ae426082</data>
+    </image>
+    <image name="image1">
+        <data format="PNG" length="256">89504e470d0a1a0a0000000d49484452000000210000000e0806000000a11e758c000000c749444154388dcd94590ec3200c4471d57bc73df9f407d331b159a228aa254448bc3cc68152fec0e4420ceeceb912e08a0239838848f5df02c99c11f86004300119054ae868c56ac206c06b4b109111c802874f3a52a587757123897e4039c46b50d8865b07f5400a450053330893cf8674a30028d492deef04626b559dfe48ac842b1a6daae6850155033b99c5009f70ceda111aab413b6f6a70d118e008e6fd8bc51d5d00a0f614556d1ff9b9be4952aabc3721f8f8b6f624c557ef8947afedf48c5e60b8dfbeb81d6dab9aff99270000000049454e44ae426082</data>
+    </image>
+    <image name="image2">
+        <data format="PNG" length="264">89504e470d0a1a0a0000000d49484452000000210000000e0806000000a11e758c000000cf49444154388dd594db0ec3200c43edfdf8d897bb0f345b480845d51eb64888f412e76001c00f046fd6e99bba77200480924a1032c92efbd8c7d5cabcc025400099e957849568fe7f06c0ded1deb32b4a1ec4ea824b9e74097165bd01f85527f78a7201e0a3129f345a017c543bafdc983d0f7109d15a331b471f47072c17494a82338f6178203a8817e67306b1f08b07ba03e602c9b831077e37e0209e67e3386710977b17de80c185ad38695a51d522c82ce77912e2fed8be83762092f52b1820dd11bb10e565b53a5a3bbaff130713d66fa6981857060000000049454e44ae426082</data>
+    </image>
+</images>
+<connections>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusBase</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusBase</receiver>
+        <slot>BOkPourListePressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusBase</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bParam</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusBase</receiver>
+        <slot>BParametresPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bImport</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusBase</receiver>
+        <slot>BImportPressed()</slot>
+    </connection>
+    <connection>
+        <sender>BAjout1Val</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusBase</receiver>
+        <slot>Ajout1Valeur()</slot>
+    </connection>
+    <connection>
+        <sender>BSup1Val</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusBase</receiver>
+        <slot>Sup1Valeur()</slot>
+    </connection>
+    <connection>
+        <sender>LEValeur</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DPlusBase</receiver>
+        <slot>LEValeurPressed()</slot>
+    </connection>
+    <connection>
+        <sender>BSalome</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusBase</receiver>
+        <slot>BSalomePressed()</slot>
+    </connection>
+    <connection>
+        <sender>BView2D</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusBase</receiver>
+        <slot>BView2DPressed()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LEValeur</tabstop>
+    <tabstop>tabuniqueinto</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>bHelp</tabstop>
+    <tabstop>bParam</tabstop>
+    <tabstop>bImport</tabstop>
+    <tabstop>LBValeurs</tabstop>
+    <tabstop>BView2D</tabstop>
+</tabstops>
+<slots>
+    <slot>BSupPressed()</slot>
+    <slot>ViewDoc()</slot>
+    <slot>BOkPourListePressed()</slot>
+    <slot>BParametresPressed()</slot>
+    <slot>LEValeurPressed()</slot>
+    <slot>Ajout1Valeur()</slot>
+    <slot>Sup1Valeur()</slot>
+    <slot>BImportPressed()</slot>
+    <slot>BSalomePressed()</slot>
+    <slot>BView2DPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desPlusieursInto.py b/UiQT4/desPlusieursInto.py
new file mode 100644 (file)
index 0000000..224aa87
--- /dev/null
@@ -0,0 +1,207 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desPlusieursInto.ui'
+#
+# Created: ven avr 4 11:27:09 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+image0_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x21\x00\x00\x00\x0e" \
+    "\x08\x06\x00\x00\x00\xa1\x1e\x75\x8c\x00\x00\x00" \
+    "\xcf\x49\x44\x41\x54\x38\x8d\xd5\x94\xdb\x0e\xc3" \
+    "\x20\x0c\x43\xed\xfd\xf8\xd8\x97\xbb\x0f\x34\x5b" \
+    "\x48\x08\x45\xd5\x1e\xb6\x48\x88\xf4\x12\xe7\x60" \
+    "\x01\xc0\x0f\x04\x6f\xd6\xe9\x9b\xba\x77\x20\x04" \
+    "\x80\x92\x4a\x10\x32\xc9\x2e\xfb\xd8\xc7\xd5\xca" \
+    "\xbc\xc0\x25\x40\x00\x99\xe9\x57\x84\x95\x68\xfe" \
+    "\x7f\x06\xc0\xde\xd1\xde\xb3\x2b\x4a\x1e\xc4\xea" \
+    "\x82\x4b\x9e\x74\x09\x71\x65\xbd\x01\xf8\x55\x27" \
+    "\xf7\x8a\x72\x01\xe0\xa3\x12\x9f\x34\x5a\x01\x7c" \
+    "\x54\x3b\xaf\xdc\x98\x3d\x0f\x71\x09\xd1\x5a\x33" \
+    "\x1b\x47\x1f\x47\x07\x2c\x17\x49\x4a\x82\x33\x8f" \
+    "\x61\x78\x20\x3a\x88\x17\xe6\x73\x06\xb1\xf0\x8b" \
+    "\x07\xba\x03\xe6\x02\xc9\xb8\x31\x07\x7e\x37\xe0" \
+    "\x20\x9e\x67\xe3\x38\x67\x10\x97\x7b\x17\xde\x80" \
+    "\xc1\x85\xad\x38\x69\x5a\x51\xd5\x22\xc8\x2c\xe7" \
+    "\x79\x12\xe2\xfe\xd8\xbe\x83\x76\x20\x92\xf5\x2b" \
+    "\x18\x20\xdd\x11\xbb\x10\xe5\x65\xb5\x3a\x5a\x3b" \
+    "\xba\xff\x13\x07\x13\xd6\x6f\xa6\x98\x18\x57\x06" \
+    "\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82"
+image1_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x21\x00\x00\x00\x0e" \
+    "\x08\x06\x00\x00\x00\xa1\x1e\x75\x8c\x00\x00\x00" \
+    "\xc7\x49\x44\x41\x54\x38\x8d\xcd\x94\x59\x0e\xc3" \
+    "\x20\x0c\x44\x71\xd5\x7b\xc7\x3d\xf9\xf4\x07\xd3" \
+    "\x31\xb1\x59\xa2\x28\xaa\x25\x44\x48\xbc\x3c\xc6" \
+    "\x81\x52\xfe\xc0\xe4\x42\x0c\xee\xce\xb9\x12\xe0" \
+    "\x8a\x02\x39\x83\x88\x48\xf5\xdf\x02\xc9\x9c\x11" \
+    "\xf8\x60\x04\x30\x01\x19\x05\x4a\xe8\x68\xc5\x6a" \
+    "\xc2\x06\xc0\x6b\x4b\x10\x91\x11\xc8\x02\x87\x4f" \
+    "\x3a\x52\xa5\x87\x75\x71\x23\x89\x7e\x40\x39\xc4" \
+    "\x6b\x50\xd8\x86\x5b\x07\xf5\x40\x0a\x45\x00\x53" \
+    "\x33\x08\x93\xcf\x86\x74\xa3\x00\x28\xd4\x92\xde" \
+    "\xef\x04\x62\x6b\x55\x9d\xfe\x48\xac\x84\x2b\x1a" \
+    "\x6d\xaa\xe6\x85\x01\x55\x03\x3b\x99\xc5\x00\x9f" \
+    "\x70\xce\xda\x11\x1a\xab\x41\x3b\x6f\x6a\x70\xd1" \
+    "\x18\xe0\x08\xe6\xfd\x8b\xc5\x1d\x5d\x00\xa0\xf6" \
+    "\x14\x55\x6d\x1f\xf9\xb9\xbe\x49\x52\xaa\xbc\x37" \
+    "\x21\xf8\xf8\xb6\xf6\x24\xc5\x57\xef\x89\x47\xaf" \
+    "\xed\xf4\x8c\x5e\x60\xb8\xdf\xbe\xb8\x1d\x6d\xab" \
+    "\x9a\xff\x99\x27\x00\x00\x00\x00\x49\x45\x4e\x44" \
+    "\xae\x42\x60\x82"
+
+class DPlusInto(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        self.image0 = QPixmap()
+        self.image0.loadFromData(image0_data,"PNG")
+        self.image1 = QPixmap()
+        self.image1.loadFromData(image1_data,"PNG")
+        if not name:
+            self.setName("DPlusInto")
+
+        self.setMinimumSize(QSize(350,0))
+
+        DPlusIntoLayout = QGridLayout(self,1,1,11,6,"DPlusIntoLayout")
+
+        self.tabuniqueinto = QTabWidget(self,"tabuniqueinto")
+
+        self.Widget8 = QWidget(self.tabuniqueinto,"Widget8")
+        Widget8Layout = QGridLayout(self.Widget8,1,1,11,6,"Widget8Layout")
+
+        self.textLabel1 = QLabel(self.Widget8,"textLabel1")
+
+        Widget8Layout.addMultiCellWidget(self.textLabel1,0,0,0,1)
+
+        self.bSup = QPushButton(self.Widget8,"bSup")
+        self.bSup.setMinimumSize(QSize(130,30))
+        self.bSup.setAutoDefault(1)
+
+        Widget8Layout.addWidget(self.bSup,3,0)
+
+        self.bOk = QPushButton(self.Widget8,"bOk")
+        self.bOk.setMinimumSize(QSize(130,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+
+        Widget8Layout.addMultiCellWidget(self.bOk,3,3,1,2)
+
+        self.bHelp = QPushButton(self.Widget8,"bHelp")
+        self.bHelp.setSizePolicy(QSizePolicy(1,0,150,0,self.bHelp.sizePolicy().hasHeightForWidth()))
+        self.bHelp.setMinimumSize(QSize(130,30))
+        self.bHelp.setAutoDefault(1)
+
+        Widget8Layout.addWidget(self.bHelp,3,3)
+
+        self.Commentaire = QLabel(self.Widget8,"Commentaire")
+        self.Commentaire.setMinimumSize(QSize(0,40))
+
+        Widget8Layout.addMultiCellWidget(self.Commentaire,2,2,0,3)
+
+        layout8 = QHBoxLayout(None,0,6,"layout8")
+
+        self.LBValeurs = QListBox(self.Widget8,"LBValeurs")
+        layout8.addWidget(self.LBValeurs)
+
+        layout5 = QVBoxLayout(None,0,6,"layout5")
+        spacer2 = QSpacerItem(21,44,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        layout5.addItem(spacer2)
+
+        layout2 = QVBoxLayout(None,0,6,"layout2")
+
+        self.BSup1Val = QToolButton(self.Widget8,"BSup1Val")
+        self.BSup1Val.setMinimumSize(QSize(40,31))
+        self.BSup1Val.setMaximumSize(QSize(40,31))
+        self.BSup1Val.setIconSet(QIconSet(self.image0))
+        layout2.addWidget(self.BSup1Val)
+
+        self.BAjout1Val = QToolButton(self.Widget8,"BAjout1Val")
+        self.BAjout1Val.setMinimumSize(QSize(40,31))
+        self.BAjout1Val.setMaximumSize(QSize(40,31))
+        self.BAjout1Val.setIconSet(QIconSet(self.image1))
+        layout2.addWidget(self.BAjout1Val)
+        spacer3 = QSpacerItem(21,176,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        layout2.addItem(spacer3)
+        layout5.addLayout(layout2)
+        layout8.addLayout(layout5)
+
+        self.listBoxVal = QListBox(self.Widget8,"listBoxVal")
+        layout8.addWidget(self.listBoxVal)
+
+        Widget8Layout.addMultiCellLayout(layout8,1,1,0,3)
+
+        self.textLabel1_2 = QLabel(self.Widget8,"textLabel1_2")
+
+        Widget8Layout.addMultiCellWidget(self.textLabel1_2,0,0,2,3)
+        self.tabuniqueinto.insertTab(self.Widget8,QString(""))
+
+        DPlusIntoLayout.addWidget(self.tabuniqueinto,0,0)
+
+        self.languageChange()
+
+        self.resize(QSize(482,480).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPourListePressed)
+        self.connect(self.bSup,SIGNAL("clicked()"),self.BSupPressed)
+        self.connect(self.LBValeurs,SIGNAL("doubleClicked(QListBoxItem*)"),self.Sup1Valeur)
+        self.connect(self.BAjout1Val,SIGNAL("clicked()"),self.Ajout1Valeur)
+        self.connect(self.BSup1Val,SIGNAL("clicked()"),self.Sup1Valeur)
+
+        self.setTabOrder(self.listBoxVal,self.tabuniqueinto)
+        self.setTabOrder(self.tabuniqueinto,self.bSup)
+        self.setTabOrder(self.bSup,self.bOk)
+        self.setTabOrder(self.bOk,self.bHelp)
+        self.setTabOrder(self.bHelp,self.LBValeurs)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DUnIn"))
+        self.textLabel1.setText(self.__tr("<u><font size=\"+1\">Valeur(s) actuelle(s)</font></u>"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.Commentaire.setText(QString.null)
+        self.BSup1Val.setText(QString.null)
+        QToolTip.add(self.BSup1Val,self.__tr("enleve l occurence selectionnee"))
+        self.BAjout1Val.setText(QString.null)
+        QToolTip.add(self.BAjout1Val,self.__trUtf8("\x61\x6a\x6f\x75\x74\x65\x20\x6c\x61\x20\x76\x61\x6c\x65\x75\x72\x20\x73\x61\x69\x73\x69\x65\x20\x73\x6f\x75\x73\x20\x6c\x20\x6f\x63\x63\x75\x72\x65\x6e\x63\x65\x20\x73\x65\x6c\x65\x63\x74\x69\x6f\x6e\x6e\xc3\xa9\x65\x20\x28\x65\x6e\x20\x66\x69\x6e\x20\x64\x65\x20\x6c\x69\x73\x74\x65\x20\x73\x69\x20\x69\x6c\x20\x6e\x20\x79\x20\x61\x20\x70\x61\x73\x20\x64\x65\x20\x73\x65\x6c\x65\x63\x74\x69\x6f\x6e\x29"))
+        self.textLabel1_2.setText(self.__tr("<u><font size=\"+1\">Valeur(s) possibles(s)</font></u>"))
+        self.tabuniqueinto.changeTab(self.Widget8,self.__tr("Saisir Valeur"))
+
+
+    def BSupPressed(self):
+        print "DPlusInto.BSupPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DPlusInto.ViewDoc(): Not implemented yet"
+
+    def BOkPourListePressed(self):
+        print "DPlusInto.BOkPourListePressed(): Not implemented yet"
+
+    def Ajout1Valeur(self):
+        print "DPlusInto.Ajout1Valeur(): Not implemented yet"
+
+    def Sup1Valeur(self):
+        print "DPlusInto.Sup1Valeur(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DPlusInto",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DPlusInto",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desPlusieursInto.ui b/UiQT4/desPlusieursInto.ui
new file mode 100644 (file)
index 0000000..f53e25e
--- /dev/null
@@ -0,0 +1,346 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DPlusInto</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DPlusInto</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>482</width>
+            <height>480</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>350</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DUnIn</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QTabWidget" row="0" column="0">
+            <property name="name">
+                <cstring>tabuniqueinto</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Widget8</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Saisir Valeur</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>textLabel1</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;u&gt;&lt;font size="+1"&gt;Valeur(s) actuelle(s)&lt;/font&gt;&lt;/u&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QPushButton" row="3" column="0">
+                        <property name="name">
+                            <cstring>bSup</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>130</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&amp;Supprimer</string>
+                        </property>
+                        <property name="accel">
+                            <string>Alt+S</string>
+                        </property>
+                        <property name="autoDefault">
+                            <bool>true</bool>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>suppression du mot clef</string>
+                        </property>
+                    </widget>
+                    <widget class="QPushButton" row="3" column="1" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>bOk</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>130</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&amp;Valider</string>
+                        </property>
+                        <property name="accel">
+                            <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+                        </property>
+                        <property name="autoDefault">
+                            <bool>true</bool>
+                        </property>
+                        <property name="default">
+                            <bool>true</bool>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>validation de la saisie</string>
+                        </property>
+                    </widget>
+                    <widget class="QPushButton" row="3" column="3">
+                        <property name="name">
+                            <cstring>bHelp</cstring>
+                        </property>
+                        <property name="sizePolicy">
+                            <sizepolicy>
+                                <hsizetype>1</hsizetype>
+                                <vsizetype>0</vsizetype>
+                                <horstretch>150</horstretch>
+                                <verstretch>0</verstretch>
+                            </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>130</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&amp;Documentation</string>
+                        </property>
+                        <property name="accel">
+                            <string>Alt+D</string>
+                        </property>
+                        <property name="autoDefault">
+                            <bool>true</bool>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>affichage documentation aster</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="2" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>Commentaire</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>40</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string></string>
+                        </property>
+                    </widget>
+                    <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>layout8</cstring>
+                        </property>
+                        <hbox>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <widget class="QListBox">
+                                <property name="name">
+                                    <cstring>LBValeurs</cstring>
+                                </property>
+                            </widget>
+                            <widget class="QLayoutWidget">
+                                <property name="name">
+                                    <cstring>layout5</cstring>
+                                </property>
+                                <vbox>
+                                    <property name="name">
+                                        <cstring>unnamed</cstring>
+                                    </property>
+                                    <spacer>
+                                        <property name="name">
+                                            <cstring>spacer2</cstring>
+                                        </property>
+                                        <property name="orientation">
+                                            <enum>Vertical</enum>
+                                        </property>
+                                        <property name="sizeType">
+                                            <enum>Expanding</enum>
+                                        </property>
+                                        <property name="sizeHint">
+                                            <size>
+                                                <width>21</width>
+                                                <height>44</height>
+                                            </size>
+                                        </property>
+                                    </spacer>
+                                    <widget class="QLayoutWidget">
+                                        <property name="name">
+                                            <cstring>layout2</cstring>
+                                        </property>
+                                        <vbox>
+                                            <property name="name">
+                                                <cstring>unnamed</cstring>
+                                            </property>
+                                            <widget class="QToolButton">
+                                                <property name="name">
+                                                    <cstring>BSup1Val</cstring>
+                                                </property>
+                                                <property name="minimumSize">
+                                                    <size>
+                                                        <width>40</width>
+                                                        <height>31</height>
+                                                    </size>
+                                                </property>
+                                                <property name="maximumSize">
+                                                    <size>
+                                                        <width>40</width>
+                                                        <height>31</height>
+                                                    </size>
+                                                </property>
+                                                <property name="text">
+                                                    <string></string>
+                                                </property>
+                                                <property name="iconSet">
+                                                    <iconset>image0</iconset>
+                                                </property>
+                                                <property name="toolTip" stdset="0">
+                                                    <string>enleve l occurence selectionnee</string>
+                                                </property>
+                                            </widget>
+                                            <widget class="QToolButton">
+                                                <property name="name">
+                                                    <cstring>BAjout1Val</cstring>
+                                                </property>
+                                                <property name="minimumSize">
+                                                    <size>
+                                                        <width>40</width>
+                                                        <height>31</height>
+                                                    </size>
+                                                </property>
+                                                <property name="maximumSize">
+                                                    <size>
+                                                        <width>40</width>
+                                                        <height>31</height>
+                                                    </size>
+                                                </property>
+                                                <property name="text">
+                                                    <string></string>
+                                                </property>
+                                                <property name="iconSet">
+                                                    <iconset>image1</iconset>
+                                                </property>
+                                                <property name="toolTip" stdset="0">
+                                                    <string>ajoute la valeur saisie sous l occurence selectionnée (en fin de liste si il n y a pas de selection)</string>
+                                                </property>
+                                            </widget>
+                                            <spacer>
+                                                <property name="name">
+                                                    <cstring>spacer3</cstring>
+                                                </property>
+                                                <property name="orientation">
+                                                    <enum>Vertical</enum>
+                                                </property>
+                                                <property name="sizeType">
+                                                    <enum>Expanding</enum>
+                                                </property>
+                                                <property name="sizeHint">
+                                                    <size>
+                                                        <width>21</width>
+                                                        <height>176</height>
+                                                    </size>
+                                                </property>
+                                            </spacer>
+                                        </vbox>
+                                    </widget>
+                                </vbox>
+                            </widget>
+                            <widget class="QListBox">
+                                <property name="name">
+                                    <cstring>listBoxVal</cstring>
+                                </property>
+                            </widget>
+                        </hbox>
+                    </widget>
+                    <widget class="QLabel" row="0" column="2" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>textLabel1_2</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;u&gt;&lt;font size="+1"&gt;Valeur(s) possibles(s)&lt;/font&gt;&lt;/u&gt;</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+    </grid>
+</widget>
+<images>
+    <image name="image0">
+        <data format="PNG" length="264">89504e470d0a1a0a0000000d49484452000000210000000e0806000000a11e758c000000cf49444154388dd594db0ec3200c43edfdf8d897bb0f345b480845d51eb64888f412e76001c00f046fd6e99bba77200480924a1032c92efbd8c7d5cabcc025400099e957849568fe7f06c0ded1deb32b4a1ec4ea824b9e74097165bd01f85527f78a7201e0a3129f345a017c543bafdc983d0f7109d15a331b471f47072c17494a82338f6178203a8817e67306b1f08b07ba03e602c9b831077e37e0209e67e3386710977b17de80c185ad38695a51d522c82ce77912e2fed8be83762092f52b1820dd11bb10e565b53a5a3bbaff130713d66fa6981857060000000049454e44ae426082</data>
+    </image>
+    <image name="image1">
+        <data format="PNG" length="256">89504e470d0a1a0a0000000d49484452000000210000000e0806000000a11e758c000000c749444154388dcd94590ec3200c4471d57bc73df9f407d331b159a228aa254448bc3cc68152fec0e4420ceeceb912e08a0239838848f5df02c99c11f86004300119054ae868c56ac206c06b4b109111c802874f3a52a587757123897e4039c46b50d8865b07f5400a450053330893cf8674a30028d492deef04626b559dfe48ac842b1a6daae6850155033b99c5009f70ceda111aab413b6f6a70d118e008e6fd8bc51d5d00a0f614556d1ff9b9be4952aabc3721f8f8b6f624c557ef8947afedf48c5e60b8dfbeb81d6dab9aff99270000000049454e44ae426082</data>
+    </image>
+</images>
+<connections>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusInto</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusInto</receiver>
+        <slot>BOkPourListePressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusInto</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>LBValeurs</sender>
+        <signal>doubleClicked(QListBoxItem*)</signal>
+        <receiver>DPlusInto</receiver>
+        <slot>Sup1Valeur()</slot>
+    </connection>
+    <connection>
+        <sender>BAjout1Val</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusInto</receiver>
+        <slot>Ajout1Valeur()</slot>
+    </connection>
+    <connection>
+        <sender>BSup1Val</sender>
+        <signal>clicked()</signal>
+        <receiver>DPlusInto</receiver>
+        <slot>Sup1Valeur()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>listBoxVal</tabstop>
+    <tabstop>tabuniqueinto</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>bHelp</tabstop>
+    <tabstop>LBValeurs</tabstop>
+</tabstops>
+<slots>
+    <slot>BSupPressed()</slot>
+    <slot>ViewDoc()</slot>
+    <slot>BOkPourListePressed()</slot>
+    <slot>Ajout1Valeur()</slot>
+    <slot>Sup1Valeur()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desPoursuite.py b/UiQT4/desPoursuite.py
new file mode 100644 (file)
index 0000000..2db030c
--- /dev/null
@@ -0,0 +1,236 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desPoursuite.ui'
+#
+# Created: ven mai 16 13:30:38 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DPour(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DPour")
+
+        self.setMinimumSize(QSize(505,0))
+
+        DPourLayout = QGridLayout(self,1,1,11,6,"DPourLayout")
+
+        self.Commentaire = QLabel(self,"Commentaire")
+
+        DPourLayout.addMultiCellWidget(self.Commentaire,1,1,0,2)
+
+        self.TWChoix = QTabWidget(self,"TWChoix")
+
+        self.MotClef = QWidget(self.TWChoix,"MotClef")
+        MotClefLayout = QGridLayout(self.MotClef,1,1,11,6,"MotClefLayout")
+
+        self.textLabel1_2 = QLabel(self.MotClef,"textLabel1_2")
+
+        MotClefLayout.addWidget(self.textLabel1_2,0,1)
+
+        self.LBMCPermis = QListBox(self.MotClef,"LBMCPermis")
+        self.LBMCPermis.setMinimumSize(QSize(0,0))
+
+        MotClefLayout.addWidget(self.LBMCPermis,1,0)
+
+        self.LBRegles = QListBox(self.MotClef,"LBRegles")
+
+        MotClefLayout.addWidget(self.LBRegles,1,1)
+
+        self.textLabel1 = QLabel(self.MotClef,"textLabel1")
+        self.textLabel1.setMinimumSize(QSize(0,0))
+
+        MotClefLayout.addWidget(self.textLabel1,0,0)
+        self.TWChoix.insertTab(self.MotClef,QString(""))
+
+        self.Commande = QWidget(self.TWChoix,"Commande")
+        CommandeLayout = QGridLayout(self.Commande,1,1,11,6,"CommandeLayout")
+
+        self.LBNouvCommande = QListBox(self.Commande,"LBNouvCommande")
+
+        CommandeLayout.addMultiCellWidget(self.LBNouvCommande,2,2,0,3)
+
+        self.textLabel1_4 = QLabel(self.Commande,"textLabel1_4")
+
+        CommandeLayout.addMultiCellWidget(self.textLabel1_4,0,0,0,1)
+
+        self.buttonGroup1 = QButtonGroup(self.Commande,"buttonGroup1")
+
+        self.RBGroupe = QRadioButton(self.buttonGroup1,"RBGroupe")
+        self.RBGroupe.setGeometry(QRect(20,40,101,20))
+
+        self.RBalpha = QRadioButton(self.buttonGroup1,"RBalpha")
+        self.RBalpha.setGeometry(QRect(20,20,120,20))
+        self.RBalpha.setChecked(1)
+
+        CommandeLayout.addMultiCellWidget(self.buttonGroup1,0,1,3,3)
+
+        self.textLabel4 = QLabel(self.Commande,"textLabel4")
+
+        CommandeLayout.addMultiCellWidget(self.textLabel4,3,3,0,3)
+
+        self.BNext = QToolButton(self.Commande,"BNext")
+        self.BNext.setMinimumSize(QSize(60,0))
+        self.BNext.setIconSet(QIconSet())
+
+        CommandeLayout.addWidget(self.BNext,1,2)
+
+        self.textLabel6 = QLabel(self.Commande,"textLabel6")
+        self.textLabel6.setMinimumSize(QSize(40,0))
+
+        CommandeLayout.addWidget(self.textLabel6,1,0)
+
+        self.LEFiltre = QLineEdit(self.Commande,"LEFiltre")
+        self.LEFiltre.setMinimumSize(QSize(160,30))
+
+        CommandeLayout.addWidget(self.LEFiltre,1,1)
+        self.TWChoix.insertTab(self.Commande,QString(""))
+
+        self.TabPage = QWidget(self.TWChoix,"TabPage")
+
+        LayoutWidget = QWidget(self.TabPage,"layout4")
+        LayoutWidget.setGeometry(QRect(10,31,472,90))
+        layout4 = QVBoxLayout(LayoutWidget,11,6,"layout4")
+
+        self.textLabel1_3 = QLabel(LayoutWidget,"textLabel1_3")
+        layout4.addWidget(self.textLabel1_3)
+
+        self.LENomFichier = QLineEdit(LayoutWidget,"LENomFichier")
+        self.LENomFichier.setMinimumSize(QSize(470,40))
+        layout4.addWidget(self.LENomFichier)
+
+        LayoutWidget_2 = QWidget(self.TabPage,"layout5")
+        LayoutWidget_2.setGeometry(QRect(8,131,481,250))
+        layout5 = QGridLayout(LayoutWidget_2,1,1,11,6,"layout5")
+
+        layout3 = QHBoxLayout(None,0,6,"layout3")
+        spacer3 = QSpacerItem(331,20,QSizePolicy.Expanding,QSizePolicy.Minimum)
+        layout3.addItem(spacer3)
+
+        self.BBrowse = QPushButton(LayoutWidget_2,"BBrowse")
+        self.BBrowse.setSizePolicy(QSizePolicy(0,0,0,0,self.BBrowse.sizePolicy().hasHeightForWidth()))
+        self.BBrowse.setMinimumSize(QSize(140,50))
+        layout3.addWidget(self.BBrowse)
+
+        layout5.addLayout(layout3,1,0)
+        spacer1 = QSpacerItem(21,190,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        layout5.addItem(spacer1,0,0)
+        self.TWChoix.insertTab(self.TabPage,QString(""))
+
+        DPourLayout.addMultiCellWidget(self.TWChoix,0,0,0,2)
+
+        self.bSup = QPushButton(self,"bSup")
+        self.bSup.setMinimumSize(QSize(0,30))
+        self.bSup.setAutoDefault(1)
+
+        DPourLayout.addWidget(self.bSup,2,0)
+
+        self.bOk = QPushButton(self,"bOk")
+        self.bOk.setMinimumSize(QSize(0,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+
+        DPourLayout.addWidget(self.bOk,2,1)
+
+        self.bHelp = QPushButton(self,"bHelp")
+        self.bHelp.setMinimumSize(QSize(0,30))
+        self.bHelp.setAutoDefault(1)
+
+        DPourLayout.addWidget(self.bHelp,2,2)
+
+        self.languageChange()
+
+        self.resize(QSize(521,499).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.LBNouvCommande,SIGNAL("doubleClicked(QListBoxItem*)"),self.LBNouvCommandeClicked)
+        self.connect(self.LEFiltre,SIGNAL("textChanged(const QString&)"),self.LEFiltreTextChanged)
+        self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.LEfiltreReturnPressed)
+        self.connect(self.bSup,SIGNAL("pressed()"),self.BSupPressed)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.RBalpha,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.RBGroupe,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.BNext,SIGNAL("clicked()"),self.BNextPressed)
+        self.connect(self.BBrowse,SIGNAL("clicked()"),self.BBrowsePressed)
+        self.connect(self.LENomFichier,SIGNAL("returnPressed()"),self.LENomFichReturnPressed)
+
+        self.setTabOrder(self.LEFiltre,self.LENomFichier)
+        self.setTabOrder(self.LENomFichier,self.TWChoix)
+        self.setTabOrder(self.TWChoix,self.LBMCPermis)
+        self.setTabOrder(self.LBMCPermis,self.LBRegles)
+        self.setTabOrder(self.LBRegles,self.LBNouvCommande)
+        self.setTabOrder(self.LBNouvCommande,self.RBalpha)
+        self.setTabOrder(self.RBalpha,self.BBrowse)
+        self.setTabOrder(self.BBrowse,self.bSup)
+        self.setTabOrder(self.bSup,self.bOk)
+        self.setTabOrder(self.bOk,self.bHelp)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DMacro"))
+        self.Commentaire.setText(QString.null)
+        self.textLabel1_2.setText(self.__trUtf8("\x3c\x68\x33\x3e\x3c\x70\x20\x61\x6c\x69\x67\x6e\x3d\x22\x63\x65\x6e\x74\x65\x72\x22\x3e\x3c\x75\x3e\x3c\x62\x3e\x52\xc3\xa9\x67\x6c\x65\x73\x3c\x2f\x62\x3e\x3c\x2f\x75\x3e\x3c\x2f\x70\x3e\x3c\x2f\x68\x33\x3e"))
+        self.textLabel1.setText(self.__tr("<h3><p align=\"center\"><u><b>Mots Clefs Permis</b></u></p></h3>"))
+        self.TWChoix.changeTab(self.MotClef,self.__tr("Ajouter Mot-Clef"))
+        self.textLabel1_4.setText(self.__tr("<b><u>Commandes :</u></b>"))
+        self.buttonGroup1.setTitle(self.__tr("Affichage"))
+        self.RBGroupe.setText(self.__tr("par groupe"))
+        self.RBalpha.setText(self.__trUtf8("\x61\x6c\x70\x68\x61\x62\xc3\xa9\x74\x69\x71\x75\x65"))
+        self.textLabel4.setText(self.__trUtf8("\x4c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x68\x6f\x69\x73\x69\x65\x20\x73\x65\x72\x61\x20\x61\x6a\x6f\x75\x74\xc3\xa9\x65\x20\x41\x50\x52\x45\x53\x20\x6c\x61\x20\x63\x6f\x6d\x6d\x61\x6e\x64\x65\x20\x63\x6f\x75\x72\x61\x6e\x74\x65"))
+        self.BNext.setText(self.__tr("Suivant"))
+        QToolTip.add(self.BNext,self.__tr("affiche la prochaine occurence"))
+        self.textLabel6.setText(self.__tr("Filtre"))
+        self.TWChoix.changeTab(self.Commande,self.__tr("Nouvelle Commande"))
+        self.textLabel1_3.setText(self.__tr("<font size=\"+1\">La commande POURSUITE requiert un nom de Fichier :</font>"))
+        self.BBrowse.setText(self.__tr("Edit"))
+        self.TWChoix.changeTab(self.TabPage,self.__tr("Fichier Poursuite"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+
+
+    def LBNouvCommandeClicked(self):
+        print "DPour.LBNouvCommandeClicked(): Not implemented yet"
+
+    def LEFiltreTextChanged(self):
+        print "DPour.LEFiltreTextChanged(): Not implemented yet"
+
+    def LEfiltreReturnPressed(self):
+        print "DPour.LEfiltreReturnPressed(): Not implemented yet"
+
+    def BSupPressed(self):
+        print "DPour.BSupPressed(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DPour.BOkPressed(): Not implemented yet"
+
+    def BuildTabCommand(self):
+        print "DPour.BuildTabCommand(): Not implemented yet"
+
+    def BNextPressed(self):
+        print "DPour.BNextPressed(): Not implemented yet"
+
+    def BBrowsePressed(self):
+        print "DPour.BBrowsePressed(): Not implemented yet"
+
+    def LENomFichReturnPressed(self):
+        print "DPour.LENomFichReturnPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DPour",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DPour",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desPoursuite.ui b/UiQT4/desPoursuite.ui
new file mode 100644 (file)
index 0000000..17f7d6d
--- /dev/null
@@ -0,0 +1,504 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DPour</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DPour</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>521</width>
+            <height>499</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>505</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DMacro</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QLabel" row="1" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>Commentaire</cstring>
+            </property>
+            <property name="text">
+                <string></string>
+            </property>
+        </widget>
+        <widget class="QTabWidget" row="0" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>TWChoix</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>MotClef</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Ajouter Mot-Clef</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QLabel" row="0" column="1">
+                        <property name="name">
+                            <cstring>textLabel1_2</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;h3&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;b&gt;Régles&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;/h3&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QListBox" row="1" column="0">
+                        <property name="name">
+                            <cstring>LBMCPermis</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <widget class="QListBox" row="1" column="1">
+                        <property name="name">
+                            <cstring>LBRegles</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="0" column="0">
+                        <property name="name">
+                            <cstring>textLabel1</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&lt;h3&gt;&lt;p align="center"&gt;&lt;u&gt;&lt;b&gt;Mots Clefs Permis&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;/h3&gt;</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Commande</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Nouvelle Commande</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QListBox" row="2" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>LBNouvCommande</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>textLabel1_4</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;b&gt;&lt;u&gt;Commandes :&lt;/u&gt;&lt;/b&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QButtonGroup" row="0" column="3" rowspan="2" colspan="1">
+                        <property name="name">
+                            <cstring>buttonGroup1</cstring>
+                        </property>
+                        <property name="title">
+                            <string>Affichage</string>
+                        </property>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBGroupe</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>40</y>
+                                    <width>101</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>par groupe</string>
+                            </property>
+                        </widget>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBalpha</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>20</y>
+                                    <width>120</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>alphabétique</string>
+                            </property>
+                            <property name="checked">
+                                <bool>true</bool>
+                            </property>
+                        </widget>
+                    </widget>
+                    <widget class="QLabel" row="3" column="0" rowspan="1" colspan="4">
+                        <property name="name">
+                            <cstring>textLabel4</cstring>
+                        </property>
+                        <property name="text">
+                            <string>La commande choisie sera ajoutée APRES la commande courante</string>
+                        </property>
+                    </widget>
+                    <widget class="QToolButton" row="1" column="2">
+                        <property name="name">
+                            <cstring>BNext</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>60</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Suivant</string>
+                        </property>
+                        <property name="iconSet">
+                            <iconset></iconset>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>affiche la prochaine occurence</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="1" column="0">
+                        <property name="name">
+                            <cstring>textLabel6</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>40</width>
+                                <height>0</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Filtre</string>
+                        </property>
+                    </widget>
+                    <widget class="QLineEdit" row="1" column="1">
+                        <property name="name">
+                            <cstring>LEFiltre</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>160</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>TabPage</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Fichier Poursuite</string>
+                </attribute>
+                <widget class="QLayoutWidget">
+                    <property name="name">
+                        <cstring>layout4</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>10</x>
+                            <y>31</y>
+                            <width>472</width>
+                            <height>90</height>
+                        </rect>
+                    </property>
+                    <vbox>
+                        <property name="name">
+                            <cstring>unnamed</cstring>
+                        </property>
+                        <widget class="QLabel">
+                            <property name="name">
+                                <cstring>textLabel1_3</cstring>
+                            </property>
+                            <property name="text">
+                                <string>&lt;font size="+1"&gt;La commande POURSUITE requiert un nom de Fichier :&lt;/font&gt;</string>
+                            </property>
+                        </widget>
+                        <widget class="QLineEdit">
+                            <property name="name">
+                                <cstring>LENomFichier</cstring>
+                            </property>
+                            <property name="minimumSize">
+                                <size>
+                                    <width>470</width>
+                                    <height>40</height>
+                                </size>
+                            </property>
+                        </widget>
+                    </vbox>
+                </widget>
+                <widget class="QLayoutWidget">
+                    <property name="name">
+                        <cstring>layout5</cstring>
+                    </property>
+                    <property name="geometry">
+                        <rect>
+                            <x>8</x>
+                            <y>131</y>
+                            <width>481</width>
+                            <height>250</height>
+                        </rect>
+                    </property>
+                    <grid>
+                        <property name="name">
+                            <cstring>unnamed</cstring>
+                        </property>
+                        <widget class="QLayoutWidget" row="1" column="0">
+                            <property name="name">
+                                <cstring>layout3</cstring>
+                            </property>
+                            <hbox>
+                                <property name="name">
+                                    <cstring>unnamed</cstring>
+                                </property>
+                                <spacer>
+                                    <property name="name">
+                                        <cstring>spacer3</cstring>
+                                    </property>
+                                    <property name="orientation">
+                                        <enum>Horizontal</enum>
+                                    </property>
+                                    <property name="sizeType">
+                                        <enum>Expanding</enum>
+                                    </property>
+                                    <property name="sizeHint">
+                                        <size>
+                                            <width>331</width>
+                                            <height>20</height>
+                                        </size>
+                                    </property>
+                                </spacer>
+                                <widget class="QPushButton">
+                                    <property name="name">
+                                        <cstring>BBrowse</cstring>
+                                    </property>
+                                    <property name="sizePolicy">
+                                        <sizepolicy>
+                                            <hsizetype>0</hsizetype>
+                                            <vsizetype>0</vsizetype>
+                                            <horstretch>0</horstretch>
+                                            <verstretch>0</verstretch>
+                                        </sizepolicy>
+                                    </property>
+                                    <property name="minimumSize">
+                                        <size>
+                                            <width>140</width>
+                                            <height>50</height>
+                                        </size>
+                                    </property>
+                                    <property name="text">
+                                        <string>Edit</string>
+                                    </property>
+                                </widget>
+                            </hbox>
+                        </widget>
+                        <spacer row="0" column="0">
+                            <property name="name">
+                                <cstring>spacer1</cstring>
+                            </property>
+                            <property name="orientation">
+                                <enum>Vertical</enum>
+                            </property>
+                            <property name="sizeType">
+                                <enum>Expanding</enum>
+                            </property>
+                            <property name="sizeHint">
+                                <size>
+                                    <width>21</width>
+                                    <height>190</height>
+                                </size>
+                            </property>
+                        </spacer>
+                    </grid>
+                </widget>
+            </widget>
+        </widget>
+        <widget class="QPushButton" row="2" column="0">
+            <property name="name">
+                <cstring>bSup</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Supprimer</string>
+            </property>
+            <property name="accel">
+                <string>Alt+S</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>suppression du mot clef</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="1">
+            <property name="name">
+                <cstring>bOk</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Valider</string>
+            </property>
+            <property name="accel">
+                <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="default">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>validation de la saisie</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="2" column="2">
+            <property name="name">
+                <cstring>bHelp</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Documentation</string>
+            </property>
+            <property name="accel">
+                <string>Alt+D</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>affichage documentation aster</string>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>LBNouvCommande</sender>
+        <signal>doubleClicked(QListBoxItem*)</signal>
+        <receiver>DPour</receiver>
+        <slot>LBNouvCommandeClicked()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>DPour</receiver>
+        <slot>LEFiltreTextChanged()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DPour</receiver>
+        <slot>LEfiltreReturnPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>pressed()</signal>
+        <receiver>DPour</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DPour</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>RBalpha</sender>
+        <signal>clicked()</signal>
+        <receiver>DPour</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>RBGroupe</sender>
+        <signal>clicked()</signal>
+        <receiver>DPour</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>BNext</sender>
+        <signal>clicked()</signal>
+        <receiver>DPour</receiver>
+        <slot>BNextPressed()</slot>
+    </connection>
+    <connection>
+        <sender>BBrowse</sender>
+        <signal>clicked()</signal>
+        <receiver>DPour</receiver>
+        <slot>BBrowsePressed()</slot>
+    </connection>
+    <connection>
+        <sender>LENomFichier</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DPour</receiver>
+        <slot>LENomFichReturnPressed()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LEFiltre</tabstop>
+    <tabstop>LENomFichier</tabstop>
+    <tabstop>TWChoix</tabstop>
+    <tabstop>LBMCPermis</tabstop>
+    <tabstop>LBRegles</tabstop>
+    <tabstop>LBNouvCommande</tabstop>
+    <tabstop>RBalpha</tabstop>
+    <tabstop>BBrowse</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>bHelp</tabstop>
+</tabstops>
+<slots>
+    <slot>LBNouvCommandeClicked()</slot>
+    <slot>LEFiltreTextChanged()</slot>
+    <slot>LEfiltreReturnPressed()</slot>
+    <slot>BSupPressed()</slot>
+    <slot>BOkPressed()</slot>
+    <slot>BuildTabCommand()</slot>
+    <slot>BNextPressed()</slot>
+    <slot>BBrowsePressed()</slot>
+    <slot>LENomFichReturnPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desRacine.py b/UiQT4/desRacine.py
new file mode 100644 (file)
index 0000000..39382eb
--- /dev/null
@@ -0,0 +1,166 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desRacine.ui'
+#
+# Created: Mon Jun 2 16:02:17 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.16
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DRac(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DRac")
+
+        self.setMinimumSize(QSize(505,0))
+
+        DRacLayout = QGridLayout(self,1,1,11,6,"DRacLayout")
+
+        self.textLabel1_4 = QLabel(self,"textLabel1_4")
+        self.textLabel1_4.setMinimumSize(QSize(291,21))
+
+        DRacLayout.addMultiCellWidget(self.textLabel1_4,0,0,0,1)
+
+        self.textLabel1_4_2 = QLabel(self,"textLabel1_4_2")
+
+        DRacLayout.addMultiCellWidget(self.textLabel1_4_2,0,1,2,3)
+
+        self.buttonGroup1 = QButtonGroup(self,"buttonGroup1")
+        self.buttonGroup1.setMinimumSize(QSize(0,60))
+
+        self.RBGroupe = QRadioButton(self.buttonGroup1,"RBGroupe")
+        self.RBGroupe.setGeometry(QRect(10,20,90,20))
+
+        self.RBalpha = QRadioButton(self.buttonGroup1,"RBalpha")
+        self.RBalpha.setGeometry(QRect(110,20,120,20))
+        self.RBalpha.setChecked(1)
+
+        DRacLayout.addMultiCellWidget(self.buttonGroup1,1,1,0,1)
+
+        self.bHelp = QPushButton(self,"bHelp")
+        self.bHelp.setMinimumSize(QSize(160,30))
+        self.bHelp.setAutoDefault(1)
+
+        DRacLayout.addWidget(self.bHelp,3,3)
+
+        self.bSup = QPushButton(self,"bSup")
+        self.bSup.setMinimumSize(QSize(160,30))
+        self.bSup.setAutoDefault(1)
+
+        DRacLayout.addWidget(self.bSup,3,0)
+
+        self.bOk = QPushButton(self,"bOk")
+        self.bOk.setMinimumSize(QSize(160,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+
+        DRacLayout.addMultiCellWidget(self.bOk,3,3,1,2)
+
+        layout2 = QGridLayout(None,1,1,0,6,"layout2")
+
+        self.BNext = QToolButton(self,"BNext")
+        self.BNext.setMinimumSize(QSize(60,30))
+        self.BNext.setIconSet(QIconSet())
+
+        layout2.addWidget(self.BNext,0,2)
+
+        self.LEFiltre = QLineEdit(self,"LEFiltre")
+        self.LEFiltre.setMinimumSize(QSize(0,30))
+
+        layout2.addWidget(self.LEFiltre,0,1)
+
+        self.LBRegles = QListBox(self,"LBRegles")
+        self.LBRegles.setMinimumSize(QSize(240,350))
+
+        layout2.addMultiCellWidget(self.LBRegles,0,1,3,3)
+
+        self.textLabel6 = QLabel(self,"textLabel6")
+        self.textLabel6.setMinimumSize(QSize(40,0))
+
+        layout2.addWidget(self.textLabel6,0,0)
+
+        self.LBNouvCommande = QListBox(self,"LBNouvCommande")
+
+        layout2.addMultiCellWidget(self.LBNouvCommande,1,1,0,2)
+
+        DRacLayout.addMultiCellLayout(layout2,2,2,0,3)
+
+        self.languageChange()
+
+        self.resize(QSize(509,513).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.LBNouvCommande,SIGNAL("doubleClicked(QListBoxItem*)"),self.LBNouvCommandeClicked)
+        self.connect(self.LEFiltre,SIGNAL("textChanged(const QString&)"),self.LEFiltreTextChanged)
+        self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.LEfiltreReturnPressed)
+        self.connect(self.bSup,SIGNAL("pressed()"),self.BSupPressed)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.RBalpha,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.RBGroupe,SIGNAL("clicked()"),self.BuildTabCommand)
+        self.connect(self.BNext,SIGNAL("clicked()"),self.BNextPressed)
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+
+        self.setTabOrder(self.LEFiltre,self.LBNouvCommande)
+        self.setTabOrder(self.LBNouvCommande,self.RBalpha)
+        self.setTabOrder(self.RBalpha,self.bSup)
+        self.setTabOrder(self.bSup,self.bOk)
+        self.setTabOrder(self.bOk,self.bHelp)
+        self.setTabOrder(self.bHelp,self.LBRegles)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DMacro"))
+        self.textLabel1_4.setText(self.__tr("<b><u>Commandes :</u></b>"))
+        self.textLabel1_4_2.setText(self.__trUtf8("\x3c\x70\x20\x61\x6c\x69\x67\x6e\x3d\x22\x63\x65\x6e\x74\x65\x72\x22\x3e\x3c\x62\x3e\x3c\x75\x3e\x52\xc3\xa9\x67\x6c\x65\x73\x20\x3a\x3c\x2f\x75\x3e\x3c\x2f\x62\x3e\x3c\x2f\x70\x3e"))
+        self.buttonGroup1.setTitle(self.__tr("Affichage"))
+        self.RBGroupe.setText(self.__tr("par groupe"))
+        self.RBalpha.setText(self.__trUtf8("\x61\x6c\x70\x68\x61\x62\xc3\xa9\x74\x69\x71\x75\x65"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(QKeySequence(self.__tr("Alt+D")))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(QKeySequence(self.__tr("Alt+S")))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(QKeySequence(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A")))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.BNext.setText(self.__tr("Suivant"))
+        QToolTip.add(self.BNext,self.__tr("affiche la prochaine occurence"))
+        self.textLabel6.setText(self.__tr("Filtre"))
+
+
+    def LBNouvCommandeClicked(self):
+        print "DRac.LBNouvCommandeClicked(): Not implemented yet"
+
+    def LEFiltreTextChanged(self):
+        print "DRac.LEFiltreTextChanged(): Not implemented yet"
+
+    def LEfiltreReturnPressed(self):
+        print "DRac.LEfiltreReturnPressed(): Not implemented yet"
+
+    def BSupPressed(self):
+        print "DRac.BSupPressed(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DRac.BOkPressed(): Not implemented yet"
+
+    def BuildTabCommand(self):
+        print "DRac.BuildTabCommand(): Not implemented yet"
+
+    def BNextPressed(self):
+        print "DRac.BNextPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DRac.ViewDoc(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DRac",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DRac",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desRacine.ui b/UiQT4/desRacine.ui
new file mode 100644 (file)
index 0000000..b4ee15d
--- /dev/null
@@ -0,0 +1,320 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DRac</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DRac</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>509</width>
+            <height>513</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>505</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DMacro</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>textLabel1_4</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>291</width>
+                    <height>21</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&lt;b&gt;&lt;u&gt;Commandes :&lt;/u&gt;&lt;/b&gt;</string>
+            </property>
+        </widget>
+        <widget class="QLabel" row="0" column="2" rowspan="2" colspan="2">
+            <property name="name">
+                <cstring>textLabel1_4_2</cstring>
+            </property>
+            <property name="text">
+                <string>&lt;p align="center"&gt;&lt;b&gt;&lt;u&gt;Régles :&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;</string>
+            </property>
+        </widget>
+        <widget class="QButtonGroup" row="1" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>buttonGroup1</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>60</height>
+                </size>
+            </property>
+            <property name="title">
+                <string>Affichage</string>
+            </property>
+            <widget class="QRadioButton">
+                <property name="name">
+                    <cstring>RBGroupe</cstring>
+                </property>
+                <property name="geometry">
+                    <rect>
+                        <x>10</x>
+                        <y>20</y>
+                        <width>90</width>
+                        <height>20</height>
+                    </rect>
+                </property>
+                <property name="text">
+                    <string>par groupe</string>
+                </property>
+            </widget>
+            <widget class="QRadioButton">
+                <property name="name">
+                    <cstring>RBalpha</cstring>
+                </property>
+                <property name="geometry">
+                    <rect>
+                        <x>110</x>
+                        <y>20</y>
+                        <width>120</width>
+                        <height>20</height>
+                    </rect>
+                </property>
+                <property name="text">
+                    <string>alphabétique</string>
+                </property>
+                <property name="checked">
+                    <bool>true</bool>
+                </property>
+            </widget>
+        </widget>
+        <widget class="QPushButton" row="3" column="3">
+            <property name="name">
+                <cstring>bHelp</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>160</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Documentation</string>
+            </property>
+            <property name="accel">
+                <string>Alt+D</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>affichage documentation aster</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="3" column="0">
+            <property name="name">
+                <cstring>bSup</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>160</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Supprimer</string>
+            </property>
+            <property name="accel">
+                <string>Alt+S</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>suppression du mot clef</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="3" column="1" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>bOk</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>160</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Valider</string>
+            </property>
+            <property name="accel">
+                <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="default">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>validation de la saisie</string>
+            </property>
+        </widget>
+        <widget class="QLayoutWidget" row="2" column="0" rowspan="1" colspan="4">
+            <property name="name">
+                <cstring>layout2</cstring>
+            </property>
+            <grid>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <widget class="QToolButton" row="0" column="2">
+                    <property name="name">
+                        <cstring>BNext</cstring>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>60</width>
+                            <height>30</height>
+                        </size>
+                    </property>
+                    <property name="text">
+                        <string>Suivant</string>
+                    </property>
+                    <property name="iconSet">
+                        <iconset></iconset>
+                    </property>
+                    <property name="toolTip" stdset="0">
+                        <string>affiche la prochaine occurence</string>
+                    </property>
+                </widget>
+                <widget class="QLineEdit" row="0" column="1">
+                    <property name="name">
+                        <cstring>LEFiltre</cstring>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>0</width>
+                            <height>30</height>
+                        </size>
+                    </property>
+                </widget>
+                <widget class="QListBox" row="0" column="3" rowspan="2" colspan="1">
+                    <property name="name">
+                        <cstring>LBRegles</cstring>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>240</width>
+                            <height>350</height>
+                        </size>
+                    </property>
+                </widget>
+                <widget class="QLabel" row="0" column="0">
+                    <property name="name">
+                        <cstring>textLabel6</cstring>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>40</width>
+                            <height>0</height>
+                        </size>
+                    </property>
+                    <property name="text">
+                        <string>Filtre</string>
+                    </property>
+                </widget>
+                <widget class="QListBox" row="1" column="0" rowspan="1" colspan="3">
+                    <property name="name">
+                        <cstring>LBNouvCommande</cstring>
+                    </property>
+                </widget>
+            </grid>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>LBNouvCommande</sender>
+        <signal>doubleClicked(QListBoxItem*)</signal>
+        <receiver>DRac</receiver>
+        <slot>LBNouvCommandeClicked()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>DRac</receiver>
+        <slot>LEFiltreTextChanged()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DRac</receiver>
+        <slot>LEfiltreReturnPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>pressed()</signal>
+        <receiver>DRac</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DRac</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>RBalpha</sender>
+        <signal>clicked()</signal>
+        <receiver>DRac</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>RBGroupe</sender>
+        <signal>clicked()</signal>
+        <receiver>DRac</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>BNext</sender>
+        <signal>clicked()</signal>
+        <receiver>DRac</receiver>
+        <slot>BNextPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DRac</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LEFiltre</tabstop>
+    <tabstop>LBNouvCommande</tabstop>
+    <tabstop>RBalpha</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>bHelp</tabstop>
+    <tabstop>LBRegles</tabstop>
+</tabstops>
+<slots>
+    <slot>LBNouvCommandeClicked()</slot>
+    <slot>LEFiltreTextChanged()</slot>
+    <slot>LEfiltreReturnPressed()</slot>
+    <slot>BSupPressed()</slot>
+    <slot>BOkPressed()</slot>
+    <slot>BuildTabCommand()</slot>
+    <slot>BNextPressed()</slot>
+    <slot>ViewDoc()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desRacine.ui~ b/UiQT4/desRacine.ui~
new file mode 100644 (file)
index 0000000..9dbe4b9
--- /dev/null
@@ -0,0 +1,304 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DRac</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DRac</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>509</width>
+            <height>513</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>505</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DMacro</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QLabel" row="0" column="0" rowspan="1" colspan="5">
+            <property name="name">
+                <cstring>textLabel1_4</cstring>
+            </property>
+            <property name="text">
+                <string>&lt;b&gt;&lt;u&gt;Commandes :&lt;/u&gt;&lt;/b&gt;</string>
+            </property>
+        </widget>
+        <widget class="QLabel" row="0" column="5" rowspan="2" colspan="2">
+            <property name="name">
+                <cstring>textLabel1_4_2</cstring>
+            </property>
+            <property name="text">
+                <string>&lt;p align="center"&gt;&lt;b&gt;&lt;u&gt;Régles :&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;</string>
+            </property>
+        </widget>
+        <widget class="QButtonGroup" row="1" column="0" rowspan="1" colspan="4">
+            <property name="name">
+                <cstring>buttonGroup1</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>60</height>
+                </size>
+            </property>
+            <property name="title">
+                <string>Affichage</string>
+            </property>
+            <widget class="QRadioButton">
+                <property name="name">
+                    <cstring>RBGroupe</cstring>
+                </property>
+                <property name="geometry">
+                    <rect>
+                        <x>10</x>
+                        <y>20</y>
+                        <width>90</width>
+                        <height>20</height>
+                    </rect>
+                </property>
+                <property name="text">
+                    <string>par groupe</string>
+                </property>
+            </widget>
+            <widget class="QRadioButton">
+                <property name="name">
+                    <cstring>RBalpha</cstring>
+                </property>
+                <property name="geometry">
+                    <rect>
+                        <x>110</x>
+                        <y>20</y>
+                        <width>120</width>
+                        <height>20</height>
+                    </rect>
+                </property>
+                <property name="text">
+                    <string>alphabétique</string>
+                </property>
+                <property name="checked">
+                    <bool>true</bool>
+                </property>
+            </widget>
+        </widget>
+        <widget class="QListBox" row="2" column="4" rowspan="2" colspan="3">
+            <property name="name">
+                <cstring>LBRegles</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>200</width>
+                    <height>350</height>
+                </size>
+            </property>
+        </widget>
+        <widget class="QListBox" row="3" column="0" rowspan="1" colspan="4">
+            <property name="name">
+                <cstring>LBNouvCommande</cstring>
+            </property>
+        </widget>
+        <widget class="QToolButton" row="2" column="3">
+            <property name="name">
+                <cstring>BNext</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>60</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>Suivant</string>
+            </property>
+            <property name="iconSet">
+                <iconset></iconset>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>affiche la prochaine occurence</string>
+            </property>
+        </widget>
+        <widget class="QLineEdit" row="2" column="1" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>LEFiltre</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+        </widget>
+        <widget class="QLabel" row="2" column="0">
+            <property name="name">
+                <cstring>textLabel6</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>40</width>
+                    <height>0</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>Filtre</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="4" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>bSup</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Supprimer</string>
+            </property>
+            <property name="accel">
+                <string>Alt+S</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>suppression du mot clef</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="4" column="2" rowspan="1" colspan="4">
+            <property name="name">
+                <cstring>bOk</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Valider</string>
+            </property>
+            <property name="accel">
+                <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="default">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>validation de la saisie</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="4" column="6">
+            <property name="name">
+                <cstring>bHelp</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>0</width>
+                    <height>30</height>
+                </size>
+            </property>
+            <property name="text">
+                <string>&amp;Documentation</string>
+            </property>
+            <property name="accel">
+                <string>Alt+D</string>
+            </property>
+            <property name="autoDefault">
+                <bool>true</bool>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>affichage documentation aster</string>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>LBNouvCommande</sender>
+        <signal>doubleClicked(QListBoxItem*)</signal>
+        <receiver>DRac</receiver>
+        <slot>LBNouvCommandeClicked()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>textChanged(const QString&amp;)</signal>
+        <receiver>DRac</receiver>
+        <slot>LEFiltreTextChanged()</slot>
+    </connection>
+    <connection>
+        <sender>LEFiltre</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DRac</receiver>
+        <slot>LEfiltreReturnPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>pressed()</signal>
+        <receiver>DRac</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DRac</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>RBalpha</sender>
+        <signal>clicked()</signal>
+        <receiver>DRac</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>RBGroupe</sender>
+        <signal>clicked()</signal>
+        <receiver>DRac</receiver>
+        <slot>BuildTabCommand()</slot>
+    </connection>
+    <connection>
+        <sender>BNext</sender>
+        <signal>clicked()</signal>
+        <receiver>DRac</receiver>
+        <slot>BNextPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DRac</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LEFiltre</tabstop>
+    <tabstop>LBNouvCommande</tabstop>
+    <tabstop>RBalpha</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>bHelp</tabstop>
+    <tabstop>LBRegles</tabstop>
+</tabstops>
+<slots>
+    <slot>LBNouvCommandeClicked()</slot>
+    <slot>LEFiltreTextChanged()</slot>
+    <slot>LEfiltreReturnPressed()</slot>
+    <slot>BSupPressed()</slot>
+    <slot>BOkPressed()</slot>
+    <slot>BuildTabCommand()</slot>
+    <slot>BNextPressed()</slot>
+    <slot>ViewDoc()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desSelectVal.py b/UiQT4/desSelectVal.py
new file mode 100644 (file)
index 0000000..f43b5d2
--- /dev/null
@@ -0,0 +1,91 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desSelectVal.ui'
+#
+# Created: mar mar 25 10:05:09 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DSelVal(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DSelVal")
+
+
+        DSelValLayout = QGridLayout(self,1,1,11,6,"DSelValLayout")
+
+        self.TBtext = QTextBrowser(self,"TBtext")
+
+        DSelValLayout.addMultiCellWidget(self.TBtext,0,0,0,1)
+
+        self.BGSeparateur = QButtonGroup(self,"BGSeparateur")
+        self.BGSeparateur.setMinimumSize(QSize(180,100))
+
+        LayoutWidget = QWidget(self.BGSeparateur,"layout1")
+        LayoutWidget.setGeometry(QRect(17,20,150,74))
+        layout1 = QGridLayout(LayoutWidget,1,1,11,6,"layout1")
+
+        self.BpointVirgule = QRadioButton(LayoutWidget,"BpointVirgule")
+
+        layout1.addWidget(self.BpointVirgule,2,0)
+
+        self.Bespace = QRadioButton(LayoutWidget,"Bespace")
+        self.Bespace.setChecked(1)
+
+        layout1.addWidget(self.Bespace,0,0)
+
+        self.Bvirgule = QRadioButton(LayoutWidget,"Bvirgule")
+
+        layout1.addWidget(self.Bvirgule,1,0)
+
+        DSelValLayout.addMultiCellWidget(self.BGSeparateur,1,2,0,0)
+
+        self.BImportTout = QPushButton(self,"BImportTout")
+
+        DSelValLayout.addWidget(self.BImportTout,2,1)
+
+        self.BImportSel = QPushButton(self,"BImportSel")
+
+        DSelValLayout.addWidget(self.BImportSel,1,1)
+
+        self.languageChange()
+
+        self.resize(QSize(413,497).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.BGSeparateur,SIGNAL("clicked(int)"),self.SeparateurSelect)
+        self.connect(self.BImportSel,SIGNAL("clicked()"),self.BImportSelPressed)
+        self.connect(self.BImportTout,SIGNAL("clicked()"),self.BImportToutPressed)
+
+
+    def languageChange(self):
+        self.setCaption(self.__trUtf8("\x53\xc3\xa9\x6c\x65\x63\x74\x69\x6f\x6e\x20\x64\x65\x20\x76\x61\x6c\x65\x75\x72\x73"))
+        self.BGSeparateur.setTitle(self.__trUtf8("\x53\xc3\xa9\x70\x61\x72\x61\x74\x65\x75\x72"))
+        self.BpointVirgule.setText(self.__tr("point-virgule"))
+        self.Bespace.setText(self.__tr("espace"))
+        self.Bvirgule.setText(self.__tr("virgule"))
+        self.BImportTout.setText(self.__tr("Importer Tout"))
+        self.BImportSel.setText(self.__tr("Ajouter Selection"))
+
+
+    def SeparateurSelect(self):
+        print "DSelVal.SeparateurSelect(): Not implemented yet"
+
+    def BImportSelPressed(self):
+        print "DSelVal.BImportSelPressed(): Not implemented yet"
+
+    def BImportToutPressed(self):
+        print "DSelVal.BImportToutPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DSelVal",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DSelVal",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desSelectVal.ui b/UiQT4/desSelectVal.ui
new file mode 100644 (file)
index 0000000..ae092f5
--- /dev/null
@@ -0,0 +1,130 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DSelVal</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DSelVal</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>413</width>
+            <height>497</height>
+        </rect>
+    </property>
+    <property name="caption">
+        <string>Sélection de valeurs</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QTextBrowser" row="0" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>TBtext</cstring>
+            </property>
+        </widget>
+        <widget class="QButtonGroup" row="1" column="0" rowspan="2" colspan="1">
+            <property name="name">
+                <cstring>BGSeparateur</cstring>
+            </property>
+            <property name="minimumSize">
+                <size>
+                    <width>180</width>
+                    <height>100</height>
+                </size>
+            </property>
+            <property name="title">
+                <string>Séparateur</string>
+            </property>
+            <widget class="QLayoutWidget">
+                <property name="name">
+                    <cstring>layout1</cstring>
+                </property>
+                <property name="geometry">
+                    <rect>
+                        <x>17</x>
+                        <y>20</y>
+                        <width>150</width>
+                        <height>74</height>
+                    </rect>
+                </property>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QRadioButton" row="2" column="0">
+                        <property name="name">
+                            <cstring>BpointVirgule</cstring>
+                        </property>
+                        <property name="text">
+                            <string>point-virgule</string>
+                        </property>
+                    </widget>
+                    <widget class="QRadioButton" row="0" column="0">
+                        <property name="name">
+                            <cstring>Bespace</cstring>
+                        </property>
+                        <property name="text">
+                            <string>espace</string>
+                        </property>
+                        <property name="checked">
+                            <bool>true</bool>
+                        </property>
+                    </widget>
+                    <widget class="QRadioButton" row="1" column="0">
+                        <property name="name">
+                            <cstring>Bvirgule</cstring>
+                        </property>
+                        <property name="text">
+                            <string>virgule</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+        <widget class="QPushButton" row="2" column="1">
+            <property name="name">
+                <cstring>BImportTout</cstring>
+            </property>
+            <property name="text">
+                <string>Importer Tout</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="1" column="1">
+            <property name="name">
+                <cstring>BImportSel</cstring>
+            </property>
+            <property name="text">
+                <string>Ajouter Selection</string>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>BGSeparateur</sender>
+        <signal>clicked(int)</signal>
+        <receiver>DSelVal</receiver>
+        <slot>SeparateurSelect()</slot>
+    </connection>
+    <connection>
+        <sender>BImportSel</sender>
+        <signal>clicked()</signal>
+        <receiver>DSelVal</receiver>
+        <slot>BImportSelPressed()</slot>
+    </connection>
+    <connection>
+        <sender>BImportTout</sender>
+        <signal>clicked()</signal>
+        <receiver>DSelVal</receiver>
+        <slot>BImportToutPressed()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>SeparateurSelect()</slot>
+    <slot>BImportSelPressed()</slot>
+    <slot>BImportToutPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desUniqueASSD.py b/UiQT4/desUniqueASSD.py
new file mode 100644 (file)
index 0000000..12a7993
--- /dev/null
@@ -0,0 +1,106 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desUniqueASSD.ui'
+#
+# Created: mar mar 25 10:05:09 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DUnASSD(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DUnASSD")
+
+        self.setMinimumSize(QSize(350,0))
+
+        DUnASSDLayout = QGridLayout(self,1,1,11,6,"DUnASSDLayout")
+
+        self.tabuniqueinto = QTabWidget(self,"tabuniqueinto")
+
+        self.Widget8 = QWidget(self.tabuniqueinto,"Widget8")
+        Widget8Layout = QGridLayout(self.Widget8,1,1,11,6,"Widget8Layout")
+
+        self.textLabel2 = QLabel(self.Widget8,"textLabel2")
+        self.textLabel2.setMinimumSize(QSize(436,50))
+
+        Widget8Layout.addWidget(self.textLabel2,0,0)
+
+        self.listBoxASSD = QListBox(self.Widget8,"listBoxASSD")
+
+        Widget8Layout.addWidget(self.listBoxASSD,1,0)
+
+        self.Commentaire = QLabel(self.Widget8,"Commentaire")
+        self.Commentaire.setMinimumSize(QSize(380,30))
+
+        Widget8Layout.addWidget(self.Commentaire,2,0)
+
+        layout2 = QHBoxLayout(None,0,6,"layout2")
+
+        self.bSup = QPushButton(self.Widget8,"bSup")
+        self.bSup.setMinimumSize(QSize(0,30))
+        self.bSup.setAutoDefault(1)
+        layout2.addWidget(self.bSup)
+
+        self.bOk = QPushButton(self.Widget8,"bOk")
+        self.bOk.setMinimumSize(QSize(0,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+        layout2.addWidget(self.bOk)
+
+        self.bHelp = QPushButton(self.Widget8,"bHelp")
+        self.bHelp.setMinimumSize(QSize(0,30))
+        self.bHelp.setAutoDefault(1)
+        layout2.addWidget(self.bHelp)
+
+        Widget8Layout.addLayout(layout2,3,0)
+        self.tabuniqueinto.insertTab(self.Widget8,QString(""))
+
+        DUnASSDLayout.addWidget(self.tabuniqueinto,0,0)
+
+        self.languageChange()
+
+        self.resize(QSize(482,480).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.bSup,SIGNAL("clicked()"),self.BSupPressed)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DUnIn"))
+        self.textLabel2.setText(self.__trUtf8("\x3c\x66\x6f\x6e\x74\x20\x73\x69\x7a\x65\x3d\x22\x2b\x31\x22\x3e\x3c\x70\x20\x61\x6c\x69\x67\x6e\x3d\x22\x63\x65\x6e\x74\x65\x72\x22\x3e\x53\x74\x72\x75\x63\x74\x75\x72\x65\x73\x20\x64\x65\x20\x64\x6f\x6e\x6e\xc3\xa9\x65\x73\x20\x64\x75\x20\x74\x79\x70\x65\x0a\x72\x65\x71\x75\x69\x73\x20\x70\x61\x72\x20\x6c\x27\x6f\x62\x6a\x65\x74\x20\x63\x6f\x75\x72\x61\x6e\x74\x20\x3a\x3c\x2f\x70\x3e\x3c\x2f\x66\x6f\x6e\x74\x3e"))
+        self.Commentaire.setText(QString.null)
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.tabuniqueinto.changeTab(self.Widget8,self.__tr("Saisir Valeur"))
+
+
+    def BSupPressed(self):
+        print "DUnASSD.BSupPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DUnASSD.ViewDoc(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DUnASSD.BOkPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DUnASSD",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DUnASSD",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desUniqueASSD.ui b/UiQT4/desUniqueASSD.ui
new file mode 100644 (file)
index 0000000..819c929
--- /dev/null
@@ -0,0 +1,190 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DUnASSD</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DUnASSD</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>482</width>
+            <height>480</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>350</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DUnIn</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QTabWidget" row="0" column="0">
+            <property name="name">
+                <cstring>tabuniqueinto</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Widget8</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Saisir Valeur</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QLabel" row="0" column="0">
+                        <property name="name">
+                            <cstring>textLabel2</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>436</width>
+                                <height>50</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&lt;font size="+1"&gt;&lt;p align="center"&gt;Structures de données du type
+requis par l'objet courant :&lt;/p&gt;&lt;/font&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QListBox" row="1" column="0">
+                        <property name="name">
+                            <cstring>listBoxASSD</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="2" column="0">
+                        <property name="name">
+                            <cstring>Commentaire</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>380</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string></string>
+                        </property>
+                    </widget>
+                    <widget class="QLayoutWidget" row="3" column="0">
+                        <property name="name">
+                            <cstring>layout2</cstring>
+                        </property>
+                        <hbox>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bSup</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>0</width>
+                                        <height>30</height>
+                                    </size>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Supprimer</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Alt+S</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>suppression du mot clef</string>
+                                </property>
+                            </widget>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bOk</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>0</width>
+                                        <height>30</height>
+                                    </size>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Valider</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="default">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>validation de la saisie</string>
+                                </property>
+                            </widget>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bHelp</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>0</width>
+                                        <height>30</height>
+                                    </size>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Documentation</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Alt+D</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>affichage documentation aster</string>
+                                </property>
+                            </widget>
+                        </hbox>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnASSD</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnASSD</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnASSD</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>BSupPressed()</slot>
+    <slot>ViewDoc()</slot>
+    <slot>BOkPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desUniqueBase.py b/UiQT4/desUniqueBase.py
new file mode 100644 (file)
index 0000000..ec1c516
--- /dev/null
@@ -0,0 +1,174 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desUniqueBase.ui'
+#
+# Created: ven avr 4 11:27:09 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+image0_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x14\x00\x00\x00\x14" \
+    "\x08\x06\x00\x00\x00\x8d\x89\x1d\x0d\x00\x00\x00" \
+    "\x8d\x49\x44\x41\x54\x38\x8d\xb5\xd3\xdb\x0d\x80" \
+    "\x20\x0c\x05\xd0\x5b\xe3\x3a\x8e\xe2\x4c\x86\x99" \
+    "\x18\x85\x81\xea\x87\xc6\xc4\xd2\x56\x28\xd8\x84" \
+    "\x0f\x5e\x27\x17\x50\x02\x63\x6a\x2d\x73\xb9\x1f" \
+    "\xc0\xb5\x69\x15\x39\x17\xc3\xa0\x7e\xf0\xae\x9c" \
+    "\xca\xab\xbf\x1f\x5b\xb5\xa6\xed\xc8\x0c\x02\x83" \
+    "\x34\x20\x06\x02\x00\x81\x65\xc2\x38\x28\x30\x2f" \
+    "\xa9\x77\xdd\x36\xc6\xa0\x67\xa7\x78\x14\x3f\xa1" \
+    "\x85\xf9\x5b\xe6\x61\x76\xc2\x20\xa6\x83\x03\x58" \
+    "\x0d\x0e\x62\x7a\xc2\x01\xcc\x04\xa3\xd8\x55\x2c" \
+    "\x1a\xc0\x39\x95\xab\x27\xe7\x5a\x9a\x3e\x18\x47" \
+    "\xdd\xef\x30\x72\xec\xef\x5f\xaf\xb3\x4e\xcb\x01" \
+    "\x65\xf7\x82\x6b\x45\x7b\x00\x00\x00\x00\x49\x45" \
+    "\x4e\x44\xae\x42\x60\x82"
+
+class DUnBase(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        self.image0 = QPixmap()
+        self.image0.loadFromData(image0_data,"PNG")
+        if not name:
+            self.setName("DUnBase")
+
+        self.setMinimumSize(QSize(350,0))
+
+        DUnBaseLayout = QGridLayout(self,1,1,11,6,"DUnBaseLayout")
+
+        self.tabuniqueinto = QTabWidget(self,"tabuniqueinto")
+
+        self.Widget8 = QWidget(self.tabuniqueinto,"Widget8")
+        Widget8Layout = QGridLayout(self.Widget8,1,1,11,6,"Widget8Layout")
+
+        layout2 = QHBoxLayout(None,0,6,"layout2")
+
+        self.textLabel2 = QLabel(self.Widget8,"textLabel2")
+        layout2.addWidget(self.textLabel2)
+
+        self.lineEditVal = QLineEdit(self.Widget8,"lineEditVal")
+        self.lineEditVal.setMinimumSize(QSize(290,50))
+        layout2.addWidget(self.lineEditVal)
+
+        Widget8Layout.addMultiCellLayout(layout2,1,1,0,2)
+        spacer1 = QSpacerItem(288,21,QSizePolicy.Expanding,QSizePolicy.Minimum)
+        Widget8Layout.addMultiCell(spacer1,0,0,0,1)
+
+        self.bParametres = QPushButton(self.Widget8,"bParametres")
+        self.bParametres.setSizePolicy(QSizePolicy(0,0,0,0,self.bParametres.sizePolicy().hasHeightForWidth()))
+        self.bParametres.setMinimumSize(QSize(140,30))
+
+        Widget8Layout.addWidget(self.bParametres,0,2)
+
+        self.bSup = QPushButton(self.Widget8,"bSup")
+        self.bSup.setMinimumSize(QSize(0,30))
+        self.bSup.setAutoDefault(1)
+
+        Widget8Layout.addWidget(self.bSup,5,0)
+
+        self.bOk = QPushButton(self.Widget8,"bOk")
+        self.bOk.setMinimumSize(QSize(0,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+
+        Widget8Layout.addWidget(self.bOk,5,1)
+
+        self.bHelp = QPushButton(self.Widget8,"bHelp")
+        self.bHelp.setMinimumSize(QSize(0,30))
+        self.bHelp.setAutoDefault(1)
+
+        Widget8Layout.addWidget(self.bHelp,5,2)
+        spacer4 = QSpacerItem(41,112,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        Widget8Layout.addItem(spacer4,2,1)
+        spacer3 = QSpacerItem(21,112,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        Widget8Layout.addItem(spacer3,4,1)
+
+        self.Commentaire = QLabel(self.Widget8,"Commentaire")
+        self.Commentaire.setMinimumSize(QSize(430,40))
+
+        Widget8Layout.addMultiCellWidget(self.Commentaire,3,3,0,2)
+
+        self.BView2D = QPushButton(self.Widget8,"BView2D")
+        self.BView2D.setMinimumSize(QSize(110,40))
+
+        Widget8Layout.addWidget(self.BView2D,2,2)
+
+        self.BSalome = QPushButton(self.Widget8,"BSalome")
+        self.BSalome.setMinimumSize(QSize(50,40))
+        self.BSalome.setIconSet(QIconSet(self.image0))
+
+        Widget8Layout.addWidget(self.BSalome,2,0)
+        self.tabuniqueinto.insertTab(self.Widget8,QString(""))
+
+        DUnBaseLayout.addWidget(self.tabuniqueinto,0,0)
+
+        self.languageChange()
+
+        self.resize(QSize(482,480).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOk2Pressed)
+        self.connect(self.bSup,SIGNAL("clicked()"),self.BSupPressed)
+        self.connect(self.lineEditVal,SIGNAL("returnPressed()"),self.LEValeurPressed)
+        self.connect(self.bParametres,SIGNAL("pressed()"),self.BParametresPressed)
+        self.connect(self.BSalome,SIGNAL("pressed()"),self.BSalomePressed)
+        self.connect(self.BView2D,SIGNAL("clicked()"),self.BView2DPressed)
+
+        self.setTabOrder(self.lineEditVal,self.tabuniqueinto)
+        self.setTabOrder(self.tabuniqueinto,self.bParametres)
+        self.setTabOrder(self.bParametres,self.bSup)
+        self.setTabOrder(self.bSup,self.bOk)
+        self.setTabOrder(self.bOk,self.bHelp)
+        self.setTabOrder(self.bHelp,self.BView2D)
+        self.setTabOrder(self.BView2D,self.BSalome)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DUnIn"))
+        self.textLabel2.setText(self.__tr("<b><u><p align=\"center\">Valeur: </p></u></b>"))
+        self.bParametres.setText(self.__tr("Parametres"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.Commentaire.setText(QString.null)
+        self.BView2D.setText(self.__tr("Visualiser"))
+        self.BSalome.setText(QString.null)
+        self.tabuniqueinto.changeTab(self.Widget8,self.__tr("Saisir Valeur"))
+
+
+    def BSupPressed(self):
+        print "DUnBase.BSupPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DUnBase.ViewDoc(): Not implemented yet"
+
+    def BOk2Pressed(self):
+        print "DUnBase.BOk2Pressed(): Not implemented yet"
+
+    def BParametresPressed(self):
+        print "DUnBase.BParametresPressed(): Not implemented yet"
+
+    def LEValeurPressed(self):
+        print "DUnBase.LEValeurPressed(): Not implemented yet"
+
+    def BSalomePressed(self):
+        print "DUnBase.BSalomePressed(): Not implemented yet"
+
+    def BView2DPressed(self):
+        print "DUnBase.BView2DPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DUnBase",s,c)
diff --git a/UiQT4/desUniqueBase.ui b/UiQT4/desUniqueBase.ui
new file mode 100644 (file)
index 0000000..30eeab8
--- /dev/null
@@ -0,0 +1,336 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DUnBase</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DUnBase</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>482</width>
+            <height>480</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>350</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DUnIn</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QTabWidget" row="0" column="0">
+            <property name="name">
+                <cstring>tabuniqueinto</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Widget8</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Saisir Valeur</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>layout2</cstring>
+                        </property>
+                        <hbox>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <widget class="QLabel">
+                                <property name="name">
+                                    <cstring>textLabel2</cstring>
+                                </property>
+                                <property name="text">
+                                    <string>&lt;b&gt;&lt;u&gt;&lt;p align="center"&gt;Valeur: &lt;/p&gt;&lt;/u&gt;&lt;/b&gt;</string>
+                                </property>
+                            </widget>
+                            <widget class="QLineEdit">
+                                <property name="name">
+                                    <cstring>lineEditVal</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>290</width>
+                                        <height>50</height>
+                                    </size>
+                                </property>
+                            </widget>
+                        </hbox>
+                    </widget>
+                    <spacer row="0" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>spacer1</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Horizontal</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>288</width>
+                                <height>21</height>
+                            </size>
+                        </property>
+                    </spacer>
+                    <widget class="QPushButton" row="0" column="2">
+                        <property name="name">
+                            <cstring>bParametres</cstring>
+                        </property>
+                        <property name="sizePolicy">
+                            <sizepolicy>
+                                <hsizetype>0</hsizetype>
+                                <vsizetype>0</vsizetype>
+                                <horstretch>0</horstretch>
+                                <verstretch>0</verstretch>
+                            </sizepolicy>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>140</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Parametres</string>
+                        </property>
+                    </widget>
+                    <widget class="QPushButton" row="5" column="0">
+                        <property name="name">
+                            <cstring>bSup</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&amp;Supprimer</string>
+                        </property>
+                        <property name="accel">
+                            <string>Alt+S</string>
+                        </property>
+                        <property name="autoDefault">
+                            <bool>true</bool>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>suppression du mot clef</string>
+                        </property>
+                    </widget>
+                    <widget class="QPushButton" row="5" column="1">
+                        <property name="name">
+                            <cstring>bOk</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&amp;Valider</string>
+                        </property>
+                        <property name="accel">
+                            <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+                        </property>
+                        <property name="autoDefault">
+                            <bool>true</bool>
+                        </property>
+                        <property name="default">
+                            <bool>true</bool>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>validation de la saisie</string>
+                        </property>
+                    </widget>
+                    <widget class="QPushButton" row="5" column="2">
+                        <property name="name">
+                            <cstring>bHelp</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&amp;Documentation</string>
+                        </property>
+                        <property name="accel">
+                            <string>Alt+D</string>
+                        </property>
+                        <property name="autoDefault">
+                            <bool>true</bool>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>affichage documentation aster</string>
+                        </property>
+                    </widget>
+                    <spacer row="2" column="1">
+                        <property name="name">
+                            <cstring>spacer4</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Vertical</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>41</width>
+                                <height>112</height>
+                            </size>
+                        </property>
+                    </spacer>
+                    <spacer row="4" column="1">
+                        <property name="name">
+                            <cstring>spacer3</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Vertical</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>21</width>
+                                <height>112</height>
+                            </size>
+                        </property>
+                    </spacer>
+                    <widget class="QLabel" row="3" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>Commentaire</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>430</width>
+                                <height>40</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string></string>
+                        </property>
+                    </widget>
+                    <widget class="QPushButton" row="2" column="2">
+                        <property name="name">
+                            <cstring>BView2D</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>110</width>
+                                <height>40</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>Visualiser</string>
+                        </property>
+                    </widget>
+                    <widget class="QPushButton" row="2" column="0">
+                        <property name="name">
+                            <cstring>BSalome</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>50</width>
+                                <height>40</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string></string>
+                        </property>
+                        <property name="iconSet">
+                            <iconset>image0</iconset>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+    </grid>
+</widget>
+<images>
+    <image name="image0">
+        <data format="PNG" length="198">89504e470d0a1a0a0000000d49484452000000140000001408060000008d891d0d0000008d49444154388db5d3db0d80200c05d05be33a8ee24c8699188581ea87c6c4d25628d8840f5e27175002636a2d73b91fc0b569153917c3a07ef0ae9ccaabbf1f5bb5a6edc80c028334200602008165c23828302fa977dd36c6a067a778143fa185f95be66176c220a68303580d0e627ac201cc04a3d8552c1ac03995ab27e75a9a3e1847ddef3072ecef5fafb34ecb0165f7826b457b0000000049454e44ae426082</data>
+    </image>
+</images>
+<connections>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnBase</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnBase</receiver>
+        <slot>BOk2Pressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnBase</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>lineEditVal</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DUnBase</receiver>
+        <slot>LEValeurPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bParametres</sender>
+        <signal>pressed()</signal>
+        <receiver>DUnBase</receiver>
+        <slot>BParametresPressed()</slot>
+    </connection>
+    <connection>
+        <sender>BSalome</sender>
+        <signal>pressed()</signal>
+        <receiver>DUnBase</receiver>
+        <slot>BSalomePressed()</slot>
+    </connection>
+    <connection>
+        <sender>BView2D</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnBase</receiver>
+        <slot>BView2DPressed()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>lineEditVal</tabstop>
+    <tabstop>tabuniqueinto</tabstop>
+    <tabstop>bParametres</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>bHelp</tabstop>
+    <tabstop>BView2D</tabstop>
+    <tabstop>BSalome</tabstop>
+</tabstops>
+<slots>
+    <slot>BSupPressed()</slot>
+    <slot>ViewDoc()</slot>
+    <slot>BOk2Pressed()</slot>
+    <slot>BParametresPressed()</slot>
+    <slot>LEValeurPressed()</slot>
+    <slot>BSalomePressed()</slot>
+    <slot>BView2DPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desUniqueComp.py b/UiQT4/desUniqueComp.py
new file mode 100644 (file)
index 0000000..7b9af9d
--- /dev/null
@@ -0,0 +1,152 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desUniqueComp.ui'
+#
+# Created: ven avr 4 11:27:09 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DUnComp(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DUnComp")
+
+        self.setMinimumSize(QSize(350,0))
+
+        DUnCompLayout = QGridLayout(self,1,1,11,6,"DUnCompLayout")
+
+        self.tabuniqueinto = QTabWidget(self,"tabuniqueinto")
+
+        self.Widget8 = QWidget(self.tabuniqueinto,"Widget8")
+        Widget8Layout = QGridLayout(self.Widget8,1,1,11,6,"Widget8Layout")
+
+        layout3 = QVBoxLayout(None,0,6,"layout3")
+
+        self.textLabel1 = QLabel(self.Widget8,"textLabel1")
+        layout3.addWidget(self.textLabel1)
+
+        self.LEcomp = QLineEdit(self.Widget8,"LEcomp")
+        self.LEcomp.setMinimumSize(QSize(390,40))
+        layout3.addWidget(self.LEcomp)
+
+        Widget8Layout.addMultiCellLayout(layout3,0,0,0,1)
+
+        self.Commentaire = QLabel(self.Widget8,"Commentaire")
+
+        Widget8Layout.addMultiCellWidget(self.Commentaire,5,5,0,1)
+
+        self.LEReel = QLineEdit(self.Widget8,"LEReel")
+        self.LEReel.setMinimumSize(QSize(190,40))
+
+        Widget8Layout.addWidget(self.LEReel,3,0)
+
+        self.LEImag = QLineEdit(self.Widget8,"LEImag")
+        self.LEImag.setMinimumSize(QSize(190,40))
+
+        Widget8Layout.addWidget(self.LEImag,3,1)
+
+        self.buttonGroup1 = QButtonGroup(self.Widget8,"buttonGroup1")
+
+        self.RBRI = QRadioButton(self.buttonGroup1,"RBRI")
+        self.RBRI.setGeometry(QRect(20,40,335,20))
+
+        self.RBMP = QRadioButton(self.buttonGroup1,"RBMP")
+        self.RBMP.setGeometry(QRect(20,20,335,20))
+
+        Widget8Layout.addMultiCellWidget(self.buttonGroup1,2,2,0,1)
+        spacer3 = QSpacerItem(20,41,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        Widget8Layout.addItem(spacer3,1,0)
+        spacer4 = QSpacerItem(20,41,QSizePolicy.Minimum,QSizePolicy.Expanding)
+        Widget8Layout.addItem(spacer4,4,0)
+
+        layout2 = QHBoxLayout(None,0,6,"layout2")
+
+        self.bSup = QPushButton(self.Widget8,"bSup")
+        self.bSup.setAutoDefault(1)
+        layout2.addWidget(self.bSup)
+
+        self.bOk = QPushButton(self.Widget8,"bOk")
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+        layout2.addWidget(self.bOk)
+
+        self.bHelp = QPushButton(self.Widget8,"bHelp")
+        self.bHelp.setAutoDefault(1)
+        layout2.addWidget(self.bHelp)
+
+        Widget8Layout.addMultiCellLayout(layout2,6,6,0,1)
+        self.tabuniqueinto.insertTab(self.Widget8,QString(""))
+
+        DUnCompLayout.addWidget(self.tabuniqueinto,0,0)
+
+        self.languageChange()
+
+        self.resize(QSize(484,480).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.bSup,SIGNAL("clicked()"),self.BSupPressed)
+        self.connect(self.LEImag,SIGNAL("returnPressed()"),self.LEImagRPressed)
+        self.connect(self.LEReel,SIGNAL("returnPressed()"),self.LEReelRPressed)
+        self.connect(self.LEcomp,SIGNAL("returnPressed()"),self.LEcompRPressed)
+
+        self.setTabOrder(self.LEcomp,self.LEReel)
+        self.setTabOrder(self.LEReel,self.LEImag)
+        self.setTabOrder(self.LEImag,self.tabuniqueinto)
+        self.setTabOrder(self.tabuniqueinto,self.RBRI)
+        self.setTabOrder(self.RBRI,self.RBMP)
+        self.setTabOrder(self.RBMP,self.bSup)
+        self.setTabOrder(self.bSup,self.bOk)
+        self.setTabOrder(self.bOk,self.bHelp)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DUnComp"))
+        self.textLabel1.setText(self.__tr("<font size=\"+2\">Complexe de la forme : a+bj</font>"))
+        self.Commentaire.setText(self.__tr("<font size=\"+2\">Un complexe est attendu</font>"))
+        self.buttonGroup1.setTitle(self.__tr("OU"))
+        self.RBRI.setText(self.__trUtf8("\x52\x49\x20\x20\x20\x3a\x20\x52\xc3\xa9\x65\x6c\x09\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x49\x6d\x61\x67\x69\x6e\x61\x69\x72\x65"))
+        self.RBMP.setText(self.__tr("MP        : Module                                                 Phase"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.tabuniqueinto.changeTab(self.Widget8,self.__tr("Saisir Valeur"))
+
+
+    def BSupPressed(self):
+        print "DUnComp.BSupPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DUnComp.ViewDoc(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DUnComp.BOkPressed(): Not implemented yet"
+
+    def LEImagRPressed(self):
+        print "DUnComp.LEImagRPressed(): Not implemented yet"
+
+    def LEReelRPressed(self):
+        print "DUnComp.LEReelRPressed(): Not implemented yet"
+
+    def LEcompRPressed(self):
+        print "DUnComp.LEcompRPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DUnComp",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DUnComp",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desUniqueComp.ui b/UiQT4/desUniqueComp.ui
new file mode 100644 (file)
index 0000000..ae0361d
--- /dev/null
@@ -0,0 +1,303 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DUnComp</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DUnComp</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>484</width>
+            <height>480</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>350</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DUnComp</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QTabWidget" row="0" column="0">
+            <property name="name">
+                <cstring>tabuniqueinto</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Widget8</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Saisir Valeur</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QLayoutWidget" row="0" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>layout3</cstring>
+                        </property>
+                        <vbox>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <widget class="QLabel">
+                                <property name="name">
+                                    <cstring>textLabel1</cstring>
+                                </property>
+                                <property name="text">
+                                    <string>&lt;font size="+2"&gt;Complexe de la forme : a+bj&lt;/font&gt;</string>
+                                </property>
+                            </widget>
+                            <widget class="QLineEdit">
+                                <property name="name">
+                                    <cstring>LEcomp</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>390</width>
+                                        <height>40</height>
+                                    </size>
+                                </property>
+                            </widget>
+                        </vbox>
+                    </widget>
+                    <widget class="QLabel" row="5" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>Commentaire</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;font size="+2"&gt;Un complexe est attendu&lt;/font&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLineEdit" row="3" column="0">
+                        <property name="name">
+                            <cstring>LEReel</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>190</width>
+                                <height>40</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <widget class="QLineEdit" row="3" column="1">
+                        <property name="name">
+                            <cstring>LEImag</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>190</width>
+                                <height>40</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <widget class="QButtonGroup" row="2" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>buttonGroup1</cstring>
+                        </property>
+                        <property name="title">
+                            <string>OU</string>
+                        </property>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBRI</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>40</y>
+                                    <width>335</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>RI   : Réel                                                Imaginaire</string>
+                            </property>
+                        </widget>
+                        <widget class="QRadioButton">
+                            <property name="name">
+                                <cstring>RBMP</cstring>
+                            </property>
+                            <property name="geometry">
+                                <rect>
+                                    <x>20</x>
+                                    <y>20</y>
+                                    <width>335</width>
+                                    <height>20</height>
+                                </rect>
+                            </property>
+                            <property name="text">
+                                <string>MP     : Module                                                 Phase</string>
+                            </property>
+                        </widget>
+                    </widget>
+                    <spacer row="1" column="0">
+                        <property name="name">
+                            <cstring>spacer3</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Vertical</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>20</width>
+                                <height>41</height>
+                            </size>
+                        </property>
+                    </spacer>
+                    <spacer row="4" column="0">
+                        <property name="name">
+                            <cstring>spacer4</cstring>
+                        </property>
+                        <property name="orientation">
+                            <enum>Vertical</enum>
+                        </property>
+                        <property name="sizeType">
+                            <enum>Expanding</enum>
+                        </property>
+                        <property name="sizeHint">
+                            <size>
+                                <width>20</width>
+                                <height>41</height>
+                            </size>
+                        </property>
+                    </spacer>
+                    <widget class="QLayoutWidget" row="6" column="0" rowspan="1" colspan="2">
+                        <property name="name">
+                            <cstring>layout2</cstring>
+                        </property>
+                        <hbox>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bSup</cstring>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Supprimer</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Alt+S</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>suppression du mot clef</string>
+                                </property>
+                            </widget>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bOk</cstring>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Valider</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="default">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>validation de la saisie</string>
+                                </property>
+                            </widget>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bHelp</cstring>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Documentation</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Alt+D</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>affichage documentation aster</string>
+                                </property>
+                            </widget>
+                        </hbox>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnComp</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnComp</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnComp</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>LEImag</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DUnComp</receiver>
+        <slot>LEImagRPressed()</slot>
+    </connection>
+    <connection>
+        <sender>LEReel</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DUnComp</receiver>
+        <slot>LEReelRPressed()</slot>
+    </connection>
+    <connection>
+        <sender>LEcomp</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DUnComp</receiver>
+        <slot>LEcompRPressed()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LEcomp</tabstop>
+    <tabstop>LEReel</tabstop>
+    <tabstop>LEImag</tabstop>
+    <tabstop>tabuniqueinto</tabstop>
+    <tabstop>RBRI</tabstop>
+    <tabstop>RBMP</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>bHelp</tabstop>
+</tabstops>
+<slots>
+    <slot>BSupPressed()</slot>
+    <slot>ViewDoc()</slot>
+    <slot>BOkPressed()</slot>
+    <slot>LEImagRPressed()</slot>
+    <slot>LEReelRPressed()</slot>
+    <slot>LEcompRPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desUniqueInto.py b/UiQT4/desUniqueInto.py
new file mode 100644 (file)
index 0000000..914a3d2
--- /dev/null
@@ -0,0 +1,102 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desUniqueInto.ui'
+#
+# Created: mar mar 25 10:05:09 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DUnIn(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DUnIn")
+
+        self.setMinimumSize(QSize(350,0))
+
+        DUnInLayout = QGridLayout(self,1,1,11,6,"DUnInLayout")
+
+        self.tabuniqueinto = QTabWidget(self,"tabuniqueinto")
+
+        self.Widget8 = QWidget(self.tabuniqueinto,"Widget8")
+        Widget8Layout = QGridLayout(self.Widget8,1,1,11,6,"Widget8Layout")
+
+        self.Commentaire = QLabel(self.Widget8,"Commentaire")
+        self.Commentaire.setMinimumSize(QSize(420,30))
+
+        Widget8Layout.addWidget(self.Commentaire,2,0)
+
+        layout2 = QHBoxLayout(None,0,6,"layout2")
+
+        self.bSup = QPushButton(self.Widget8,"bSup")
+        self.bSup.setMinimumSize(QSize(0,30))
+        self.bSup.setAutoDefault(1)
+        layout2.addWidget(self.bSup)
+
+        self.bOk = QPushButton(self.Widget8,"bOk")
+        self.bOk.setMinimumSize(QSize(0,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+        layout2.addWidget(self.bOk)
+
+        self.bHelp = QPushButton(self.Widget8,"bHelp")
+        self.bHelp.setMinimumSize(QSize(0,30))
+        self.bHelp.setAutoDefault(1)
+        layout2.addWidget(self.bHelp)
+
+        Widget8Layout.addLayout(layout2,3,0)
+
+        self.listBoxVal = QListBox(self.Widget8,"listBoxVal")
+
+        Widget8Layout.addWidget(self.listBoxVal,1,0)
+
+        self.textLabel2 = QLabel(self.Widget8,"textLabel2")
+
+        Widget8Layout.addWidget(self.textLabel2,0,0)
+        self.tabuniqueinto.insertTab(self.Widget8,QString(""))
+
+        DUnInLayout.addWidget(self.tabuniqueinto,0,0)
+
+        self.languageChange()
+
+        self.resize(QSize(482,480).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.bSup,SIGNAL("clicked()"),self.BSupPressed)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DUnIn"))
+        self.Commentaire.setText(QString.null)
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.textLabel2.setText(self.__tr("<b><u><p align=\"center\">Valeurs possibles</p></u></b>"))
+        self.tabuniqueinto.changeTab(self.Widget8,self.__tr("Saisir Valeur"))
+
+
+    def BSupPressed(self):
+        print "DUnIn.BSupPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DUnIn.ViewDoc(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DUnIn.BOkPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DUnIn",s,c)
diff --git a/UiQT4/desUniqueInto.ui b/UiQT4/desUniqueInto.ui
new file mode 100644 (file)
index 0000000..67f99a9
--- /dev/null
@@ -0,0 +1,183 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DUnIn</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DUnIn</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>482</width>
+            <height>480</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>350</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DUnIn</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QTabWidget" row="0" column="0">
+            <property name="name">
+                <cstring>tabuniqueinto</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Widget8</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Saisir Valeur</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QLabel" row="2" column="0">
+                        <property name="name">
+                            <cstring>Commentaire</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>420</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string></string>
+                        </property>
+                    </widget>
+                    <widget class="QLayoutWidget" row="3" column="0">
+                        <property name="name">
+                            <cstring>layout2</cstring>
+                        </property>
+                        <hbox>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bSup</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>0</width>
+                                        <height>30</height>
+                                    </size>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Supprimer</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Alt+S</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>suppression du mot clef</string>
+                                </property>
+                            </widget>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bOk</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>0</width>
+                                        <height>30</height>
+                                    </size>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Valider</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="default">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>validation de la saisie</string>
+                                </property>
+                            </widget>
+                            <widget class="QPushButton">
+                                <property name="name">
+                                    <cstring>bHelp</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>0</width>
+                                        <height>30</height>
+                                    </size>
+                                </property>
+                                <property name="text">
+                                    <string>&amp;Documentation</string>
+                                </property>
+                                <property name="accel">
+                                    <string>Alt+D</string>
+                                </property>
+                                <property name="autoDefault">
+                                    <bool>true</bool>
+                                </property>
+                                <property name="toolTip" stdset="0">
+                                    <string>affichage documentation aster</string>
+                                </property>
+                            </widget>
+                        </hbox>
+                    </widget>
+                    <widget class="QListBox" row="1" column="0">
+                        <property name="name">
+                            <cstring>listBoxVal</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="0" column="0">
+                        <property name="name">
+                            <cstring>textLabel2</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;b&gt;&lt;u&gt;&lt;p align="center"&gt;Valeurs possibles&lt;/p&gt;&lt;/u&gt;&lt;/b&gt;</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnIn</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnIn</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnIn</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>BSupPressed()</slot>
+    <slot>ViewDoc()</slot>
+    <slot>BOkPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desUniqueSDCO.py b/UiQT4/desUniqueSDCO.py
new file mode 100644 (file)
index 0000000..bd94a1d
--- /dev/null
@@ -0,0 +1,122 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desUniqueSDCO.ui'
+#
+# Created: ven avr 4 11:27:09 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DUnSDCO(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DUnSDCO")
+
+        self.setMinimumSize(QSize(350,0))
+
+        DUnSDCOLayout = QGridLayout(self,1,1,11,6,"DUnSDCOLayout")
+
+        self.tabuniqueinto = QTabWidget(self,"tabuniqueinto")
+
+        self.Widget8 = QWidget(self.tabuniqueinto,"Widget8")
+        Widget8Layout = QGridLayout(self.Widget8,1,1,11,6,"Widget8Layout")
+
+        self.bSup = QPushButton(self.Widget8,"bSup")
+        self.bSup.setMinimumSize(QSize(0,30))
+        self.bSup.setAutoDefault(1)
+
+        Widget8Layout.addWidget(self.bSup,4,0)
+
+        self.bOk = QPushButton(self.Widget8,"bOk")
+        self.bOk.setMinimumSize(QSize(0,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+
+        Widget8Layout.addWidget(self.bOk,4,1)
+
+        self.bHelp = QPushButton(self.Widget8,"bHelp")
+        self.bHelp.setMinimumSize(QSize(0,30))
+        self.bHelp.setAutoDefault(1)
+
+        Widget8Layout.addWidget(self.bHelp,4,2)
+
+        self.Commentaire = QLabel(self.Widget8,"Commentaire")
+        self.Commentaire.setMinimumSize(QSize(311,30))
+
+        Widget8Layout.addMultiCellWidget(self.Commentaire,3,3,0,2)
+
+        self.textLabel2_2 = QLabel(self.Widget8,"textLabel2_2")
+
+        Widget8Layout.addMultiCellWidget(self.textLabel2_2,0,0,0,2)
+
+        self.LESDCO = QLineEdit(self.Widget8,"LESDCO")
+        self.LESDCO.setMinimumSize(QSize(300,40))
+
+        Widget8Layout.addMultiCellWidget(self.LESDCO,1,1,0,2)
+
+        self.textLabel2 = QLabel(self.Widget8,"textLabel2")
+
+        Widget8Layout.addMultiCellWidget(self.textLabel2,2,2,0,2)
+        self.tabuniqueinto.insertTab(self.Widget8,QString(""))
+
+        DUnSDCOLayout.addWidget(self.tabuniqueinto,0,0)
+
+        self.languageChange()
+
+        self.resize(QSize(461,480).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.bSup,SIGNAL("clicked()"),self.BSupPressed)
+        self.connect(self.LESDCO,SIGNAL("returnPressed()"),self.LESDCOReturnPressed)
+
+        self.setTabOrder(self.LESDCO,self.tabuniqueinto)
+        self.setTabOrder(self.tabuniqueinto,self.bSup)
+        self.setTabOrder(self.bSup,self.bOk)
+        self.setTabOrder(self.bOk,self.bHelp)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DUnIn"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.Commentaire.setText(QString.null)
+        self.textLabel2_2.setText(self.__tr("<h1><font size=\"+2\">Nom du nouveau concept : </font></h1>"))
+        self.textLabel2.setText(self.__tr("<font size=\"+1\">Un objet de type CO est attendu</font>"))
+        self.tabuniqueinto.changeTab(self.Widget8,self.__tr("Saisir Valeur"))
+
+
+    def BSupPressed(self):
+        print "DUnSDCO.BSupPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DUnSDCO.ViewDoc(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DUnSDCO.BOkPressed(): Not implemented yet"
+
+    def LESDCOReturnPressed(self):
+        print "DUnSDCO.LESDCOReturnPressed(): Not implemented yet"
+
+    def BOuiPressed(self):
+        print "DUnSDCO.BOuiPressed(): Not implemented yet"
+
+    def BNonPressed(self):
+        print "DUnSDCO.BNonPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DUnSDCO",s,c)
diff --git a/UiQT4/desUniqueSDCO.ui b/UiQT4/desUniqueSDCO.ui
new file mode 100644 (file)
index 0000000..f847c8b
--- /dev/null
@@ -0,0 +1,203 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DUnSDCO</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DUnSDCO</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>461</width>
+            <height>480</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>350</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DUnIn</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QTabWidget" row="0" column="0">
+            <property name="name">
+                <cstring>tabuniqueinto</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Widget8</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Saisir Valeur</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QPushButton" row="4" column="0">
+                        <property name="name">
+                            <cstring>bSup</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&amp;Supprimer</string>
+                        </property>
+                        <property name="accel">
+                            <string>Alt+S</string>
+                        </property>
+                        <property name="autoDefault">
+                            <bool>true</bool>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>suppression du mot clef</string>
+                        </property>
+                    </widget>
+                    <widget class="QPushButton" row="4" column="1">
+                        <property name="name">
+                            <cstring>bOk</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&amp;Valider</string>
+                        </property>
+                        <property name="accel">
+                            <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+                        </property>
+                        <property name="autoDefault">
+                            <bool>true</bool>
+                        </property>
+                        <property name="default">
+                            <bool>true</bool>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>validation de la saisie</string>
+                        </property>
+                    </widget>
+                    <widget class="QPushButton" row="4" column="2">
+                        <property name="name">
+                            <cstring>bHelp</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&amp;Documentation</string>
+                        </property>
+                        <property name="accel">
+                            <string>Alt+D</string>
+                        </property>
+                        <property name="autoDefault">
+                            <bool>true</bool>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>affichage documentation aster</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="3" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>Commentaire</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>311</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string></string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="0" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>textLabel2_2</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;h1&gt;&lt;font size="+2"&gt;Nom du nouveau concept : &lt;/font&gt;&lt;/h1&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLineEdit" row="1" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>LESDCO</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>300</width>
+                                <height>40</height>
+                            </size>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="2" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>textLabel2</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;font size="+1"&gt;Un objet de type CO est attendu&lt;/font&gt;</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnSDCO</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnSDCO</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnSDCO</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>LESDCO</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DUnSDCO</receiver>
+        <slot>LESDCOReturnPressed()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LESDCO</tabstop>
+    <tabstop>tabuniqueinto</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>bHelp</tabstop>
+</tabstops>
+<slots>
+    <slot>BSupPressed()</slot>
+    <slot>ViewDoc()</slot>
+    <slot>BOkPressed()</slot>
+    <slot>LESDCOReturnPressed()</slot>
+    <slot>BOuiPressed()</slot>
+    <slot>BNonPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desUniqueSDCOInto.py b/UiQT4/desUniqueSDCOInto.py
new file mode 100644 (file)
index 0000000..4a7a9d2
--- /dev/null
@@ -0,0 +1,151 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desUniqueSDCOInto.ui'
+#
+# Created: ven avr 4 11:27:09 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DUnSDCOInto(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DUnSDCOInto")
+
+        self.setMinimumSize(QSize(350,0))
+
+        DUnSDCOIntoLayout = QGridLayout(self,1,1,11,6,"DUnSDCOIntoLayout")
+
+        self.tabuniqueinto = QTabWidget(self,"tabuniqueinto")
+
+        self.Widget8 = QWidget(self.tabuniqueinto,"Widget8")
+        Widget8Layout = QGridLayout(self.Widget8,1,1,11,6,"Widget8Layout")
+
+        self.textLabel2 = QLabel(self.Widget8,"textLabel2")
+
+        Widget8Layout.addMultiCellWidget(self.textLabel2,0,0,0,2)
+
+        self.LBSDCO = QListBox(self.Widget8,"LBSDCO")
+
+        Widget8Layout.addMultiCellWidget(self.LBSDCO,1,1,0,2)
+
+        self.textLabel2_3 = QLabel(self.Widget8,"textLabel2_3")
+
+        Widget8Layout.addMultiCellWidget(self.textLabel2_3,5,5,0,2)
+
+        self.Commentaire = QLabel(self.Widget8,"Commentaire")
+        self.Commentaire.setMinimumSize(QSize(420,30))
+
+        Widget8Layout.addMultiCellWidget(self.Commentaire,4,4,0,2)
+
+        layout3 = QGridLayout(None,1,1,0,6,"layout3")
+
+        Widget8Layout.addMultiCellLayout(layout3,2,2,0,2)
+
+        layout6 = QHBoxLayout(None,0,6,"layout6")
+
+        self.frame3 = QFrame(self.Widget8,"frame3")
+        self.frame3.setMinimumSize(QSize(190,50))
+        self.frame3.setFrameShape(QFrame.StyledPanel)
+        self.frame3.setFrameShadow(QFrame.Raised)
+
+        self.textLabel2_2 = QLabel(self.frame3,"textLabel2_2")
+        self.textLabel2_2.setGeometry(QRect(20,10,150,30))
+        layout6.addWidget(self.frame3)
+
+        self.LESDCO = QLineEdit(self.Widget8,"LESDCO")
+        self.LESDCO.setMinimumSize(QSize(220,40))
+        layout6.addWidget(self.LESDCO)
+
+        Widget8Layout.addMultiCellLayout(layout6,3,3,0,2)
+
+        self.bSup = QPushButton(self.Widget8,"bSup")
+        self.bSup.setMinimumSize(QSize(0,30))
+        self.bSup.setAutoDefault(1)
+
+        Widget8Layout.addWidget(self.bSup,6,0)
+
+        self.bOk = QPushButton(self.Widget8,"bOk")
+        self.bOk.setMinimumSize(QSize(0,30))
+        self.bOk.setAutoDefault(1)
+        self.bOk.setDefault(1)
+
+        Widget8Layout.addWidget(self.bOk,6,1)
+
+        self.bHelp = QPushButton(self.Widget8,"bHelp")
+        self.bHelp.setMinimumSize(QSize(0,30))
+        self.bHelp.setAutoDefault(1)
+
+        Widget8Layout.addWidget(self.bHelp,6,2)
+        self.tabuniqueinto.insertTab(self.Widget8,QString(""))
+
+        DUnSDCOIntoLayout.addWidget(self.tabuniqueinto,0,0)
+
+        self.languageChange()
+
+        self.resize(QSize(482,480).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.bHelp,SIGNAL("clicked()"),self.ViewDoc)
+        self.connect(self.bOk,SIGNAL("clicked()"),self.BOkPressed)
+        self.connect(self.bSup,SIGNAL("clicked()"),self.BSupPressed)
+        self.connect(self.LBSDCO,SIGNAL("clicked(QListBoxItem*)"),self.LBSDCOReturnPressed)
+        self.connect(self.LESDCO,SIGNAL("returnPressed()"),self.LESDCOReturnPressed)
+
+        self.setTabOrder(self.LESDCO,self.LBSDCO)
+        self.setTabOrder(self.LBSDCO,self.tabuniqueinto)
+        self.setTabOrder(self.tabuniqueinto,self.bSup)
+        self.setTabOrder(self.bSup,self.bOk)
+        self.setTabOrder(self.bOk,self.bHelp)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("DUnIn"))
+        self.textLabel2.setText(self.__trUtf8("\x3c\x66\x6f\x6e\x74\x20\x73\x69\x7a\x65\x3d\x22\x2b\x31\x22\x3e\x3c\x75\x3e\x53\x74\x72\x75\x63\x74\x75\x72\x65\x73\x20\x64\x65\x20\x64\x6f\x6e\x6e\xc3\xa9\x65\x73\x20\x64\x75\x20\x74\x79\x70\x65\x20\x72\x65\x71\x75\x69\x73\x20\x70\x61\x72\x20\x6c\x27\x6f\x62\x6a\x65\x74\x20\x63\x6f\x75\x72\x61\x6e\x74\x20\x3c\x2f\x75\x3e\x3c\x2f\x66\x6f\x6e\x74\x3e"))
+        self.textLabel2_3.setText(self.__tr("<font size=\"+1\">Un objet de type CO est attendu</font>"))
+        self.Commentaire.setText(QString.null)
+        self.textLabel2_2.setText(self.__tr("<font size=\"+1\"> Nom concept : </font>"))
+        self.bSup.setText(self.__tr("&Supprimer"))
+        self.bSup.setAccel(self.__tr("Alt+S"))
+        QToolTip.add(self.bSup,self.__tr("suppression du mot clef"))
+        self.bOk.setText(self.__tr("&Valider"))
+        self.bOk.setAccel(self.__tr("Shift+A, Alt+A, Alt+A, Alt+A"))
+        QToolTip.add(self.bOk,self.__tr("validation de la saisie"))
+        self.bHelp.setText(self.__tr("&Documentation"))
+        self.bHelp.setAccel(self.__tr("Alt+D"))
+        QToolTip.add(self.bHelp,self.__tr("affichage documentation aster"))
+        self.tabuniqueinto.changeTab(self.Widget8,self.__tr("Saisir Valeur"))
+
+
+    def BSupPressed(self):
+        print "DUnSDCOInto.BSupPressed(): Not implemented yet"
+
+    def ViewDoc(self):
+        print "DUnSDCOInto.ViewDoc(): Not implemented yet"
+
+    def BOkPressed(self):
+        print "DUnSDCOInto.BOkPressed(): Not implemented yet"
+
+    def LESDCOReturnPressed(self):
+        print "DUnSDCOInto.LESDCOReturnPressed(): Not implemented yet"
+
+    def BOuiPressed(self):
+        print "DUnSDCOInto.BOuiPressed(): Not implemented yet"
+
+    def BNonPressed(self):
+        print "DUnSDCOInto.BNonPressed(): Not implemented yet"
+
+    def LBSDCOReturnPressed(self):
+        print "DUnSDCOInto.LBSDCOReturnPressed(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DUnSDCOInto",s,c)
+
+    def __trUtf8(self,s,c = None):
+        return qApp.translate("DUnSDCOInto",s,c,QApplication.UnicodeUTF8)
diff --git a/UiQT4/desUniqueSDCOInto.ui b/UiQT4/desUniqueSDCOInto.ui
new file mode 100644 (file)
index 0000000..3849072
--- /dev/null
@@ -0,0 +1,269 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DUnSDCOInto</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DUnSDCOInto</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>482</width>
+            <height>480</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>350</width>
+            <height>0</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>DUnIn</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QTabWidget" row="0" column="0">
+            <property name="name">
+                <cstring>tabuniqueinto</cstring>
+            </property>
+            <widget class="QWidget">
+                <property name="name">
+                    <cstring>Widget8</cstring>
+                </property>
+                <attribute name="title">
+                    <string>Saisir Valeur</string>
+                </attribute>
+                <grid>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <widget class="QLabel" row="0" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>textLabel2</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;font size="+1"&gt;&lt;u&gt;Structures de données du type requis par l'objet courant &lt;/u&gt;&lt;/font&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QListBox" row="1" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>LBSDCO</cstring>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="5" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>textLabel2_3</cstring>
+                        </property>
+                        <property name="text">
+                            <string>&lt;font size="+1"&gt;Un objet de type CO est attendu&lt;/font&gt;</string>
+                        </property>
+                    </widget>
+                    <widget class="QLabel" row="4" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>Commentaire</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>420</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string></string>
+                        </property>
+                    </widget>
+                    <widget class="QLayoutWidget" row="2" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>layout3</cstring>
+                        </property>
+                        <grid>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                        </grid>
+                    </widget>
+                    <widget class="QLayoutWidget" row="3" column="0" rowspan="1" colspan="3">
+                        <property name="name">
+                            <cstring>layout6</cstring>
+                        </property>
+                        <hbox>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <widget class="QFrame">
+                                <property name="name">
+                                    <cstring>frame3</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>190</width>
+                                        <height>50</height>
+                                    </size>
+                                </property>
+                                <property name="frameShape">
+                                    <enum>StyledPanel</enum>
+                                </property>
+                                <property name="frameShadow">
+                                    <enum>Raised</enum>
+                                </property>
+                                <widget class="QLabel">
+                                    <property name="name">
+                                        <cstring>textLabel2_2</cstring>
+                                    </property>
+                                    <property name="geometry">
+                                        <rect>
+                                            <x>20</x>
+                                            <y>10</y>
+                                            <width>150</width>
+                                            <height>30</height>
+                                        </rect>
+                                    </property>
+                                    <property name="text">
+                                        <string>&lt;font size="+1"&gt; Nom concept : &lt;/font&gt;</string>
+                                    </property>
+                                </widget>
+                            </widget>
+                            <widget class="QLineEdit">
+                                <property name="name">
+                                    <cstring>LESDCO</cstring>
+                                </property>
+                                <property name="minimumSize">
+                                    <size>
+                                        <width>220</width>
+                                        <height>40</height>
+                                    </size>
+                                </property>
+                            </widget>
+                        </hbox>
+                    </widget>
+                    <widget class="QPushButton" row="6" column="0">
+                        <property name="name">
+                            <cstring>bSup</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&amp;Supprimer</string>
+                        </property>
+                        <property name="accel">
+                            <string>Alt+S</string>
+                        </property>
+                        <property name="autoDefault">
+                            <bool>true</bool>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>suppression du mot clef</string>
+                        </property>
+                    </widget>
+                    <widget class="QPushButton" row="6" column="1">
+                        <property name="name">
+                            <cstring>bOk</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&amp;Valider</string>
+                        </property>
+                        <property name="accel">
+                            <string>Shift+A, Alt+A, Alt+A, Alt+A</string>
+                        </property>
+                        <property name="autoDefault">
+                            <bool>true</bool>
+                        </property>
+                        <property name="default">
+                            <bool>true</bool>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>validation de la saisie</string>
+                        </property>
+                    </widget>
+                    <widget class="QPushButton" row="6" column="2">
+                        <property name="name">
+                            <cstring>bHelp</cstring>
+                        </property>
+                        <property name="minimumSize">
+                            <size>
+                                <width>0</width>
+                                <height>30</height>
+                            </size>
+                        </property>
+                        <property name="text">
+                            <string>&amp;Documentation</string>
+                        </property>
+                        <property name="accel">
+                            <string>Alt+D</string>
+                        </property>
+                        <property name="autoDefault">
+                            <bool>true</bool>
+                        </property>
+                        <property name="toolTip" stdset="0">
+                            <string>affichage documentation aster</string>
+                        </property>
+                    </widget>
+                </grid>
+            </widget>
+        </widget>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>bHelp</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnSDCOInto</receiver>
+        <slot>ViewDoc()</slot>
+    </connection>
+    <connection>
+        <sender>bOk</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnSDCOInto</receiver>
+        <slot>BOkPressed()</slot>
+    </connection>
+    <connection>
+        <sender>bSup</sender>
+        <signal>clicked()</signal>
+        <receiver>DUnSDCOInto</receiver>
+        <slot>BSupPressed()</slot>
+    </connection>
+    <connection>
+        <sender>LBSDCO</sender>
+        <signal>clicked(QListBoxItem*)</signal>
+        <receiver>DUnSDCOInto</receiver>
+        <slot>LBSDCOReturnPressed()</slot>
+    </connection>
+    <connection>
+        <sender>LESDCO</sender>
+        <signal>returnPressed()</signal>
+        <receiver>DUnSDCOInto</receiver>
+        <slot>LESDCOReturnPressed()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>LESDCO</tabstop>
+    <tabstop>LBSDCO</tabstop>
+    <tabstop>tabuniqueinto</tabstop>
+    <tabstop>bSup</tabstop>
+    <tabstop>bOk</tabstop>
+    <tabstop>bHelp</tabstop>
+</tabstops>
+<slots>
+    <slot>BSupPressed()</slot>
+    <slot>ViewDoc()</slot>
+    <slot>BOkPressed()</slot>
+    <slot>LESDCOReturnPressed()</slot>
+    <slot>BOuiPressed()</slot>
+    <slot>BNonPressed()</slot>
+    <slot>LBSDCOReturnPressed()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/desVisu.py b/UiQT4/desVisu.py
new file mode 100644 (file)
index 0000000..0957153
--- /dev/null
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desVisu.ui'
+#
+# Created: mar mar 25 10:05:09 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.13
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+
+class DVisu(QWidget):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QWidget.__init__(self,parent,name,fl)
+
+        if not name:
+            self.setName("DVisu")
+
+
+        DVisuLayout = QGridLayout(self,1,1,11,6,"DVisuLayout")
+
+        self.TB = QTextBrowser(self,"TB")
+
+        DVisuLayout.addWidget(self.TB,0,0)
+
+        self.languageChange()
+
+        self.resize(QSize(501,394).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("Visualisation Include Materiau"))
+
+
+    def __tr(self,s,c = None):
+        return qApp.translate("DVisu",s,c)
diff --git a/UiQT4/desVisu.ui b/UiQT4/desVisu.ui
new file mode 100644 (file)
index 0000000..3f61d74
--- /dev/null
@@ -0,0 +1,30 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>DVisu</class>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>DVisu</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>501</width>
+            <height>394</height>
+        </rect>
+    </property>
+    <property name="caption">
+        <string>Visualisation Include Materiau</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QTextBrowser" row="0" column="0">
+            <property name="name">
+                <cstring>TB</cstring>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/UiQT4/image120.gif b/UiQT4/image120.gif
new file mode 100644 (file)
index 0000000..1834870
Binary files /dev/null and b/UiQT4/image120.gif differ
diff --git a/UiQT4/image120.png b/UiQT4/image120.png
new file mode 100644 (file)
index 0000000..264a970
Binary files /dev/null and b/UiQT4/image120.png differ
diff --git a/UiQT4/image240.gif b/UiQT4/image240.gif
new file mode 100644 (file)
index 0000000..2ed5874
Binary files /dev/null and b/UiQT4/image240.gif differ
diff --git a/UiQT4/makefile b/UiQT4/makefile
new file mode 100644 (file)
index 0000000..430af33
--- /dev/null
@@ -0,0 +1,15 @@
+PYUIC = pyuic
+.PHONY : all
+.SUFFIXES : .ui .py
+
+
+PY_FILES = desChoixCata.py desCommande.py desCommentaire.py desError.py desFormule.py desInactif.py \
+       desInclude.py desListeParam.py desMacro.py desMCFact.py desMCListAjout.py desParam.py \
+       desPlusieursBase.py desPlusieursInto.py desPoursuite.py desRacine.py desSelectVal.py \
+       desUniqueASSD.py desUniqueBase.py desUniqueComp.py desUniqueInto.py desUniqueSDCOInto.py \
+       desUniqueSDCO.py desVisu.py myMain.py aideQT.py OptionsEditeur.py OptionsPdf.py
+
+%.py:%.ui
+       ${PYUIC} -o $@ $<
+
+all : $(PY_FILES)
diff --git a/UiQT4/myMain.py b/UiQT4/myMain.py
new file mode 100644 (file)
index 0000000..1de67dd
--- /dev/null
@@ -0,0 +1,553 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'myMain.ui'
+#
+# Created: Mon Jun 2 15:38:21 2008
+#      by: The PyQt User Interface Compiler (pyuic) 3.16
+#
+# WARNING! All changes made in this file will be lost!
+
+
+from qt import *
+
+image0_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x16\x00\x00\x00\x16" \
+    "\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\x00\x00\x00" \
+    "\x74\x49\x44\x41\x54\x38\x8d\xed\xd5\xc1\x09\xc0" \
+    "\x20\x0c\x05\xd0\x6f\xe9\x36\x81\x2c\x10\xb2\xff" \
+    "\xdd\x85\xd2\x53\x85\xb6\xa9\x91\x48\x0f\x05\x3f" \
+    "\x08\x1a\xf0\x29\x12\x10\xf8\x28\xc5\xa9\xd9\xc4" \
+    "\xde\x96\xcd\x2b\x9a\xd9\xeb\x00\x00\x66\x0e\x2f" \
+    "\xe0\xc2\x51\x98\x39\xc4\xf7\x0c\x4c\x44\x6d\x5e" \
+    "\x6b\x35\x38\xcf\x92\x82\x45\xe4\xb2\xf6\xf0\x14" \
+    "\xac\xaa\x8f\xda\x1d\x4f\xc1\xa5\x74\x1b\x22\x07" \
+    "\x9f\x9d\x11\x1d\x96\xea\x8a\x91\x2c\x78\xc1\x0b" \
+    "\xee\x64\xe6\x07\x19\xf5\x7e\x92\x03\xad\x45\x2a" \
+    "\x04\xcc\x4e\x50\x20\x00\x00\x00\x00\x49\x45\x4e" \
+    "\x44\xae\x42\x60\x82"
+image1_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x16\x00\x00\x00\x16" \
+    "\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\x00\x00\x00" \
+    "\x99\x49\x44\x41\x54\x38\x8d\xed\x94\x41\x0e\x85" \
+    "\x20\x0c\x44\x5f\x89\xc7\x36\x7f\x61\xbc\x77\x5d" \
+    "\x28\x48\xa4\x28\x60\xff\xce\xd9\x54\x8b\xbe\x8e" \
+    "\x13\x04\x3e\x1d\x92\x81\x77\xf4\x81\xa1\x23\xdc" \
+    "\x2b\x34\xf6\xf4\x7a\x3d\xe2\xb8\x65\xa8\x84\x3f" \
+    "\x40\x01\x98\x2a\x0b\x3d\x5f\x62\xc5\x83\x00\xaa" \
+    "\x1a\xd7\x05\x50\x44\x9a\xb9\xd5\x07\xa7\x73\xa8" \
+    "\xa4\xba\x4f\x92\xa2\xdf\x33\x3c\x64\xc6\x3b\xeb" \
+    "\xbd\x82\xe5\xb8\xad\xde\xcb\xcc\x78\x20\xeb\x42" \
+    "\x66\xc6\x39\x74\x5d\xfa\x80\xf3\x6f\xaf\x66\xc6" \
+    "\x6f\xa1\x9c\x3f\x88\x2f\xb4\x70\xec\x05\xcd\xc0" \
+    "\xbe\xd0\x78\x93\xf6\x8e\x17\x14\x92\x63\x5f\x68" \
+    "\x6c\x3e\xef\xf6\xba\x3c\x8f\xdd\x36\x6d\xc4\xc0" \
+    "\x45\x2c\x87\x81\xf8\x08\x00\x00\x00\x00\x49\x45" \
+    "\x4e\x44\xae\x42\x60\x82"
+image2_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x16\x00\x00\x00\x16" \
+    "\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\x00\x00\x00" \
+    "\xa0\x49\x44\x41\x54\x38\x8d\xd5\x95\x4d\x0a\x80" \
+    "\x20\x10\x85\x9f\xd1\x46\x68\xe1\x8d\xe6\x62\xd2" \
+    "\x22\xbc\x98\x37\x6a\x21\xb4\xac\x45\x19\x92\xc6" \
+    "\x64\x69\xe0\xb7\xf1\x87\xf1\xf1\x1c\x47\x05\x2a" \
+    "\x21\x8e\x76\x2d\xad\xdb\xfb\x9e\x99\xf6\x56\x8f" \
+    "\x80\xb5\x36\x4b\x85\x88\xce\x35\x44\x04\x00\xe8" \
+    "\x0a\x39\x8c\xe8\xf9\x90\x34\xd2\x29\x2c\xc3\x7c" \
+    "\x8e\xbd\x53\x0f\xeb\x58\x3a\x05\xe9\x54\x34\x1f" \
+    "\x8a\x02\x7b\x2a\x7d\x3a\x1f\x09\xbf\x85\x4d\xc5" \
+    "\xd5\xd9\x53\xaa\x39\x6e\x4f\x38\xca\xb1\x99\xe2" \
+    "\xd2\xe1\x08\xab\xe1\x56\xf8\x2e\x30\x97\x7f\xcb" \
+    "\x4d\x8f\xf9\x42\xd7\x5d\xbe\xbe\xd2\xe1\x43\x95" \
+    "\x3a\x93\xf6\xca\xad\x3d\x61\x11\xf4\x4b\x7d\x4f" \
+    "\x82\x0f\xf9\xc0\x06\x9b\xb5\x1e\xcd\xed\x31\x8c" \
+    "\x5c\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60" \
+    "\x82"
+image3_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x16\x00\x00\x00\x16" \
+    "\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\x00\x00\x00" \
+    "\x73\x49\x44\x41\x54\x38\x8d\xed\x92\xc1\x0e\x80" \
+    "\x20\x08\x40\xb1\xef\x66\x1d\x1c\xff\x4d\x87\x6a" \
+    "\xa8\x88\xa1\x76\x69\xf9\x36\x0f\x28\x3e\xd8\x00" \
+    "\x60\xf1\x59\x42\x5f\x3a\x71\xf5\x36\x02\xe0\x8e" \
+    "\x99\x2b\x09\x88\x01\xd0\x28\x54\x17\x6a\xe4\x7f" \
+    "\x21\xce\x1f\xb5\xb0\x5d\x38\xed\xdc\x90\x60\xd0" \
+    "\xf1\x13\x79\x63\x5b\x3b\xc9\x2b\xd5\x18\xe2\x39" \
+    "\xa9\x43\xec\x1d\x5a\xb7\x78\x5c\xee\x10\x7b\xe4" \
+    "\xb2\x15\xaf\x40\x91\xf8\x94\xde\x47\x18\x1e\xce" \
+    "\xa5\x9e\xde\x9e\xc5\x9f\x38\x00\x62\xac\x28\xb1" \
+    "\xe3\xd7\x01\xd9\x00\x00\x00\x00\x49\x45\x4e\x44" \
+    "\xae\x42\x60\x82"
+image4_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x16\x00\x00\x00\x16" \
+    "\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\x00\x00\x00" \
+    "\x74\x49\x44\x41\x54\x38\x8d\xed\x92\xc1\x0a\xc0" \
+    "\x20\x08\x40\x6d\xdf\x2d\x3b\x84\xff\xed\x0e\xa3" \
+    "\x58\x6a\x26\xd1\x65\xe0\x83\x0e\xa5\x3e\x85\x04" \
+    "\x48\x7e\x4b\x91\x0f\x54\x89\xf1\x9e\xa5\xa3\xca" \
+    "\x0f\x8a\x89\x63\x65\xb3\x06\xc4\x2d\xd6\x13\xc6" \
+    "\x49\xbd\xc2\x59\x83\x16\x13\x62\x19\xf0\xf9\x36" \
+    "\xc0\xa2\xef\x00\xd7\x5a\x62\x61\x4d\x3a\xb2\x29" \
+    "\x96\xf2\xa3\x62\xff\xa3\x37\xc5\xeb\xed\xe9\x62" \
+    "\xaa\xd1\xa2\xe8\x4a\xaa\xa2\xf7\x50\xdd\x12\x74" \
+    "\x8c\x0f\xd0\xab\x93\x24\x67\x78\x00\x59\x6e\x28" \
+    "\xb1\x74\x3f\x46\x86\x00\x00\x00\x00\x49\x45\x4e" \
+    "\x44\xae\x42\x60\x82"
+image5_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x16\x00\x00\x00\x16" \
+    "\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\x00\x00\x00" \
+    "\x82\x49\x44\x41\x54\x38\x8d\xcd\xd3\x41\x12\x80" \
+    "\x20\x08\x05\x50\xe8\xe0\x2e\xbc\x38\xad\x32\x73" \
+    "\x50\x3e\x48\x53\x7f\xe3\xe4\x8c\x4f\x24\x25\xfa" \
+    "\x28\xe2\x9c\x6f\x39\x92\x0b\xf9\x27\x6c\xb6\x01" \
+    "\x85\x35\x88\x77\x61\x13\x88\xc2\x57\x64\x18\xcd" \
+    "\xa0\x15\xf5\x20\xb4\xe6\xb5\x5b\xe1\x09\xdc\x06" \
+    "\x22\xb8\xe2\x2a\xcf\x31\x05\x6e\x18\xdf\xdf\xf8" \
+    "\x06\x06\xaa\x55\x1c\xc6\x35\x64\xc4\xdc\xf8\x0c" \
+    "\xd0\x20\x1d\x57\x7a\x5c\x85\xa8\x84\x5f\xdc\x02" \
+    "\x5e\xa5\x30\x7a\xfc\xcd\x07\xe2\x3a\x1d\xf2\x83" \
+    "\xec\x2b\x37\xd9\xad\x5f\xb4\xdf\xef\xd4\x9c\xfb" \
+    "\xf7\x2f\xac\x98\xc8\xcc\x89\x00\x00\x00\x00\x49" \
+    "\x45\x4e\x44\xae\x42\x60\x82"
+image6_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x16\x00\x00\x00\x16" \
+    "\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\x00\x00\x00" \
+    "\xbf\x49\x44\x41\x54\x38\x8d\xd5\x93\x41\x0a\x83" \
+    "\x30\x10\x45\xdf\x48\x8e\xe5\x1d\xbc\x8c\x3b\xa9" \
+    "\x8b\xf4\x6a\x9e\xab\xd3\x85\x35\x0d\x26\x63\x62" \
+    "\x44\x4a\x3f\x0c\x42\x66\xfc\xf3\xf8\x24\xf0\x6f" \
+    "\x12\x40\x2b\x66\xda\x8c\x55\xf3\xde\x22\x12\xcf" \
+    "\x9d\x92\xcb\x98\xc0\xba\x2d\x7c\x45\x44\xcf\x9a" \
+    "\x07\x63\x8b\xba\xd5\x3c\x44\x91\x23\x5e\xcf\x7c" \
+    "\xc1\x62\x36\x97\xa9\x25\x40\xc1\x1f\xf4\xfd\xa7" \
+    "\x52\x75\x01\x5d\x24\xa9\x38\x9e\x7d\x6f\x53\xdf" \
+    "\x4f\xe4\xcc\xab\x32\x3e\xea\x0f\x03\xc0\xc4\xb2" \
+    "\xa0\x71\x2c\xe6\xad\xd8\x9b\x59\xb7\x66\x1c\x3b" \
+    "\xe0\x95\x98\x5f\x26\x16\x79\xee\x4e\xbc\xc2\x2c" \
+    "\x97\x88\x55\x1f\xe6\xa2\xcb\xc4\x96\x9a\x89\x4b" \
+    "\xcb\x6f\x23\xee\x36\x1a\xab\x62\xe2\x52\xc5\x72" \
+    "\x94\xdf\xbf\xb6\x10\xbb\xf2\xc8\x97\xb8\xa4\x6c" \
+    "\xc6\x67\x7e\xaa\x51\x95\x71\xfa\x08\x7e\xa8\x37" \
+    "\x62\xda\x9a\xba\xcb\x20\x23\x5f\x00\x00\x00\x00" \
+    "\x49\x45\x4e\x44\xae\x42\x60\x82"
+image7_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x16\x00\x00\x00\x16" \
+    "\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\x00\x00\x00" \
+    "\xd5\x49\x44\x41\x54\x38\x8d\xc5\x95\x5d\x0a\x84" \
+    "\x30\x0c\x84\x27\xe2\xa9\x0a\x9e\x6c\x8b\x0f\x4b" \
+    "\x3d\xd9\x82\xd7\xca\x3e\x58\xd7\xfe\x4c\xd0\xba" \
+    "\x5d\x76\x40\x02\x4d\xf2\x65\xda\x0a\x05\x7e\x24" \
+    "\x39\xc9\xeb\x8d\x9e\xaa\x88\x41\xa0\xc9\xaa\xd8" \
+    "\xc8\x2a\xb3\x2f\x9c\x42\x5b\xe1\xe3\x0e\x0d\xcf" \
+    "\x00\xc0\x03\x08\xf0\xb3\xa7\xa0\x74\x10\xa9\xd7" \
+    "\x14\x2e\x00\xb4\x2c\x5a\x5f\xab\x69\x6b\x97\x9b" \
+    "\x1c\x83\x7f\xc0\xc3\x16\xb6\xe4\x16\x5b\x64\xf7" \
+    "\x8d\x71\x63\x59\x91\x9b\xdc\x45\x70\xde\x47\xc0" \
+    "\x47\x32\xdd\x5e\x5b\xcc\x35\xf0\xc9\x77\x62\xae" \
+    "\x78\x79\x36\xdc\xcf\x75\x13\x57\x7e\x79\xf4\x8c" \
+    "\x4b\x27\xaa\x0f\x13\x27\xb2\x40\xf5\x11\x7f\xcb" \
+    "\xe3\x48\xaa\x33\xb6\xe0\x22\x4b\x05\x4d\x07\x46" \
+    "\xb8\x02\x5e\x2e\x3b\x3e\x73\xcd\xe0\xdd\x1c\x97" \
+    "\xf0\x2e\x8e\xd9\xd0\xaf\x1d\xb3\x81\x22\x4b\xdf" \
+    "\x33\xee\xe6\x98\xa9\x34\xa0\xf6\x17\xb4\x55\x40" \
+    "\xd0\x0b\xcf\x4c\xa0\x8f\xc0\xdf\xf4\x06\xe3\x25" \
+    "\xc1\x98\x1b\xc4\x18\x76\x00\x00\x00\x00\x49\x45" \
+    "\x4e\x44\xae\x42\x60\x82"
+image8_data = \
+    "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d" \
+    "\x49\x48\x44\x52\x00\x00\x00\x16\x00\x00\x00\x16" \
+    "\x08\x06\x00\x00\x00\xc4\xb4\x6c\x3b\x00\x00\x02" \
+    "\x5d\x49\x44\x41\x54\x38\x8d\xd5\x93\xa1\x72\xdb" \
+    "\x40\x10\x86\x3f\x67\x0a\x56\xec\xc4\x22\x78\xd0" \
+    "\x65\x36\x93\xa0\xc2\x1c\x68\xd6\xc2\xe6\x0d\xf2" \
+    "\x1a\x81\x81\x11\x34\x94\x99\xc2\x54\xa8\x32\x9b" \
+    "\x55\xf0\xe0\x89\xdd\xb1\x5b\xa6\x02\xb7\x9d\x66" \
+    "\x92\xd6\x99\xb6\xd3\x99\xfe\xe8\x6e\x67\xe7\xdb" \
+    "\x7f\x77\xef\xe0\x7f\xd3\xe2\xc7\x4b\xd7\x75\xb3" \
+    "\x73\x0e\xef\x3d\x51\x15\x00\x23\x82\xb5\x16\x6b" \
+    "\x2d\x57\x57\x57\x8b\x17\x29\xbf\x02\xb7\x6d\x3b" \
+    "\x0f\x87\x03\xb9\x2d\x58\xae\xd7\x60\x04\x00\xef" \
+    "\x1c\xe3\xc7\x03\x06\xa8\xaa\x8a\xeb\xeb\xeb\x57" \
+    "\xc1\x17\xdf\xa0\x6d\xdb\x52\x5d\xd7\x54\xef\xb6" \
+    "\x00\xa8\x2a\x49\x13\x8a\x12\x35\x32\xec\x3a\xc4" \
+    "\x2b\x9b\xcd\xe6\x55\xce\x2f\xfa\xbe\x9f\x87\xc3" \
+    "\x40\xfd\xe1\x3d\xcb\x4d\x8d\xaa\xa2\x4e\x48\xee" \
+    "\x12\xc6\x82\x38\x08\xc1\x07\x96\x9b\x1a\x8a\x9c" \
+    "\xe3\xf1\xf8\xaa\x51\x5c\x38\xe7\xc8\xad\xa5\xaa" \
+    "\x6b\x00\xc4\x5f\x12\x9c\x67\xd2\x23\x93\x8c\x88" \
+    "\xe6\xc8\x60\xd1\x18\xb1\xd5\x92\xd1\x39\xba\xae" \
+    "\x9b\xcf\x83\xa7\x89\x65\xb5\x46\x51\x34\x80\x1b" \
+    "\x1d\x2e\x1f\x49\x45\xc0\xe3\x50\x09\x64\x08\xea" \
+    "\x15\x44\x90\xc2\xe0\xbd\x3f\xef\x58\x53\xc2\xe4" \
+    "\x86\xa0\x01\x9f\x4d\x84\xf5\x84\x18\x41\x83\x62" \
+    "\xb0\x40\x8e\x8b\x23\xc9\x24\x50\x10\x93\x31\x4d" \
+    "\xd3\x59\xf0\x1b\x80\x98\x14\x11\x20\x25\x14\x40" \
+    "\x15\xf1\x96\x4c\x0b\xbc\x1b\x48\x4b\x07\xe4\x68" \
+    "\x88\x80\xc0\x29\xeb\xd7\x8e\x41\x41\xf5\xb4\x34" \
+    "\xfd\x76\x86\x4c\x05\x3f\x1e\x08\x4b\x0f\x85\x80" \
+    "\x26\x54\x40\x63\x40\x44\xce\x83\x8b\xbc\xc0\x39" \
+    "\x87\xa6\x13\x50\xa3\xa2\x28\x5e\x1d\x5a\x44\x14" \
+    "\xd0\x70\x8a\xa5\x98\x08\x21\x62\xad\x3d\x0f\xb6" \
+    "\xd6\xe2\x87\xcf\xa4\x98\x50\x8d\x27\x40\x50\x44" \
+    "\x73\x70\x42\x8c\x91\xaf\x8d\x10\xfd\x44\x81\x60" \
+    "\x8c\x39\x0b\x5e\x00\xdc\xdd\xdd\xcd\x8e\x80\xa9" \
+    "\xde\x42\x02\x48\xe8\x04\x84\x08\x56\xf0\x3e\x02" \
+    "\x90\x7d\x72\x94\x65\xc9\xba\x5a\xe3\x46\x87\x31" \
+    "\xe6\xa7\x9f\xe5\x02\x60\xb5\x5a\x61\x02\xc4\xee" \
+    "\x40\xa6\x89\x4c\x33\xf2\xcb\x0c\xb1\x06\x51\x28" \
+    "\x14\xf8\xf8\x99\xb2\x2c\xb9\xb9\xb9\x59\xb8\xd1" \
+    "\xf1\xf8\xf8\x48\xd3\x34\xb4\x6d\xfb\xe2\x9b\xfe" \
+    "\x5e\xad\xef\xfb\xf9\x78\x3c\x32\x3a\x87\x18\x81" \
+    "\xec\xb4\x20\x0d\x11\x51\xa8\xeb\x9a\xed\x76\xbb" \
+    "\x00\x18\x86\x61\xee\xba\x8e\xfd\x7e\x8f\x31\x86" \
+    "\xed\x76\xcb\x6a\xb5\x7a\xe2\xfe\x59\x1b\x5d\xd7" \
+    "\xcd\xde\x7b\x62\x8c\x88\x08\x79\x9e\x63\xad\xa5" \
+    "\xaa\xaa\x67\xb9\xbb\xdd\x6e\x6e\x9a\x06\xef\x3d" \
+    "\x75\x5d\x3f\x29\xfe\xc7\xea\xfb\x7e\xbe\xbd\xbd" \
+    "\x9d\xad\xb5\x73\x59\x96\xf3\xfd\xfd\xfd\xfc\xa2" \
+    "\xe3\xdf\xd5\xc3\xc3\xc3\xdc\x34\x0d\xd3\x34\xb1" \
+    "\xd9\x6c\xfe\x1e\x18\x4e\x63\xdc\xef\xf7\xa4\x94" \
+    "\xfe\x26\xf6\x1f\xe9\x0b\xbc\x4c\x5e\x59\xd6\x14" \
+    "\xca\xf4\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42" \
+    "\x60\x82"
+
+class Eficas(QMainWindow):
+    def __init__(self,parent = None,name = None,fl = 0):
+        QMainWindow.__init__(self,parent,name,fl)
+        self.statusBar()
+
+        self.image0 = QPixmap()
+        self.image0.loadFromData(image0_data,"PNG")
+        self.image1 = QPixmap()
+        self.image1.loadFromData(image1_data,"PNG")
+        self.image2 = QPixmap()
+        self.image2.loadFromData(image2_data,"PNG")
+        self.image3 = QPixmap()
+        self.image3.loadFromData(image3_data,"PNG")
+        self.image4 = QPixmap()
+        self.image4.loadFromData(image4_data,"PNG")
+        self.image5 = QPixmap()
+        self.image5.loadFromData(image5_data,"PNG")
+        self.image6 = QPixmap()
+        self.image6.loadFromData(image6_data,"PNG")
+        self.image7 = QPixmap()
+        self.image7.loadFromData(image7_data,"PNG")
+        self.image8 = QPixmap()
+        self.image8.loadFromData(image8_data,"PNG")
+        if not name:
+            self.setName("Eficas")
+
+        self.setEnabled(1)
+        self.setSizePolicy(QSizePolicy(QSizePolicy.Minimum,QSizePolicy.Minimum,0,0,self.sizePolicy().hasHeightForWidth()))
+        self.setMinimumSize(QSize(21,336))
+        self.setBackgroundOrigin(QMainWindow.WidgetOrigin)
+        f = QFont(self.font())
+        self.setFont(f)
+
+        self.setCentralWidget(QWidget(self,"qt_central_widget"))
+
+        self.line1 = QFrame(self.centralWidget(),"line1")
+        self.line1.setGeometry(QRect(-30,-10,930,20))
+        self.line1.setFrameShape(QFrame.HLine)
+        self.line1.setFrameShadow(QFrame.Sunken)
+        self.line1.setFrameShape(QFrame.HLine)
+
+        self.fileNewAction = QAction(self,"fileNewAction")
+        self.fileNewAction.setIconSet(QIconSet(self.image0))
+        self.fileOpenAction = QAction(self,"fileOpenAction")
+        self.fileOpenAction.setIconSet(QIconSet(self.image1))
+        self.fileSaveAction = QAction(self,"fileSaveAction")
+        self.fileSaveAction.setIconSet(QIconSet(self.image2))
+        self.fileSaveAsAction = QAction(self,"fileSaveAsAction")
+        self.fileExitAction = QAction(self,"fileExitAction")
+        self.editUndoAction = QAction(self,"editUndoAction")
+        self.editUndoAction.setEnabled(0)
+        self.editUndoAction.setIconSet(QIconSet(self.image3))
+        self.editRedoAction = QAction(self,"editRedoAction")
+        self.editRedoAction.setEnabled(0)
+        self.editRedoAction.setIconSet(QIconSet(self.image4))
+        self.editCutAction = QAction(self,"editCutAction")
+        self.editCutAction.setIconSet(QIconSet(self.image5))
+        self.editCopyAction = QAction(self,"editCopyAction")
+        self.editCopyAction.setIconSet(QIconSet(self.image6))
+        self.editPasteAction = QAction(self,"editPasteAction")
+        self.editPasteAction.setIconSet(QIconSet(self.image7))
+        self.jdcFichierResultatAction = QAction(self,"jdcFichierResultatAction")
+        self.jdcFichierResultatAction.setEnabled(1)
+        self.jdcFichierResultatAction.setIconSet(QIconSet(self.image8))
+        self.helpContentsAction = QAction(self,"helpContentsAction")
+        self.helpIndexAction = QAction(self,"helpIndexAction")
+        self.helpAboutAction = QAction(self,"helpAboutAction")
+        self.helpAboutAction.setOn(0)
+        self.fileSaveCloseAction = QAction(self,"fileSaveCloseAction")
+        self.fileCloseAction = QAction(self,"fileCloseAction")
+        self.fileNewViewAction = QAction(self,"fileNewViewAction")
+        self.fileNewViewAction.setEnabled(0)
+        self.fileCloseAllAction = QAction(self,"fileCloseAllAction")
+        self.jdcRapportDeValidationAction = QAction(self,"jdcRapportDeValidationAction")
+        self.jdcFichierSourceAction = QAction(self,"jdcFichierSourceAction")
+        self.traduitV7V8Action = QAction(self,"traduitV7V8Action")
+        self.aidenew_itemAction = QAction(self,"aidenew_itemAction")
+        self.fileNewInclude = QAction(self,"fileNewInclude")
+        self.optionEditeurAction = QAction(self,"optionEditeurAction")
+        self.optionPdfAction = QAction(self,"optionPdfAction")
+
+
+        self.toolBar = QToolBar(QString(""),self,Qt.DockTop)
+
+        self.toolBar.setFrameShape(QToolBar.MenuBarPanel)
+        self.toolBar.setHorizontallyStretchable(0)
+        self.fileNewAction.addTo(self.toolBar)
+        self.fileSaveAction.addTo(self.toolBar)
+        self.fileOpenAction.addTo(self.toolBar)
+        self.fileSaveAsAction.addTo(self.toolBar)
+        self.editCutAction.addTo(self.toolBar)
+        self.editPasteAction.addTo(self.toolBar)
+        self.jdcFichierResultatAction.addTo(self.toolBar)
+        self.fileExitAction.addTo(self.toolBar)
+        self.toolBar.addSeparator()
+
+
+        self.MenuBar = QMenuBar(self,"MenuBar")
+
+        self.MenuBar.setMargin(2)
+
+        self.Fichier = QPopupMenu(self)
+        self.fileNewAction.addTo(self.Fichier)
+        self.fileNewInclude.addTo(self.Fichier)
+        self.fileOpenAction.addTo(self.Fichier)
+        self.fileSaveAction.addTo(self.Fichier)
+        self.fileSaveAsAction.addTo(self.Fichier)
+        self.fileCloseAction.addTo(self.Fichier)
+        self.fileCloseAllAction.addTo(self.Fichier)
+        self.Fichier.insertSeparator()
+        self.Fichier.insertSeparator()
+        self.fileExitAction.addTo(self.Fichier)
+        self.MenuBar.insertItem(QString(""),self.Fichier,2)
+
+        self.Edition = QPopupMenu(self)
+        self.Edition.insertSeparator()
+        self.editCutAction.addTo(self.Edition)
+        self.editCopyAction.addTo(self.Edition)
+        self.editPasteAction.addTo(self.Edition)
+        self.MenuBar.insertItem(QString(""),self.Edition,3)
+
+        self.JdC = QPopupMenu(self)
+        self.jdcRapportDeValidationAction.addTo(self.JdC)
+        self.jdcFichierSourceAction.addTo(self.JdC)
+        self.jdcFichierResultatAction.addTo(self.JdC)
+        self.MenuBar.insertItem(QString(""),self.JdC,4)
+
+        self.Aide = QPopupMenu(self)
+        self.aidenew_itemAction.addTo(self.Aide)
+        self.MenuBar.insertItem(QString(""),self.Aide,5)
+
+        self.Options = QPopupMenu(self)
+        self.optionEditeurAction.addTo(self.Options)
+        self.optionPdfAction.addTo(self.Options)
+        self.MenuBar.insertItem(QString(""),self.Options,6)
+
+        self.Traduction = QPopupMenu(self)
+        self.traduitV7V8Action.addTo(self.Traduction)
+        self.MenuBar.insertItem(QString(""),self.Traduction,7)
+
+        self.Patrons = QPopupMenu(self)
+        self.MenuBar.insertItem(QString(""),self.Patrons,8)
+
+
+        self.languageChange()
+
+        self.resize(QSize(902,575).expandedTo(self.minimumSizeHint()))
+        self.clearWState(Qt.WState_Polished)
+
+        self.connect(self.fileNewAction,SIGNAL("activated()"),self.fileNew)
+        self.connect(self.fileOpenAction,SIGNAL("activated()"),self.fileOpen)
+        self.connect(self.fileSaveAction,SIGNAL("activated()"),self.fileSave)
+        self.connect(self.fileSaveAsAction,SIGNAL("activated()"),self.fileSaveAs)
+        self.connect(self.fileExitAction,SIGNAL("activated()"),self.fileExit)
+        self.connect(self.editUndoAction,SIGNAL("activated()"),self.editUndo)
+        self.connect(self.editRedoAction,SIGNAL("activated()"),self.editRedo)
+        self.connect(self.editCutAction,SIGNAL("activated()"),self.editCut)
+        self.connect(self.editPasteAction,SIGNAL("activated()"),self.editPaste)
+        self.connect(self.jdcFichierResultatAction,SIGNAL("activated()"),self.visuJdcPy)
+        self.connect(self.helpIndexAction,SIGNAL("activated()"),self.helpIndex)
+        self.connect(self.helpContentsAction,SIGNAL("activated()"),self.helpContents)
+        self.connect(self.helpAboutAction,SIGNAL("activated()"),self.helpAbout)
+        self.connect(self.fileCloseAction,SIGNAL("activated()"),self.fileClose)
+        self.connect(self.fileNewViewAction,SIGNAL("activated()"),self.fileNewView)
+        self.connect(self.fileCloseAllAction,SIGNAL("activated()"),self.fileCloseAll)
+        self.connect(self.editCopyAction,SIGNAL("activated()"),self.editCopy)
+        self.connect(self.jdcRapportDeValidationAction,SIGNAL("activated()"),self.jdcRapport)
+        self.connect(self.jdcFichierSourceAction,SIGNAL("activated()"),self.jdcFichierSource)
+        self.connect(self.traduitV7V8Action,SIGNAL("activated()"),self.traductionV7V8)
+        self.connect(self.aidenew_itemAction,SIGNAL("activated()"),self.helpAbout)
+        self.connect(self.fileNewInclude,SIGNAL("activated()"),self.NewInclude)
+        self.connect(self.optionEditeurAction,SIGNAL("activated()"),self.optionEditeur)
+        self.connect(self.optionPdfAction,SIGNAL("activated()"),self.optionPdf)
+
+
+    def languageChange(self):
+        self.setCaption(self.__tr("Eficas "))
+        self.fileNewAction.setText(self.__tr("Nouveau"))
+        self.fileNewAction.setMenuText(self.__tr("&Nouveau"))
+        self.fileNewAction.setAccel(self.__tr("Ctrl+N"))
+        self.fileOpenAction.setText(self.__tr("Ouvrir"))
+        self.fileOpenAction.setMenuText(self.__tr("&Ouvrir"))
+        self.fileOpenAction.setAccel(self.__tr("Ctrl+O"))
+        self.fileSaveAction.setText(self.__tr("Enregistrer"))
+        self.fileSaveAction.setMenuText(self.__tr("&Enregistrer"))
+        self.fileSaveAction.setAccel(self.__tr("Ctrl+E"))
+        self.fileSaveAsAction.setText(self.__tr("Enregistrer Sous"))
+        self.fileSaveAsAction.setMenuText(self.__tr("Enregistrer Sous"))
+        self.fileSaveAsAction.setAccel(QString.null)
+        self.fileExitAction.setText(self.__tr("Quitter"))
+        self.fileExitAction.setMenuText(self.__tr("Q&uitter"))
+        self.fileExitAction.setAccel(QString.null)
+        self.editUndoAction.setText(self.__tr("Undo"))
+        self.editUndoAction.setMenuText(self.__tr("&Undo"))
+        self.editUndoAction.setAccel(self.__tr("Ctrl+Z"))
+        self.editRedoAction.setText(self.__tr("Redo"))
+        self.editRedoAction.setMenuText(self.__tr("&Redo"))
+        self.editRedoAction.setAccel(self.__tr("Ctrl+Y"))
+        self.editCutAction.setText(self.__tr("Couper"))
+        self.editCutAction.setMenuText(self.__tr("C&ouper"))
+        self.editCutAction.setAccel(self.__tr("Ctrl+X"))
+        self.editCopyAction.setText(self.__tr("Copier"))
+        self.editCopyAction.setMenuText(self.__tr("&Copier"))
+        self.editCopyAction.setAccel(self.__tr("Ctrl+C"))
+        self.editPasteAction.setText(self.__tr("Coller"))
+        self.editPasteAction.setMenuText(self.__tr("&Coller"))
+        self.editPasteAction.setAccel(self.__tr("Ctrl+V"))
+        self.jdcFichierResultatAction.setText(self.__tr("Fichier Resultat"))
+        self.jdcFichierResultatAction.setMenuText(self.__tr("Fichier Resultat"))
+        self.jdcFichierResultatAction.setAccel(self.__tr("Ctrl+F"))
+        self.helpContentsAction.setText(self.__tr("Contents"))
+        self.helpContentsAction.setMenuText(self.__tr("&Contents..."))
+        self.helpContentsAction.setAccel(QString.null)
+        self.helpIndexAction.setText(self.__tr("Index"))
+        self.helpIndexAction.setMenuText(self.__tr("&Index..."))
+        self.helpIndexAction.setAccel(QString.null)
+        self.helpAboutAction.setText(self.__tr("About"))
+        self.helpAboutAction.setMenuText(self.__tr("&About"))
+        self.helpAboutAction.setAccel(QString.null)
+        self.fileSaveCloseAction.setText(self.__tr("Fermer"))
+        self.fileSaveCloseAction.setMenuText(self.__tr("Fermer"))
+        self.fileCloseAction.setText(self.__tr("Fermer"))
+        self.fileCloseAction.setMenuText(self.__tr("Fermer"))
+        self.fileCloseAction.setAccel(self.__tr("Ctrl+W"))
+        self.fileNewViewAction.setText(self.__tr("New view"))
+        self.fileCloseAllAction.setText(self.__tr("Tout Fermer"))
+        self.fileCloseAllAction.setMenuText(self.__tr("Tout Fermer"))
+        self.jdcRapportDeValidationAction.setText(self.__tr("Rapport de validation"))
+        self.jdcRapportDeValidationAction.setMenuText(self.__tr("Rapport de validation"))
+        self.jdcRapportDeValidationAction.setAccel(self.__tr("Ctrl+R"))
+        self.jdcFichierSourceAction.setText(self.__tr("Fichier source"))
+        self.jdcFichierSourceAction.setMenuText(self.__tr("Fichier source"))
+        self.jdcFichierSourceAction.setAccel(self.__tr("Ctrl+B"))
+        self.traduitV7V8Action.setText(self.__tr("traduitV7V8"))
+        self.traduitV7V8Action.setMenuText(self.__tr("traduitV7V8"))
+        self.aidenew_itemAction.setText(self.__tr("Eficas"))
+        self.fileNewInclude.setText(self.__tr("Nouvel Include"))
+        self.fileNewInclude.setMenuText(self.__tr("Nouvel Include"))
+        self.optionEditeurAction.setText(self.__tr("Parametres Eficas"))
+        self.optionEditeurAction.setMenuText(self.__tr("Parametres Eficas"))
+        self.optionPdfAction.setText(self.__tr("Lecteur Pdf"))
+        self.optionPdfAction.setMenuText(self.__tr("Lecteur Pdf"))
+        self.toolBar.setLabel(self.__tr("Tools"))
+        if self.MenuBar.findItem(2):
+            self.MenuBar.findItem(2).setText(self.__tr("&Fichier"))
+        if self.MenuBar.findItem(3):
+            self.MenuBar.findItem(3).setText(self.__tr("&Edition"))
+        if self.MenuBar.findItem(4):
+            self.MenuBar.findItem(4).setText(self.__tr("JdC"))
+        if self.MenuBar.findItem(5):
+            self.MenuBar.findItem(5).setText(self.__tr("&Aide"))
+        if self.MenuBar.findItem(6):
+            self.MenuBar.findItem(6).setText(self.__tr("Options"))
+        if self.MenuBar.findItem(7):
+            self.MenuBar.findItem(7).setText(self.__tr("Traduction"))
+        if self.MenuBar.findItem(8):
+            self.MenuBar.findItem(8).setText(self.__tr("Patrons"))
+
+
+    def fileNew(self):
+        print "Eficas.fileNew(): Not implemented yet"
+
+    def fileOpen(self):
+        print "Eficas.fileOpen(): Not implemented yet"
+
+    def fileSave(self):
+        print "Eficas.fileSave(): Not implemented yet"
+
+    def fileSaveAs(self):
+        print "Eficas.fileSaveAs(): Not implemented yet"
+
+    def filePrint(self):
+        print "Eficas.filePrint(): Not implemented yet"
+
+    def fileExit(self):
+        print "Eficas.fileExit(): Not implemented yet"
+
+    def editUndo(self):
+        print "Eficas.editUndo(): Not implemented yet"
+
+    def editRedo(self):
+        print "Eficas.editRedo(): Not implemented yet"
+
+    def jdcFichierSource(self):
+        print "Eficas.jdcFichierSource(): Not implemented yet"
+
+    def fileNewView(self):
+        print "Eficas.fileNewView(): Not implemented yet"
+
+    def editPaste(self):
+        print "Eficas.editPaste(): Not implemented yet"
+
+    def visuJdcPy(self):
+        print "Eficas.visuJdcPy(): Not implemented yet"
+
+    def helpIndex(self):
+        print "Eficas.helpIndex(): Not implemented yet"
+
+    def helpContents(self):
+        print "Eficas.helpContents(): Not implemented yet"
+
+    def helpAbout(self):
+        print "Eficas.helpAbout(): Not implemented yet"
+
+    def fileClose(self):
+        print "Eficas.fileClose(): Not implemented yet"
+
+    def fileCloseAll(self):
+        print "Eficas.fileCloseAll(): Not implemented yet"
+
+    def jdcRapport(self):
+        print "Eficas.jdcRapport(): Not implemented yet"
+
+    def editCut(self):
+        print "Eficas.editCut(): Not implemented yet"
+
+    def editCopy(self):
+        print "Eficas.editCopy(): Not implemented yet"
+
+    def traductionV7V8(self):
+        print "Eficas.traductionV7V8(): Not implemented yet"
+
+    def NewInclude(self):
+        print "Eficas.NewInclude(): Not implemented yet"
+
+    def optionEditeur(self):
+        print "Eficas.optionEditeur(): Not implemented yet"
+
+    def optionPdf(self):
+        print "Eficas.optionPdf(): Not implemented yet"
+
+    def __tr(self,s,c = None):
+        return qApp.translate("Eficas",s,c)
diff --git a/UiQT4/myMain.ui b/UiQT4/myMain.ui
new file mode 100644 (file)
index 0000000..955c4b2
--- /dev/null
@@ -0,0 +1,699 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>Eficas</class>
+<widget class="QMainWindow">
+    <property name="name">
+        <cstring>Eficas</cstring>
+    </property>
+    <property name="enabled">
+        <bool>true</bool>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>902</width>
+            <height>575</height>
+        </rect>
+    </property>
+    <property name="sizePolicy">
+        <sizepolicy>
+            <hsizetype>1</hsizetype>
+            <vsizetype>1</vsizetype>
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+        </sizepolicy>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>21</width>
+            <height>336</height>
+        </size>
+    </property>
+    <property name="backgroundOrigin">
+        <enum>WidgetOrigin</enum>
+    </property>
+    <property name="font">
+        <font>
+        </font>
+    </property>
+    <property name="caption">
+        <string>Eficas </string>
+    </property>
+    <widget class="Line">
+        <property name="name">
+            <cstring>line1</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>-30</x>
+                <y>-10</y>
+                <width>930</width>
+                <height>20</height>
+            </rect>
+        </property>
+        <property name="frameShape">
+            <enum>HLine</enum>
+        </property>
+        <property name="frameShadow">
+            <enum>Sunken</enum>
+        </property>
+        <property name="orientation">
+            <enum>Horizontal</enum>
+        </property>
+    </widget>
+</widget>
+<menubar>
+    <property name="name">
+        <cstring>MenuBar</cstring>
+    </property>
+    <property name="margin">
+        <number>2</number>
+    </property>
+    <item text="&amp;Fichier" name="Fichier">
+        <action name="fileNewAction"/>
+        <action name="fileNewInclude"/>
+        <action name="fileOpenAction"/>
+        <action name="fileSaveAction"/>
+        <action name="fileSaveAsAction"/>
+        <action name="fileCloseAction"/>
+        <action name="fileCloseAllAction"/>
+        <separator/>
+        <separator/>
+        <action name="fileExitAction"/>
+    </item>
+    <item text="&amp;Edition" name="Edition">
+        <separator/>
+        <action name="editCutAction"/>
+        <action name="editCopyAction"/>
+        <action name="editPasteAction"/>
+    </item>
+    <item text="JdC" name="JdC">
+        <action name="jdcRapportDeValidationAction"/>
+        <action name="jdcFichierSourceAction"/>
+        <action name="jdcFichierResultatAction"/>
+    </item>
+    <item text="&amp;Aide" name="Aide">
+        <action name="aidenew_itemAction"/>
+    </item>
+    <item text="Options" name="Options">
+        <action name="optionEditeurAction"/>
+        <action name="optionPdfAction"/>
+    </item>
+    <item text="Traduction" name="Traduction">
+        <action name="traduitV7V8Action"/>
+    </item>
+    <item text="Patrons" name="Patrons">
+    </item>
+</menubar>
+<toolbars>
+    <toolbar dock="2">
+        <property name="name">
+            <cstring>toolBar</cstring>
+        </property>
+        <property name="frameShape">
+            <enum>MenuBarPanel</enum>
+        </property>
+        <property name="horizontallyStretchable">
+            <bool>false</bool>
+        </property>
+        <property name="label">
+            <string>Tools</string>
+        </property>
+        <action name="fileNewAction"/>
+        <action name="fileSaveAction"/>
+        <action name="fileOpenAction"/>
+        <action name="fileSaveAsAction"/>
+        <action name="editCutAction"/>
+        <action name="editPasteAction"/>
+        <action name="jdcFichierResultatAction"/>
+        <action name="fileExitAction"/>
+        <separator/>
+    </toolbar>
+</toolbars>
+<actions>
+    <action>
+        <property name="name">
+            <cstring>fileNewAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>image0</iconset>
+        </property>
+        <property name="text">
+            <string>Nouveau</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Nouveau</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+N</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileOpenAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>image1</iconset>
+        </property>
+        <property name="text">
+            <string>Ouvrir</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Ouvrir</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+O</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileSaveAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>image2</iconset>
+        </property>
+        <property name="text">
+            <string>Enregistrer</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Enregistrer</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+E</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileSaveAsAction</cstring>
+        </property>
+        <property name="text">
+            <string>Enregistrer Sous</string>
+        </property>
+        <property name="menuText">
+            <string>Enregistrer Sous</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileExitAction</cstring>
+        </property>
+        <property name="text">
+            <string>Quitter</string>
+        </property>
+        <property name="menuText">
+            <string>Q&amp;uitter</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editUndoAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>image3</iconset>
+        </property>
+        <property name="text">
+            <string>Undo</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Undo</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+Z</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editRedoAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>image4</iconset>
+        </property>
+        <property name="text">
+            <string>Redo</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Redo</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+Y</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editCutAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>image5</iconset>
+        </property>
+        <property name="text">
+            <string>Couper</string>
+        </property>
+        <property name="menuText">
+            <string>C&amp;ouper</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+X</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editCopyAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>image6</iconset>
+        </property>
+        <property name="text">
+            <string>Copier</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Copier</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+C</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editPasteAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>image7</iconset>
+        </property>
+        <property name="text">
+            <string>Coller</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Coller</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+V</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>jdcFichierResultatAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>true</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>image8</iconset>
+        </property>
+        <property name="text">
+            <string>Fichier Resultat</string>
+        </property>
+        <property name="menuText">
+            <string>Fichier Resultat</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+F</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>helpContentsAction</cstring>
+        </property>
+        <property name="text">
+            <string>Contents</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Contents...</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>helpIndexAction</cstring>
+        </property>
+        <property name="text">
+            <string>Index</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Index...</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>helpAboutAction</cstring>
+        </property>
+        <property name="on">
+            <bool>false</bool>
+        </property>
+        <property name="text">
+            <string>About</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;About</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileSaveCloseAction</cstring>
+        </property>
+        <property name="text">
+            <string>Fermer</string>
+        </property>
+        <property name="menuText">
+            <string>Fermer</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileCloseAction</cstring>
+        </property>
+        <property name="text">
+            <string>Fermer</string>
+        </property>
+        <property name="menuText">
+            <string>Fermer</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+W</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileNewViewAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="text">
+            <string>New view</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileCloseAllAction</cstring>
+        </property>
+        <property name="text">
+            <string>Tout Fermer</string>
+        </property>
+        <property name="menuText">
+            <string>Tout Fermer</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>jdcRapportDeValidationAction</cstring>
+        </property>
+        <property name="text">
+            <string>Rapport de validation</string>
+        </property>
+        <property name="menuText">
+            <string>Rapport de validation</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+R</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>jdcFichierSourceAction</cstring>
+        </property>
+        <property name="text">
+            <string>Fichier source</string>
+        </property>
+        <property name="menuText">
+            <string>Fichier source</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+B</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>traduitV7V8Action</cstring>
+        </property>
+        <property name="text">
+            <string>traduitV7V8</string>
+        </property>
+        <property name="menuText">
+            <string>traduitV7V8</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>aidenew_itemAction</cstring>
+        </property>
+        <property name="text">
+            <string>Eficas</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileNewInclude</cstring>
+        </property>
+        <property name="text">
+            <string>Nouvel Include</string>
+        </property>
+        <property name="menuText">
+            <string>Nouvel Include</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>optionEditeurAction</cstring>
+        </property>
+        <property name="text">
+            <string>Parametres Eficas</string>
+        </property>
+        <property name="menuText">
+            <string>Parametres Eficas</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>optionPdfAction</cstring>
+        </property>
+        <property name="text">
+            <string>Lecteur Pdf</string>
+        </property>
+        <property name="menuText">
+            <string>Lecteur Pdf</string>
+        </property>
+    </action>
+</actions>
+<images>
+    <image name="image0">
+        <data format="PNG" length="173">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000007449444154388dedd5c109c0200c05d06fe936812c10b2ffdd85d25385b6a991480f053f081af0291210f828c5a9d9c4de96cd2b9ad9eb0000660e2fe0c2519839c4f70c4c446d5e6b3538cf928245e4b2f6f014acaa8fda1d4fc1a5741b22079f9d111d96ea8a912c78c10bee64e60719f57e9203ad452a04cc4e50200000000049454e44ae426082</data>
+    </image>
+    <image name="image1">
+        <data format="PNG" length="210">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000009949444154388ded94410e85200c445f89c7367f61bc775d2848a42860ffced9548bbe8e13043e1d928177f481a123dc2b34f6f47a3de2b865a8843f4001982a0b3d5f62c58300aa1ad70550449ab9d507a773a8a4ba4f92a2df333c64c63bebbd82e5b8addecbcc7820eb4266c639745dfa80f36faf66c66fa19c3f882fb470ec05cdc0bed07893f68e171492635f686c3eeff6ba3c8fdd366dc4c0452c8781f8080000000049454e44ae426082</data>
+    </image>
+    <image name="image2">
+        <data format="PNG" length="217">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000a049444154388dd5954d0a802010859fd14668e18de662d222bc98376a21b4ac451992c66469e0b7f187f1f11c47052a218e762daddbfb9e99f6568f80b5364b8588ce35440400e80a398ce8f99034d2292cc37c8ebd530feb583a05e954341f8a027b2a7d3a1f09bf854dc5d5d953aa396e4f38cab199e2d2e108abe156f82e30977fcb4d8ff942d75dbebed2e143953a93f6caad3d6111f44b7d4f820ff9c0069bb51ecded318c5c0000000049454e44ae426082</data>
+    </image>
+    <image name="image3">
+        <data format="PNG" length="172">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000007349444154388ded92c10e80200840b1ef661d1cff4d876aa888a17669f9360f283ed80060f159425f3a71f53602e08e992b098801d02854176ae47f21ce1fb5b05d38eddc9060d0f11379635b3bc92bd518e239a943ec1d5ab7785cee107be4b215af4091f894de47181ecea59ede9ec59f380062ac28b1e3d701d90000000049454e44ae426082</data>
+    </image>
+    <image name="image4">
+        <data format="PNG" length="173">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000007449444154388ded92c10ac02008406ddf2d3b84ffed0ea3586a26d165e0830ea53e8504487e4b910f5489f19ea5a3ca0f8a896365b306c42dd613c649bdc2598316136219f0f936c0a2ef00d75a62614d3ab22996f2a362ffa337c5ebede962aad1a2e84aaaa2f750dd12748c0fd0ab9324677800596e28b1743f46860000000049454e44ae426082</data>
+    </image>
+    <image name="image5">
+        <data format="PNG" length="187">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000008249444154388dcdd341128020080550e8e02ebc38ad3273503e48537fe3e48c4f2425fa28e29c6f39920bf9276cb60185358877611388c2576418cda015f520b4e6b55be109dc0622b8e22acf31056e18dfdff80606aa551cc63564c4dcf80cd0201d577a5c85a8845fdc025ea5307afccd07e23a1df283ec2b37d9ad5fb4dfefd49cfbf72fac98c8cc890000000049454e44ae426082</data>
+    </image>
+    <image name="image6">
+        <data format="PNG" length="248">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000bf49444154388dd593410a83301045df488ee51dbc8c3ba98bf46a9eabd385350d266362444a3f0c4266fcf3f824f06f12402b66da8c55f3de2212cf9d92cb98c0ba2d7c4544cf9a07638bbad53c4491235ecf7cc1623697a92540c11ff4fda75275015d24a9389e7d6f53df4fe4ccab323eea0f03c0c4b2a0712ce6add89b59b7661c3be095985f261679ee4ebcc22c9788551fe6a2cbc4969a894bcb6f23ee361aab62e252c57294dfbfb610bbf2c897b8a46cc6677eaa519571fa087ea83762da9abacb20235f0000000049454e44ae426082</data>
+    </image>
+    <image name="image7">
+        <data format="PNG" length="270">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000d549444154388dc5955d0a84300c8427e2a90a9e6c8b0f4b3dd982d7ca3e58d7fe4cd0ba5d7640024df265da0a057e2439c9eb8d9eaa8841a0c9aad8c82ab32f9c425be1e30e0dcf00c00308f0b3a7a07410a9d7142e00b42c5a5fab696b979b1c837fc0c316b6e4165b64f78d716359919bdc4570de47c04732dd5e5bcc35f0c97762ae787936dccf7513577e79f48c4b27aa0f1327b240f5117fcbe348aa33b6e0224b054d0746b8025e2e3b3e73cde0dd1c97f02e8ed9d0af1db381224bdf33eee698a934a0f617b45540d00bcf4ca08fc0dff406e325c1981bc418760000000049454e44ae426082</data>
+    </image>
+    <image name="image8">
+        <data format="PNG" length="662">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000025d49444154388dd593a172db4010863f670a56ecc42278d0653693a0c21c68d6c2e60df21a818111349499c254a8329b55f0e089ddb15ba602b79d6692d699b6d399fee86e67e7db7f77efe07fd3e2c74bd775b3730eef3d5115002382b5166b2d5757578b1729bf02b76d3b0f8703b92d58aed7600400ef1ce3c70306a8aa8aebebeb57c117dfa06ddb525dd754efb600a82a49138a123532ec3ac42b9bcde655ce2ffabe9f87c340fde13dcb4d8daaa24e48ee12c6823808c107969b1a8a9ce3f1f8aa515c38e7c8ada5aa6b00c45f129c67d223938c88e6c860d118b1d592d139baae9bcf83a78965b5465134801b1d2e1f4945c0e350096408ea154490c2e0bd3fef5853c2e486a0019f4d84f58418418362b0408e8b23c924501093314dd359f01b809814112025144015f1964c0bbc1b484b07e4688880c029ebd78e4141f5b434fd76864c053f1e084b0f8580265440634044ce838bbcc03987a61350a3a2285e1d5a4414d0708aa598082162ad3d0fb6d6e287cfa498508d274050447370428c91af8d10fd4481608c390b5e00dcddddcd8e80a9de420248e804840856f03e02907d729465c9ba5ae3468731e6a79fe50260b55a6102c4ee40a6894c33f2cb0cb106512814f8f899b22cb9b9b959b8d1f1f8f848d334b46dfbe29bfe5eadeffbf9783c323a871881ecb4200d1151a8eb9aed76bb00188661eeba8efd7e8f3186ed76cb6ab57ae2fe591b5dd7cdde7b628c8808799e63ada5aaaa67b9bbdd6e6e9a06ef3d755d3f29fec7eafb7ebebdbd9dadb5735996f3fdfdfdfca2e3dfd5c3c3c3dc340dd334b1d96cfe1e184e63dceff7a494fe26f61fe90bbc4c5e59d614caf40000000049454e44ae426082</data>
+    </image>
+</images>
+<connections>
+    <connection>
+        <sender>fileNewAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileNew()</slot>
+    </connection>
+    <connection>
+        <sender>fileOpenAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileOpen()</slot>
+    </connection>
+    <connection>
+        <sender>fileSaveAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileSave()</slot>
+    </connection>
+    <connection>
+        <sender>fileSaveAsAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileSaveAs()</slot>
+    </connection>
+    <connection>
+        <sender>fileExitAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileExit()</slot>
+    </connection>
+    <connection>
+        <sender>editUndoAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>editUndo()</slot>
+    </connection>
+    <connection>
+        <sender>editRedoAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>editRedo()</slot>
+    </connection>
+    <connection>
+        <sender>editCutAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>editCut()</slot>
+    </connection>
+    <connection>
+        <sender>editPasteAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>editPaste()</slot>
+    </connection>
+    <connection>
+        <sender>jdcFichierResultatAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>visuJdcPy()</slot>
+    </connection>
+    <connection>
+        <sender>helpIndexAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>helpIndex()</slot>
+    </connection>
+    <connection>
+        <sender>helpContentsAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>helpContents()</slot>
+    </connection>
+    <connection>
+        <sender>helpAboutAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>helpAbout()</slot>
+    </connection>
+    <connection>
+        <sender>fileCloseAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileClose()</slot>
+    </connection>
+    <connection>
+        <sender>fileNewViewAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileNewView()</slot>
+    </connection>
+    <connection>
+        <sender>fileCloseAllAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileCloseAll()</slot>
+    </connection>
+    <connection>
+        <sender>editCopyAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>editCopy()</slot>
+    </connection>
+    <connection>
+        <sender>jdcRapportDeValidationAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>jdcRapport()</slot>
+    </connection>
+    <connection>
+        <sender>jdcFichierSourceAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>jdcFichierSource()</slot>
+    </connection>
+    <connection>
+        <sender>traduitV7V8Action</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>traductionV7V8()</slot>
+    </connection>
+    <connection>
+        <sender>aidenew_itemAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>helpAbout()</slot>
+    </connection>
+    <connection>
+        <sender>fileNewInclude</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>NewInclude()</slot>
+    </connection>
+    <connection>
+        <sender>optionEditeurAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>optionEditeur()</slot>
+    </connection>
+    <connection>
+        <sender>optionPdfAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>optionPdf()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>fileNew()</slot>
+    <slot>fileOpen()</slot>
+    <slot>fileSave()</slot>
+    <slot>fileSaveAs()</slot>
+    <slot>filePrint()</slot>
+    <slot>fileExit()</slot>
+    <slot>editUndo()</slot>
+    <slot>editRedo()</slot>
+    <slot>jdcFichierSource()</slot>
+    <slot>fileNewView()</slot>
+    <slot>editPaste()</slot>
+    <slot>visuJdcPy()</slot>
+    <slot>helpIndex()</slot>
+    <slot>helpContents()</slot>
+    <slot>helpAbout()</slot>
+    <slot>fileClose()</slot>
+    <slot>fileCloseAll()</slot>
+    <slot>jdcRapport()</slot>
+    <slot>editCut()</slot>
+    <slot>editCopy()</slot>
+    <slot>traductionV7V8()</slot>
+    <slot>NewInclude()</slot>
+    <slot>optionEditeur()</slot>
+    <slot>optionPdf()</slot>
+</slots>
+<layoutdefaults spacing="2" margin="2"/>
+</UI>
diff --git a/UiQT4/myMain.ui~ b/UiQT4/myMain.ui~
new file mode 100644 (file)
index 0000000..a636a0e
--- /dev/null
@@ -0,0 +1,699 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>Eficas</class>
+<widget class="QMainWindow">
+    <property name="name">
+        <cstring>Eficas</cstring>
+    </property>
+    <property name="enabled">
+        <bool>true</bool>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>902</width>
+            <height>575</height>
+        </rect>
+    </property>
+    <property name="sizePolicy">
+        <sizepolicy>
+            <hsizetype>1</hsizetype>
+            <vsizetype>1</vsizetype>
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+        </sizepolicy>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>21</width>
+            <height>323</height>
+        </size>
+    </property>
+    <property name="backgroundOrigin">
+        <enum>WidgetOrigin</enum>
+    </property>
+    <property name="font">
+        <font>
+        </font>
+    </property>
+    <property name="caption">
+        <string>Eficas </string>
+    </property>
+    <widget class="Line">
+        <property name="name">
+            <cstring>line1</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>-30</x>
+                <y>-10</y>
+                <width>930</width>
+                <height>20</height>
+            </rect>
+        </property>
+        <property name="frameShape">
+            <enum>HLine</enum>
+        </property>
+        <property name="frameShadow">
+            <enum>Sunken</enum>
+        </property>
+        <property name="orientation">
+            <enum>Horizontal</enum>
+        </property>
+    </widget>
+</widget>
+<menubar>
+    <property name="name">
+        <cstring>MenuBar</cstring>
+    </property>
+    <property name="margin">
+        <number>2</number>
+    </property>
+    <item text="&amp;Fichier" name="Fichier">
+        <action name="fileNewAction"/>
+        <action name="fileNewInclude"/>
+        <action name="fileOpenAction"/>
+        <action name="fileSaveAction"/>
+        <action name="fileSaveAsAction"/>
+        <action name="fileCloseAction"/>
+        <action name="fileCloseAllAction"/>
+        <separator/>
+        <separator/>
+        <action name="fileExitAction"/>
+    </item>
+    <item text="&amp;Edition" name="Edition">
+        <separator/>
+        <action name="editCutAction"/>
+        <action name="editCopyAction"/>
+        <action name="editPasteAction"/>
+    </item>
+    <item text="JdC" name="JdC">
+        <action name="jdcRapportDeValidationAction"/>
+        <action name="jdcFichierSourceAction"/>
+        <action name="jdcFichierResultatAction"/>
+    </item>
+    <item text="&amp;Aide" name="Aide">
+        <action name="aidenew_itemAction"/>
+    </item>
+    <item text="Options" name="Options">
+        <action name="optionEditeurAction"/>
+        <action name="optionPdfAction"/>
+    </item>
+    <item text="Traduction" name="Traduction">
+        <action name="traduitV7V8Action"/>
+    </item>
+    <item text="Patrons" name="Patrons">
+    </item>
+</menubar>
+<toolbars>
+    <toolbar dock="2">
+        <property name="name">
+            <cstring>toolBar</cstring>
+        </property>
+        <property name="frameShape">
+            <enum>MenuBarPanel</enum>
+        </property>
+        <property name="horizontallyStretchable">
+            <bool>false</bool>
+        </property>
+        <property name="label">
+            <string>Tools</string>
+        </property>
+        <action name="fileNewAction"/>
+        <action name="fileSaveAction"/>
+        <action name="fileOpenAction"/>
+        <action name="fileSaveAsAction"/>
+        <action name="editCutAction"/>
+        <action name="editPasteAction"/>
+        <action name="jdcFichierResultatAction"/>
+        <action name="fileExitAction"/>
+        <separator/>
+    </toolbar>
+</toolbars>
+<actions>
+    <action>
+        <property name="name">
+            <cstring>fileNewAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>image0</iconset>
+        </property>
+        <property name="text">
+            <string>Nouveau</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Nouveau</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+N</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileOpenAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>image1</iconset>
+        </property>
+        <property name="text">
+            <string>Ouvrir</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Ouvrir</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+O</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileSaveAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>image2</iconset>
+        </property>
+        <property name="text">
+            <string>Enregistrer</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Enregister</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+E</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileSaveAsAction</cstring>
+        </property>
+        <property name="text">
+            <string>Enregister Sous</string>
+        </property>
+        <property name="menuText">
+            <string>Enregister Sous</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileExitAction</cstring>
+        </property>
+        <property name="text">
+            <string>Quitter</string>
+        </property>
+        <property name="menuText">
+            <string>Q&amp;uitter</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editUndoAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>image3</iconset>
+        </property>
+        <property name="text">
+            <string>Undo</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Undo</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+Z</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editRedoAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>image4</iconset>
+        </property>
+        <property name="text">
+            <string>Redo</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Redo</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+Y</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editCutAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>image5</iconset>
+        </property>
+        <property name="text">
+            <string>Couper</string>
+        </property>
+        <property name="menuText">
+            <string>C&amp;ouper</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+X</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editCopyAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>image6</iconset>
+        </property>
+        <property name="text">
+            <string>Copier</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Copier</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+C</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>editPasteAction</cstring>
+        </property>
+        <property name="iconSet">
+            <iconset>image7</iconset>
+        </property>
+        <property name="text">
+            <string>Coller</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Coller</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+V</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>jdcFichierResultatAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>true</bool>
+        </property>
+        <property name="iconSet">
+            <iconset>image8</iconset>
+        </property>
+        <property name="text">
+            <string>Fichier Resultat</string>
+        </property>
+        <property name="menuText">
+            <string>Fichier Resultat</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+F</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>helpContentsAction</cstring>
+        </property>
+        <property name="text">
+            <string>Contents</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Contents...</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>helpIndexAction</cstring>
+        </property>
+        <property name="text">
+            <string>Index</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;Index...</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>helpAboutAction</cstring>
+        </property>
+        <property name="on">
+            <bool>false</bool>
+        </property>
+        <property name="text">
+            <string>About</string>
+        </property>
+        <property name="menuText">
+            <string>&amp;About</string>
+        </property>
+        <property name="accel">
+            <string></string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileSaveCloseAction</cstring>
+        </property>
+        <property name="text">
+            <string>Fermer</string>
+        </property>
+        <property name="menuText">
+            <string>Fermer</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileCloseAction</cstring>
+        </property>
+        <property name="text">
+            <string>Fermer</string>
+        </property>
+        <property name="menuText">
+            <string>Fermer</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+W</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileNewViewAction</cstring>
+        </property>
+        <property name="enabled">
+            <bool>false</bool>
+        </property>
+        <property name="text">
+            <string>New view</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileCloseAllAction</cstring>
+        </property>
+        <property name="text">
+            <string>Tout Fermer</string>
+        </property>
+        <property name="menuText">
+            <string>Tout Fermer</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>jdcRapportDeValidationAction</cstring>
+        </property>
+        <property name="text">
+            <string>Rapport de validation</string>
+        </property>
+        <property name="menuText">
+            <string>Rapport de validation</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+R</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>jdcFichierSourceAction</cstring>
+        </property>
+        <property name="text">
+            <string>Fichier source</string>
+        </property>
+        <property name="menuText">
+            <string>Fichier source</string>
+        </property>
+        <property name="accel">
+            <string>Ctrl+B</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>traduitV7V8Action</cstring>
+        </property>
+        <property name="text">
+            <string>traduitV7V8</string>
+        </property>
+        <property name="menuText">
+            <string>traduitV7V8</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>aidenew_itemAction</cstring>
+        </property>
+        <property name="text">
+            <string>Eficas</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>fileNewInclude</cstring>
+        </property>
+        <property name="text">
+            <string>Nouvel Include</string>
+        </property>
+        <property name="menuText">
+            <string>Nouvel Include</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>optionEditeurAction</cstring>
+        </property>
+        <property name="text">
+            <string>Parametres Eficas</string>
+        </property>
+        <property name="menuText">
+            <string>Parametres Eficas</string>
+        </property>
+    </action>
+    <action>
+        <property name="name">
+            <cstring>optionPdfAction</cstring>
+        </property>
+        <property name="text">
+            <string>Lecteur Pdf</string>
+        </property>
+        <property name="menuText">
+            <string>Lecteur Pdf</string>
+        </property>
+    </action>
+</actions>
+<images>
+    <image name="image0">
+        <data format="PNG" length="173">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000007449444154388dedd5c109c0200c05d06fe936812c10b2ffdd85d25385b6a991480f053f081af0291210f828c5a9d9c4de96cd2b9ad9eb0000660e2fe0c2519839c4f70c4c446d5e6b3538cf928245e4b2f6f014acaa8fda1d4fc1a5741b22079f9d111d96ea8a912c78c10bee64e60719f57e9203ad452a04cc4e50200000000049454e44ae426082</data>
+    </image>
+    <image name="image1">
+        <data format="PNG" length="210">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000009949444154388ded94410e85200c445f89c7367f61bc775d2848a42860ffced9548bbe8e13043e1d928177f481a123dc2b34f6f47a3de2b865a8843f4001982a0b3d5f62c58300aa1ad70550449ab9d507a773a8a4ba4f92a2df333c64c63bebbd82e5b8addecbcc7820eb4266c639745dfa80f36faf66c66fa19c3f882fb470ec05cdc0bed07893f68e171492635f686c3eeff6ba3c8fdd366dc4c0452c8781f8080000000049454e44ae426082</data>
+    </image>
+    <image name="image2">
+        <data format="PNG" length="217">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000a049444154388dd5954d0a802010859fd14668e18de662d222bc98376a21b4ac451992c66469e0b7f187f1f11c47052a218e762daddbfb9e99f6568f80b5364b8588ce35440400e80a398ce8f99034d2292cc37c8ebd530feb583a05e954341f8a027b2a7d3a1f09bf854dc5d5d953aa396e4f38cab199e2d2e108abe156f82e30977fcb4d8ff942d75dbebed2e143953a93f6caad3d6111f44b7d4f820ff9c0069bb51ecded318c5c0000000049454e44ae426082</data>
+    </image>
+    <image name="image3">
+        <data format="PNG" length="172">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000007349444154388ded92c10e80200840b1ef661d1cff4d876aa888a17669f9360f283ed80060f159425f3a71f53602e08e992b098801d02854176ae47f21ce1fb5b05d38eddc9060d0f11379635b3bc92bd518e239a943ec1d5ab7785cee107be4b215af4091f894de47181ecea59ede9ec59f380062ac28b1e3d701d90000000049454e44ae426082</data>
+    </image>
+    <image name="image4">
+        <data format="PNG" length="173">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000007449444154388ded92c10ac02008406ddf2d3b84ffed0ea3586a26d165e0830ea53e8504487e4b910f5489f19ea5a3ca0f8a896365b306c42dd613c649bdc2598316136219f0f936c0a2ef00d75a62614d3ab22996f2a362ffa337c5ebede962aad1a2e84aaaa2f750dd12748c0fd0ab9324677800596e28b1743f46860000000049454e44ae426082</data>
+    </image>
+    <image name="image5">
+        <data format="PNG" length="187">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000008249444154388dcdd341128020080550e8e02ebc38ad3273503e48537fe3e48c4f2425fa28e29c6f39920bf9276cb60185358877611388c2576418cda015f520b4e6b55be109dc0622b8e22acf31056e18dfdff80606aa551cc63564c4dcf80cd0201d577a5c85a8845fdc025ea5307afccd07e23a1df283ec2b37d9ad5fb4dfefd49cfbf72fac98c8cc890000000049454e44ae426082</data>
+    </image>
+    <image name="image6">
+        <data format="PNG" length="248">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000bf49444154388dd593410a83301045df488ee51dbc8c3ba98bf46a9eabd385350d266362444a3f0c4266fcf3f824f06f12402b66da8c55f3de2212cf9d92cb98c0ba2d7c4544cf9a07638bbad53c4491235ecf7cc1623697a92540c11ff4fda75275015d24a9389e7d6f53df4fe4ccab323eea0f03c0c4b2a0712ce6add89b59b7661c3be095985f261679ee4ebcc22c9788551fe6a2cbc4969a894bcb6f23ee361aab62e252c57294dfbfb610bbf2c897b8a46cc6677eaa519571fa087ea83762da9abacb20235f0000000049454e44ae426082</data>
+    </image>
+    <image name="image7">
+        <data format="PNG" length="270">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000d549444154388dc5955d0a84300c8427e2a90a9e6c8b0f4b3dd982d7ca3e58d7fe4cd0ba5d7640024df265da0a057e2439c9eb8d9eaa8841a0c9aad8c82ab32f9c425be1e30e0dcf00c00308f0b3a7a07410a9d7142e00b42c5a5fab696b979b1c837fc0c316b6e4165b64f78d716359919bdc4570de47c04732dd5e5bcc35f0c97762ae787936dccf7513577e79f48c4b27aa0f1327b240f5117fcbe348aa33b6e0224b054d0746b8025e2e3b3e73cde0dd1c97f02e8ed9d0af1db381224bdf33eee698a934a0f617b45540d00bcf4ca08fc0dff406e325c1981bc418760000000049454e44ae426082</data>
+    </image>
+    <image name="image8">
+        <data format="PNG" length="662">89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000025d49444154388dd593a172db4010863f670a56ecc42278d0653693a0c21c68d6c2e60df21a818111349499c254a8329b55f0e089ddb15ba602b79d6692d699b6d399fee86e67e7db7f77efe07fd3e2c74bd775b3730eef3d5115002382b5166b2d5757578b1729bf02b76d3b0f8703b92d58aed7600400ef1ce3c70306a8aa8aebebeb57c117dfa06ddb525dd754efb600a82a49138a123532ec3ac42b9bcde655ce2ffabe9f87c340fde13dcb4d8daaa24e48ee12c6823808c107969b1a8a9ce3f1f8aa515c38e7c8ada5aa6b00c45f129c67d223938c88e6c860d118b1d592d139baae9bcf83a78965b5465134801b1d2e1f4945c0e350096408ea154490c2e0bd3fef5853c2e486a0019f4d84f58418418362b0408e8b23c924501093314dd359f01b809814112025144015f1964c0bbc1b484b07e4688880c029ebd78e4141f5b434fd76864c053f1e084b0f8580265440634044ce838bbcc03987a61350a3a2285e1d5a4414d0708aa598082162ad3d0fb6d6e287cfa498508d274050447370428c91af8d10fd4481608c390b5e00dcddddcd8e80a9de420248e804840856f03e02907d729465c9ba5ae3468731e6a79fe50260b55a6102c4ee40a6894c33f2cb0cb106512814f8f899b22cb9b9b959b8d1f1f8f848d334b46dfbe29bfe5eadeffbf9783c323a871881ecb4200d1151a8eb9aed76bb00188661eeba8efd7e8f3186ed76cb6ab57ae2fe591b5dd7cdde7b628c8808799e63ada5aaaa67b9bbdd6e6e9a06ef3d755d3f29fec7eafb7ebebdbd9dadb5735996f3fdfdfdfca2e3dfd5c3c3c3dc340dd334b1d96cfe1e184e63dceff7a494fe26f61fe90bbc4c5e59d614caf40000000049454e44ae426082</data>
+    </image>
+</images>
+<connections>
+    <connection>
+        <sender>fileNewAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileNew()</slot>
+    </connection>
+    <connection>
+        <sender>fileOpenAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileOpen()</slot>
+    </connection>
+    <connection>
+        <sender>fileSaveAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileSave()</slot>
+    </connection>
+    <connection>
+        <sender>fileSaveAsAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileSaveAs()</slot>
+    </connection>
+    <connection>
+        <sender>fileExitAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileExit()</slot>
+    </connection>
+    <connection>
+        <sender>editUndoAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>editUndo()</slot>
+    </connection>
+    <connection>
+        <sender>editRedoAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>editRedo()</slot>
+    </connection>
+    <connection>
+        <sender>editCutAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>editCut()</slot>
+    </connection>
+    <connection>
+        <sender>editPasteAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>editPaste()</slot>
+    </connection>
+    <connection>
+        <sender>jdcFichierResultatAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>visuJdcPy()</slot>
+    </connection>
+    <connection>
+        <sender>helpIndexAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>helpIndex()</slot>
+    </connection>
+    <connection>
+        <sender>helpContentsAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>helpContents()</slot>
+    </connection>
+    <connection>
+        <sender>helpAboutAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>helpAbout()</slot>
+    </connection>
+    <connection>
+        <sender>fileCloseAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileClose()</slot>
+    </connection>
+    <connection>
+        <sender>fileNewViewAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileNewView()</slot>
+    </connection>
+    <connection>
+        <sender>fileCloseAllAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>fileCloseAll()</slot>
+    </connection>
+    <connection>
+        <sender>editCopyAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>editCopy()</slot>
+    </connection>
+    <connection>
+        <sender>jdcRapportDeValidationAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>jdcRapport()</slot>
+    </connection>
+    <connection>
+        <sender>jdcFichierSourceAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>jdcFichierSource()</slot>
+    </connection>
+    <connection>
+        <sender>traduitV7V8Action</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>traductionV7V8()</slot>
+    </connection>
+    <connection>
+        <sender>aidenew_itemAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>helpAbout()</slot>
+    </connection>
+    <connection>
+        <sender>fileNewInclude</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>NewInclude()</slot>
+    </connection>
+    <connection>
+        <sender>optionEditeurAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>optionEditeur()</slot>
+    </connection>
+    <connection>
+        <sender>optionPdfAction</sender>
+        <signal>activated()</signal>
+        <receiver>Eficas</receiver>
+        <slot>optionPdf()</slot>
+    </connection>
+</connections>
+<slots>
+    <slot>fileNew()</slot>
+    <slot>fileOpen()</slot>
+    <slot>fileSave()</slot>
+    <slot>fileSaveAs()</slot>
+    <slot>filePrint()</slot>
+    <slot>fileExit()</slot>
+    <slot>editUndo()</slot>
+    <slot>editRedo()</slot>
+    <slot>jdcFichierSource()</slot>
+    <slot>fileNewView()</slot>
+    <slot>editPaste()</slot>
+    <slot>visuJdcPy()</slot>
+    <slot>helpIndex()</slot>
+    <slot>helpContents()</slot>
+    <slot>helpAbout()</slot>
+    <slot>fileClose()</slot>
+    <slot>fileCloseAll()</slot>
+    <slot>jdcRapport()</slot>
+    <slot>editCut()</slot>
+    <slot>editCopy()</slot>
+    <slot>traductionV7V8()</slot>
+    <slot>NewInclude()</slot>
+    <slot>optionEditeur()</slot>
+    <slot>optionPdf()</slot>
+</slots>
+<layoutdefaults spacing="2" margin="2"/>
+</UI>