]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
mse a jour du 07/03/2016 pour sauvegarde
authorpascale.noyret <pascale.noyret@edf.fr>
Mon, 7 Mar 2016 10:58:17 +0000 (11:58 +0100)
committerpascale.noyret <pascale.noyret@edf.fr>
Mon, 7 Mar 2016 10:58:17 +0000 (11:58 +0100)
164 files changed:
CarmelCND/qtEficas_CarmelCND.py
Extensions/localisation.py
Extensions/translation.py
Extensions/translationQT4.py [new file with mode: 0644]
Extensions/translationQT5.py [new file with mode: 0644]
InterfaceQT4/browser.py
InterfaceQT4/compobloc.py
InterfaceQT4/compocomm.py
InterfaceQT4/compofact.py
InterfaceQT4/compomacro.py
InterfaceQT4/compooper.py
InterfaceQT4/configuration.py
InterfaceQT4/determine.py [new file with mode: 0644]
InterfaceQT4/editor.py
InterfaceQT4/eficas_go.py
InterfaceQT4/feuille.py
InterfaceQT4/gereIcones.py
InterfaceQT4/gereListe.py
InterfaceQT4/gereRegles.py
InterfaceQT4/gereTraduction.py
InterfaceQT4/groupe.py
InterfaceQT4/monBoutonValide.py
InterfaceQT4/monChoixCata.py
InterfaceQT4/monChoixCode.py
InterfaceQT4/monChoixCommande.py
InterfaceQT4/monFonctionPanel.py
InterfaceQT4/monLabelClic.py
InterfaceQT4/monRecherche.py
InterfaceQT4/monSelectVal.py
InterfaceQT4/monViewRegles.py
InterfaceQT4/monViewTexte.py
InterfaceQT4/monVisu.py
InterfaceQT4/monWidget4a6RadioButton.py
InterfaceQT4/monWidget4a6RadioButtonSD.py
InterfaceQT4/monWidgetBloc.py
InterfaceQT4/monWidgetCB.py
InterfaceQT4/monWidgetCBSD.py
InterfaceQT4/monWidgetCommande.py
InterfaceQT4/monWidgetCommentaire.py
InterfaceQT4/monWidgetCreeParam.py
InterfaceQT4/monWidgetDate.py
InterfaceQT4/monWidgetFact.py
InterfaceQT4/monWidgetFactPlie.py
InterfaceQT4/monWidgetHeure.py
InterfaceQT4/monWidgetInactif.py
InterfaceQT4/monWidgetInfo.py
InterfaceQT4/monWidgetMatrice.py
InterfaceQT4/monWidgetOptionnel.py
InterfaceQT4/monWidgetParam.py
InterfaceQT4/monWidgetPlusieursASSDIntoOrdonne.py
InterfaceQT4/monWidgetPlusieursBase.py
InterfaceQT4/monWidgetPlusieursInto.py
InterfaceQT4/monWidgetPlusieursIntoOrdonne.py
InterfaceQT4/monWidgetPlusieursPlie.py
InterfaceQT4/monWidgetPlusieursTuple.py
InterfaceQT4/monWidgetPlusieursTuple2.py
InterfaceQT4/monWidgetPlusieursTuple3.py
InterfaceQT4/monWidgetRadioButton.py
InterfaceQT4/monWidgetSimpTxt.py
InterfaceQT4/qtEficas.py
InterfaceQT4/qtSaisie.py
InterfaceQT4/readercata.py
InterfaceQT4/typeNode.py
InterfaceQT4/viewManager.py
Telemac/qtEficas_Telemac.py
UiQT4/desWidgetOptionnelMC.ui [new file with mode: 0644]
UiQT4/makefile
UiQT5/CMakeLists.txt [new file with mode: 0644]
UiQT5/Newdoc.tgz [new file with mode: 0644]
UiQT5/Tuple2.py [new file with mode: 0644]
UiQT5/Tuple2.ui [new file with mode: 0644]
UiQT5/Tuple3.py [new file with mode: 0644]
UiQT5/Tuple3.ui [new file with mode: 0644]
UiQT5/desBaseWidget.py [new file with mode: 0644]
UiQT5/desBaseWidget.ui [new file with mode: 0644]
UiQT5/desChoixCata.py [new file with mode: 0644]
UiQT5/desChoixCata.ui [new file with mode: 0644]
UiQT5/desChoixCode.py [new file with mode: 0644]
UiQT5/desChoixCode.ui [new file with mode: 0644]
UiQT5/desChoixCommandes.py [new file with mode: 0644]
UiQT5/desChoixCommandes.ui [new file with mode: 0644]
UiQT5/desRecherche.py [new file with mode: 0644]
UiQT5/desRecherche.ui [new file with mode: 0644]
UiQT5/desSelectVal.py [new file with mode: 0644]
UiQT5/desSelectVal.ui [new file with mode: 0644]
UiQT5/desViewRegles.py [new file with mode: 0644]
UiQT5/desViewRegles.ui [new file with mode: 0644]
UiQT5/desViewTexte.py [new file with mode: 0644]
UiQT5/desViewTexte.ui [new file with mode: 0644]
UiQT5/desVisu.py [new file with mode: 0644]
UiQT5/desVisu.ui [new file with mode: 0644]
UiQT5/desWidget4a6RadioButton.py [new file with mode: 0644]
UiQT5/desWidget4a6RadioButton.ui [new file with mode: 0644]
UiQT5/desWidgetBloc.py [new file with mode: 0644]
UiQT5/desWidgetBloc.ui [new file with mode: 0644]
UiQT5/desWidgetCB.py [new file with mode: 0644]
UiQT5/desWidgetCB.ui [new file with mode: 0644]
UiQT5/desWidgetCommande.py [new file with mode: 0644]
UiQT5/desWidgetCommande.ui [new file with mode: 0644]
UiQT5/desWidgetCommentaire.py [new file with mode: 0644]
UiQT5/desWidgetCommentaire.ui [new file with mode: 0644]
UiQT5/desWidgetCreeParam.py [new file with mode: 0644]
UiQT5/desWidgetCreeParam.ui [new file with mode: 0644]
UiQT5/desWidgetDate.py [new file with mode: 0644]
UiQT5/desWidgetDate.ui [new file with mode: 0644]
UiQT5/desWidgetFact.py [new file with mode: 0644]
UiQT5/desWidgetFact.ui [new file with mode: 0644]
UiQT5/desWidgetFactPlie.py [new file with mode: 0644]
UiQT5/desWidgetFactPlie.ui [new file with mode: 0644]
UiQT5/desWidgetHeure.py [new file with mode: 0644]
UiQT5/desWidgetHeure.ui [new file with mode: 0644]
UiQT5/desWidgetInactif.py [new file with mode: 0644]
UiQT5/desWidgetInactif.ui [new file with mode: 0644]
UiQT5/desWidgetInformation.py [new file with mode: 0644]
UiQT5/desWidgetInformation.ui [new file with mode: 0644]
UiQT5/desWidgetMatrice.py [new file with mode: 0644]
UiQT5/desWidgetMatrice.ui [new file with mode: 0644]
UiQT5/desWidgetOptionnel.py [new file with mode: 0644]
UiQT5/desWidgetOptionnel.ui [new file with mode: 0644]
UiQT5/desWidgetOptionnelMC.py [new file with mode: 0644]
UiQT5/desWidgetOptionnelMC.ui [new file with mode: 0644]
UiQT5/desWidgetParam.py [new file with mode: 0644]
UiQT5/desWidgetParam.ui [new file with mode: 0644]
UiQT5/desWidgetPlusieursBase.py [new file with mode: 0644]
UiQT5/desWidgetPlusieursBase.ui [new file with mode: 0644]
UiQT5/desWidgetPlusieursInto.py [new file with mode: 0644]
UiQT5/desWidgetPlusieursInto.ui [new file with mode: 0644]
UiQT5/desWidgetPlusieursIntoOrdonne.py [new file with mode: 0644]
UiQT5/desWidgetPlusieursIntoOrdonne.ui [new file with mode: 0644]
UiQT5/desWidgetPlusieursPlie.py [new file with mode: 0644]
UiQT5/desWidgetPlusieursPlie.ui [new file with mode: 0644]
UiQT5/desWidgetPlusieursTuple.py [new file with mode: 0644]
UiQT5/desWidgetPlusieursTuple.ui [new file with mode: 0644]
UiQT5/desWidgetRadioButton.py [new file with mode: 0644]
UiQT5/desWidgetRadioButton.ui [new file with mode: 0644]
UiQT5/desWidgetSDCOInto.py [new file with mode: 0644]
UiQT5/desWidgetSDCOInto.ui [new file with mode: 0644]
UiQT5/desWidgetSimpBase.py [new file with mode: 0644]
UiQT5/desWidgetSimpBase.ui [new file with mode: 0644]
UiQT5/desWidgetSimpBool.py [new file with mode: 0644]
UiQT5/desWidgetSimpBool.ui [new file with mode: 0644]
UiQT5/desWidgetSimpComplexe.py [new file with mode: 0644]
UiQT5/desWidgetSimpComplexe.ui [new file with mode: 0644]
UiQT5/desWidgetSimpFichier.py [new file with mode: 0644]
UiQT5/desWidgetSimpFichier.ui [new file with mode: 0644]
UiQT5/desWidgetSimpSalome.py [new file with mode: 0644]
UiQT5/desWidgetSimpSalome.ui [new file with mode: 0644]
UiQT5/desWidgetSimpTxt.py [new file with mode: 0644]
UiQT5/desWidgetSimpTxt.ui [new file with mode: 0644]
UiQT5/desWidgetTuple2.py [new file with mode: 0644]
UiQT5/desWidgetTuple2.ui [new file with mode: 0644]
UiQT5/desWidgetTuple3.py [new file with mode: 0644]
UiQT5/desWidgetTuple3.ui [new file with mode: 0644]
UiQT5/desWidgetUniqueSDCO.py [new file with mode: 0644]
UiQT5/desWidgetUniqueSDCO.ui [new file with mode: 0644]
UiQT5/desWidgetVide.py [new file with mode: 0644]
UiQT5/desWidgetVide.ui [new file with mode: 0644]
UiQT5/eficas_en.qm [new file with mode: 0644]
UiQT5/eficas_en.ts [new file with mode: 0644]
UiQT5/eficas_fr.qm [new file with mode: 0644]
UiQT5/eficas_fr.ts [new file with mode: 0644]
UiQT5/makefile [new file with mode: 0644]
UiQT5/myMain.py [new file with mode: 0644]
UiQT5/myMain.ui [new file with mode: 0644]

index b1254f2ca4feef0d76c3a212464ef324cfd6a169..f49b9bcbf4b23d821586be3393feae9927345eb5 100755 (executable)
@@ -27,7 +27,6 @@
 import sys,os
 sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..'))
 
-from PyQt4.QtCore import *
 import prefs
 from InterfaceQT4 import eficas_go
 eficas_go.lance_eficas(code=prefs.code)
index f9d0e6d416a0258e86f861289e2301e492d6ab00..25e1e2e68e14e1446f7d27f71b1929ed8f6c6e73 100644 (file)
 Creates and loads two ``QTranslator`` objects, one for pure Qt, one for Eficas,
 and installs them to a ``QApplication``.
 
-``PyQt4`` is currently supported.
 """
 
-from PyQt4.QtCore import QTranslator
+from determine import monEnvQT5
+if monEnvQT5 :
+   from PyQt5.QtCore import QTranslator
+else :
+   from PyQt4.QtCore import QTranslator
 
 qt_translator = QTranslator()
 eficas_translator = QTranslator()
@@ -40,9 +43,15 @@ def localise(application, locale=None ):
     If no locale is specified by the user, the system locale
     is used instead, for both Qt base and Eficas translators.
     """
-    from PyQt4.QtCore import QLibraryInfo
-    from PyQt4.QtCore import QLocale
-    from PyQt4.QtGui import QApplication
+    if monEnvQT5 :
+       from PyQt5.QtCore import QLibraryInfo
+       from PyQt5.QtCore import QLocale
+       from PyQt5.QtWidgets import QApplication
+    else :
+       from PyQt4.QtCore import QLibraryInfo
+       from PyQt4.QtCore import QLocale
+       from PyQt4.QtGui import QApplication
+
     sys_locale = QLocale.system().name()
 
     if locale is None:
index ba4940f4157fa06253a54b97a86e24da5a8a5a7c..75cd3302805348cb88a1bedeccb0c54f13f25d40 100644 (file)
@@ -1,295 +1,7 @@
-# -*- coding: utf-8 -*-
-# copyright 2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
-# contact http://www.logilab.fr -- mailto:contact@logilab.fr
-#
-# This program is free software: you can redistribute it and/or modify it under
-# the terms of the GNU Lesser General Public License as published by the Free
-# Software Foundation, either version 2.1 of the License, 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 Lesser General Public License for more
-# details.
-#
-# You should have received a copy of the GNU Lesser General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-"""
-Main module of the ``i18n`` package, for internationalizing strings via the Qt
-mechanism, in the ``Eficas`` application of EDF. Handles unformatted and
-formatted strings, according to all formatting schemes: via dictionaries,
-tuples, or atoms.
-
-``PyQt4`` is currently supported.
-"""
-from Extensions.eficas_exception import EficasException
-def _reformat_qstring_from_tuple(qstring, params):
-    """
-    _reformat_qstring_from_tuple(QString, tuple) -> QString
-
-    Module-internal method.
-    Returns a formatted QString from an unformatted QString
-    and a tuple specifying the parameters of the QString.
-    """
-    from PyQt4.QtCore import QRegExp, QString
-    reg = QRegExp("\%\.[1-9]{1,2}f")
-    for p, j in zip(params, range(len(params))):
-        try:
-            i += 1 + qstring[i + 1:].indexOf("%")
-        except NameError:
-            i = qstring.indexOf("%")
-        if i == reg.indexIn(qstring):
-            precision = reg.cap(0).split('.')[1].split('f')[0]
-            qstring = qstring[:i + 2 + len(precision)].\
-                      replace("%." + precision, "%" + unicode(1 + j)) + \
-                      qstring[i + 3 + len(precision):]
-            qstring = qstring.arg(QString.number(float(params[j]), 'f',\
-                                                 int(precision)))
-        else:
-            qstring = qstring[:i + 1].replace("%", "%" + unicode(1 + j)) + \
-                      qstring[i + 2:]
-            if isinstance(params[j], unicode):
-                qstring = qstring.arg(params[j])
-            elif isinstance(params[j], float):
-                qstring = qstring.arg(QString.number(params[j], 'f',\
-                                                     len(unicode(params[j]).\
-                                                         split('.')[1])))
-            elif isinstance(params[j], int):
-                qstring = qstring.arg(QString.number(params[j], 10))
-            elif isinstance(params[j], list):
-                qstring = qstring.arg(repr(params[j]))
-            else:
-                raise EficasException("TypeError: i18n.translation: \
-                                      Unicode, list or number expected!")
-    return qstring
-
-def _reformat_qstring_from_dict(qstring, params):
-    """
-    _reformat_qstring_from_dict(QString, dict) -> QString
-
-    Module-internal method.
-    Returns a formatted QString from an unformatted QString
-    and a dictionary specifying the parameters of the QString.
-    """
-    from PyQt4.QtCore import QRegExp, QString
-    for p, j in zip(params, range(len(params))):
-        p_reg = QRegExp("\%\("+ p + "\)\.[1-9]{1,2}f")
-        p_index = p_reg.indexIn(qstring)
-        if p_index != -1:
-            precision = p_reg.cap(0).split('.')[1].split('f')[0]
-            qstring = qstring.replace("%(" + p + ")." + precision + "f",\
-                                      "%" + unicode(1 + j)).\
-                                      arg(QString.number(float(params[p]), \
-                                                         'f', \
-                                                         int(precision)))
-        else:
-            qstring.remove(QRegExp("\\)[sdf]{1}"))
-            qstring = qstring.replace("%(" + p, "%" + unicode(1 + j))
-            if isinstance(params[p], unicode):
-                qstring = qstring.arg(params[p])
-            elif isinstance(params[p], float):
-                qstring = qstring.arg(QString.number(params[p], 'f', \
-                          len(unicode(params[p]).split('.')[1])))
-            elif isinstance(params[p], int):
-                qstring = qstring.arg(QString.number(params[p], 10))
-            elif isinstance(params[p], list):
-                qstring = qstring.arg(repr(params[p]))
-            else:
-                raise EficasException("TypeError: i18n.translation: \
-                                      Improper string parameter type.")
-    return qstring
-
-def _reformat_qstring_from_atom(qstring, params):
-    """
-    _reformat_qstring_from_atom(QString, int-or-float) -> QString
-
-    Module-internal method.
-    Returns a formatted QString from an unformatted QString
-    and an integer or a float specifying the parameter of 
-    the QString.
-    """
-    from PyQt4.QtCore import QRegExp, QString
-    reg = QRegExp("\%\.[1-9]{1,2}f")
-    if qstring.count("%") == 0:
-        qstring.append("%1")
-        try:
-            qstring = qstring.arg(unicode(params))
-        except AttributeError:
-            qstring = qstring.arg(params)
-    elif qstring.count("%") == 1:
-        i = qstring.indexOf("%")
-        if i == reg.indexIn(qstring):
-            precision = reg.cap(0).split('.')[1].split('f')[0]
-            qstring = qstring[: i + 2 + len(precision)].\
-                      replace("%." + precision, "%1") + \
-                      qstring[i + 3 + len(precision):]
-            qstring = qstring.arg(QString.number(float(params), 'f',\
-                                                 int(precision)))
-        else:
-            qstring = qstring[:i + 1].replace("%", "%1") + \
-                      qstring[i + 2:]
-            if isinstance(params, (unicode, str)):
-                qstring = qstring.arg(_preprocess_atom(params))
-            elif isinstance(params, float):
-                qstring = qstring.arg(QString.number(params, 'f', \
-                                                     len(unicode(params).\
-                                                         split('.')[1])))
-            elif isinstance(params, int):
-                qstring = qstring.arg(QString.number(params, 10))
-            else:
-                raise EficasException("TypeError: i18n.translation: Unicode, \
-                                      string or number expected!")
-    return qstring
-
-def _reformat_qstring_from_list(qstring, params):
-    """
-    _reformat_qstring_from_list(QString, tuple) -> QString
-
-    Module-internal method.
-    Returns a formatted QString from an unformatted QString
-    and a list whose concatenation specifies the parameter 
-    of the QString.
-    """
-    # XXX to add further functionality, e.g. list processing
-    # when ``%`` not at the end.
-    if qstring.count("%") == 1 and \
-       unicode(qstring).strip()[:-1].endswith("%"):
-        qstring = qstring[:qstring.indexOf("%") + 1].append("1")
-        qstring = qstring.arg(u' '.join(map(unicode, params)))
-    elif qstring.count("%") == 0:
-        qstring.append("%1")
-        qstring = qstring.arg(u' '.join(map(unicode, params)))
-    else:
-        raise EficasException("ValueError: i18n.translation: \
-                              At most one '%' expected!")
-    return qstring
-
-def _preprocess_atom(string):
-    """
-    _preprocess_atom(string-or-number-or-unicode) -> unicode
-    Test if input is a Unicode object or a number; if so, then return it; 
-    otherwise, test if the input is a string; if so, then try to create 
-    a Unicode object out of it. To this end, assume the string is encoded 
-    in utf-8; if this fails, then assume the string is encoded in Latin-9.
-    """
-    if isinstance(string, (unicode, int, float, complex)):
-        return string
-    elif isinstance(string, str):
-        return _str_to_unicode(string)
-    else:
-        raise EficasException("TypeError: Expected number, string or\
-                              Unicode object!")
-
-def _str_to_unicode(string):
-    """
-    _str_to_unicode(string) -> unicode
-    Tries to create a Unicode object out of the input string; assumes 
-    the string is UTF-8 encoded; if not, then assume the string is 
-    Latin-9 encoded.
-    """
-    try:
-        string = unicode(string, "utf-8")
-    except UnicodeDecodeError:
-        try:
-            string = unicode(string, "iso-8859-15")
-        except UnicodeDecodeError:
-            raise EficasException("UnicodeDecodeError: UTF-8, Latin-1 \
-                                  or Latin-9 expected")
-    return string
-
-def tr(string, *args):
-    """tr(string-or-unicode, iterable-or-float-or-int) -> unicode
-       tr(string-or-unicode) -> unicode
-       
-       Returns a formatted Unicode object from an unformatted 
-       string or Unicode object with formatting specifications, and, 
-       optionally, an iterable or an int or float.
-       Lets Python do the string formatting."""
-    from PyQt4.QtGui import QApplication
-    string = _preprocess_atom(string)
-    if len(args) == 0:
-        r = unicode(QApplication.translate("@default", string))
-    elif len(args) == 1:
-        if isinstance(args[0], (dict, tuple)):
-            if string.count("%") == len(args[0]):
-                r = unicode(QApplication.translate("@default", string)) % args[0]
-            elif string.count("%") == 1 and string.count("%(") == 0:
-                r = unicode(QApplication.translate("@default", string))\
-                    % _preprocess_atom(repr(args[0]))
-            elif string.count("%") == 0:
-                r = (unicode(QApplication.translate("@default", string)), args[0])
-            else:
-                raise EficasException("ValueError: i18n.translate.tr: \
-                                      Improper input string formatting")
-        elif isinstance(args[0], (unicode, str, int, float, complex)):
-            if string.count("%") == 1:
-                r = unicode(QApplication.translate("@default", string))\
-                    % _preprocess_atom(args[0])
-            else:
-                r = unicode(QApplication.translate("@default", string)) +\
-                    unicode(_preprocess_atom(args[0]))
-        elif isinstance(args[0], list) or args[0] is None:
-            if string.count("%") == 1:
-                r = unicode(QApplication.translate("@default", string))\
-                    % _preprocess_atom(repr(args[0]))
-            else:
-                r = (unicode(QApplication.translate("@default", string)), args[0])
-
-        else:
-            raise EficasException("ValueError: i18n.translation.tr: \
-                                  Wrong type for formatted string \
-                                  arguments: %s" % type(args[0]))
-    else:
-        raise EficasException("ValueError: i18n.translation.tr: \
-                              Wrong formatted string arguments")
-    return r
-
-
-def tr_qt(string, *args):
-    """tr_qt(string, iterable-or-float-or-int) -> unicode
-       t_qtr(string) -> unicode
-       
-       Returns a formatted string from an unformatted 
-       Unicode string with formatting specifications, and, 
-       optionally, an iterable or an int or float.
-       Lets PyQt4 do the string formatting. To this end,
-       a conversion from Python to Qt string formatting
-       syntax is performed."""
-    string = _preprocess_atom(string)
-    from PyQt4.QtGui import QApplication
-    if len(args) == 0:
-        r = QApplication.translate("@default", string)
-    elif len(args) == 1:
-        r = QApplication.translate("@default", string)
-        if isinstance(args[0], (dict, tuple)):
-            if r.count("%") == len(args[0]):
-                if isinstance(args[0], dict):
-                    r = _reformat_qstring_from_dict(r, args[0])
-                elif isinstance(args[0], tuple):
-                    r = _reformat_qstring_from_tuple(r, args[0])
-            # XXX Pay attention to this: distinguish between tuple, 
-            # dict and dict with key given in string.
-            elif r.count("%") in range(2) and r.count("%(") == 0:
-                r = _reformat_qstring_from_atom(r, _preproces_atom(repr(args[0])))
-            else:
-                raise EficasException("ValueError: i18n.translation.tr_qt: \
-                                      Improper formatting string parameters")
-        elif isinstance(args[0], (unicode, str, int, float, complex)):
-            r = _reformat_qstring_from_atom(r, args[0])
-        elif isinstance(args[0], list):
-            r = _reformat_qstring_from_list(r, args[0])
-        elif args[0] is None:
-            r = _reformat_qstring_from_atom(r, _preprocess_string_from_atom(repr(args[0])))
-        else:
-            raise EficasException("ValueError: i18n.translation.tr_qt: \
-                                  Wrong string formatting parameter types")
-    else:
-        raise EficasException("ValueError: i18n.translation.tr_qt: \
-                              Improper formatted string parameter set")
-    return unicode(r)
-
-
-if __name__ == "__main__":
-    import sys
-    tr(sys.argv[1], *args)
-    tr_qt(sys.argv[1], *args)
+from  determine import monEnvQT5
+if monEnvQT5 :
+   from translationQT5 import tr
+   from translationQT5 import tr_qt
+else :
+   from translationQT4 import tr
+   from translationQT4 import tr_qt
diff --git a/Extensions/translationQT4.py b/Extensions/translationQT4.py
new file mode 100644 (file)
index 0000000..ba4940f
--- /dev/null
@@ -0,0 +1,295 @@
+# -*- coding: utf-8 -*-
+# copyright 2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
+# contact http://www.logilab.fr -- mailto:contact@logilab.fr
+#
+# This program is free software: you can redistribute it and/or modify it under
+# the terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation, either version 2.1 of the License, 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 Lesser General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Lesser General Public License along
+# with this program. If not, see <http://www.gnu.org/licenses/>.
+"""
+Main module of the ``i18n`` package, for internationalizing strings via the Qt
+mechanism, in the ``Eficas`` application of EDF. Handles unformatted and
+formatted strings, according to all formatting schemes: via dictionaries,
+tuples, or atoms.
+
+``PyQt4`` is currently supported.
+"""
+from Extensions.eficas_exception import EficasException
+def _reformat_qstring_from_tuple(qstring, params):
+    """
+    _reformat_qstring_from_tuple(QString, tuple) -> QString
+
+    Module-internal method.
+    Returns a formatted QString from an unformatted QString
+    and a tuple specifying the parameters of the QString.
+    """
+    from PyQt4.QtCore import QRegExp, QString
+    reg = QRegExp("\%\.[1-9]{1,2}f")
+    for p, j in zip(params, range(len(params))):
+        try:
+            i += 1 + qstring[i + 1:].indexOf("%")
+        except NameError:
+            i = qstring.indexOf("%")
+        if i == reg.indexIn(qstring):
+            precision = reg.cap(0).split('.')[1].split('f')[0]
+            qstring = qstring[:i + 2 + len(precision)].\
+                      replace("%." + precision, "%" + unicode(1 + j)) + \
+                      qstring[i + 3 + len(precision):]
+            qstring = qstring.arg(QString.number(float(params[j]), 'f',\
+                                                 int(precision)))
+        else:
+            qstring = qstring[:i + 1].replace("%", "%" + unicode(1 + j)) + \
+                      qstring[i + 2:]
+            if isinstance(params[j], unicode):
+                qstring = qstring.arg(params[j])
+            elif isinstance(params[j], float):
+                qstring = qstring.arg(QString.number(params[j], 'f',\
+                                                     len(unicode(params[j]).\
+                                                         split('.')[1])))
+            elif isinstance(params[j], int):
+                qstring = qstring.arg(QString.number(params[j], 10))
+            elif isinstance(params[j], list):
+                qstring = qstring.arg(repr(params[j]))
+            else:
+                raise EficasException("TypeError: i18n.translation: \
+                                      Unicode, list or number expected!")
+    return qstring
+
+def _reformat_qstring_from_dict(qstring, params):
+    """
+    _reformat_qstring_from_dict(QString, dict) -> QString
+
+    Module-internal method.
+    Returns a formatted QString from an unformatted QString
+    and a dictionary specifying the parameters of the QString.
+    """
+    from PyQt4.QtCore import QRegExp, QString
+    for p, j in zip(params, range(len(params))):
+        p_reg = QRegExp("\%\("+ p + "\)\.[1-9]{1,2}f")
+        p_index = p_reg.indexIn(qstring)
+        if p_index != -1:
+            precision = p_reg.cap(0).split('.')[1].split('f')[0]
+            qstring = qstring.replace("%(" + p + ")." + precision + "f",\
+                                      "%" + unicode(1 + j)).\
+                                      arg(QString.number(float(params[p]), \
+                                                         'f', \
+                                                         int(precision)))
+        else:
+            qstring.remove(QRegExp("\\)[sdf]{1}"))
+            qstring = qstring.replace("%(" + p, "%" + unicode(1 + j))
+            if isinstance(params[p], unicode):
+                qstring = qstring.arg(params[p])
+            elif isinstance(params[p], float):
+                qstring = qstring.arg(QString.number(params[p], 'f', \
+                          len(unicode(params[p]).split('.')[1])))
+            elif isinstance(params[p], int):
+                qstring = qstring.arg(QString.number(params[p], 10))
+            elif isinstance(params[p], list):
+                qstring = qstring.arg(repr(params[p]))
+            else:
+                raise EficasException("TypeError: i18n.translation: \
+                                      Improper string parameter type.")
+    return qstring
+
+def _reformat_qstring_from_atom(qstring, params):
+    """
+    _reformat_qstring_from_atom(QString, int-or-float) -> QString
+
+    Module-internal method.
+    Returns a formatted QString from an unformatted QString
+    and an integer or a float specifying the parameter of 
+    the QString.
+    """
+    from PyQt4.QtCore import QRegExp, QString
+    reg = QRegExp("\%\.[1-9]{1,2}f")
+    if qstring.count("%") == 0:
+        qstring.append("%1")
+        try:
+            qstring = qstring.arg(unicode(params))
+        except AttributeError:
+            qstring = qstring.arg(params)
+    elif qstring.count("%") == 1:
+        i = qstring.indexOf("%")
+        if i == reg.indexIn(qstring):
+            precision = reg.cap(0).split('.')[1].split('f')[0]
+            qstring = qstring[: i + 2 + len(precision)].\
+                      replace("%." + precision, "%1") + \
+                      qstring[i + 3 + len(precision):]
+            qstring = qstring.arg(QString.number(float(params), 'f',\
+                                                 int(precision)))
+        else:
+            qstring = qstring[:i + 1].replace("%", "%1") + \
+                      qstring[i + 2:]
+            if isinstance(params, (unicode, str)):
+                qstring = qstring.arg(_preprocess_atom(params))
+            elif isinstance(params, float):
+                qstring = qstring.arg(QString.number(params, 'f', \
+                                                     len(unicode(params).\
+                                                         split('.')[1])))
+            elif isinstance(params, int):
+                qstring = qstring.arg(QString.number(params, 10))
+            else:
+                raise EficasException("TypeError: i18n.translation: Unicode, \
+                                      string or number expected!")
+    return qstring
+
+def _reformat_qstring_from_list(qstring, params):
+    """
+    _reformat_qstring_from_list(QString, tuple) -> QString
+
+    Module-internal method.
+    Returns a formatted QString from an unformatted QString
+    and a list whose concatenation specifies the parameter 
+    of the QString.
+    """
+    # XXX to add further functionality, e.g. list processing
+    # when ``%`` not at the end.
+    if qstring.count("%") == 1 and \
+       unicode(qstring).strip()[:-1].endswith("%"):
+        qstring = qstring[:qstring.indexOf("%") + 1].append("1")
+        qstring = qstring.arg(u' '.join(map(unicode, params)))
+    elif qstring.count("%") == 0:
+        qstring.append("%1")
+        qstring = qstring.arg(u' '.join(map(unicode, params)))
+    else:
+        raise EficasException("ValueError: i18n.translation: \
+                              At most one '%' expected!")
+    return qstring
+
+def _preprocess_atom(string):
+    """
+    _preprocess_atom(string-or-number-or-unicode) -> unicode
+    Test if input is a Unicode object or a number; if so, then return it; 
+    otherwise, test if the input is a string; if so, then try to create 
+    a Unicode object out of it. To this end, assume the string is encoded 
+    in utf-8; if this fails, then assume the string is encoded in Latin-9.
+    """
+    if isinstance(string, (unicode, int, float, complex)):
+        return string
+    elif isinstance(string, str):
+        return _str_to_unicode(string)
+    else:
+        raise EficasException("TypeError: Expected number, string or\
+                              Unicode object!")
+
+def _str_to_unicode(string):
+    """
+    _str_to_unicode(string) -> unicode
+    Tries to create a Unicode object out of the input string; assumes 
+    the string is UTF-8 encoded; if not, then assume the string is 
+    Latin-9 encoded.
+    """
+    try:
+        string = unicode(string, "utf-8")
+    except UnicodeDecodeError:
+        try:
+            string = unicode(string, "iso-8859-15")
+        except UnicodeDecodeError:
+            raise EficasException("UnicodeDecodeError: UTF-8, Latin-1 \
+                                  or Latin-9 expected")
+    return string
+
+def tr(string, *args):
+    """tr(string-or-unicode, iterable-or-float-or-int) -> unicode
+       tr(string-or-unicode) -> unicode
+       
+       Returns a formatted Unicode object from an unformatted 
+       string or Unicode object with formatting specifications, and, 
+       optionally, an iterable or an int or float.
+       Lets Python do the string formatting."""
+    from PyQt4.QtGui import QApplication
+    string = _preprocess_atom(string)
+    if len(args) == 0:
+        r = unicode(QApplication.translate("@default", string))
+    elif len(args) == 1:
+        if isinstance(args[0], (dict, tuple)):
+            if string.count("%") == len(args[0]):
+                r = unicode(QApplication.translate("@default", string)) % args[0]
+            elif string.count("%") == 1 and string.count("%(") == 0:
+                r = unicode(QApplication.translate("@default", string))\
+                    % _preprocess_atom(repr(args[0]))
+            elif string.count("%") == 0:
+                r = (unicode(QApplication.translate("@default", string)), args[0])
+            else:
+                raise EficasException("ValueError: i18n.translate.tr: \
+                                      Improper input string formatting")
+        elif isinstance(args[0], (unicode, str, int, float, complex)):
+            if string.count("%") == 1:
+                r = unicode(QApplication.translate("@default", string))\
+                    % _preprocess_atom(args[0])
+            else:
+                r = unicode(QApplication.translate("@default", string)) +\
+                    unicode(_preprocess_atom(args[0]))
+        elif isinstance(args[0], list) or args[0] is None:
+            if string.count("%") == 1:
+                r = unicode(QApplication.translate("@default", string))\
+                    % _preprocess_atom(repr(args[0]))
+            else:
+                r = (unicode(QApplication.translate("@default", string)), args[0])
+
+        else:
+            raise EficasException("ValueError: i18n.translation.tr: \
+                                  Wrong type for formatted string \
+                                  arguments: %s" % type(args[0]))
+    else:
+        raise EficasException("ValueError: i18n.translation.tr: \
+                              Wrong formatted string arguments")
+    return r
+
+
+def tr_qt(string, *args):
+    """tr_qt(string, iterable-or-float-or-int) -> unicode
+       t_qtr(string) -> unicode
+       
+       Returns a formatted string from an unformatted 
+       Unicode string with formatting specifications, and, 
+       optionally, an iterable or an int or float.
+       Lets PyQt4 do the string formatting. To this end,
+       a conversion from Python to Qt string formatting
+       syntax is performed."""
+    string = _preprocess_atom(string)
+    from PyQt4.QtGui import QApplication
+    if len(args) == 0:
+        r = QApplication.translate("@default", string)
+    elif len(args) == 1:
+        r = QApplication.translate("@default", string)
+        if isinstance(args[0], (dict, tuple)):
+            if r.count("%") == len(args[0]):
+                if isinstance(args[0], dict):
+                    r = _reformat_qstring_from_dict(r, args[0])
+                elif isinstance(args[0], tuple):
+                    r = _reformat_qstring_from_tuple(r, args[0])
+            # XXX Pay attention to this: distinguish between tuple, 
+            # dict and dict with key given in string.
+            elif r.count("%") in range(2) and r.count("%(") == 0:
+                r = _reformat_qstring_from_atom(r, _preproces_atom(repr(args[0])))
+            else:
+                raise EficasException("ValueError: i18n.translation.tr_qt: \
+                                      Improper formatting string parameters")
+        elif isinstance(args[0], (unicode, str, int, float, complex)):
+            r = _reformat_qstring_from_atom(r, args[0])
+        elif isinstance(args[0], list):
+            r = _reformat_qstring_from_list(r, args[0])
+        elif args[0] is None:
+            r = _reformat_qstring_from_atom(r, _preprocess_string_from_atom(repr(args[0])))
+        else:
+            raise EficasException("ValueError: i18n.translation.tr_qt: \
+                                  Wrong string formatting parameter types")
+    else:
+        raise EficasException("ValueError: i18n.translation.tr_qt: \
+                              Improper formatted string parameter set")
+    return unicode(r)
+
+
+if __name__ == "__main__":
+    import sys
+    tr(sys.argv[1], *args)
+    tr_qt(sys.argv[1], *args)
diff --git a/Extensions/translationQT5.py b/Extensions/translationQT5.py
new file mode 100644 (file)
index 0000000..565cec7
--- /dev/null
@@ -0,0 +1,324 @@
+# -*- coding: utf-8 -*-
+# copyright 2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
+# contact http://www.logilab.fr -- mailto:contact@logilab.fr
+#
+# This program is free software: you can redistribute it and/or modify it under
+# the terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation, either version 2.1 of the License, 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 Lesser General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Lesser General Public License along
+# with this program. If not, see <http://www.gnu.org/licenses/>.
+"""
+Main module of the ``i18n`` package, for internationalizing strings via the Qt
+mechanism, in the ``Eficas`` application of EDF. Handles unformatted and
+formatted strings, according to all formatting schemes: via dictionaries,
+tuples, or atoms.
+
+``PyQt4`` is currently supported.
+"""
+from Extensions.eficas_exception import EficasException
+import re
+regex=re.compile(r"% *[0-9]+")
+
+
+
+
+def _reformat_qstring_from_tuple(qstring, params):
+    """
+    _reformat_qstring_from_tuple(string, tuple) -> string
+
+    Module-internal method.
+    Returns a formatted string from an unformatted string
+    and a tuple specifying the parameters of the string.
+    """
+    from PyQt5.QtCore import QRegExp
+    reg = QRegExp("\%\.[1-9]{1,2}f")
+    for p, j in zip(params, range(len(params))):
+        try:
+            i += 1 + qstring[i + 1:].indexOf("%")
+        except NameError:
+            i = qstring.indexOf("%")
+        if i == reg.indexIn(qstring):
+            precision = reg.cap(0).split('.')[1].split('f')[0]
+            qstring = qstring[:i + 2 + len(precision)].\
+                      replace("%." + precision, "%" + unicode(1 + j)) + \
+                      qstring[i + 3 + len(precision):]
+            qstring=regex.sub("{}",qstring)
+            #qstring = qstring.format(QString.number(float(params[j]), 'f', int(precision)))
+            qstring = qstring.format(float(params[j]))
+        else:
+            qstring = qstring[:i + 1].replace("%", "%" + unicode(1 + j)) + \
+                      qstring[i + 2:]
+            if isinstance(params[j], unicode):
+                qstring=regex.sub("{}",qstring)
+                qstring = qstring.format(params[j])
+            elif isinstance(params[j], float):
+                qstring=regex.sub("{}",qstring)
+                #qstring = qstring.format(QString.number(params[j], 'f',\ len(unicode(params[j]).\
+                #                                         split('.')[1])))
+                qstring = qstring.format(params[j])
+            elif isinstance(params[j], int):
+                qstring=regex.sub("{}",qstring)
+                #qstring = qstring.format(QString.number(params[j], 10))
+                qstring = qstring.format(params[j])
+            elif isinstance(params[j], list):
+                qstring=regex.sub("{}",qstring)
+                qstring = qstring.format(repr(params[j]))
+            else:
+                raise EficasException("TypeError: i18n.translation: \
+                                      Unicode, list or number expected!")
+    return qstring
+
+def _reformat_qstring_from_dict(qstring, params):
+    """
+    _reformat_qstring_from_dict(string, dict) -> string
+
+    Module-internal method.
+    Returns a formatted string from an unformatted string
+    and a dictionary specifying the parameters of the string.
+    """
+    from PyQt5.QtCore import QRegExp
+    for p, j in zip(params, range(len(params))):
+        p_reg = QRegExp("\%\("+ p + "\)\.[1-9]{1,2}f")
+        p_index = p_reg.indexIn(qstring)
+        if p_index != -1:
+            precision = p_reg.cap(0).split('.')[1].split('f')[0]
+            #qstring = qstring.replace("%(" + p + ")." + precision + "f",\
+            #                          "%" + unicode(1 + j)).\
+            #                          arg(QString.number(float(params[p]), \
+            #                                             'f', \
+            #                                             int(precision)))
+            qstring = qstring.replace("%(" + p + ")." + precision + "f","%" + unicode(1 + j))
+            qstring=regex.sub("{}",qstring)
+            qstring = qstring.format(float(params[p]))
+        else:
+            qstring.remove(QRegExp("\\)[sdf]{1}"))
+            qstring = qstring.replace("%(" + p, "%" + unicode(1 + j))
+            if isinstance(params[p], unicode):
+                qstring=regex.sub("{}",qstring)
+                qstring = qstring.format(params[p])
+            elif isinstance(params[p], float):
+                qstring=regex.sub("{}",qstring)
+                qstring = qstring.format(params[p])
+                #qstring = qstring.format(QString.number(params[p], 'f', \
+                #          len(unicode(params[p]).split('.')[1])))
+            elif isinstance(params[p], int):
+                qstring=regex.sub("{}",qstring)
+                qstring = qstring.format(params[p])
+            elif isinstance(params[p], list):
+                qstring=regex.sub("{}",qstring)
+                qstring = qstring.format(repr(params[p]))
+            else:
+                raise EficasException("TypeError: i18n.translation: \
+                                      Improper string parameter type.")
+    return qstring
+
+def _reformat_qstring_from_atom(qstring, params):
+    """
+    _reformat_qstring_from_atom(string, int-or-float) -> string
+
+    Module-internal method.
+    Returns a formatted string from an unformatted string
+    and an integer or a float specifying the parameter of 
+    the string.
+    """
+    from PyQt5.QtCore import QRegExp
+    reg = QRegExp("\%\.[1-9]{1,2}f")
+    if qstring.count("%") == 0:
+        qstring.append("%1")
+        try:
+            qstring=regex.sub("{}",qstring)
+            qstring = qstring.format(unicode(params))
+        except AttributeError:
+            qstring=regex.sub("{}",qstring)
+            qstring = qstring.format(params)
+    elif qstring.count("%") == 1:
+        i = qstring.indexOf("%")
+        if i == reg.indexIn(qstring):
+            precision = reg.cap(0).split('.')[1].split('f')[0]
+            qstring = qstring[: i + 2 + len(precision)].\
+                      replace("%." + precision, "%1") + \
+                      qstring[i + 3 + len(precision):]
+            qstring=regex.sub("{}",qstring)
+            qstring = qstring.format((params))
+            #qstring = qstring.format(QString.number(float(params), 'f',\
+            #                                     int(precision)))
+        else:
+            qstring = qstring[:i + 1].replace("%", "%1") + \
+                      qstring[i + 2:]
+            if isinstance(params, (unicode, str)):
+                qstring = qstring.format(_preprocess_atom(params))
+            elif isinstance(params, float):
+                #qstring = qstring.format(QString.number(params, 'f', \
+                #                                     len(unicode(params).\
+                #                                         split('.')[1])))
+                qstring = qstring.format(params)
+            elif isinstance(params, int):
+                qstring=regex.sub("{}",qstring)
+                #qstring = qstring.format(QString.number(params, 10))
+                qstring = qstring.format(params)
+            else:
+                raise EficasException("TypeError: i18n.translation: Unicode, \
+                                      string or number expected!")
+    return qstring
+
+def _reformat_qstring_from_list(qstring, params):
+    """
+    _reformat_qstring_from_list(string, tuple) -> string
+
+    Module-internal method.
+    Returns a formatted string from an unformatted string
+    and a list whose concatenation specifies the parameter 
+    of the string.
+    """
+    # XXX to add further functionality, e.g. list processing
+    # when ``%`` not at the end.
+    if qstring.count("%") == 1 and \
+       unicode(qstring).strip()[:-1].endswith("%"):
+        qstring = qstring[:qstring.indexOf("%") + 1].append("1")
+        qstring=regex.sub("{}",qstring)
+        qstring = qstring.format(u' '.join(map(unicode, params)))
+    elif qstring.count("%") == 0:
+        qstring.append("%1")
+        qstring=regex.sub("{}",qstring)
+        qstring = qstring.format(u' '.join(map(unicode, params)))
+    else:
+        raise EficasException("ValueError: i18n.translation: \
+                              At most one '%' expected!")
+    return qstring
+
+def _preprocess_atom(string):
+    """
+    _preprocess_atom(string-or-number-or-unicode) -> unicode
+    Test if input is a Unicode object or a number; if so, then return it; 
+    otherwise, test if the input is a string; if so, then try to create 
+    a Unicode object out of it. To this end, assume the string is encoded 
+    in utf-8; if this fails, then assume the string is encoded in Latin-9.
+    """
+    if isinstance(string, (unicode, int, float, complex)):
+        return string
+    elif isinstance(string, str):
+        return _str_to_unicode(string)
+    else:
+        raise EficasException("TypeError: Expected number, string or\
+                              Unicode object!")
+
+def _str_to_unicode(string):
+    """
+    _str_to_unicode(string) -> unicode
+    Tries to create a Unicode object out of the input string; assumes 
+    the string is UTF-8 encoded; if not, then assume the string is 
+    Latin-9 encoded.
+    """
+    try:
+        string = unicode(string, "utf-8")
+    except UnicodeDecodeError:
+        try:
+            string = unicode(string, "iso-8859-15")
+        except UnicodeDecodeError:
+            raise EficasException("UnicodeDecodeError: UTF-8, Latin-1 \
+                                  or Latin-9 expected")
+    return string
+
+def tr(string, *args):
+    """tr(string-or-unicode, iterable-or-float-or-int) -> unicode
+       tr(string-or-unicode) -> unicode
+       
+       Returns a formatted Unicode object from an unformatted 
+       string or Unicode object with formatting specifications, and, 
+       optionally, an iterable or an int or float.
+       Lets Python do the string formatting."""
+    from PyQt5.QtWidgets import QApplication
+    string = _preprocess_atom(string)
+    if len(args) == 0:
+        r = unicode(QApplication.translate("@default", string))
+    elif len(args) == 1:
+        if isinstance(args[0], (dict, tuple)):
+            if string.count("%") == len(args[0]):
+                r = unicode(QApplication.translate("@default", string)) % args[0]
+            elif string.count("%") == 1 and string.count("%(") == 0:
+                r = unicode(QApplication.translate("@default", string))\
+                    % _preprocess_atom(repr(args[0]))
+            elif string.count("%") == 0:
+                r = (unicode(QApplication.translate("@default", string)), args[0])
+            else:
+                raise EficasException("ValueError: i18n.translate.tr: \
+                                      Improper input string formatting")
+        elif isinstance(args[0], (unicode, str, int, float, complex)):
+            if string.count("%") == 1:
+                r = unicode(QApplication.translate("@default", string))\
+                    % _preprocess_atom(args[0])
+            else:
+                r = unicode(QApplication.translate("@default", string)) +\
+                    unicode(_preprocess_atom(args[0]))
+        elif isinstance(args[0], list) or args[0] is None:
+            if string.count("%") == 1:
+                r = unicode(QApplication.translate("@default", string))\
+                    % _preprocess_atom(repr(args[0]))
+            else:
+                r = (unicode(QApplication.translate("@default", string)), args[0])
+
+        else:
+            raise EficasException("ValueError: i18n.translation.tr: \
+                                  Wrong type for formatted string \
+                                  arguments: %s" % type(args[0]))
+    else:
+        raise EficasException("ValueError: i18n.translation.tr: \
+                              Wrong formatted string arguments")
+    return r
+
+
+def tr_qt(string, *args):
+    """tr_qt(string, iterable-or-float-or-int) -> unicode
+       t_qtr(string) -> unicode
+       
+       Returns a formatted string from an unformatted 
+       Unicode string with formatting specifications, and, 
+       optionally, an iterable or an int or float.
+       Lets PyQt4 do the string formatting. To this end,
+       a conversion from Python to Qt string formatting
+       syntax is performed."""
+    string = _preprocess_atom(string)
+    from PyQt5.QtWidgets import QApplication
+    if len(args) == 0:
+        r = QApplication.translate("@default", string)
+    elif len(args) == 1:
+        r = QApplication.translate("@default", string)
+        if isinstance(args[0], (dict, tuple)):
+            if r.count("%") == len(args[0]):
+                if isinstance(args[0], dict):
+                    r = _reformat_qstring_from_dict(r, args[0])
+                elif isinstance(args[0], tuple):
+                    r = _reformat_qstring_from_tuple(r, args[0])
+            # XXX Pay attention to this: distinguish between tuple, 
+            # dict and dict with key given in string.
+            elif r.count("%") in range(2) and r.count("%(") == 0:
+                r = _reformat_qstring_from_atom(r, _preproces_atom(repr(args[0])))
+            else:
+                raise EficasException("ValueError: i18n.translation.tr_qt: \
+                                      Improper formatting string parameters")
+        elif isinstance(args[0], (unicode, str, int, float, complex)):
+            r = _reformat_qstring_from_atom(r, args[0])
+        elif isinstance(args[0], list):
+            r = _reformat_qstring_from_list(r, args[0])
+        elif args[0] is None:
+            r = _reformat_qstring_from_atom(r, _preprocess_string_from_atom(repr(args[0])))
+        else:
+            raise EficasException("ValueError: i18n.translation.tr_qt: \
+                                  Wrong string formatting parameter types")
+    else:
+        raise EficasException("ValueError: i18n.translation.tr_qt: \
+                              Improper formatted string parameter set")
+    return unicode(r)
+
+
+if __name__ == "__main__":
+    import sys
+    tr(sys.argv[1], *args)
+    tr_qt(sys.argv[1], *args)
index 2745b6b11adb766bf2fa652f5e2b9c2938e29b62..ca143810d90023049ebb5ed30b2ba0005e2d172e 100644 (file)
@@ -22,10 +22,15 @@ import string,re
 import types,sys,os
 import traceback
 import typeNode
-import pdb
-from PyQt4 import *
-from PyQt4.QtGui  import *
-from PyQt4.QtCore import *
+#import pdb
+
+from determine import monEnvQT5
+if monEnvQT5 :
+  from PyQt5.QtWidgets import QTreeWidget , QTreeWidgetItem
+  from PyQt5.QtGui import QIcon
+else :
+  from PyQt4.QtGui  import *
+  from PyQt4.QtCore  import *
 from Extensions.i18n import tr
 from gereRegles import GereRegles
 from monChoixCommande import MonChoixCommande
@@ -56,9 +61,14 @@ class JDCTree( QTreeWidget,GereRegles ):
  
         self.itemCourrant=None
 
-        self.connect(self, SIGNAL("itemClicked ( QTreeWidgetItem * ,int) "), self.handleOnItem)
-        self.connect(self, SIGNAL("itemCollapsed ( QTreeWidgetItem *) "), self.handleCollapsedItem)
-        self.connect(self, SIGNAL("itemExpanded ( QTreeWidgetItem *) "), self.handleExpandedItem)
+        if monEnvQT5 :
+           self.itemClicked.connect(self.handleOnItem)
+           self.itemCollapsed.connect(self.handleCollapsedItem)
+           self.itemExpanded.connect(self.handleExpandedItem)
+        else :
+           self.connect(self, SIGNAL("itemClicked ( QTreeWidgetItem * ,int) "), self.handleOnItem)
+           self.connect(self, SIGNAL("itemCollapsed ( QTreeWidgetItem *) "), self.handleCollapsedItem)
+           self.connect(self, SIGNAL("itemExpanded ( QTreeWidgetItem *) "), self.handleExpandedItem)
 
         #PNPNPN verifier dans quel cas on se trouve : affiche l arbre ou la commande
         self.node_selected=self.racine
@@ -199,14 +209,18 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         from InterfaceQT4 import compoparam
         from InterfaceQT4 import composimp
         if   (isinstance(self.item,compocomm.COMMTreeItem)) : name=tr("Commentaire")
-        elif (isinstance(self.item,compoparam.PARAMTreeItem)) : name=self.appliEficas.trUtf8(str(item.GetLabelText()[0]))
-        else:   name  = self.appliEficas.trUtf8(str(tr( item.nom))+" :")
-        value = self.appliEficas.trUtf8(str( item.GetText() ) )
+        elif (isinstance(self.item,compoparam.PARAMTreeItem)) : name=tr(str(item.GetLabelText()[0]))
+        else:   name  = tr(str(tr( item.nom))+" :")
+        value = tr(str( item.GetText() ) )
  
 
-        mesColonnes=QStringList()
-        if self.editor.enteteQTree=='complet': mesColonnes <<  name << value
-        else : mesColonnes <<  name
+        if monEnvQT5:
+           if self.editor.enteteQTree=='complet':mesColonnes=(name,value)
+           else : mesColonnes=(name,)
+        else :
+           mesColonnes=QStringList()
+           if self.editor.enteteQTree=='complet': mesColonnes <<  name << value
+           else : mesColonnes <<  name
 
         if self.treeParent.plie==True :
             self.plie        = True
@@ -233,10 +247,15 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         else :
            QTreeWidgetItem.__init__(self,self.treeParent,mesColonnes)
 
-        self.setToolTip(0,QString(self.item.get_fr()))
-        self.setToolTip(1,QString(self.item.get_fr()))
+        if monEnvQT5 :
+           self.setToolTip(0,self.item.get_fr())
+           self.setToolTip(1,self.item.get_fr())
+           repIcon=self.appliEficas.repIcon
+        else :
+           self.setToolTip(0,QString(self.item.get_fr()))
+           self.setToolTip(1,QString(self.item.get_fr()))
+           repIcon=QString(self.appliEficas.repIcon)
 
-        repIcon=QString(self.appliEficas.repIcon)
         monIcone = QIcon(repIcon+"/" +self.item.GetIconName() + ".png")
         self.setIcon(0,monIcone)
 
@@ -624,7 +643,8 @@ class JDCNode(QTreeWidgetItem,GereRegles):
         """Cette methode remet a jour la validite du noeud (icone)
            Elle appelle isvalid
         """
-        repIcon=QString(self.appliEficas.repIcon)
+        if monEnvQT5 : repIcon=self.appliEficas.repIcon
+        else : repIcon=QString(self.appliEficas.repIcon)
         monIcone = QIcon(repIcon+"/" +self.item.GetIconName() + ".png")
         self.setIcon(0,monIcone)
 
index cd1c1e2918961423764ecea7d37cb8b990ea80a1..bed584572c20a0f6d478428df5534152bf4deadc 100644 (file)
@@ -18,8 +18,7 @@
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-from PyQt4 import *
-from PyQt4.QtGui import *
+
 from Editeur     import Objecttreeitem
 
 import compofact
index e87cb443f9c55784a71d265a9e2237b38c9b13ad..424baf7c161b645242a47c08efadae3f38def4b3 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 import string
 
+from determine import monEnvQT5
+if monEnvQT5 :
+  from PyQt5.QtWidgets import QAction
+else :
+  from PyQt4.QtGui import *
+  from PyQt4.QtCore import *
+
 from Editeur     import Objecttreeitem
 import browser
 import typeNode
@@ -39,7 +44,8 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel):
     def createPopUpMenu(self):
         typeNode.PopUpMenuNodePartiel.createPopUpMenu(self)
         self.Decommente = QAction(tr("Decommenter"),self.tree)
-        self.tree.connect(self.Decommente,SIGNAL("triggered()"),self.Decommenter)
+        if monEnvQT5 : self.tree.connect(self.Decommente,SIGNAL("triggered()"),self.Decommenter)
+        else : self.Decommente.triggered(self.Decommenter)
         self.Decommente.setStatusTip(tr("Decommente la commande "))
 
         if hasattr(self.item,'uncomment'):
index c5ee1cdde65eb5410341968a1f020edb064b7652..ab893a6b501a8e1455138ea545e5c5bf11f5cb5d 100644 (file)
@@ -18,9 +18,6 @@
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-from PyQt4 import *
-from PyQt4.QtGui  import *
-from PyQt4.QtCore import *
 import browser
 import typeNode
 from Extensions.i18n import tr
index 2bba03e8b1c1771ed8bf2a4d9a9f2caf82927c03..e5e6162e3ba759a026ff51efba6214288c025c9c 100644 (file)
@@ -29,8 +29,14 @@ from Extensions.i18n import tr
 import compooper
 import browser
 import typeNode
-from PyQt4.QtGui import QAction
-from PyQt4.QtCore import Qt, SIGNAL, QVariant
+from determine import monEnvQT5
+if monEnvQT5:
+   from PyQt5.QtWidgets import QAction
+   from PyQt5.QtCore import Qt
+else :
+   from PyQt4.QtGui  import *
+   from PyQt4.QtCore import *
+
 
 
 class MACRONode(browser.JDCNode,typeNode.PopUpMenuNode):         
@@ -44,7 +50,10 @@ class MACRONode(browser.JDCNode,typeNode.PopUpMenuNode):
       typeNode.PopUpMenuNode.createPopUpMenu(self)
       if ("AFFE_CARA_ELEM" in self.item.get_genealogie()) and self.editor.salome:
            self.ViewElt = QAction(tr('View3D'),self.tree)
-           self.tree.connect(self.ViewElt,SIGNAL("triggered()"),self.view3D)
+           if monEnvQT5:
+              self.ViewElt.triggered.connect(self.View3D)
+           else :
+              self.tree.connect(self.ViewElt,SIGNAL("triggered()"),self.view3D)
            self.ViewElt.setStatusTip(tr("affiche dans Geom les elements de structure"))
            self.menu.addAction(self.ViewElt)
            if self.item.isvalid() :
index fb3020de9ee937fcd0cb5681c0fb3413bb52af57..9978be11696a9e5d8c6c7cd4112a0a33af264d92 100644 (file)
 #
 import os
 import tempfile
-from PyQt4.QtGui import QMessageBox, QAction, QApplication, QCursor
-from PyQt4.QtGui import *
-from PyQt4.QtCore import Qt, SIGNAL, QVariant
+from determine import monEnvQT5
+if monEnvQT5 :
+   from PyQt5.QtWidgets import QMessageBox, QAction, QApplication
+   from PyQt5.QtGui  import QCursor
+   from PyQt5.QtCore import Qt
+else :
+   from PyQt4.QtGui  import *
+   from PyQt4.QtCore import *
+
 from Extensions.i18n import tr
 from Extensions.eficas_exception import EficasException
 
@@ -74,7 +80,8 @@ class Node(browser.JDCNode, typeNode.PopUpMenuNode):
              self.ViewElt.setEnabled(0)
         if  self.item.get_nom() == "DISTRIBUTION" :
            self.Graphe = QAction(tr('Graphique'),self.tree)
-           self.tree.connect(self.Graphe,SIGNAL("triggered()"),self.viewPng)
+           if monEnvQT5 : self.Graphe.triggered.connect(self.viewPng)
+           else : self.tree.connect(self.Graphe,SIGNAL("triggered()"),self.viewPng)
            self.Graphe.setStatusTip(tr("affiche la distribution "))
            self.menu.addAction(self.Graphe)
            if self.item.isvalid() :
index db41783093a1c569e6ea35e8ec8bca09db5c3dfb..97b46c0d6ff8263639c90d92f57b612bf03717b9 100644 (file)
 # Modules Python\r
 import os, sys, string, types, re\r
 import traceback\r
-from PyQt4.QtGui import QMessageBox\r
+from  determine import monEnvQT5\r
+if monEnvQT5 :\r
+   from PyQt5.QtWidgets import QMessageBox\r
+else :\r
+   from PyQt4.QtGui import QMessageBox\r
 from  Editeur.utils import read_file\r
 from Extensions.i18n import tr\r
 \r
diff --git a/InterfaceQT4/determine.py b/InterfaceQT4/determine.py
new file mode 100644 (file)
index 0000000..f115eae
--- /dev/null
@@ -0,0 +1,23 @@
+import os
+
+class envQT(object):
+    _instance = None
+    def __new__(cls, *args, **kwargs):
+        if not cls._instance:
+            cls._instance = super(envQT, cls).__new__(
+                                cls, *args, **kwargs)
+
+        return cls._instance
+
+    def __init__(self):
+        if hasattr(self,'inQt5') : return
+        if 'PYQT_ROOT_DIR' in os.environ.keys(): qt=os.environ['PYQT_ROOT_DIR']
+        else : qt="Pyqt4"
+        if 'Pyqt-5' in qt : self.inQt5=True
+        else              : self.inQt5=False
+
+
+monEnvQT5=envQT().inQt5
+if __name__=='__main__':
+     inQt5_1=envQT().inQt5
+     inQt5_2=envQT().inQt5
index 6562ba77c5c9ade3013285dc0dae8ee3f3e34737..076c60a25cfb5ed91c1a846138ea32d514e1fde4 100755 (executable)
 import types,sys,os, re
 import  subprocess
 import traceback
-from PyQt4 import *
-from PyQt4.QtGui  import *
-from PyQt4.QtCore import *
+
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtWidgets import QWidget, QMessageBox, QFileDialog, QApplication
+    from PyQt5.QtGui import QPalette
+    from PyQt5.QtCore import QProcess, QFileInfo, QTimer, Qt
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
 import time
 import pdb
 from datetime import date
@@ -37,7 +43,6 @@ from Editeur        import comploader
 from Editeur        import Objecttreeitem
 from desBaseWidget  import Ui_baseWidget
 from monViewTexte   import ViewText 
-from monViewTexte   import ViewText2
 from monWidgetCreeParam import MonWidgetCreeParam 
 import browser
 import readercata
@@ -46,7 +51,7 @@ DictExtensions= {"MAP" : ".map"}
 
 
 
-class JDCEditor(Ui_baseWidget,QtGui.QWidget):
+class JDCEditor(Ui_baseWidget,QWidget):
 # ----------------------------------------- #
     """
        Editeur de jdc
@@ -55,7 +60,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
     def __init__ (self,appli,fichier = None, jdc = None, QWParent=None, units = None, include=0 , vm=None):
     #----------------------------------------------------------------------------------------------------------#
 
-        QtGui.QWidget.__init__(self,None)
+        QWidget.__init__(self,None)
         self.setupUi(self)
         self.widgetOptionnel=None
         self.fenetreCentraleAffichee=None
@@ -194,7 +199,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
                 txt_exception = self.jdc.cr.get_mess_exception()
             if txt_exception:
                 self.jdc = None
-                qApp.restoreOverrideCursor()
+                QApplication.restoreOverrideCursor()
                 self.affiche_infos(tr("Erreur fatale au chargement de %s",str(fichier)),Qt.red)
                 if (self.appliEficas.ssIhm == False) : QMessageBox.critical( self, tr("Erreur fatale au chargement d'un fichier"), txt_exception)
             else:
@@ -397,8 +402,12 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
         f=open(nomFichier,'w')
         f.write(txt)
         f.close()
-        self.connect(self.monExe, SIGNAL("readyReadStandardOutput()"), self.readFromStdOut )
-        self.connect(self.monExe, SIGNAL("readyReadStandardError()"), self.readFromStdErr )
+        if monEnvQT5 :
+           self.monExe.readyReadStandardOutput.connect( self.readFromStdOut)
+           self.monExe.readyReadStandardError.connect( self.readFromStdErr)
+        else :
+           self.connect(self.monExe, SIGNAL("readyReadStandardOutput()"), self.readFromStdOutQT4 )
+           self.connect(self.monExe, SIGNAL("readyReadStandardError()"), self.readFromStdErrQT4 )
         exe='sh ' + nomFichier
         self.monExe.start(exe)
         self.monExe.closeWriteChannel()
@@ -409,12 +418,19 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
         except :
           pass
 
-
     def readFromStdErr(self):
+        a=self.monExe.readAllStandardError()
+        self.w.view.append(str(a.data(),len(a)))
+
+    def readFromStdErr(self) :
+        a=self.monExe.readAllStandardOutput()
+        self.w.view.append(str(a.data(),len(a)))
+
+    def readFromStdErrQT4(self):
         a=self.monExe.readAllStandardError()
         self.w.view.append(QString.fromUtf8(a.data(),len(a))) ;
 
-    def readFromStdOut(self) :
+    def readFromStdOutQT4(self) :
         a=self.monExe.readAllStandardOutput()
         self.w.view.append(QString.fromUtf8(a.data(),len(a))) ;
         
@@ -469,10 +485,9 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
     #----------------------------------------------#
         if self.sb:
            mapalette=self.sb.palette()
-           from PyQt4.QtGui import QPalette
            mapalette.setColor( QPalette.WindowText, couleur )
            self.sb.setPalette( mapalette );
-           self.sb.showMessage(QString.fromUtf8(message),4000)
+           self.sb.showMessage(message,4000)
            self.couleur=couleur
 
     #------------------------------#
@@ -753,7 +768,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
      fichier = QFileDialog.getOpenFileName(self.appliEficas,
                    tr('Ouvrir Fichier'),
                    self.appliEficas.CONFIGURATION.savedir,
-                   self.appliEficas.trUtf8('Wrapper Files (*.xml);;''All Files (*)'))
+                   tr('Wrapper Files (*.xml);;''All Files (*)'))
      return  fichier
 
     #--------------------------------------------------#
@@ -762,7 +777,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
         """
         Public slot to write the text to a file.
 
-        @param fn filename to write to (string or QString)
+        @param fn filename to write to string
         @return flag indicating success
         """
 
@@ -785,9 +800,8 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
             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)))
+            QMessageBox.critical(self, tr('Sauvegarde du Fichier'),
+                tr('Le fichier')+str(fn) + tr('n a pas pu etre sauvegarde : ') + str(why))
             return 0
 
     #-----------------------------------------------------------#
@@ -928,9 +942,9 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
     #-----------------------------------------------------#
       if DictExtensions.has_key(self.appli.code) :
          chaine1="JDC (*"+DictExtensions[self.appli.code]+");;"
-         extensions= self.trUtf8(chaine1+ "All Files (*)")
+         extensions= tr(chaine1+ "All Files (*)")
       else :
-         extensions= self.trUtf8("JDC (*.comm);;" "All Files (*)")
+         extensions= tr("JDC (*.comm);;" "All Files (*)")
 
       if self.appli.code == "MAP" :
          extensions = extensions + ";; Run (*.input);;"
@@ -940,6 +954,9 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
              extensions,None,
              QFileDialog.DontConfirmOverwrite)
       if fn.isNull(): return (0, None)
+      if fn == None : return (0, None)
+      if monEnvQT5 :  fn=fn[0]
+
       ext = QFileInfo(fn).suffix()
       if ext.isEmpty(): fn.append(extension)
 
@@ -948,7 +965,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
                    tr("Sauvegarde du Fichier"),
                    tr("Le fichier <b>%s</b> existe deja.",str(fn)),
                    tr("&Ecraser"),
-                   self.trUtf8("&Abandonner"))
+                   tr("&Abandonner"))
            if abort == 1 :  return (0, "")
       return (1,fn)
 
@@ -989,15 +1006,19 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
                for b in c.children():
                   if isinstance(b,QPushButton):
                      avant=b.text()
-                     if avant.toLatin1()=="&Open":
-                        b.setText("Save")
-        mesFiltres=QStringList()
-        mesFiltres << "input Map (*.input)" << "All Files (*)"
+                     if (not monEnvQT5) and avant.toLatin1()=="&Open": b.setText("Save")
+                     if monEnvQT5 and avant=="&Open": b.setText("Save")
+        if monEnvQT5 :
+           mesFiltres= "input Map (*.input);;All Files (*)"
+        else :
+           mesFiltres=QStringList()
+           mesFiltres << "input Map (*.input)" << "All Files (*)"
         monDialog.setNameFilters(mesFiltres)
         if monNomFichier!="" : monDialog.selectFile(monNomFichier)
         BOk=monDialog.exec_()
         if BOk==0: return
-        fn=str(monDialog.selectedFiles()[0].toLatin1())
+        if monEnvQT5 : fn=str(monDialog.selectedFiles()[0])
+        else : fn=str(monDialog.selectedFiles()[0].toLatin1())
         if fn == "" or fn == None : return
         if not fn.endswith(".input"):
             fn += ".input"
@@ -1185,14 +1206,15 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
             texte = tr("Le fichier %s contient une commande POURSUITE\n", fic_origine)
             texte = texte+tr('Donnez le nom du fichier dont vous \n voulez faire une poursuite')
 
-        QMessageBox.information( self, titre,QString.fromUtf8(texte))
+        QMessageBox.information( self, titre,texte)
         fn = QFileDialog.getOpenFileName(self.appliEficas,
                    titre,
                    self.appliEficas.CONFIGURATION.savedir)
 
-        if fn.isNull():
         # ce retour est impose par le get_file d'I_JDC
-           return None," "
+        if fn.isNull(): return None," "
+        if not fn : return (0, " ")
+        if monEnvQT5 :  fn=fn[0]
 
         ulfile = os.path.abspath(unicode(fn))
         self.appliEficas.CONFIGURATION.savedir=os.path.split(ulfile)[0]
@@ -1320,7 +1342,8 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
       QSfichier = QFileDialog.getOpenFileName(self.appliEficas,
                         caption='Fichier Med',
                         filter=extensions)
-      self.fichierMED=str(QSfichier.toLatin1())
+      if monEnvQT5 : QSfichier=QSfichier[0]
+      self.fichierMED=QSfichier
       from acquiertGroupes import getGroupes
       erreur,self.listeGroupes,self.nomMaillage,self.dicoCoord=getGroupes(self.fichierMED)
       if erreur != "" : print "a traiter"
@@ -1349,7 +1372,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
     #---------------------------#
 
       QSfichier=self.openfile.selectedFiles()[0]
-      self.fichierMED=str(QSfichier.toLatin1())
+      self.fichierMED=str(QSfichier)
       from acquiertGroupes import getGroupes
       erreur,self.listeGroupes,self.nomMaillage=getGroupes(self.fichierMED)
       if erreur != "" : print "a traiter"
index a4a05b355e53ff6a8713808428eaf84efa2c2207..3416834e362b5c5062bf18176db041feb55a1ba5 100644 (file)
 # Modules Python
 import sys,os
 repIni=os.path.abspath(os.path.join(os.path.dirname(os.path.abspath(__file__)),".."))
-ihmQTDir=os.path.join(repIni,"UiQT4")
+from  determine import monEnvQT5
+if monEnvQT5 : 
+    ihmQTDir=os.path.join(repIni,"UiQT5")
+    from PyQt5.QtWidgets import QApplication
+else         : 
+    ihmQTDir=os.path.join(repIni,"UiQT4")
+    from PyQt4.QtGui import QApplication
 editeurDir=os.path.join(repIni,"Editeur")
 ihmDir=os.path.join(repIni,"InterfaceQT4")
 if ihmDir not in sys.path : sys.path.append(ihmDir)
 if ihmQTDir not in sys.path : sys.path.append(ihmQTDir)
 if editeurDir not in sys.path :sys.path.append(editeurDir)
 
-from PyQt4.QtGui import *
 
 def lance_eficas(code=None,fichier=None,ssCode=None,multi=False,langue='en'):
     """
index 53e928e15211ec40e0c6664359d7c8e660c5fca0..d314472aa5a1364662255bf8a70478cb34fb9d9d 100644 (file)
 import string,types,os
 import traceback
 
-from PyQt4 import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5:
+   from PyQt5.QtWidgets import QToolButton ,QWidget
+   from PyQt5.QtGui import QFont, QFontMetrics
+else :
+   from PyQt4.QtGui import *
+   from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
+
 from gereIcones import ContientIcones
 from gereIcones import FacultatifOuOptionnel
 from qtSaisie    import SaisieValeur
@@ -123,7 +128,7 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel):
            else :
                commentaire=tr("Entrez entre ")+str(mc.min)+(" et  ")+str(mc.max) +" " +tr(d_aides[type])+'\n'
         aideval=self.node.item.aide()
-        commentaire=commentaire +  QString.toUtf8(QString(aideval))
+        commentaire=commentaire +  tr(aideval)
         self.monCommentaireLabel.setText(str(commentaire))
         return str(commentaire)
 
index 590763b6fe61e3f6ed725649adc48a44f398728d..0d1b912a0ba53fa1c6ce61af06f068b3dc2d9a10 100644 (file)
 # Modules Python
 import string,types,os,re,sys
 import traceback
+from  determine import monEnvQT5
+if monEnvQT5 :
+  from PyQt5.QtWidgets import QMessageBox, QFileDialog
+  from PyQt5.QtGui import QIcon
+  from PyQt5.QtCore import  QFileInfo,  Qt
+
+else:
+  from PyQt4.QtGui  import *
+  from PyQt4.QtCore import *
+
 
-from PyQt4 import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 listeSuffixe=('bmp','png','jpg' ,'txt','med')
 
@@ -41,7 +48,8 @@ class FacultatifOuOptionnel:
         else :
            icon3=QIcon(self.repIcon+"/lettreRblanc30.png")
            self.RBRegle.setIcon(icon3)
-           self.connect( self.RBRegle,SIGNAL("clicked()"),self.viewRegles)
+           if monEnvQT5 :self.RBRegle.clicked.connect(self.viewRegles)
+           else : self.connect( self.RBRegle,SIGNAL("clicked()"),self.viewRegles)
 
       cle_doc=None
       if not hasattr(self,"RBInfo"):return
@@ -54,6 +62,7 @@ class FacultatifOuOptionnel:
       else :
          self.cle_doc = self.node.item.get_docu()
       if self.cle_doc == None  : self.RBInfo.close()
+      elif monEnvQT5 : self.RBInfo.clicked.connect (self.viewDoc)
       else : self.connect (self.RBInfo,SIGNAL("clicked()"),self.viewDoc)
 
 
@@ -90,7 +99,8 @@ class FacultatifOuOptionnel:
          return
       icon=QIcon(self.repIcon+"/deleteRond.png")
       self.RBPoubelle.setIcon(icon)
-      self.connect(self.RBPoubelle,SIGNAL("clicked()"),self.aDetruire)
+      if monEnvQT5 : self.RBPoubelle.clicked.connect(self.aDetruire)
+      else : self.connect(self.RBPoubelle,SIGNAL("clicked()"),self.aDetruire)
 
   def setIconesSalome(self):
        if not (hasattr(self,"RBSalome")): return
@@ -104,7 +114,8 @@ class FacultatifOuOptionnel:
        if enable_salome_selection:
           icon=QIcon(self.repIcon+"/flecheSalome.png")
           self.RBSalome.setIcon(icon)
-          self.connect(self.RBSalome,SIGNAL("pressed()"),self.BSalomePressed)
+          if monEnvQT5 : self.RBSalome.pressed.connect(self.BSalomePressed)
+          else : self.connect(self.RBSalome,SIGNAL("pressed()"),self.BSalomePressed)
 
 #PNPN --> Telemac A revoir surement
 # cela ou le catalogue grpma ou salomeEntry
@@ -113,7 +124,8 @@ class FacultatifOuOptionnel:
           else : 
              icon1=QIcon(self.repIcon+"/eye.png")
              self.RBSalomeVue.setIcon(icon1)
-             self.connect(self.RBSalomeVue,SIGNAL("clicked()"),self.BView2DPressed)
+             if monEnvQT5 : self.RBSalomeVue.clicked.connect(self.BView2DPressed)
+             else : self.connect(self.RBSalomeVue,SIGNAL("clicked()"),self.BView2DPressed)
        else:
           self.RBSalome.close()
           self.RBSalomeVue.close()
@@ -125,11 +137,14 @@ class FacultatifOuOptionnel:
        mctype = mc.type[0]
        if mctype == "Repertoire":
           self.BRepertoire=self.BFichier
-          self.connect(self.BRepertoire,SIGNAL("clicked()"),self.BRepertoirePressed)
+          if monEnvQT5 : self.BRepertoire.clicked.connect(self.BRepertoirePressed)
+          else : self.connect(self.BRepertoire,SIGNAL("clicked()"),self.BRepertoirePressed)
           self.BVisuFichier.close()
        else :
-          self.connect(self.BFichier,SIGNAL("clicked()"),self.BFichierPressed)
-          self.connect(self.BVisuFichier,SIGNAL("clicked()"),self.BFichierVisu)
+          if monEnvQT5 : self.BFichier.clicked.connect(self.BFichierPressed)
+          else : self.connect(self.BFichier,SIGNAL("clicked()"),self.BFichierPressed)
+          if monEnvQT5 : self.BVisuFichier.clicked.connect(self.BFichierVisu)
+          else : self.connect(self.BVisuFichier,SIGNAL("clicked()"),self.BFichierVisu)
 
 
 
@@ -219,7 +234,7 @@ class ContientIcones:
       elif hasattr(mctype[0], "filters"):
           filters = mctype[0].filters
       else:
-          filters = QString()
+          filters = None
       if len(mctype) > 2 and mctype[2] == "Sauvegarde":
           fichier = QFileDialog.getSaveFileName(self.appliEficas,
                               tr('Sauvegarder Fichier'),
@@ -232,6 +247,7 @@ class ContientIcones:
                               filters)
 
       if not(fichier.isNull()):
+         if monEnvQT5 : fichier=fichier[0]
          ulfile = os.path.abspath(unicode(fichier))
          self.appliEficas.CONFIGURATION.savedir=os.path.split(ulfile)[0]
          self.lineEditVal.setText(fichier)
@@ -245,7 +261,8 @@ class ContientIcones:
                self.BSelectInFile.setObjectName("BSelectInFile")
                self.gridLayout.addWidget(self.BSelectInFile,1,1,1,1)
                self.BSelectInFile.setText(tr("Selection"))
-               self.connect(self.BSelectInFile,SIGNAL("clicked()"),self.BSelectInFilePressed)
+               if monEnvQT5 : self.BSelectInFile.clicked.connect(self.BSelectInFilePressed)
+               else : self.connect(self.BSelectInFile,SIGNAL("clicked()"),self.BSelectInFilePressed)
              else :
                self.BSelectInFile.setVisible(1)
          elif hasattr(self, "BSelectInFile"):
@@ -314,8 +331,8 @@ class ContientIcones:
 
   def BView2DPressed(self):
         valeur=self.lineEditVal.text()
-        if valeur == QString("") : return
         valeur = str(valeur)
+        if valeur == str("") : return
         if valeur :
            ok, msgError = self.appliEficas.displayShape(valeur)
            if not ok:
index d8309912afc9f92e9718daae9fc69d1839229ed8..a0426de075a44ae94e68415066af50085024e072 100644 (file)
 import string,types,os
 import traceback
 
-from PyQt4 import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5:
+   from PyQt5.QtWidgets import QLineEdit, QLabel, QIcon
+   from PyQt5.QtCore import QEvent
+else :
+   from PyQt4.QtGui import *
+   from PyQt4.QtCore import *
+
 from Extensions.i18n import tr
 from monViewTexte   import ViewText
 
@@ -93,15 +98,23 @@ class GereListe:
 # ------------- #
 
    def __init__(self):
-       self.connecterSignaux()
+       if monEnvQT5 :self.connecterSignaux()
+       else : self.connecterSignauxQT4()
 
-   def connecterSignaux(self):
+   def connecterSignauxQT4(self):
        self.connect(self.RBHaut,SIGNAL("clicked()"),self.hautPushed)
        self.connect(self.RBBas,SIGNAL("clicked()"),self.basPushed)
        self.connect(self.RBMoins,SIGNAL("clicked()"),self.moinsPushed)
        self.connect(self.RBPlus,SIGNAL("clicked()"),self.plusPushed)
        self.connect(self.RBVoisListe,SIGNAL("clicked()"),self.voisListePushed)
 
+   def connecterSignaux(self):
+       self.RBHaut.clicked.connect(self.hautPushed)
+       self.RBBas.clicked.connect(self.basPushed)
+       self.RBMoins.clicked.connect(self.moinsPushed)
+       self.RBPlus.clicked.connect(self.plusPushed)
+       self.RBVoisListe.clicked.connect(self.voisListePushed)
+
    def hautPushed(self):
        if self.NumLineEditEnCours == 1 : return
        else : numEchange=self.NumLineEditEnCours-1
@@ -218,7 +231,8 @@ class GerePlie:
       fichier=os.path.join(repIcon, 'minusnode.png')
       icon = QIcon(fichier)
       self.BFermeListe.setIcon(icon)
-      self.connect(self.BFermeListe,SIGNAL("clicked()"), self.selectWidgetPlie)
+      if monEnvQT5 : self.BFermeListe.clicked.connect( self.selectWidgetPlie)
+      else : self.connect(self.BFermeListe,SIGNAL("clicked()"), self.selectWidgetPlie)
 
    def selectWidgetPlie(self):
       self.editor.listeDesListesOuvertes.remove(self.node.item)
index c2923535186759441df68ab980f38268cebfdce7..0ef226926ec343f682431d53917c72ae90032d99 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5 :
+  from PyQt5.QtCore import Qt
+else:
+  from PyQt4.QtCore import *
 from  monViewRegles  import ViewRegles
 
 class GereRegles :
index fce867859c8d9ce6dbc84dffddbd934072b3d774..34011519091fe6cf8cdbe727971cbdc7da3f79d2 100644 (file)
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-from PyQt4 import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtWidgets import  QFileDialog, QApplication
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
+
 import os
 from Extensions.i18n import tr
 
@@ -37,10 +41,11 @@ def traduction(directPath,editor,version):
     fn = QFileDialog.getOpenFileName( 
                        editor.appliEficas,
                         tr('Traduire Fichier'),
-                       QString(directPath) ,
+                       directPath ,
                         tr('Fichiers JDC  (*.comm);;''Tous les Fichiers (*)'))
 
 
+    if monEnvQT5 : fn=fn[0]
     FichieraTraduire=str(fn)
     if (FichieraTraduire == "" or FichieraTraduire == () ) : return
     i=FichieraTraduire.rfind(".")
@@ -53,11 +58,11 @@ def traduction(directPath,editor,version):
     os.system("rm -rf "+log)
     os.system("rm -rf "+FichierTraduit)
 
-    qApp.setOverrideCursor(QCursor(Qt.WaitCursor))
+    QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
     if version == "V9V10" : traduitV9V10.traduc(FichieraTraduire,FichierTraduit,log)
     if version == "V10V11" : traduitV10V11.traduc(FichieraTraduire,FichierTraduit,log)
     if version == "V11V12" : traduitV11V12.traduc(FichieraTraduire,FichierTraduit,log)
-    qApp.setOverrideCursor(QCursor(Qt.ArrowCursor))
+    QApplication.setOverrideCursor(QCursor(Qt.ArrowCursor))
 
     Entete=tr("Fichier Traduit : %s\n\n",str(FichierTraduit))
     if  os.stat(log)[6] != 0L :
index c1eb58ca4e9b0f6415da6d0b574a8228ff8dc00f..86b304ecbfc424d059785f7f7830300f415154f6 100644 (file)
 # Modules Python
 # Modules Eficas
 
-from PyQt4  import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5:
+   from PyQt5.QtWidgets import QWidget
+else :
+   from PyQt4.QtGui import *
+   from PyQt4.QtCore import *
+from Extensions.i18n import tr
+
 from Extensions.i18n import tr
 from gereIcones import FacultatifOuOptionnel
 import Accas 
@@ -29,11 +34,11 @@ import Accas
     
 # Import des panels
 
-class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
+class Groupe(QWidget,FacultatifOuOptionnel):
   """
   """
   def __init__(self,node,editor,parentQt,definition,obj,niveau,commande=None):
-      QtGui.QWidget.__init__(self,None)
+      QWidget.__init__(self,None)
       self.node=node
       self.node.fenetre=self
       #print "groupe : ",self.node.item.nom," ",self.node.fenetre
@@ -57,8 +62,10 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel):
       self.afficheMots()
       self.listeMCAAjouter=[]
       self.dictMCVenantDesBlocs={}
-      if hasattr(self,'RBDeplie') : self.connect(self.RBDeplie,SIGNAL("clicked()"), self.Deplie)
-      if hasattr(self,'RBPlie') : self.connect(self.RBPlie,SIGNAL("clicked()"), self.Plie)
+      if hasattr(self,'RBDeplie') and not monEnvQT5 : self.connect(self.RBDeplie,SIGNAL("clicked()"), self.Deplie)
+      if hasattr(self,'RBPlie')  and not monEnvQT5: self.connect(self.RBPlie,SIGNAL("clicked()"), self.Plie)
+      if hasattr(self,'RBDeplie')  and monEnvQT5: self.RBDeplie.clicked.connect(self.Deplie)
+      if hasattr(self,'RBPlie')  and monEnvQT5: self.RBPlie.clicked.connect( self.Plie)
       self.setAcceptDrops(True)
       #self.donneFocus()
      
index 7ae919ff1931b084782325ec133374f56d7a5f01..0027be39e30f02d110e29b8d72ff69c15b305e7b 100644 (file)
 #
 
 import re
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5:
+   from PyQt5.QtWidgets import QToolButton
+else :
+   from PyQt4.QtGui import *
+   from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 class MonBoutonValide(QToolButton) :
index 1a4199a28c38bb9176047680a82ee41f925848bc..7527606f0ea9a8e157e4bcd2568b864dc76f3da6 100644 (file)
 # Modules Eficas
 
 from desChoixCata import Ui_DChoixCata
-from PyQt4  import *
-from PyQt4.QtCore import *
-from PyQt4.QtGui import *
+from determine import monEnvQT5
+if monEnvQT5 :
+   from PyQt5.QtWidgets import QDialog
+else:
+   from PyQt4.QtGui import *
 
 from Extensions.i18n import tr
 # Import des panels
 
-class MonChoixCata(Ui_DChoixCata,QtGui.QDialog):
+class MonChoixCata(Ui_DChoixCata,QDialog):
   """
   Classe définissant le panel associé aux mots-clés qui demandent
   à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
index fcd19856206b45a76cd6e0176513b54d52dce6a7..e362e581101915575b6537d9ed1c773e6a196c0a 100644 (file)
 
 import os,sys,re
 from desChoixCode import Ui_ChoixCode
-from PyQt4.QtGui import * 
-from PyQt4.QtCore import * 
+f monEnvQT5:
+    from PyQt5.QtWidgets import QDialog, QRadioButton
+    from PyQt5.QtGui import QPalette
+    from PyQt5.QtCore import QProcess, QFileInfo, Qt
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
 
     
 # Import des panels
@@ -41,8 +46,12 @@ class MonChoixCode(Ui_ChoixCode,QDialog):
       self.parentAppli=parentAppli
       self.verifieInstall()
       self.code=None
-      self.connect(self.pB_OK,SIGNAL("clicked()"),self.choisitCode)
-      self.connect(self.pB_cancel,SIGNAL("clicked()"),self.sortie)
+      if monEnvQT5:
+         self.pB_OK.clicked.connect(self.choisitCode)
+         self.pB_cancel.clicked.connect(self.sortie)
+      else :
+         self.connect(self.pB_OK,SIGNAL("clicked()"),self.choisitCode)
+         self.connect(self.pB_cancel,SIGNAL("clicked()"),self.sortie)
 
   def sortie(self):
       QDialog.reject(self)
index aa84ce6750a07e30b37df6885a22707548822e1a..a8cc984e7e8491b0eeda5d80f76425b651e4f44b 100644 (file)
 # Modules Eficas
 
 from desChoixCommandes import Ui_ChoixCommandes
-from PyQt4  import *
-from PyQt4.QtCore import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5 :
+   from PyQt5.QtWidgets import QWidget, QAction ,QButtonGroup, QRadioButton, QLabel
+   from PyQt5.QtGui  import QIcon
+   from PyQt5.QtCore import QSize
+else :
+   from PyQt4.QtGui  import *
+   from PyQt4.QtCore import *
+
 from Extensions.i18n import tr
 import os
 
     
 # Import des panels
 
-class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget):
+class MonChoixCommande(Ui_ChoixCommandes,QWidget):
   """
   """
   def __init__(self,node, jdc_item, editor):
-      QtGui.QWidget.__init__(self,None)
+      QWidget.__init__(self,None)
       self.setupUi(self)
 
       self.repIcon=os.path.join( os.path.dirname(os.path.abspath(__file__)),'..','Editeur','icons')
       iconeFile=os.path.join(self.repIcon,'lettreRblanc30.png')
       icon = QIcon(iconeFile)
       self.RBRegle.setIcon(icon)
-      self.RBRegle.setIconSize(QtCore.QSize(21, 31))
+      self.RBRegle.setIconSize(QSize(21, 31))
 
       self.item = jdc_item
       self.node = node
@@ -58,15 +63,26 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget):
 
       #print self.node.tree
 
-      self.connect(self.RBalpha,SIGNAL("clicked()"),self.afficheAlpha)
-      self.connect(self.RBGroupe,SIGNAL("clicked()"),self.afficheGroupe)
-      self.connect(self.RBOrdre,SIGNAL("clicked()"),self.afficheOrdre)
-      self.connect(self.RBClear,SIGNAL("clicked()"),self.clearFiltre)
-      self.connect(self.RBCasse,SIGNAL("toggled(bool)"),self.ajouteRadioButtons)
+      if monEnvQT5 :
+         self.RBalpha.clicked.connect(self.afficheAlpha)
+         self.RBGroupe.clicked.connect(self.afficheGroupe)
+         self.RBOrdre.clicked.connect(self.afficheOrdre)
+         self.RBClear.clicked.connect(self.clearFiltre)
+         self.RBCasse.toggled.connect(self.ajouteRadioButtons)
+         self.LEFiltre.returnPressed.connect(self.ajouteRadioButtons)
+      else :
+         self.connect(self.RBalpha,SIGNAL("clicked()"),self.afficheAlpha)
+         self.connect(self.RBGroupe,SIGNAL("clicked()"),self.afficheGroupe)
+         self.connect(self.RBOrdre,SIGNAL("clicked()"),self.afficheOrdre)
+         self.connect(self.RBClear,SIGNAL("clicked()"),self.clearFiltre)
+         self.connect(self.RBCasse,SIGNAL("toggled(bool)"),self.ajouteRadioButtons)
+         self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.ajouteRadioButtons)
       if self.node.tree.item.get_regles() == () :
          self.RBRegle.close()
          self.labelRegle.close()
-      else : self.connect(self.RBRegle,SIGNAL("clicked()"),self.afficheRegle)
+      else : 
+        if monEnvQT5 : self.RBRegle.clicked.connect(self.afficheRegle)
+        else         : self.connect(self.RBRegle,SIGNAL("clicked()"),self.afficheRegle)
 
       if self.editor.Ordre_Des_Commandes == None : self.RBOrdre.close()
 
@@ -76,7 +92,6 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget):
          self.editor.widgetOptionnel.close()
          self.editor.widgetOptionnel=None
       self.name=None
-      self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.ajouteRadioButtons)
 
       self.affiche_alpha=0
       self.affiche_groupe=0
@@ -176,13 +191,19 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget):
            self.buttonGroup.addButton(rbcmd)
            self.commandesLayout.addWidget(rbcmd)
            rbcmd.mouseDoubleClickEvent=self.mouseDoubleClickEvent
-           self.connect(self.buttonGroup, SIGNAL("buttonClicked(QAbstractButton*)"),self.rbClique) 
+           if monEnvQT5:
+              self.buttonGroup.buttonClicked.connect(self.rbClique) 
+           else :
+              self.connect(self.buttonGroup, SIGNAL("buttonClicked(QAbstractButton*)"),self.rbClique) 
       elif  self.affiche_groupe==1 :
          listeGroupes,dictGroupes=self.jdc.get_groups()
          for grp in listeGroupes:
            if grp == "CACHE" : continue
            label=QLabel(self)
-           text=QString.fromUtf8('<html><head/><body><p><span style=\" font-weight:600;\">Groupe : '+tr(grp)+'</span></p></body></html>')
+           if monEnvQT5 :
+              text=tr('<html><head/><body><p><span style=\" font-weight:600;\">Groupe : '+tr(grp)+'</span></p></body></html>')
+           else :
+              text=QString.fromUtf8('<html><head/><body><p><span style=\" font-weight:600;\">Groupe : '+tr(grp)+'</span></p></body></html>')
            label.setText(text)
            self.listeWidget.append(label)
            aAjouter=1
@@ -198,7 +219,10 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget):
               self.buttonGroup.addButton(rbcmd)
               self.commandesLayout.addWidget(rbcmd)
               rbcmd.mouseDoubleClickEvent=self.mouseDoubleClickEvent
-              self.connect(self.buttonGroup, SIGNAL("buttonClicked(QAbstractButton*)"),self.rbClique)
+              if monEnvQT5:
+                 self.buttonGroup.buttonClicked.connect(self.rbClique) 
+              else :
+                  self.connect(self.buttonGroup, SIGNAL("buttonClicked(QAbstractButton*)"),self.rbClique)
            label2=QLabel(self)
            label2.setText(" ")
            self.listeWidget.append(label2)
@@ -217,7 +241,10 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget):
            self.buttonGroup.addButton(rbcmd)
            self.commandesLayout.addWidget(rbcmd)
            rbcmd.mouseDoubleClickEvent=self.mouseDoubleClickEvent
-           self.connect(self.buttonGroup, SIGNAL("buttonClicked(QAbstractButton*)"),self.rbClique) 
+           if monEnvQT5:
+              self.buttonGroup.buttonClicked.connect(self.rbClique) 
+           else :
+              self.connect(self.buttonGroup, SIGNAL("buttonClicked(QAbstractButton*)"),self.rbClique)
 
      
 
@@ -226,7 +253,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget):
       self.ajouteRadioButtons()
 
   def rbClique(self,id):
-      self.name=self.dicoCmd[str(id.text().toLatin1())]
+      self.name=self.dicoCmd[str(id.text())]
       definitionEtape=getattr(self.jdc.cata[0],self.name)
       commentaire=getattr(definitionEtape,self.jdc.lang)
       try :
index 85ab25dbdb9c3c90e04e8f2384d6a8fe6bf0f325..9236481856fa45ad827fd3ed6eeb8e951ac1acb9 100644 (file)
 #
 # Modules Python
 import string,types,os
+if monEnvQT5:
+    from PyQt5.QtCore import  Qt
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
+
 
 # Modules Eficas
 from qtSaisie      import SaisieValeur
 from monPlusieursBasePanel import MonPlusieursBasePanel
 
-from PyQt4.QtGui  import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 # Import des panels
@@ -60,7 +64,6 @@ class MonFonctionPanel(MonPlusieursBasePanel):
         l_valeurs=[]
         if ((len(liste)% self.nbValeursASaisir != 0 and (len(liste)% self.nbValeurs))):
             message=tr("La cardinalite n'est pas correcte, la derniere valeur est ignoree")
-            #self.Commentaire.setText(QString(commentaire)) 
             self.editor.affiche_infos(message,Qt.red)
         i=0
         while ( i < len(liste) ) :
@@ -90,7 +93,7 @@ class MonFonctionPanel(MonPlusieursBasePanel):
                        TupleEnTexte = TupleEnTexte[0:-2] +")"
                        self.LBValeurs.addItem(TupleEnTexte)
                    else :
-                       self.LBValeurs.addItem(QString(str(valeur)))
+                       self.LBValeurs.addItem(str(valeur))
 
 
   def  ajout1Valeur(self,liste=[]):
@@ -106,11 +109,11 @@ class MonFonctionPanel(MonPlusieursBasePanel):
         if liste ==[]    : return
 
         if (self.node.item.wait_tuple()== 1 and len(liste) != self.nbValeurs):
-            commentaire  = QString(str(liste)
-            commentaire += QString(tr(" n est pas un tuple de ")
-            commentaire += QString(str(self.nbValeursASaisir)
-            commentaire += QString(tr(" valeurs"))
-           self.LEValeur.setText(QString(str(liste)))
+            commentaire  = str(liste
+            commentaire += tr(" n est pas un tuple de "
+            commentaire += str(self.nbValeursASaisir
+            commentaire += tr(" valeurs")
+           self.LEValeur.setText(str(liste))
             self.editor.affiche_infos(commentaire,Qt.red)
             return
 
@@ -134,11 +137,11 @@ class MonFonctionPanel(MonPlusieursBasePanel):
              validite,comm,comm2,listeRetour=self.politique.AjoutTuple(liste,index,listeVal)
         else :
              validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(liste,index,listeVal)
-        self.Commentaire.setText(QString.fromUtf8(QString(comm2)))
+        self.Commentaire.setText(tr(comm2))
         if not validite :
                 self.editor.affiche_infos(comm,Qt.red)
         else:
-           self.LEValeur.setText(QString(""))
+           self.LEValeur.setText("")
            l1=self.listeValeursCourantes[:indexListe]
            l3=self.listeValeursCourantes[indexListe:]
            if self.node.item.wait_tuple()== 1 :
index a9d3604cdd1317cbddecaa2046ed5a9d91ff48ec..e1dea24df816831f5a7c5d2e79d0561a5787a843 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 
-import re
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5:
+   from PyQt5.QtWidgets import QLabel, QFrame
+   from PyQt5.QtCore import QEvent
+else :
+   from PyQt4.QtGui import *
+   from PyQt4.QtCore import *
+from Extensions.i18n import tr
+
 #from Extensions.i18n import tr
 
 class MonLabelClic(QLabel) :
index 10595c99e89e93a68f1638336d542b10355f570b..a0f6a6646fc3dab480594e83d45a16697a4296f9 100644 (file)
 # Modules Eficas
 
 from desRecherche import Ui_desRecherche
-from PyQt4  import *
-from PyQt4.QtCore import *
-from PyQt4.QtGui import *
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtWidgets import QDialog
+    from PyQt4.QtCore import Qt
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
+
 
 # Import des panels
 
-class DRecherche(Ui_desRecherche ,QtGui.QDialog):
+class DRecherche(Ui_desRecherche ,QDialog):
   """
   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,parent = None , name = None,fl = 0):
-      QtGui.QDialog.__init__(self,parent)
+      QDialog.__init__(self,parent)
       self.parentQT=parent
       self.tree=self.parentQT.tree
       self.setModal(True)
       self.setupUi(self)
       self.PBSuivant.setDefault(True)
       self.PBSuivant.setAutoDefault(False)
-      self.connect(self.PBSuivant,SIGNAL("clicked()"), self.suivantClicked)
-      self.connect(self.LERecherche,SIGNAL("returnPressed()"),self.recherche)
+      if monEnvQT5 :
+         self.PBSuivant.clicked.connect( self.suivantClicked)
+         self.LERecherche.returnPressed.connect(self.recherche)
+      else :
+         self.connect(self.PBSuivant,SIGNAL("clicked()"), self.suivantClicked)
+         self.connect(self.LERecherche,SIGNAL("returnPressed()"),self.recherche)
       self.surLigne=0
       self.listeTrouvee=()
       self.nodeSurligne=None
index 94fff67241ed6929d0370eb6104555fec9e9c15f..b4a32be66e5fa812613816a041ba7284d1c30047 100644 (file)
 # Modules Eficas
 
 from desSelectVal import Ui_DSelVal
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+
+fromm determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtWidgets import QDialog
+    from PyQt5.QtCore import QTimer
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
 
 class DSelVal(Ui_DSelVal,QDialog):
    def __init__(self,parent ,modal ) :
@@ -48,6 +54,14 @@ class MonSelectVal(DSelVal):
         self.connecterSignaux()
 
   def connecterSignaux(self) :
+        self.Bespace.clicked.connect(self.SelectEsp)
+        self.BpointVirgule.clicked.connect(self.SelectPoint)
+        self.Bvirgule.clicked.connect(self.SelectVir)
+        self.BImportSel.clicked.connect(self.BImportSelPressed)
+        self.BImportTout.clicked.connect(self.BImportToutPressed)
+        self.parent.editor.sb.messageChanged(self.messageAChanger)
+
+  def connecterSignauxQT4(self) :
         self.connect(self.Bespace,SIGNAL("clicked()"),self.SelectEsp)
         self.connect(self.BpointVirgule,SIGNAL("clicked()"),self.SelectPoint)
         self.connect(self.Bvirgule,SIGNAL("clicked()"),self.SelectVir)
@@ -61,7 +75,7 @@ class MonSelectVal(DSelVal):
       from PyQt4.QtGui import QPalette
       mapalette.setColor( QPalette.WindowText, self.parent.editor.couleur )
       self.sb.setPalette( mapalette );
-      self.sb.setText(QString.fromUtf8(message))
+      self.sb.setText(tr(message))
       QTimer.singleShot(3000, self.efface)
       
   def efface(self):
index d180e671d497668732cefea23b6c34adcb8a3a3f..ca178b3ae24574dbe0f9697d325b3786b9405d41 100644 (file)
@@ -22,8 +22,13 @@ import string,types,os
 import traceback
 
 from Extensions.i18n import tr
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5:
+   from PyQt5.QtCore import Qt
+   from PyQt5.QtWidgets import QDialog
+else :
+   from PyQt4.QtGui import *
+   from PyQt4.QtCore import *
 from desViewRegles import Ui_viewRegles
 
 # ------------------------------------ #
index 8aeddc7ceec5e6d440f4fbc4015b8245ff2fb50a..690d8403032dd8d9a0dca80449b99e0bbdb6f79f 100644 (file)
@@ -22,8 +22,13 @@ import string,types,os
 import traceback
 
 from Extensions.i18n import tr
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+
+from determine import monEnvQT5
+if monEnvQT5 :
+   from PyQt5.QtWidgets import QDialog, QMessageBox
+else :
+   from PyQt4.QtGui import *
+   from PyQt4.QtCore import *
 from desViewTexte import Ui_dView
 
 # ------------------------------- #
@@ -38,8 +43,12 @@ class ViewText(Ui_dView,QDialog):
         self.setupUi(self)
 
         self.resize( QSize(largeur,hauteur).expandedTo(self.minimumSizeHint()) )
-        self.connect( self.bclose,SIGNAL("clicked()"), self, SLOT("close()") )
-        self.connect( self.bsave,SIGNAL("clicked()"), self.saveFile )
+        if monEnvQT5 :
+           self.bclose.clicked.connect(self.close)
+           self.bsave.clicked.connect(self.saveFile )
+        else :
+           self.connect( self.bclose,SIGNAL("clicked()"), self, SLOT("close()") )
+           self.connect( self.bsave,SIGNAL("clicked()"), self.saveFile )
         if entete != None : self.setWindowTitle (entete)
         if entete != None : self.setText (texte)
 
@@ -57,6 +66,9 @@ class ViewText(Ui_dView,QDialog):
                 tr("Sauvegarder le fichier"),
                 dir)
         if fn.isNull() : return
+        if fn == None : return (0, None)
+        if monEnvQT5 :  fn=fn[0]
+
         ulfile = os.path.abspath(unicode(fn))
         if self.editor != None :
            self.editor.appliEficas.CONFIGURATION.savedir=os.path.split(ulfile)[0]
@@ -67,17 +79,8 @@ class ViewText(Ui_dView,QDialog):
            return 1
         except IOError, why:
            QMessageBox.critical(self, tr("Sauvegarder le fichier"),
-                tr("Le fichier <b>%(v_1)s</b> n'a pu etre sauvegarde. <br>Raison : %(v_2)s", {'v_1': unicode(fn), 'v_2': unicode(why)}))
+                 tr('Le fichier')+str(fn) + tr('n a pas pu etre sauvegarde : ') + str(why))
            return
 
-class ViewText2(ViewText):
-    def __init__(self,parent,cmd,editor=None,entete=None,texte=None,largeur=600,hauteur=600):
-       ViewText.__init__(self,parent,editor,entete,texte,largeur,hauteur)
-       import subprocess
-       p = subprocess.Popen(cmd,stdout=subprocess.PIPE)
-       (output, err) = p.communicate()
-       if output != None : self.view.append(QString.fromUtf8(output,len(output))) ;
-       if err != None    : self.view.append(QString.fromUtf8(err,len(err))) ;
-
 
        
index 79cb99f1a7f2a4d297439b281623cb408c6a7f3f..7d5a49452081ce58b0353e8d17539a29df72f572 100644 (file)
 # Modules Eficas
 
 from desVisu import Ui_DVisu
-from PyQt4  import *
-from PyQt4.QtCore import *
-from PyQt4.QtGui import *
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtWidgets import QDialog
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
+
 
 # Import des panels
 
index 9fcba5d0e4e03e563a581301f5c555ac7b55921f..e7e28c3d7b8e08e7ce68c241169961955ecd118b 100644 (file)
@@ -21,8 +21,6 @@
 import string,types,os
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 from monWidgetRadioButton  import MonWidgetRadioButtonCommun 
index 3d34403b04ffc0ae0b7c65692c6b682356338058..6b74f109c45608b4f5e0ab8ab832471d81b136a5 100644 (file)
@@ -21,8 +21,6 @@
 import string,types,os
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 from monWidgetRadioButton  import MonWidgetRadioButtonCommun 
index b4fa2344c44b13e557b4caba923ea6f0283b9197..0b1ef79ec3dd111896f0d06753e416b6af77afaa 100644 (file)
@@ -21,8 +21,6 @@
 
 from desWidgetBloc import Ui_WidgetBloc
 from groupe import Groupe
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 # Import des panels
 
index 19bebd4759eae0b59d4f9d5377c97983f36e7e47..1468c3a6c11839f5d4410a017cc190c68943f53d 100644 (file)
@@ -21,8 +21,6 @@
 import string,types,os
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 from feuille               import Feuille
@@ -71,7 +69,7 @@ class MonWidgetCBCommun (Ui_WidgetCB,Feuille):
 "     font : italic ;\n"
 "     background: rgb(235,235,235);\n"
 " }"))
-      valeur=str(self.CBChoix.currentText().toLatin1())
+      valeur=str(self.CBChoix.currentText())
       SaisieValeur.LEValeurPressed(self,valeur)
       self.reaffiche()
 
index 3fb8f86e5516ac973f9cf11248bd67e9cf5eb745..61553b9ff0acd425001a4fc5746e98e4058ec2d5 100644 (file)
@@ -21,8 +21,6 @@
 import string,types,os
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 from feuille               import Feuille
@@ -64,6 +62,6 @@ class MonWidgetCB (Ui_WidgetCB,Feuille):
       self.CBChoix.setCompleter(monCompleteur)
 
   def ChoixSaisi(self):
-      valeur=str(self.CBChoix.currentText().toLatin1())
+      valeur=str(self.CBChoix.currentText())
       SaisieValeur.LEValeurPressed(self,valeur)
       self.reaffiche()
index feb1eadbe4e74348d3fd329b6c418b9582130ef7..83b94672a802857dbbdf44335eed8e39bdb5b923 100644 (file)
 from desWidgetCommande import Ui_WidgetCommande
 from groupe import Groupe
 from gereIcones import FacultatifOuOptionnel
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+
+if monEnvQT5:
+   from PyQt5.QtWidgets  import QApplication, QWidget
+   from PyQt5.QtGui import QFont, QIcon
+   from PyQt5.QtCore import QTimer
+else :
+   from PyQt4.QtGui import *
+   from PyQt4.QtCore import *
+
+
 from Extensions.i18n import tr
 import Accas 
 import os
@@ -57,18 +66,29 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       self.commandesLayout.focusInEvent=self.focusInEvent
       self.scrollAreaCommandes.focusInEvent=self.focusInEvent
 
-      if self.editor.code in ['MAP','CARMELCND'] : self.bCatalogue.close()
-      else : self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue)
-      if self.editor.code in ['Adao','MAP'] : 
-            self.bAvant.close()
-            self.bApres.close()
+     
+      if monEnvQT5 :
+         if self.editor.code in ['MAP','CARMELCND'] : self.bCatalogue.close()
+         else : self.bCatalogue.clicked.connect(self.afficheCatalogue)
+         if self.editor.code in ['Adao','MAP'] : 
+               self.bAvant.close()
+               self.bApres.close()
+         else : 
+               self.bAvant.clicked.connect(self.afficheAvant)
+               self.bApres.clicked.connect(self.afficheApres)
+         self.LENom.returnPressed.connect(self.nomChange)
       else : 
-            self.connect(self.bAvant,SIGNAL("clicked()"), self.afficheAvant)
-            self.connect(self.bApres,SIGNAL("clicked()"), self.afficheApres)
-
-      
-      self.connect(self.LENom,SIGNAL("returnPressed()"),self.nomChange)
-      self.racine=self.node.tree.racine
+         if self.editor.code in ['MAP','CARMELCND'] : self.bCatalogue.close()
+         else : self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue)
+         if self.editor.code in ['Adao','MAP'] : 
+               self.bAvant.close()
+               self.bApres.close()
+         else : 
+               self.connect(self.bAvant,SIGNAL("clicked()"), self.afficheAvant)
+               self.connect(self.bApres,SIGNAL("clicked()"), self.afficheApres)
+         self.connect(self.LENom,SIGNAL("returnPressed()"),self.nomChange)
+   
+         self.racine=self.node.tree.racine
       if self.node.item.GetIconName() == "ast-red-square" : self.LENom.setDisabled(True)
 
       self.setAcceptDrops(True)
@@ -92,10 +112,10 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
 
   def donnePremier(self):
       #print "dans donnePremier"
-      qApp.processEvents()
+      QApplication.processEvents()
       if self.listeAffichageWidget != [] :
          self.listeAffichageWidget[0].setFocus(7)
-      qApp.processEvents()
+      QApplication.processEvents()
       #print self.focusWidget()
 
 
@@ -213,7 +233,7 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
 
 
   def recentre(self):
-      qApp.processEvents()
+      QApplication.processEvents()
       s=self.editor.fenetreCentraleAffichee.scrollAreaCommandes
       s.horizontalScrollBar().setSliderPosition(self.avantH)
       s.verticalScrollBar().setSliderPosition(self.avantV)
@@ -224,7 +244,7 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe):
       QTimer.singleShot(1, self.rendVisible)
      
   def rendVisible(self):
-      qApp.processEvents()
+      QApplication.processEvents()
       self.f.setFocus(7)
       self.editor.fenetreCentraleAffichee.scrollAreaCommandes.ensureWidgetVisible(self.f)
 
index 1738fc5b14c0b990565f7e3a0a45cd296bffed02..1d422a77448cbf1e8d8032d35ee6836b4f58d588 100644 (file)
 # Modules Python
 # Modules Eficas
 
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtWidgets  import QWidget
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import
+
 from desWidgetCommentaire import Ui_WidgetCommentaire
 from gereIcones import FacultatifOuOptionnel
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 import Accas 
 import os
@@ -45,8 +50,10 @@ class MonWidgetCommentaire(QWidget,Ui_WidgetCommentaire,FacultatifOuOptionnel):
       self.setIconePoubelle()
       self.remplitTexte()
       if self.editor.code in ['MAP','CARMELCND'] : self.bCatalogue.close()
+      elif monEnvQT5 : self.bCatalogue.clicked.connect(self.afficheCatalogue)
       else : self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue)
-      self.connect(self.commentaireLE,SIGNAL("returnPressed()"),self.TexteCommentaireEntre)
+      if monEnvQT5 : self.commentaireLE.returnPressed(TexteCommentaireEntre)
+      else : self.connect(self.commentaireLE,SIGNAL("returnPressed()"),self.TexteCommentaireEntre)
        
   def afficheCatalogue(self):
       if self.editor.code != "CARMELCND" : self.monOptionnel.hide()
@@ -59,7 +66,7 @@ class MonWidgetCommentaire(QWidget,Ui_WidgetCommentaire,FacultatifOuOptionnel):
       self.commentaireLE.setText(texte)
       if self.editor.code == "CARMELCND" and texte[0:16]=="Cree - fichier :" :
          self.commentaireLE.setDisabled(True)
-         self.commentaireLE.setStyleSheet(QString.fromUtf8("background:rgb(244,244,244);\n" "border:0px;\n"))
+         self.commentaireLE.setStyleSheet("background:rgb(244,244,244);\n" "border:0px;\n")
          self.commentaireLE.setToolTip(tr("Valeur non modifiable"))
 
   def donnePremier(self):
index a1c90593eb06f1db9fad0b70c1490af597670e3f..34feff33ec02d9082882c36857f557ebfefdb46e 100644 (file)
@@ -23,9 +23,12 @@ pattern_name       = re.compile(r'^[^\d\W]\w*\Z')
 
 # Modules Eficas
 
-from PyQt4 import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5 :
+   from PyQt5.QtWidgets import QDialog
+else :
+   from PyQt4.QtGui import *
+   from PyQt4.QtCore import *
 from Extensions.i18n import tr
 from desWidgetCreeParam import Ui_desWidgetCreeParam
 
@@ -38,16 +41,20 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog):
        self.editor.affiche_infos("")
        QDialog.__init__(self,editor)
        self.setupUi(self)
-       self.connecterSignaux()
+       if monEnvQT5 : self.connecterSignaux()
+       else         : self.connecterSignauxQT4()
        self.dejaExistant=0
        self.listeTousParam=self.editor.jdc.params
        self.dictListe={}
        self.initToutesVal()
 
-  def connecterSignaux(self) :
+  def connecterSignauxQT4(self) :
         self.connect(self.lineEditVal,SIGNAL("returnPressed()"),self.lineEditValReturnPressed)
         self.connect(self.lineEditNom,SIGNAL("returnPressed()"),self.lineEditNomReturnPressed)
 
+  def connecterSignaux(self) :
+        self.lineEditVal.returnPressed(self.lineEditValReturnPressed)
+        self.lineEditNom.returnPressed(self.lineEditNomReturnPressed)
 
   def CreeParametre(self):
         nom=str(self.lineEditNom.text())
index 05f6897fdb124a6f73a8433652da39df28989bc6..845661d22c991b6d1c9e0e051bc9d4f4dbd1ef71 100644 (file)
@@ -21,8 +21,6 @@
 import string,types,os
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 from feuille               import Feuille
index 77756ad434e9f68268cae90c0479a9917fc40935..7b60cf8ffaf19ba72b021ecbff5cd22b1c84aa01 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 # Modules Python
+from determine import monEnvQT5
+if monEnvQT5:
+   from PyQt5.QtCore import Qt
+   from PyQt5.QtWidgets import QWidget
+else :
+   from PyQt4.QtCore import *
+   from PyQt4.QtGui import *
+
+
 # Modules Eficas
 
-from desWidgetFact import Ui_WidgetFact
 from groupe import Groupe
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from desWidgetFact import Ui_WidgetFact
 from Extensions.i18n import tr
 # Import des panels
 
index 5804200af5db025fd8fbf185d730287a1a04c322..ea31461ef7a261a36a1fcdb2e2d2957b83c03eb4 100644 (file)
@@ -21,8 +21,6 @@
 
 from desWidgetFactPlie import Ui_WidgetFactPlie
 from groupe import Groupe
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 # Import des panels
 
index b576b589e7f7ebeabbaa0e315f776b2e3e52e108..a2f1bc039d1705f7317724cfc764190a6c059036 100644 (file)
@@ -21,8 +21,6 @@
 import string,types,os
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 from feuille               import Feuille
index de91d8984957d61f589464f365f7ef8230c58fe9..c3929af5d86c7826682fac68c1485d7a3af5803b 100644 (file)
 # Modules Python
 # Modules Eficas
 
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5 :
+   from PyQt5.QtWidgets import QWidget
+else :
+   from PyQt4.QtGui import *
+   from PyQt4.QtCore import *
+
 from Extensions.i18n import tr
 from desWidgetInactif import Ui_WidgetInactif
 import Accas 
@@ -47,9 +52,14 @@ class MonWidgetInactif(QWidget,Ui_WidgetInactif):
           self.editor.splitter.addWidget(self.monOptionnel)
           self.editor.restoreSplitterSizes()
        self.afficheOptionnel()
-       self.connect(self.bAvant,SIGNAL("clicked()"), self.afficheAvant)
-       self.connect(self.bApres,SIGNAL("clicked()"), self.afficheApres)
-       self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue)
+       if monEnvQT5 :
+          self.bAvant.clicked.connect(self.afficheAvant)
+          self.bApres.clicked.connect(self.afficheApres)
+          self.bCatalogue.clicked.connect(self.afficheCatalogue)
+       else :
+          self.connect(self.bAvant,SIGNAL("clicked()"), self.afficheAvant)
+          self.connect(self.bApres,SIGNAL("clicked()"), self.afficheApres)
+          self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue)
        self.labelNomCommande.setText(tr(self.node.item.nom))
        self.labelNomCommande.setEnabled(False)
 
index 402171d53174d6d07d043012f52dc26007d55e06..f359d298079c51dbed6067b270032dc227ba6be5 100644 (file)
 import string,types,os
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5 :
+  from PyQt5.QtWidgets import QWidget
+else :
+  from PyQt4.QtGui import *
+  from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 from desWidgetInformation  import Ui_WidgetInformative 
index 10bda4ea5fdd26d2ad1cd223d11a8ae7ed7e2fed..7e3cca492bd88b887e9eeba03320c5ecf6317ee7 100644 (file)
 import string,types,os,sys
 
 # Modules Eficas
-from PyQt4.QtGui     import *
-from PyQt4.QtCore    import *
 from Extensions.i18n import tr
 from feuille         import Feuille
 
 
 from desWidgetMatrice  import Ui_desWidgetMatrice 
 
+from determine import monEnvQT5
 
 class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille):
 # c est juste la taille des differents widgets de base qui change
@@ -41,7 +40,8 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille):
         self.nbCols=0
         self.nomVariables={}
         self.creeColonnes()
-        self.connecterSignaux()
+        if monEnvQT5 : self.connecterSignaux()
+        else : self.connecterSignauxQT4()
         if self.node.item.get_valeur()== None:  self.initialSsValeur()
         else :
            try    : self.initialValeur()
@@ -55,10 +55,14 @@ class MonWidgetMatrice (Ui_desWidgetMatrice,Feuille):
 
 
 
-  def connecterSignaux(self) :
+  def connecterSignauxQT4(self) :
       self.connect(self.TBMatrice,SIGNAL("itemChanged(QTableWidgetItem *)"),self.itemChanged)
       self.connect(self.PBrefresh,SIGNAL("clicked()"), self.afficheEntete)
 
+  def connecterSignaux(self) :
+      self.TBMatrice.itemChanged.connect(self.itemChanged)
+      self.PBrefresh.clicked.connect( self.afficheEntete)
+
   def afficheEntete(self):
       self.objSimp.changeEnteteMatrice()
       self.TBMatrice.clear()
index f8fe210bfb198fbeca3e19b0a462b70b7a80a64c..b63c469eebcfb7606468b6a450c22ac0d3eec2f6 100644 (file)
 # Modules Python
 # Modules Eficas
 
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtWidgets import QCheckBox, QWidget
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
+
 from Extensions.i18n import tr
 from desWidgetOptionnel import Ui_WidgetOptionnel
 
@@ -30,7 +35,7 @@ from desWidgetOptionnel import Ui_WidgetOptionnel
 class monButtonCustom(QCheckBox):
 
    def __init__(self,texte,monOptionnel,parent=None):
-      QCheckBox.__init__(self,QString(tr(texte)),parent)
+      QCheckBox.__init__(self,tr(texte),parent)
       self.texte=texte
       self.monOptionnel=monOptionnel
 
index af61dd5c6204aefa678ec4c3f1e1b3ff382525fa..b9c024839e84b0b472fa1b42f449855d930557f0 100644 (file)
 
 from desWidgetParam import Ui_WidgetParam
 from gereIcones import FacultatifOuOptionnel
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtWidgets import QWidget
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
+
 from Extensions.i18n import tr
 from Extensions.eficas_exception import EficasException
 import Accas 
@@ -50,13 +55,24 @@ class MonWidgetParam(QWidget,Ui_WidgetParam,FacultatifOuOptionnel):
       self.setIconePoubelle()
       self.remplit()
       if self.editor.code in ['MAP','CARMELCND'] : self.bCatalogue.close()
+      elif monEnvQt5 : self.bCatalogue.clicked.connect(self.afficheCatalogue)
       else : self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue)
-      self.connect(self.lineEditVal,SIGNAL("returnPressed()"),self.LEValeurPressed)
-      self.connect(self.lineEditNom,SIGNAL("returnPressed()"),self.LENomPressed)
-      self.connect(self.bAvant,SIGNAL("clicked()"), self.afficheAvant)
-      self.connect(self.bApres,SIGNAL("clicked()"), self.afficheApres)
-      self.connect(self.bVerifie,SIGNAL("clicked()"), self.verifiePressed)
-      self.editor.affiche_infos("")
+
+      if monEnvQt5 :
+        self.lineEditVal.returnPressed.connect.(self.LEValeurPressed)
+        self.lineEditNom.returnPressed.connect.(self.LENomPressed)
+        self.bAvant.clicked.connect.(self.afficheAvant)
+        self.bApres.clicked.connect.(self.afficheApres)
+        self.bVerifie.clicked.connect.(self.verifiePressed)
+      else :
+        self.connect(self.lineEditVal,SIGNAL("returnPressed()"),self.LEValeurPressed)
+        self.connect(self.lineEditNom,SIGNAL("returnPressed()"),self.LENomPressed)
+        self.connect(self.bAvant,SIGNAL("clicked()"), self.afficheAvant)
+        self.connect(self.bApres,SIGNAL("clicked()"), self.afficheApres)
+        self.connect(self.bVerifie,SIGNAL("clicked()"), self.verifiePressed)
+        self.editor.affiche_infos("")
+
+
       if self.editor.widgetOptionnel!= None :
          self.editor.widgetOptionnel.close()
          self.editor.widgetOptionnel=None
index f60a713c09bed9ca0dabfe20648f3e759c2b8c08..6b9a6a227ea3a6d16c91a2eac77e52c5aa067138 100644 (file)
 import string,types,os,sys
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
-
 from monWidgetPlusieursIntoOrdonne import MonWidgetPlusieursIntoOrdonne 
 from politiquesValidation          import PolitiquePlusieurs
 
 
 
-
 class MonWidgetPlusieursASSDIntoOrdonne (MonWidgetPlusieursIntoOrdonne):
 
   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
index 55b8dcc4cbf84c28a43944a8b4695bb8def7e0b1..cb1b427ac1148d10081effaee9617e0ab15e0bff 100644 (file)
 # Modules Python
 import string,types,os,sys
 
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtGui  import Qicon, QApplication
+    from PyQt5.QtCore import QTimer, QSize, QT
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
+
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 from feuille                import Feuille
@@ -88,7 +94,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie)
        else                           : aConstruire=self.monSimpDef.max
        for i in range(1,aConstruire):
            self.ajoutLineEdit()
-       qApp.processEvents()
+       QApplication.processEvents()
        self.scrollArea.ensureWidgetVisible(self.lineEditVal1)
        self.listeValeursCourantes=self.node.item.GetListeValeurs()
        index=1
@@ -139,7 +145,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie)
 
 
   def rendVisibleLigne(self):
-      qApp.processEvents()
+      QApplication.processEvents()
       self.estVisible.setFocus()
       self.scrollArea.ensureWidgetVisible(self.estVisible,0,0)
       
@@ -177,7 +183,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie)
             nomLineEdit="lineEditVal"+str(i)
             courant=getattr(self,nomLineEdit)
             valeur=courant.text()
-            if valeur == None or valeur == QString("") :
+            if valeur == None or valeur == "" :
               ajoute=True
               courant.setText(str(val))
               commentaire=self.ajout1Valeur(val)
index 85b61bf0cae4e4b3d90a7db5bff217b822a0e647..efb0191480373a78d400b46f347b2cdd67068edd 100644 (file)
 import string,types,os
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtWidgets  import QCheckBox, QScrollbar, QFrame, QApplication
+    from PyQt5.QtCore import QT
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import
+
 from Extensions.i18n import tr
 
 from feuille                import Feuille
@@ -118,7 +124,7 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie):
       if hasattr(self,nomCB) : return
       nouveauCB = QCheckBox(self.scrollArea)
       self.CBLayout.addWidget(nouveauCB)
-      qApp.processEvents()
+      QApplication.processEvents()
       nouveauCB.setText("")
       if index % 2 == 1 : nouveauCB.setStyleSheet("background:rgb(210,210,210)")
       else :                       nouveauCB.setStyleSheet("background:rgb(240,240,240)")
index 7bd475a6e565f168431ab2850a8694b9135fe6e7..878fa2be5e2dbad10b9381bcc8f7fe5333cad0cb 100644 (file)
 import string,types,os,sys
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
-from Extensions.i18n import tr
-
 from feuille                import Feuille
 from desWidgetPlusieursIntoOrdonne import Ui_WidgetPlusieursIntoOrdonne 
 from politiquesValidation   import PolitiquePlusieurs
@@ -34,6 +30,13 @@ from gereListe              import GerePlie
 from gereListe              import LECustom
 from gereListe              import MonLabelListeClic
 
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtWidgets  import Qicon, QScrollbar, QFrame, QApplication
+    from PyQt5.QtCore import QTimer, QSize, Qt
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import 
 
 
 class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,GereListe,GerePlie):
@@ -44,7 +47,7 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere
         self.listeLE=[]
         self.ouAjouter=0
         self.NumLineEditEnCours=0
-        Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
+        Feuille.__init__(self,node,monSimpDef,nom,objSimp,parent,commanme)
         GereListe.__init__(self)
         self.finCommentaireListe()
         self.gereIconePlier()
@@ -148,7 +151,7 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere
       self.CBLayout.insertWidget(index -1,nouveauLE)
       self.listeLE.append(nouveauLE)
       nouveauLE.setFrameShape(QFrame.NoFrame)
-      qApp.processEvents()
+      QApplication.processEvents()
       nouveauLE.setText("")
       if index % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)")
       else :             nouveauLE.setStyleSheet("background:rgb(240,240,240)")
@@ -226,7 +229,7 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere
         self.setValide()
 #
   def rendVisibleLigneRE(self):
-      qApp.processEvents()
+      QApplication.processEvents()
       self.estVisibleRE.setFocus()
       self.scrollArea.ensureWidgetVisible(self.estVisibleRE,0,0)
 #
index ed9d2a065900390404395892126a6eb5d018537b..a12875fc67e52e41751d1368b5d1fa87ddde42a0 100644 (file)
 import string,types,os,sys
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+#if monEnvQT5:
+#    from PyQt5.QtWidgets  import Qicon, QScrollbar, QFrame
+#    from PyQt5.QtCore import QTimer, QSize, QT
+#else :
+#    from PyQt4.QtGui  import *
+#    from PyQt4.QtCore import
+
 from Extensions.i18n import tr
 
 from feuille                import Feuille
@@ -38,7 +44,10 @@ class MonWidgetPlusieursPlie (Ui_WidgetPlusieursPlie,Feuille):
         self.AAfficher=self.lineEditVal
         self.maCommande.listeAffichageWidget.append(self.lineEditVal)
         
-        self.connect(self.BVisuListe,SIGNAL("clicked()"), self.selectWidgetDeplie)
+        if monEnvQT5 :
+           self.BVisuListe.clicked(self.selectWidgetDeplie)
+        else :
+           self.connect(self.BVisuListe,SIGNAL("clicked()"), self.selectWidgetDeplie)
 
 
   def setValeurs(self):
index 30ad88e43156040a2cd37f03ca22098aa3e9e0b2..93a2008863e005aade29fd7c1c9c8da72f3ec8fd 100644 (file)
 import string,types,os,sys
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtWidgets  import QIcon, QSize, QFrame,QApplication
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import
+
 from Extensions.i18n import tr
 
 
@@ -52,7 +57,8 @@ class TupleCustom :
          courant=getattr(self,nomLE)
          courant.num=index
          courant.dansUnTuple=True
-         self.connect(courant,SIGNAL("returnPressed()"),self.valueChange)
+         if monEnvQt5 : courant.returnPressed.connect(self.valueChange)
+         else : self.connect(courant,SIGNAL("returnPressed()"),self.valueChange)
 
 
   def valueChange(self):
@@ -161,7 +167,10 @@ class MonWidgetPlusieursTuple(Feuille,GereListe):
           icon3 = QIcon(fichier3)
           self.BSelectFichier.setIcon(icon3)
           self.BSelectFichier.setIconSize(QSize(32, 32))
-        self.connect(self.BSelectFichier,SIGNAL("clicked()"), self.selectInFile)
+        if monEnvQt5 :
+          self.BSelectFichier.clicked.connect(self.selectInFile)
+        else :
+          self.connect(self.BSelectFichier,SIGNAL("clicked()"), self.selectInFile)
           
         
 
@@ -214,7 +223,7 @@ class MonWidgetPlusieursTuple(Feuille,GereListe):
        for i in range(len(valeurs),aCreer) : self.ajoutLineEdit(inInit=True)
 
   def rendVisibleLigne(self):
-      qApp.processEvents()
+      QApplication.processEvents()
       self.estVisible.setFocus(True)
       self.scrollArea.ensureWidgetVisible(self.estVisible,0,0)
 
@@ -249,7 +258,7 @@ class MonWidgetPlusieursTuple(Feuille,GereListe):
           self.listeAffichageWidget[-2].setFocus(True)
       else :
          try :
-           qApp.processEvents()
+           QApplication.processEvents()
            w=self.listeAffichageWidget[self.listeAffichageWidget.index(aLeFocus)+1]
            w.setFocus(True)
            self.scrollArea.ensureWidgetVisible(w,0,0)
index 0acaae01ec5182abf3c163c4feac4cc62f6749ad..a446a06f53ca0c2d155e5f7edf66c79617fa0344 100644 (file)
@@ -21,9 +21,6 @@
 import string,types,os
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
-from Extensions.i18n import tr
 
 from feuille                  import Feuille
 from monWidgetPlusieursTuple  import MonWidgetPlusieursTuple 
index 83a911a481ffa8499b50fda8d614d82e62bf3f9d..e7239b85588a1ade5699a24bc5ac50977b6f5fd7 100644 (file)
@@ -21,9 +21,6 @@
 import string,types,os
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
-from Extensions.i18n import tr
 
 from feuille                  import Feuille
 from monWidgetPlusieursTuple  import MonWidgetPlusieursTuple 
index 176dbee01d56ea4b2416f898bb9d0f019887ff31..a001617119fcfa6ae242e87cfd9196837512d3b2 100644 (file)
 # Modules Python
 import string,types,os
 
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtCore     import  Qt
+    from PyQt5.QtWidgets  import  QWidget
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
+
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+
 from Extensions.i18n import tr
 
 from feuille               import Feuille
@@ -68,7 +75,8 @@ class MonWidgetRadioButtonCommun (Feuille):
          if not(type(valeur) in types.StringTypes) : valeur=str(valeur)
          bouton.setText(tr(valeur))
          self.dict_bouton[valeur]=bouton
-         self.connect(bouton,SIGNAL("clicked()"),self.boutonclic)
+         if monEnvQT5 : bouton.clicked.connect(self.boutonclic)
+         else : self.connect(bouton,SIGNAL("clicked()"),self.boutonclic)
          bouton.keyPressEvent=self.keyPressEvent
          setattr(self,nomBouton,bouton)
          i=i+1
index 40231104be463cbf2b8ca996ca035eec5143756f..41a5226eb3206f9bd14490f82589ab94438471fe 100644 (file)
@@ -21,8 +21,6 @@
 import string,types,os
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 from desWidgetSimpTxt  import Ui_WidgetSimpTxt 
index 31f94df53ad2dd20469f0b5193aaf94c0a851208..c5b6bc99fd428c2c282c0f7c59ccbe7b56dd6cd5 100755 (executable)
 #
 
 import os, sys
-
-from PyQt4.QtGui  import *
-from PyQt4.QtCore import *
-from myMain import Ui_Eficas
-from viewManager import MyTabview
-from getVersion import getEficasVersion
+from  determine import monEnvQT5
+if monEnvQT5 :
+  from PyQt5.QtWidgets import QApplication, QMainWindow, QBoxLayout, QMenu, QAction
+  from PyQt5.QtGui import QIcon
+  from PyQt5.QtCore import Qt
+else:
+  from PyQt4.QtGui  import *
+  from PyQt4.QtCore import *
 
 from Extensions.i18n import tr
 from Extensions.eficas_exception import EficasException
 
+from myMain import Ui_Eficas
+from viewManager import MyTabview
+from getVersion import getEficasVersion
 from Editeur import session
 
 
@@ -53,7 +58,8 @@ class Appli(Ui_Eficas,QMainWindow):
         self.code=code
         self.indice=0
         self.dict_reels={}
-        self.recent =  QStringList()
+        if monEnvQT5 : self.recent =  []
+        else : self.recent =  QStringList()
         self.ficRecents={}
         self.listeAEnlever=[]
         self.ListeCode=['Aster','Carmel3D','Cuve2dg','Openturns_Study','Openturns_Wrapper','MAP','ZCracks', 'CarmelCND','MT']
@@ -92,13 +98,13 @@ class Appli(Ui_Eficas,QMainWindow):
         eficas_root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 
         self.viewmanager = MyTabview(self)
-        #self.recentMenu=self.menuFichier.addMenu(tr('&Recents'))
         self.recentMenu=QMenu(tr('&Recents'))
         #self.menuFichier.insertMenu(self.actionOuvrir,self.recentMenu)
         # actionARemplacer ne sert que pour l insert Menu
         self.menuFichier.insertMenu(self.actionARemplacer ,self.recentMenu)
         self.menuFichier.removeAction(self.actionARemplacer)
-        self.connecterSignaux()
+        if monEnvQT5 : self.connecterSignaux()
+        else         : self.connecterSignauxQT4()
         self.toolBar.addSeparator()
         if self.code != None : self.construitMenu()
 
@@ -189,7 +195,8 @@ class Appli(Ui_Eficas,QMainWindow):
         if not(self.actionExecution in self.toolBar.actions()):
            self.toolBar.addAction(self.actionExecution)
         self.actionExecution.setText(QApplication.translate("Eficas", "Execution ", None, QApplication.UnicodeUTF8))
-        self.connect(self.actionExecution,SIGNAL("triggered()"),self.run)
+        if monEnvQT5 : self.actionExecution.triggered.connect(self.run)
+        else         : self.connect(self.actionExecution,SIGNAL("triggered()"),self.run)
 
     def ajoutSauveExecution(self):
         self.actionSaveRun = QAction(self)
@@ -200,7 +207,8 @@ class Appli(Ui_Eficas,QMainWindow):
         if not(self.actionSaveRun in self.toolBar.actions()):
            self.toolBar.addAction(self.actionSaveRun)
         self.actionSaveRun.setText(QApplication.translate("Eficas", "Save Run", None, QApplication.UnicodeUTF8))
-        self.connect(self.actionSaveRun,SIGNAL("triggered()"),self.saveRun)
+        if monEnvQT5 : self.actionSaveRun.triggered.connect(self.saveRun)
+        else         : self.connect(self.actionSaveRun,SIGNAL("triggered()"),self.saveRun)
 
     def griserActionsStructures(self):
         self.actionCouper.setEnabled(False)
@@ -297,7 +305,8 @@ class Appli(Ui_Eficas,QMainWindow):
         self.actionParametres_Eficas.setText('Help PSEN')
 #
         #Oself.disconnect(self.actionParametres_Eficas)
-        self.connect(self.actionParametres_Eficas,SIGNAL("triggered()"),self.aidePSEN)
+        if monEnvQT5 :  self.actionParametres_Eficas.triggered.connect(self.aidePSEN)
+        else  : self.connect(self.actionParametres_Eficas,SIGNAL("triggered()"),self.aidePSEN)
         
 
 
@@ -345,7 +354,8 @@ class Appli(Ui_Eficas,QMainWindow):
 
 
 
-    def connecterSignaux(self) :
+   
+    def connecterSignauxQT4(self) :
         self.connect(self.recentMenu,SIGNAL('aboutToShow()'),self.handleShowRecentMenu)
 
         self.connect(self.action_Nouveau,SIGNAL("triggered()"),self.fileNew)
@@ -374,8 +384,6 @@ class Appli(Ui_Eficas,QMainWindow):
         self.connect(self.actionFichier_Resultat,SIGNAL("triggered()"),self.visuJdcPy)
 
 
-        #self.connect(self.helpIndexAction,SIGNAL("triggered()"),self.helpIndex)
-        #self.connect(self.helpContentsAction,SIGNAL("triggered()"),self.helpContents)
 
         # Pour Aster
         self.actionTraduitV9V10 = QAction(self)
@@ -413,6 +421,68 @@ class Appli(Ui_Eficas,QMainWindow):
         self.actionCode.setText(tr("Specificites Maille"))
         self.connect(self.actionCode,SIGNAL("triggered()"),self.aideCode)
 
+    def connecterSignaux(self) :
+        self.recentMenu.aboutToShow.connect(self.handleShowRecentMenu)
+        self.action_Nouveau.triggered.connect(self.fileNew)
+        self.actionNouvel_Include.triggered.connect(self.NewInclude)
+        self.actionOuvrir.triggered.connect(self.fileOpen)
+        self.actionEnregistrer.triggered.connect(self.fileSave)
+        self.actionEnregistrer_sous.triggered.connect(self.fileSaveAs)
+        self.actionFermer.triggered.connect(self.fileClose)
+        self.actionFermer_tout.triggered.connect(self.fileCloseAll)
+        self.actionQuitter.triggered.connect(self.fileExit)
+
+        self.actionEficas.triggered.connect(self.aidePPal)
+        self.actionVersion.triggered.connect(self.version)
+        self.actionParametres.triggered.connect(self.gestionParam)
+
+        self.actionCouper.triggered.connect(self.editCut)
+        self.actionCopier.triggered.connect(self.editCopy)
+        self.actionColler.triggered.connect(self.editPaste)
+        self.actionSupprimer.triggered.connect(self.supprimer)
+        self.actionRechercher.triggered.connect(self.rechercher)
+        self.actionDeplier_replier.triggered.connect(self.Deplier)
+
+        self.actionRapport_de_Validation.triggered.connect(self.jdcRapport)
+        self.actionRegles_du_JdC.triggered.connect(self.jdcRegles)
+        self.actionFichier_Source.triggered.connect(self.jdcFichierSource)
+        self.actionFichier_Resultat.triggered.connect(self.visuJdcPy)
+
+
+        # Pour Aster
+        self.actionTraduitV9V10 = QAction(self)
+        self.actionTraduitV9V10.setObjectName("actionTraduitV9V10")
+        self.actionTraduitV9V10.setText(tr("TraduitV9V10"))
+        self.actionTraduitV10V11 = QAction(self)
+        self.actionTraduitV10V11.setObjectName("actionTraduitV10V11")
+        self.actionTraduitV10V11.setText(tr("TraduitV10V11"))
+        self.actionTraduitV11V12 = QAction(self)
+        self.actionTraduitV11V12.setObjectName("actionTraduitV11V12")
+        self.actionTraduitV11V12.setText(tr("TraduitV11V12"))
+        self.actionSauveLigne = QAction(self)
+        self.actionSauveLigne.setText(tr("Sauve Format Ligne"))
+
+        #self.actionParametres_Eficas.triggered.connect(self.optionEditeur)
+        self.actionTraduitV9V10.triggered.connect(self.traductionV9V10)
+        self.actionTraduitV10V11.triggered.connect(self.traductionV10V11)
+        self.actionTraduitV11V12.triggered.connect(self.traductionV11V12)
+        self.actionSauveLigne.triggered.connect(self.sauveLigne)
+
+        # Pour Carmel
+        self.actionChercheGrpMaille = QAction(self)
+        self.actionChercheGrpMaille.setText(tr("Acquiert Groupe Maille"))
+
+        # Pour CarmelCND
+        self.actionChercheGrp = QAction(self)
+        self.actionChercheGrp.setText(tr("Accquisition Groupe Maille"))
+        self.actionChercheGrp.triggered.connect(self.ChercheGrp)
+
+        # Pour Aide
+        self.actionCode = QAction(self)
+        self.actionCode.setText(tr("Specificites Maille"))
+        self.actionCode.triggered.connect(self.aideCode)
+
+
     def Deplier(self):
         self.viewmanager.handleDeplier()
 
@@ -457,14 +527,13 @@ class Appli(Ui_Eficas,QMainWindow):
             for fichier in self.listePatrons.liste[nomSsMenu]:
                id = ssmenu.addAction(fichier)
                self.ficPatrons[id]=fichier
-               self.connect(id, SIGNAL('triggered()'),self.handleOpenPatrons)
+               if monEnvQT5 :  self.id.triggered.connect(self.handleOpenPatrons)
+               else : self.connect(id, SIGNAL('triggered()'),self.handleOpenPatrons)
             #   self.Patrons.setItemParameter(id,idx)
                idx=idx+1
 
     def initRecents(self):
-       self.recent =  QStringList()
        try :
-       #if 1 :
            if sys.platform[0:5]=="linux" :
               rep=os.path.join(os.environ['HOME'],'.config/Eficas',self.code)
            else :
@@ -479,13 +548,21 @@ class Appli(Ui_Eficas,QMainWindow):
                  self.recent.append(l)
               index=index+1
        except :
-       #else :
            pass
 
        try    : f.close()
        except : pass
 
     def addToRecentList(self, fn):
+      if not monEnvQT5 : addToRecentListQT4(self, fn); return
+
+      while fn in self.recent: self.recent.remove(fn)
+      self.recent.insert(0,fn)
+      if len(self.recent) > 9:
+         self.recent = self.recent[:9]
+
+
+    def addToRecentListQT4(self, fn):
         """
         Public slot to add a filename to the list of recently opened files.
 
@@ -606,7 +683,8 @@ class Appli(Ui_Eficas,QMainWindow):
         for rp in self.recent:
             id = self.recentMenu.addAction(rp)
             self.ficRecents[id]=rp
-            self.connect(id, SIGNAL('triggered()'),self.handleOpenRecent)
+            if monEnvQT5 : self.id.triggered.connect(self.handleOpenRecent)
+            else         : self.connect(id, SIGNAL('triggered()'),self.handleOpenRecent)
         self.recentMenu.addSeparator()
         self.recentMenu.addAction(tr('&Effacer'), self.handleClearRecent)
 
@@ -748,7 +826,6 @@ if __name__=='__main__':
     Eficas=Appli()
     Eficas.show()
 
-    #app.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()"))
     #mw.ouvreFichiers()
     #mw.show()
 
index f70fdce4f5d51777215cdd7108156f23d60d821f..0008809f70cbeda187ff90d06d80122b32990c82 100644 (file)
 #
 # Modules Python
 import string,types,os
-from PyQt4 import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtCore import Qt
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
+
 
 # Import des panels
 
@@ -40,14 +44,14 @@ class SaisieValeur:
          if valeur == None :
             nouvelleValeur=str(self.lineEditVal.text())
          else :
-            if hasattr(self,"lineEditVal"):self.lineEditVal.setText(QString(valeur.nom))
+            if hasattr(self,"lineEditVal"):self.lineEditVal.setText(tr(valeur.nom))
             nouvelleValeur=valeur
          nouvelleValeurFormat=self.politique.GetValeurTexte(nouvelleValeur)
          validite,commentaire=self.politique.RecordValeur(nouvelleValeurFormat)
          if commentaire != "" :
             #PNPNPNP Il faut trouver une solution pour les 2 cas 
             #   self.editor.affiche_infos(commentaire)
-            #self.Commentaire.setText(QString(commentaire))
+            #self.Commentaire.setText(tr(commentaire))
             if validite :
                 self.editor.affiche_commentaire(commentaire)
             else :
index 721b1d78f71c0d089ad6e996f289f56bbc944c8c..d94400835c73d43b88a48c47317941512ca006e0 100644 (file)
@@ -42,9 +42,12 @@ from monChoixCata import MonChoixCata
 from Extensions.i18n import tr
 from Extensions.eficas_exception import EficasException
 
-from PyQt4 import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5 :
+   from PyQt5.QtWidgets import QMessageBox
+else :
+   from PyQt4.QtGui  import *
+
 
 
 class READERCATA:
index aab893dbced4d6b08e0bb641f1ed929b4bb415a2..bb2bbb7d727f6673e51c8975d568df7bf8c39893 100644 (file)
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-from PyQt4 import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtWidgets import QAction, QMenu
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
+
 from Extensions.i18n import tr
 import types
 
@@ -33,7 +37,10 @@ class PopUpMenuRacine :
     def createPopUpMenu(self):
         #print "createPopUpMenu"
         self.ParamApres = QAction(tr('Parametre'),self.tree)
-        self.tree.connect(self.ParamApres,SIGNAL("triggered()"),self.addParametersApres)
+        if monEnvQT5 :
+          self.ParamApres.triggered.connect(self.addParametersApres)
+        else :
+          self.tree.connect(self.ParamApres,SIGNAL("triggered()"),self.addParametersApres)
         self.ParamApres.setStatusTip(tr("Insere un parametre"))
         self.menu = QMenu(self.tree)
         self.menu.addAction(self.ParamApres)
@@ -51,7 +58,8 @@ class PopUpMenuNodeMinimal :
     def createPopUpMenu(self):
         #print "createPopUpMenu"
         #self.appliEficas.salome=True
-        self.createActions()
+        if monEnvQT5 : self.createActions()
+        else :         self.createActionsQT4()
         self.menu = QMenu(self.tree)
         #self.menu.setStyleSheet("background:rgb(235,235,235); QMenu::item:selected { background-color: red; }")
         #ne fonctionne pas --> la ligne de commentaire devient rouge
@@ -74,20 +82,36 @@ class PopUpMenuNodeMinimal :
            tip=commande[5]
            self.action=QAction(label,self.tree)
            self.action.setStatusTip(tip)
-           if numero==4: 
-              self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction4)
-           if numero==3: 
-              self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction3)
-              numero=4
-           if numero==2: 
-              self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction2)
-              numero=3
-           if numero==1: 
-              self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction1)
-              numero=2
-           if numero==0: 
-              self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction0)
-              numero=1
+           if monEnvQT5 :
+              if numero==4: 
+                 self.action.triggered.connect(self.AppelleFonction4)
+              if numero==3: 
+                 self.action.triggered.connect(self.AppelleFonction3)
+                 numero=4
+              if numero==2: 
+                 self.action.triggered.connect(self.AppelleFonction2)
+                 numero=3
+              if numero==1: 
+                 self.action.triggered.connect(self.AppelleFonction1)
+                 numero=2
+              if numero==0: 
+                 self.action.triggered.connect(self.AppelleFonction0)
+                 numero=1
+           else:
+              if numero==4: 
+                 self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction4)
+              if numero==3: 
+                 self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction3)
+                 numero=4
+              if numero==2: 
+                 self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction2)
+                 numero=3
+              if numero==1: 
+                 self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction1)
+                 numero=2
+              if numero==0: 
+                 self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction0)
+                 numero=1
            self.menu.addAction(self.action)
 
 
@@ -114,8 +138,7 @@ class PopUpMenuNodeMinimal :
         if (self.tree.currentItem().item.isvalid() == 0 and conditionValid == True):
                  QMessageBox.warning( None, 
                              tr("item invalide"),
-                             tr("l item doit etre valide"),
-                             tr("&Ok"))
+                             tr("l item doit etre valide"),)
                 return
         fonction=commande[0]
         listenomparam=commande[2]
@@ -130,7 +153,7 @@ class PopUpMenuNodeMinimal :
            fonction(listeparam)
 
 
-    def createActions(self):
+    def createActionsQT4(self):
         self.CommApres = QAction(tr('apres'),self.tree)
         self.tree.connect(self.CommApres,SIGNAL("triggered()"),self.addCommApres)
         self.CommApres.setStatusTip(tr("Insere un commentaire apres la commande "))
@@ -150,6 +173,27 @@ class PopUpMenuNodeMinimal :
         self.Supprime.setStatusTip(tr("supprime le mot clef "))
         self.Documentation = QAction(tr('Documentation'),self.tree)
         self.tree.connect(self.Documentation,SIGNAL("triggered()"),self.viewDoc)
+
+    def createActions(self):
+        self.CommApres = QAction(tr('apres'),self.tree)
+        self.CommApres.triggered.connect(self.addCommApres)
+        self.CommApres.setStatusTip(tr("Insere un commentaire apres la commande "))
+        self.CommAvant = QAction(tr('avant'),self.tree)
+        self.CommAvant.triggered.connect(self.addCommAvant)
+        self.CommAvant.setStatusTip(tr("Insere un commentaire avant la commande "))
+
+        self.ParamApres = QAction(tr('apres'),self.tree)
+        self.ParamApres.triggered.connect(self.addParamatersApres)
+        self.ParamApres.setStatusTip(tr("Insere un parametre apres la commande "))
+        self.ParamAvant = QAction(tr('avant'),self.tree)
+        self.ParamAvant.triggered.connect(self.addParamatersAvant)
+        self.ParamAvant.setStatusTip(tr("Insere un parametre avant la commande "))
+
+        self.Supprime = QAction(tr('Supprimer'),self.tree)
+        self.Supprime.triggered.connect(self.supprimeNoeud)
+        self.Supprime.setStatusTip(tr("supprime le mot clef "))
+        self.Documentation = QAction(tr('Documentation'),self.tree)
+        self.Documentation.triggered.connect(self.viewDoc)
         self.Documentation.setStatusTip(tr("documentation sur la commande "))
 
     def supprimeNoeud(self):
index 6e5501a5273bf2d9a8e5401c6e6ef59878a20ef5..4d970ad88242877ba355482dea89630160a96d3f 100644 (file)
 #
 
 import os, string
-from PyQt4.QtGui  import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
+from determine import monEnvQT5
+if monEnvQT5:
+   from  PyQt5.QtWidgets  import QFileDialog
+   from  PyQt5.QtCore  import QFileInfo
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
 
 DictExtensions= {"MAP" : ".map"}
 class MyTabview:
@@ -37,9 +42,14 @@ class MyTabview:
        self.doubles = {}
 
        self.myQtab = self.appliEficas.myQtab
-       self.myQtab.connect(self.myQtab, SIGNAL('tabCloseRequested(int)'), self.closeTab)
-       if self.appliEficas.multi== True:
-          self.myQtab.connect(self.myQtab,SIGNAL("currentChanged(int)"),self.indexChanged)
+
+       if monEnvQT5:
+          self.myQtab.currentChanged.connect(self.indexChanged)
+          self.myQtab.tabCloseRequested.connect(self.closeTab)
+       else :
+          self.myQtab.connect(self.myQtab, SIGNAL('tabCloseRequested(int)'), self.closeTab)
+          if self.appliEficas.multi== True:
+             self.myQtab.connect(self.myQtab,SIGNAL("currentChanged(int)"),self.indexChanged)
         
    def indexChanged(self):
        index=self.myQtab.currentIndex()
index b1254f2ca4feef0d76c3a212464ef324cfd6a169..f49b9bcbf4b23d821586be3393feae9927345eb5 100755 (executable)
@@ -27,7 +27,6 @@
 import sys,os
 sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..'))
 
-from PyQt4.QtCore import *
 import prefs
 from InterfaceQT4 import eficas_go
 eficas_go.lance_eficas(code=prefs.code)
diff --git a/UiQT4/desWidgetOptionnelMC.ui b/UiQT4/desWidgetOptionnelMC.ui
new file mode 100644 (file)
index 0000000..950792e
--- /dev/null
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>desWidgetOptionnel</class>
+ <widget class="QWidget" name="desWidgetOptionnel">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>384</width>
+    <height>218</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <widget class="Line" name="line">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="MonLabelClic" name="nomMC">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>0</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>12121213</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="text">
+        <string>TextLabel</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="Line" name="line_2">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QScrollArea" name="scrollAreaCommandesOptionnelles">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background : rgb(247,247,247)</string>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="lineWidth">
+      <number>0</number>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <widget class="QWidget" name="commandesOptionnellesWidget">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>384</width>
+        <height>185</height>
+       </rect>
+      </property>
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <layout class="QVBoxLayout" name="commandesOptionnellesLayout">
+       <item>
+        <spacer name="verticalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>75</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
index 9a3fb8c4d688fc0de23e75f914d50cbb400f32c2..2c0ed33f141f2f8863702c54c722da0433148d14 100644 (file)
@@ -6,7 +6,7 @@ QTRELEASE = lrelease-qt4
 
 PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCode.py desChoixCommandes.py desRecherche.py \
        desSelectVal.py desViewTexte.py desViewRegles.py desVisu.py desWidgetCreeParam.py desWidgetCommande.py \
-       desWidgetOptionnel.py Tuple2.py Tuple3.py  \
+       desWidgetOptionnel.py desWidgetOptionnelMC.py Tuple2.py Tuple3.py  \
        desWidgetBloc.py desWidgetCB.py desWidgetCommentaire.py desWidgetDate.py \
        desWidgetFact.py desWidgetFactPlie.py desWidgetHeure.py desWidgetInformation.py \
         desWidgetInactif.py \
diff --git a/UiQT5/CMakeLists.txt b/UiQT5/CMakeLists.txt
new file mode 100644 (file)
index 0000000..e5182e8
--- /dev/null
@@ -0,0 +1,107 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002, 2013  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.
+#
+#
+# ======================================================================
+
+set ( _PYFILES )
+macro ( eficas_compile_ui uifile )
+  get_filename_component ( _file_we ${uifile} NAME_WE )
+  set ( _pyfile "${_file_we}.py" )
+  add_custom_command ( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_pyfile}
+                       COMMAND ${PYUIC4} ARGS -x -o ${CMAKE_CURRENT_BINARY_DIR}/${_pyfile} ${CMAKE_CURRENT_SOURCE_DIR}/${uifile}
+                       MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/${uifile}
+                       COMMENT "Compiling ${uifile}"
+                     )
+  list ( APPEND _PYFILES ${CMAKE_CURRENT_BINARY_DIR}/${_pyfile} )
+endmacro ( eficas_compile_ui )
+
+eficas_compile_ui ( myMain.ui )
+eficas_compile_ui ( desBaseWidget.ui )
+eficas_compile_ui ( desChoixCata.ui )
+eficas_compile_ui ( desChoixCode.ui )
+eficas_compile_ui ( desChoixCommandes.ui )
+eficas_compile_ui ( desRecherche.ui )
+eficas_compile_ui ( desSelectVal.ui )
+eficas_compile_ui ( desViewTexte.ui )
+eficas_compile_ui ( desViewRegles.ui )
+eficas_compile_ui ( desVisu.ui )
+eficas_compile_ui ( desWidgetCreeParam.ui )
+eficas_compile_ui ( desWidgetCommande.ui )
+eficas_compile_ui ( desWidgetOptionnel.ui )
+eficas_compile_ui ( Tuple2.ui )
+eficas_compile_ui ( Tuple3.ui )
+#
+eficas_compile_ui ( desWidgetBloc.ui )
+eficas_compile_ui ( desWidgetCB.ui )
+eficas_compile_ui ( desWidgetCommentaire.ui )
+eficas_compile_ui ( desWidgetDate.ui )
+eficas_compile_ui ( desWidgetFact.ui )
+eficas_compile_ui ( desWidgetFactPlie.ui )
+eficas_compile_ui ( desWidgetHeure.ui )
+eficas_compile_ui ( desWidgetInactif.ui )
+eficas_compile_ui ( desWidgetInformation.ui )
+eficas_compile_ui ( desWidgetMatrice.ui )
+eficas_compile_ui ( desWidgetParam.ui )
+eficas_compile_ui ( desWidgetPlusieursBase.ui )
+eficas_compile_ui ( desWidgetPlusieursInto.ui )
+eficas_compile_ui ( desWidgetPlusieursIntoOrdonne.ui )
+eficas_compile_ui ( desWidgetPlusieursTuple.ui )
+eficas_compile_ui ( desWidgetPlusieursPlie.ui )
+eficas_compile_ui ( desWidgetRadioButton.ui ) 
+eficas_compile_ui ( desWidget4a6RadioButton.ui )
+eficas_compile_ui ( desWidgetSDCOInto.ui )
+eficas_compile_ui ( desWidgetSimpBase.ui )
+eficas_compile_ui ( desWidgetSimpBool.ui )
+eficas_compile_ui ( desWidgetSimpComplexe.ui )
+eficas_compile_ui ( desWidgetSimpFichier.ui )
+eficas_compile_ui ( desWidgetSimpSalome.ui )
+eficas_compile_ui ( desWidgetSimpTxt.ui )
+eficas_compile_ui ( desWidgetTuple2.ui )
+eficas_compile_ui ( desWidgetTuple3.ui )
+eficas_compile_ui ( desWidgetUniqueSDCO.ui )
+eficas_compile_ui ( desWidgetVide.ui )
+
+add_custom_target ( CompileUI ALL DEPENDS ${_PYFILES}
+                    COMMENT "Built UI files"
+                  )
+
+install ( FILES ${_PYFILES}
+          DESTINATION ${CMAKE_INSTALL_PREFIX}/UiQT4
+        )
+
+# Rules to compile TS files
+SET(TSFILES eficas_en.ts
+            eficas_fr.ts)
+
+SET(QMFILES)
+FOREACH(input ${TSFILES})
+  GET_FILENAME_COMPONENT(base ${input} NAME_WE)
+  SET(output ${CMAKE_CURRENT_BINARY_DIR}/${base}.qm)
+  SET(QMFILES ${QMFILES} ${output})
+  ADD_CUSTOM_COMMAND(OUTPUT ${output}
+    COMMAND ${QT_LRELEASE_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${input} -qm ${output}
+    MAIN_DEPENDENCY ${input})
+ENDFOREACH(input ${TSFILES})
+
+ADD_CUSTOM_TARGET(CompileTS ALL DEPENDS ${QMFILES})
+INSTALL(FILES ${QMFILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/UiQT4)
+
+### Local Variables:
+### mode: cmake
+### End:
diff --git a/UiQT5/Newdoc.tgz b/UiQT5/Newdoc.tgz
new file mode 100644 (file)
index 0000000..1ec9456
Binary files /dev/null and b/UiQT5/Newdoc.tgz differ
diff --git a/UiQT5/Tuple2.py b/UiQT5/Tuple2.py
new file mode 100644 (file)
index 0000000..c921471
--- /dev/null
@@ -0,0 +1,85 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'Tuple2.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_Tuple2(object):
+    def setupUi(self, Tuple2):
+        Tuple2.setObjectName("Tuple2")
+        Tuple2.resize(482, 34)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(Tuple2.sizePolicy().hasHeightForWidth())
+        Tuple2.setSizePolicy(sizePolicy)
+        self.horizontalLayout = QtWidgets.QHBoxLayout(Tuple2)
+        self.horizontalLayout.setContentsMargins(0, 1, 0, 0)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_5 = QtWidgets.QLabel(Tuple2)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout.addWidget(self.label_5)
+        self.lineEditVal_1 = LECustomTuple(Tuple2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal_1.sizePolicy().hasHeightForWidth())
+        self.lineEditVal_1.setSizePolicy(sizePolicy)
+        self.lineEditVal_1.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal_1.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal_1.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;\n"
+"\n"
+"")
+        self.lineEditVal_1.setText("")
+        self.lineEditVal_1.setReadOnly(False)
+        self.lineEditVal_1.setObjectName("lineEditVal_1")
+        self.horizontalLayout.addWidget(self.lineEditVal_1)
+        self.label_6 = QtWidgets.QLabel(Tuple2)
+        self.label_6.setObjectName("label_6")
+        self.horizontalLayout.addWidget(self.label_6)
+        self.lineEditVal_2 = LECustomTuple(Tuple2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal_2.sizePolicy().hasHeightForWidth())
+        self.lineEditVal_2.setSizePolicy(sizePolicy)
+        self.lineEditVal_2.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal_2.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal_2.setFocusPolicy(QtCore.Qt.StrongFocus)
+        self.lineEditVal_2.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal_2.setObjectName("lineEditVal_2")
+        self.horizontalLayout.addWidget(self.lineEditVal_2)
+        self.label_7 = QtWidgets.QLabel(Tuple2)
+        self.label_7.setObjectName("label_7")
+        self.horizontalLayout.addWidget(self.label_7)
+        spacerItem = QtWidgets.QSpacerItem(5, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+
+        self.retranslateUi(Tuple2)
+        QtCore.QMetaObject.connectSlotsByName(Tuple2)
+
+    def retranslateUi(self, Tuple2):
+        _translate = QtCore.QCoreApplication.translate
+        Tuple2.setWindowTitle(_translate("Tuple2", "Form"))
+        self.label_5.setText(_translate("Tuple2", "<html><head/><body><p><span style=\" font-size:14pt;\">(</span></p></body></html>"))
+        self.label_6.setText(_translate("Tuple2", "<html><head/><body><p><span style=\" font-size:14pt;\">,</span></p></body></html>"))
+        self.label_7.setText(_translate("Tuple2", "<html><head/><body><p><span style=\" font-size:14pt;\">)</span></p></body></html>"))
+
+from gereListe import LECustomTuple
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    Tuple2 = QtWidgets.QWidget()
+    ui = Ui_Tuple2()
+    ui.setupUi(Tuple2)
+    Tuple2.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/Tuple2.ui b/UiQT5/Tuple2.ui
new file mode 100644 (file)
index 0000000..fb7c2ab
--- /dev/null
@@ -0,0 +1,149 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Tuple2</class>
+ <widget class="QWidget" name="Tuple2">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>482</width>
+    <height>34</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>1</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
+   <item>
+    <widget class="QLabel" name="label_5">
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;(&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="LECustomTuple" name="lineEditVal_1">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>805</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background:rgb(235,235,235);
+border:0px;
+
+</string>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+     <property name="readOnly">
+      <bool>false</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="label_6">
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="LECustomTuple" name="lineEditVal_2">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>805</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="focusPolicy">
+      <enum>Qt::StrongFocus</enum>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="label_7">
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="horizontalSpacer_2">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::Preferred</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>5</width>
+       <height>20</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>LECustomTuple</class>
+   <extends>QLineEdit</extends>
+   <header>gereListe.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/Tuple3.py b/UiQT5/Tuple3.py
new file mode 100644 (file)
index 0000000..61c69ac
--- /dev/null
@@ -0,0 +1,96 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'Tuple3.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_Tuple3(object):
+    def setupUi(self, Tuple3):
+        Tuple3.setObjectName("Tuple3")
+        Tuple3.resize(880, 33)
+        self.horizontalLayout = QtWidgets.QHBoxLayout(Tuple3)
+        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_5 = QtWidgets.QLabel(Tuple3)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout.addWidget(self.label_5)
+        self.lineEditVal_1 = LECustomTuple(Tuple3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal_1.sizePolicy().hasHeightForWidth())
+        self.lineEditVal_1.setSizePolicy(sizePolicy)
+        self.lineEditVal_1.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal_1.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal_1.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;\n"
+"\n"
+"")
+        self.lineEditVal_1.setReadOnly(False)
+        self.lineEditVal_1.setObjectName("lineEditVal_1")
+        self.horizontalLayout.addWidget(self.lineEditVal_1)
+        self.label_6 = QtWidgets.QLabel(Tuple3)
+        self.label_6.setObjectName("label_6")
+        self.horizontalLayout.addWidget(self.label_6)
+        self.lineEditVal_2 = LECustomTuple(Tuple3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal_2.sizePolicy().hasHeightForWidth())
+        self.lineEditVal_2.setSizePolicy(sizePolicy)
+        self.lineEditVal_2.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal_2.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal_2.setFocusPolicy(QtCore.Qt.StrongFocus)
+        self.lineEditVal_2.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal_2.setObjectName("lineEditVal_2")
+        self.horizontalLayout.addWidget(self.lineEditVal_2)
+        self.label_8 = QtWidgets.QLabel(Tuple3)
+        self.label_8.setObjectName("label_8")
+        self.horizontalLayout.addWidget(self.label_8)
+        self.lineEditVal_3 = LECustomTuple(Tuple3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal_3.sizePolicy().hasHeightForWidth())
+        self.lineEditVal_3.setSizePolicy(sizePolicy)
+        self.lineEditVal_3.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal_3.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal_3.setFocusPolicy(QtCore.Qt.StrongFocus)
+        self.lineEditVal_3.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal_3.setObjectName("lineEditVal_3")
+        self.horizontalLayout.addWidget(self.lineEditVal_3)
+        self.label_7 = QtWidgets.QLabel(Tuple3)
+        self.label_7.setObjectName("label_7")
+        self.horizontalLayout.addWidget(self.label_7)
+        spacerItem = QtWidgets.QSpacerItem(123, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+
+        self.retranslateUi(Tuple3)
+        QtCore.QMetaObject.connectSlotsByName(Tuple3)
+
+    def retranslateUi(self, Tuple3):
+        _translate = QtCore.QCoreApplication.translate
+        Tuple3.setWindowTitle(_translate("Tuple3", "Form"))
+        self.label_5.setText(_translate("Tuple3", "<html><head/><body><p><span style=\" font-size:14pt;\">(</span></p></body></html>"))
+        self.label_6.setText(_translate("Tuple3", "<html><head/><body><p><span style=\" font-size:14pt;\">,</span></p></body></html>"))
+        self.label_8.setText(_translate("Tuple3", "<html><head/><body><p><span style=\" font-size:14pt;\">,</span></p></body></html>"))
+        self.label_7.setText(_translate("Tuple3", "<html><head/><body><p><span style=\" font-size:14pt;\">)</span></p></body></html>"))
+
+from gereListe import LECustomTuple
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    Tuple3 = QtWidgets.QWidget()
+    ui = Ui_Tuple3()
+    ui.setupUi(Tuple3)
+    Tuple3.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/Tuple3.ui b/UiQT5/Tuple3.ui
new file mode 100644 (file)
index 0000000..10c4497
--- /dev/null
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Tuple3</class>
+ <widget class="QWidget" name="Tuple3">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>880</width>
+    <height>33</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <widget class="QLabel" name="label_5">
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;(&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="LECustomTuple" name="lineEditVal_1">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>805</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background:rgb(235,235,235);
+border:0px;
+
+</string>
+     </property>
+     <property name="readOnly">
+      <bool>false</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="label_6">
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="LECustomTuple" name="lineEditVal_2">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>805</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="focusPolicy">
+      <enum>Qt::StrongFocus</enum>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="label_8">
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="LECustomTuple" name="lineEditVal_3">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>805</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="focusPolicy">
+      <enum>Qt::StrongFocus</enum>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="label_7">
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="horizontalSpacer_2">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>123</width>
+       <height>20</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>LECustomTuple</class>
+   <extends>QLineEdit</extends>
+   <header>gereListe.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desBaseWidget.py b/UiQT5/desBaseWidget.py
new file mode 100644 (file)
index 0000000..b774e47
--- /dev/null
@@ -0,0 +1,73 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desBaseWidget.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_baseWidget(object):
+    def setupUi(self, baseWidget):
+        baseWidget.setObjectName("baseWidget")
+        baseWidget.resize(1038, 557)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(baseWidget.sizePolicy().hasHeightForWidth())
+        baseWidget.setSizePolicy(sizePolicy)
+        baseWidget.setMinimumSize(QtCore.QSize(0, 0))
+        baseWidget.setStyleSheet("")
+        self.verticalLayout = QtWidgets.QVBoxLayout(baseWidget)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setSpacing(3)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.splitter = QtWidgets.QSplitter(baseWidget)
+        self.splitter.setOrientation(QtCore.Qt.Horizontal)
+        self.splitter.setObjectName("splitter")
+        self.widgetTree = QtWidgets.QWidget(self.splitter)
+        self.widgetTree.setStyleSheet("background:rgb(247,247,247);\n"
+"\n"
+"")
+        self.widgetTree.setObjectName("widgetTree")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widgetTree)
+        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_2.setSpacing(6)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.widgetCentrale = QtWidgets.QWidget(self.splitter)
+        self.widgetCentrale.setObjectName("widgetCentrale")
+        self.widgetCentraleLayout = QtWidgets.QVBoxLayout(self.widgetCentrale)
+        self.widgetCentraleLayout.setContentsMargins(0, 0, 0, 0)
+        self.widgetCentraleLayout.setSpacing(6)
+        self.widgetCentraleLayout.setObjectName("widgetCentraleLayout")
+        self.verticalLayout.addWidget(self.splitter)
+        self.labelCommentaire = QtWidgets.QLabel(baseWidget)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.labelCommentaire.sizePolicy().hasHeightForWidth())
+        self.labelCommentaire.setSizePolicy(sizePolicy)
+        self.labelCommentaire.setMinimumSize(QtCore.QSize(0, 0))
+        self.labelCommentaire.setStyleSheet("")
+        self.labelCommentaire.setText("")
+        self.labelCommentaire.setObjectName("labelCommentaire")
+        self.verticalLayout.addWidget(self.labelCommentaire)
+
+        self.retranslateUi(baseWidget)
+        QtCore.QMetaObject.connectSlotsByName(baseWidget)
+
+    def retranslateUi(self, baseWidget):
+        _translate = QtCore.QCoreApplication.translate
+        baseWidget.setWindowTitle(_translate("baseWidget", "DMacro"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    baseWidget = QtWidgets.QWidget()
+    ui = Ui_baseWidget()
+    ui.setupUi(baseWidget)
+    baseWidget.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desBaseWidget.ui b/UiQT5/desBaseWidget.ui
new file mode 100644 (file)
index 0000000..49e7469
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>baseWidget</class>
+ <widget class="QWidget" name="baseWidget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1038</width>
+    <height>557</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>DMacro</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true"/>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="spacing">
+    <number>3</number>
+   </property>
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <widget class="QSplitter" name="splitter">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <widget class="QWidget" name="widgetTree" native="true">
+      <property name="styleSheet">
+       <string notr="true">background:rgb(247,247,247);
+
+</string>
+      </property>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <property name="margin">
+        <number>0</number>
+       </property>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="widgetCentrale" native="true">
+      <layout class="QVBoxLayout" name="widgetCentraleLayout">
+       <property name="margin">
+        <number>0</number>
+       </property>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="labelCommentaire">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>0</height>
+      </size>
+     </property>
+     <property name="styleSheet">
+      <string notr="true"/>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desChoixCata.py b/UiQT5/desChoixCata.py
new file mode 100644 (file)
index 0000000..5af1961
--- /dev/null
@@ -0,0 +1,99 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desChoixCata.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_DChoixCata(object):
+    def setupUi(self, DChoixCata):
+        DChoixCata.setObjectName("DChoixCata")
+        DChoixCata.resize(466, 206)
+        DChoixCata.setSizeGripEnabled(True)
+        self.verticalLayout = QtWidgets.QVBoxLayout(DChoixCata)
+        self.verticalLayout.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout.setSpacing(6)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout_3.setSpacing(6)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.TLNb = QtWidgets.QLabel(DChoixCata)
+        self.TLNb.setMinimumSize(QtCore.QSize(0, 0))
+        self.TLNb.setWordWrap(False)
+        self.TLNb.setObjectName("TLNb")
+        self.horizontalLayout_3.addWidget(self.TLNb)
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 45, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem1)
+        self.CBChoixCata = QtWidgets.QComboBox(DChoixCata)
+        self.CBChoixCata.setEnabled(True)
+        self.CBChoixCata.setMinimumSize(QtCore.QSize(400, 41))
+        self.CBChoixCata.setMaximumSize(QtCore.QSize(150, 16777215))
+        self.CBChoixCata.setObjectName("CBChoixCata")
+        self.verticalLayout.addWidget(self.CBChoixCata)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 45, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem2)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout.setSpacing(6)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem3)
+        self.buttonCancel = QtWidgets.QPushButton(DChoixCata)
+        self.buttonCancel.setMinimumSize(QtCore.QSize(140, 40))
+        self.buttonCancel.setToolTip("")
+        self.buttonCancel.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.buttonCancel.setShortcut("")
+        self.buttonCancel.setAutoDefault(True)
+        self.buttonCancel.setObjectName("buttonCancel")
+        self.horizontalLayout.addWidget(self.buttonCancel)
+        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem4)
+        self.buttonOk = QtWidgets.QPushButton(DChoixCata)
+        self.buttonOk.setMinimumSize(QtCore.QSize(140, 40))
+        self.buttonOk.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"\n"
+"")
+        self.buttonOk.setShortcut("")
+        self.buttonOk.setAutoDefault(True)
+        self.buttonOk.setDefault(True)
+        self.buttonOk.setObjectName("buttonOk")
+        self.horizontalLayout.addWidget(self.buttonOk)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(DChoixCata)
+        QtCore.QMetaObject.connectSlotsByName(DChoixCata)
+
+    def retranslateUi(self, DChoixCata):
+        _translate = QtCore.QCoreApplication.translate
+        DChoixCata.setWindowTitle(_translate("DChoixCata", "Choix d\'une version du code Aster"))
+        self.TLNb.setText(_translate("DChoixCata", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:\'Sans Serif\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:11pt;\">2 versions sont disponibles</span></p></body></html>"))
+        self.buttonCancel.setText(_translate("DChoixCata", "&Cancel"))
+        self.buttonOk.setToolTip(_translate("DChoixCata", "Validate choice"))
+        self.buttonOk.setText(_translate("DChoixCata", "&OK"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    DChoixCata = QtWidgets.QDialog()
+    ui = Ui_DChoixCata()
+    ui.setupUi(DChoixCata)
+    DChoixCata.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desChoixCata.ui b/UiQT5/desChoixCata.ui
new file mode 100644 (file)
index 0000000..39a16c5
--- /dev/null
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DChoixCata</class>
+ <widget class="QDialog" name="DChoixCata">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>466</width>
+    <height>206</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Choix d'une version du code Aster</string>
+  </property>
+  <property name="sizeGripEnabled">
+   <bool>true</bool>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_3">
+     <item>
+      <widget class="QLabel" name="TLNb">
+       <property name="minimumSize">
+        <size>
+         <width>0</width>
+         <height>0</height>
+        </size>
+       </property>
+       <property name="text">
+        <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;2 versions sont disponibles&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+       </property>
+       <property name="wordWrap">
+        <bool>false</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="horizontalSpacer_3">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer name="verticalSpacer_2">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>45</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <widget class="QComboBox" name="CBChoixCata">
+     <property name="enabled">
+      <bool>true</bool>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>400</width>
+       <height>41</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>150</width>
+       <height>16777215</height>
+      </size>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>45</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <spacer name="horizontalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="buttonCancel">
+       <property name="minimumSize">
+        <size>
+         <width>140</width>
+         <height>40</height>
+        </size>
+       </property>
+       <property name="toolTip">
+        <string/>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+       </property>
+       <property name="text">
+        <string>&amp;Cancel</string>
+       </property>
+       <property name="shortcut">
+        <string/>
+       </property>
+       <property name="autoDefault">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Fixed</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="buttonOk">
+       <property name="minimumSize">
+        <size>
+         <width>140</width>
+         <height>40</height>
+        </size>
+       </property>
+       <property name="toolTip">
+        <string>Validate choice</string>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+
+</string>
+       </property>
+       <property name="text">
+        <string>&amp;OK</string>
+       </property>
+       <property name="shortcut">
+        <string/>
+       </property>
+       <property name="autoDefault">
+        <bool>true</bool>
+       </property>
+       <property name="default">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desChoixCode.py b/UiQT5/desChoixCode.py
new file mode 100644 (file)
index 0000000..f96cdb0
--- /dev/null
@@ -0,0 +1,92 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desChoixCode.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_ChoixCode(object):
+    def setupUi(self, ChoixCode):
+        ChoixCode.setObjectName("ChoixCode")
+        ChoixCode.resize(555, 332)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(ChoixCode.sizePolicy().hasHeightForWidth())
+        ChoixCode.setSizePolicy(sizePolicy)
+        self.verticalLayout = QtWidgets.QVBoxLayout(ChoixCode)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.label_choix = QtWidgets.QLabel(ChoixCode)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label_choix.sizePolicy().hasHeightForWidth())
+        self.label_choix.setSizePolicy(sizePolicy)
+        self.label_choix.setMinimumSize(QtCore.QSize(0, 30))
+        self.label_choix.setObjectName("label_choix")
+        self.verticalLayout.addWidget(self.label_choix)
+        self.groupBox = QtWidgets.QGroupBox(ChoixCode)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth())
+        self.groupBox.setSizePolicy(sizePolicy)
+        self.groupBox.setTitle("")
+        self.groupBox.setObjectName("groupBox")
+        self.verticalLayout.addWidget(self.groupBox)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.pB_cancel = QtWidgets.QPushButton(ChoixCode)
+        self.pB_cancel.setMinimumSize(QtCore.QSize(140, 40))
+        self.pB_cancel.setToolTip("")
+        self.pB_cancel.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.pB_cancel.setShortcut("")
+        self.pB_cancel.setAutoDefault(True)
+        self.pB_cancel.setObjectName("pB_cancel")
+        self.horizontalLayout.addWidget(self.pB_cancel)
+        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.pB_OK = QtWidgets.QPushButton(ChoixCode)
+        self.pB_OK.setMinimumSize(QtCore.QSize(140, 40))
+        self.pB_OK.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"\n"
+"")
+        self.pB_OK.setShortcut("")
+        self.pB_OK.setAutoDefault(True)
+        self.pB_OK.setDefault(True)
+        self.pB_OK.setObjectName("pB_OK")
+        self.horizontalLayout.addWidget(self.pB_OK)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(ChoixCode)
+        QtCore.QMetaObject.connectSlotsByName(ChoixCode)
+
+    def retranslateUi(self, ChoixCode):
+        _translate = QtCore.QCoreApplication.translate
+        ChoixCode.setWindowTitle(_translate("ChoixCode", "Choix du code"))
+        self.label_choix.setText(_translate("ChoixCode", "Veuillez choisir un code :"))
+        self.pB_cancel.setText(_translate("ChoixCode", "&Cancel"))
+        self.pB_OK.setToolTip(_translate("ChoixCode", "Validate choice"))
+        self.pB_OK.setText(_translate("ChoixCode", "&OK"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    ChoixCode = QtWidgets.QWidget()
+    ui = Ui_ChoixCode()
+    ui.setupUi(ChoixCode)
+    ChoixCode.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desChoixCode.ui b/UiQT5/desChoixCode.ui
new file mode 100644 (file)
index 0000000..33ea0f8
--- /dev/null
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ChoixCode</class>
+ <widget class="QWidget" name="ChoixCode">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>555</width>
+    <height>332</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle">
+   <string>Choix du code</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QLabel" name="label_choix">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>30</height>
+      </size>
+     </property>
+     <property name="text">
+      <string>Veuillez choisir un code :</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="title">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="sizeConstraint">
+      <enum>QLayout::SetFixedSize</enum>
+     </property>
+     <item>
+      <spacer name="horizontalSpacer_4">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="pB_cancel">
+       <property name="minimumSize">
+        <size>
+         <width>140</width>
+         <height>40</height>
+        </size>
+       </property>
+       <property name="toolTip">
+        <string/>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+       </property>
+       <property name="text">
+        <string>&amp;Cancel</string>
+       </property>
+       <property name="shortcut">
+        <string/>
+       </property>
+       <property name="autoDefault">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Fixed</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="pB_OK">
+       <property name="minimumSize">
+        <size>
+         <width>140</width>
+         <height>40</height>
+        </size>
+       </property>
+       <property name="toolTip">
+        <string>Validate choice</string>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+
+</string>
+       </property>
+       <property name="text">
+        <string>&amp;OK</string>
+       </property>
+       <property name="shortcut">
+        <string/>
+       </property>
+       <property name="autoDefault">
+        <bool>true</bool>
+       </property>
+       <property name="default">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desChoixCommandes.py b/UiQT5/desChoixCommandes.py
new file mode 100644 (file)
index 0000000..872a707
--- /dev/null
@@ -0,0 +1,202 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desChoixCommandes.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_ChoixCommandes(object):
+    def setupUi(self, ChoixCommandes):
+        ChoixCommandes.setObjectName("ChoixCommandes")
+        ChoixCommandes.resize(1244, 652)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(ChoixCommandes.sizePolicy().hasHeightForWidth())
+        ChoixCommandes.setSizePolicy(sizePolicy)
+        ChoixCommandes.setMinimumSize(QtCore.QSize(505, 0))
+        ChoixCommandes.setStyleSheet("background-color : rgb(248,247,246)")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(ChoixCommandes)
+        self.verticalLayout_4.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_4.setSpacing(6)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.frameAffichage = QtWidgets.QFrame(ChoixCommandes)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.frameAffichage.sizePolicy().hasHeightForWidth())
+        self.frameAffichage.setSizePolicy(sizePolicy)
+        self.frameAffichage.setMinimumSize(QtCore.QSize(0, 130))
+        self.frameAffichage.setMaximumSize(QtCore.QSize(16777215, 130))
+        self.frameAffichage.setStyleSheet("background-color:rgb(224,223,222)")
+        self.frameAffichage.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.frameAffichage.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.frameAffichage.setObjectName("frameAffichage")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.frameAffichage)
+        self.horizontalLayout_3.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout_3.setSpacing(6)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.verticalLayout_2.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.label = QtWidgets.QLabel(self.frameAffichage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setObjectName("label")
+        self.verticalLayout_2.addWidget(self.label)
+        self.RBalpha = QtWidgets.QRadioButton(self.frameAffichage)
+        self.RBalpha.setObjectName("RBalpha")
+        self.verticalLayout_2.addWidget(self.RBalpha)
+        self.RBOrdre = QtWidgets.QRadioButton(self.frameAffichage)
+        self.RBOrdre.setObjectName("RBOrdre")
+        self.verticalLayout_2.addWidget(self.RBOrdre)
+        self.RBGroupe = QtWidgets.QRadioButton(self.frameAffichage)
+        self.RBGroupe.setObjectName("RBGroupe")
+        self.verticalLayout_2.addWidget(self.RBGroupe)
+        self.horizontalLayout_3.addLayout(self.verticalLayout_2)
+        spacerItem = QtWidgets.QSpacerItem(109, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_3.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_3.setSpacing(0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.textLabel6 = QtWidgets.QLabel(self.frameAffichage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.textLabel6.sizePolicy().hasHeightForWidth())
+        self.textLabel6.setSizePolicy(sizePolicy)
+        self.textLabel6.setMinimumSize(QtCore.QSize(141, 35))
+        self.textLabel6.setMaximumSize(QtCore.QSize(16777215, 35))
+        self.textLabel6.setFrameShape(QtWidgets.QFrame.Box)
+        self.textLabel6.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.textLabel6.setLineWidth(1)
+        self.textLabel6.setWordWrap(False)
+        self.textLabel6.setObjectName("textLabel6")
+        self.verticalLayout_3.addWidget(self.textLabel6)
+        self.LEFiltre = QtWidgets.QLineEdit(self.frameAffichage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.LEFiltre.sizePolicy().hasHeightForWidth())
+        self.LEFiltre.setSizePolicy(sizePolicy)
+        self.LEFiltre.setMinimumSize(QtCore.QSize(195, 30))
+        self.LEFiltre.setStyleSheet("background-color : rgb(248,247,246)")
+        self.LEFiltre.setFrame(False)
+        self.LEFiltre.setObjectName("LEFiltre")
+        self.verticalLayout_3.addWidget(self.LEFiltre)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout_2.setSpacing(6)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.RBCasse = QtWidgets.QRadioButton(self.frameAffichage)
+        self.RBCasse.setAutoExclusive(False)
+        self.RBCasse.setObjectName("RBCasse")
+        self.horizontalLayout_2.addWidget(self.RBCasse)
+        self.RBClear = QtWidgets.QPushButton(self.frameAffichage)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.RBClear.sizePolicy().hasHeightForWidth())
+        self.RBClear.setSizePolicy(sizePolicy)
+        self.RBClear.setMinimumSize(QtCore.QSize(200, 40))
+        self.RBClear.setMaximumSize(QtCore.QSize(200, 40))
+        self.RBClear.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.RBClear.setObjectName("RBClear")
+        self.horizontalLayout_2.addWidget(self.RBClear)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_2)
+        self.horizontalLayout_3.addLayout(self.verticalLayout_3)
+        spacerItem1 = QtWidgets.QSpacerItem(108, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_5.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_5.setSpacing(6)
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout.setSpacing(6)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.RBRegle = QtWidgets.QToolButton(self.frameAffichage)
+        self.RBRegle.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBRegle.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBRegle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBRegle.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/lettreRblanc30.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBRegle.setIcon(icon)
+        self.RBRegle.setIconSize(QtCore.QSize(21, 31))
+        self.RBRegle.setObjectName("RBRegle")
+        self.horizontalLayout.addWidget(self.RBRegle)
+        self.labelRegle = QtWidgets.QLabel(self.frameAffichage)
+        self.labelRegle.setObjectName("labelRegle")
+        self.horizontalLayout.addWidget(self.labelRegle)
+        self.verticalLayout_5.addLayout(self.horizontalLayout)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_5.addItem(spacerItem2)
+        self.horizontalLayout_3.addLayout(self.verticalLayout_5)
+        self.verticalLayout_4.addWidget(self.frameAffichage)
+        self.scrollAreaCommandes = QtWidgets.QScrollArea(ChoixCommandes)
+        self.scrollAreaCommandes.setStyleSheet("")
+        self.scrollAreaCommandes.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollAreaCommandes.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
+        self.scrollAreaCommandes.setWidgetResizable(True)
+        self.scrollAreaCommandes.setObjectName("scrollAreaCommandes")
+        self.scrollAreaWidgetContents = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 1226, 498))
+        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents)
+        self.verticalLayout.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout.setSpacing(6)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.commandesLayout = QtWidgets.QVBoxLayout()
+        self.commandesLayout.setContentsMargins(11, 11, 11, 11)
+        self.commandesLayout.setSpacing(0)
+        self.commandesLayout.setObjectName("commandesLayout")
+        self.verticalLayout.addLayout(self.commandesLayout)
+        self.scrollAreaCommandes.setWidget(self.scrollAreaWidgetContents)
+        self.verticalLayout_4.addWidget(self.scrollAreaCommandes)
+
+        self.retranslateUi(ChoixCommandes)
+        QtCore.QMetaObject.connectSlotsByName(ChoixCommandes)
+
+    def retranslateUi(self, ChoixCommandes):
+        _translate = QtCore.QCoreApplication.translate
+        ChoixCommandes.setWindowTitle(_translate("ChoixCommandes", "DMacro"))
+        self.label.setText(_translate("ChoixCommandes", "<html><head/><body><p align=\"center\"><span style=\" text-decoration: underline;\">Affichage</span></p></body></html>"))
+        self.RBalpha.setToolTip(_translate("ChoixCommandes", "affiche les commandes par ordre alphabetique"))
+        self.RBalpha.setText(_translate("ChoixCommandes", "Alphabetique"))
+        self.RBOrdre.setToolTip(_translate("ChoixCommandes", "affiche les commandes selon les thèmes"))
+        self.RBOrdre.setText(_translate("ChoixCommandes", "Ordre de la modélisation"))
+        self.RBGroupe.setToolTip(_translate("ChoixCommandes", "affiche les commandes selon les thèmes"))
+        self.RBGroupe.setText(_translate("ChoixCommandes", "Par Groupe"))
+        self.textLabel6.setToolTip(_translate("ChoixCommandes", "selectionne les mots qui CONTIENNENT l expression"))
+        self.textLabel6.setText(_translate("ChoixCommandes", "<html><head/><body><p align=\"center\">Filtre Commande</p></body></html>"))
+        self.LEFiltre.setToolTip(_translate("ChoixCommandes", "filter commands"))
+        self.RBCasse.setText(_translate("ChoixCommandes", "Sensible à la casse"))
+        self.RBClear.setToolTip(_translate("ChoixCommandes", "ré-affiche toutes les commandes"))
+        self.RBClear.setText(_translate("ChoixCommandes", "Effacer "))
+        self.RBRegle.setToolTip(_translate("ChoixCommandes", "affiche les régles de validité"))
+        self.RBRegle.setText(_translate("ChoixCommandes", "..."))
+        self.labelRegle.setText(_translate("ChoixCommandes", "Règles de construction"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    ChoixCommandes = QtWidgets.QWidget()
+    ui = Ui_ChoixCommandes()
+    ui.setupUi(ChoixCommandes)
+    ChoixCommandes.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desChoixCommandes.ui b/UiQT5/desChoixCommandes.ui
new file mode 100644 (file)
index 0000000..47c1353
--- /dev/null
@@ -0,0 +1,371 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ChoixCommandes</class>
+ <widget class="QWidget" name="ChoixCommandes">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1244</width>
+    <height>652</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>505</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>DMacro</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true">background-color : rgb(248,247,246)</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_4">
+   <item>
+    <widget class="QFrame" name="frameAffichage">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>130</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>16777215</width>
+       <height>130</height>
+      </size>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background-color:rgb(224,223,222)</string>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="frameShadow">
+      <enum>QFrame::Raised</enum>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout_3">
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout_2">
+        <property name="spacing">
+         <number>0</number>
+        </property>
+        <property name="sizeConstraint">
+         <enum>QLayout::SetFixedSize</enum>
+        </property>
+        <item>
+         <widget class="QLabel" name="label">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="text">
+           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; text-decoration: underline;&quot;&gt;Affichage&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QRadioButton" name="RBalpha">
+          <property name="toolTip">
+           <string>affiche les commandes par ordre alphabetique</string>
+          </property>
+          <property name="text">
+           <string>Alphabetique</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QRadioButton" name="RBOrdre">
+          <property name="toolTip">
+           <string>affiche les commandes selon les thèmes</string>
+          </property>
+          <property name="text">
+           <string>Ordre de la modélisation</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QRadioButton" name="RBGroupe">
+          <property name="toolTip">
+           <string>affiche les commandes selon les thèmes</string>
+          </property>
+          <property name="text">
+           <string>Par Groupe</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item>
+       <spacer name="horizontalSpacer">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>109</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout_3">
+        <property name="spacing">
+         <number>0</number>
+        </property>
+        <item>
+         <widget class="QLabel" name="textLabel6">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>141</width>
+            <height>35</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>16777215</width>
+            <height>35</height>
+           </size>
+          </property>
+          <property name="toolTip">
+           <string>selectionne les mots qui CONTIENNENT l expression</string>
+          </property>
+          <property name="frameShape">
+           <enum>QFrame::Box</enum>
+          </property>
+          <property name="frameShadow">
+           <enum>QFrame::Raised</enum>
+          </property>
+          <property name="lineWidth">
+           <number>1</number>
+          </property>
+          <property name="text">
+           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Filtre Commande&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+          </property>
+          <property name="wordWrap">
+           <bool>false</bool>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="LEFiltre">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>195</width>
+            <height>30</height>
+           </size>
+          </property>
+          <property name="toolTip">
+           <string>filter commands</string>
+          </property>
+          <property name="styleSheet">
+           <string notr="true">background-color : rgb(248,247,246)</string>
+          </property>
+          <property name="frame">
+           <bool>false</bool>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <layout class="QHBoxLayout" name="horizontalLayout_2">
+          <item>
+           <widget class="QRadioButton" name="RBCasse">
+            <property name="text">
+             <string>Sensible à la casse</string>
+            </property>
+            <property name="autoExclusive">
+             <bool>false</bool>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QPushButton" name="RBClear">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="minimumSize">
+             <size>
+              <width>200</width>
+              <height>40</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>200</width>
+              <height>40</height>
+             </size>
+            </property>
+            <property name="toolTip">
+             <string>ré-affiche toutes les commandes</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+            </property>
+            <property name="text">
+             <string>Effacer </string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
+       </layout>
+      </item>
+      <item>
+       <spacer name="horizontalSpacer_2">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>108</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout_5">
+        <item>
+         <layout class="QHBoxLayout" name="horizontalLayout">
+          <item>
+           <widget class="QToolButton" name="RBRegle">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>affiche les régles de validité</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normaloff>../Editeur/icons/lettreRblanc30.png</normaloff>../Editeur/icons/lettreRblanc30.png</iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QLabel" name="labelRegle">
+            <property name="text">
+             <string>Règles de construction</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <spacer name="verticalSpacer">
+          <property name="orientation">
+           <enum>Qt::Vertical</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>20</width>
+            <height>40</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <widget class="QScrollArea" name="scrollAreaCommandes">
+     <property name="styleSheet">
+      <string notr="true"/>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="verticalScrollBarPolicy">
+      <enum>Qt::ScrollBarAsNeeded</enum>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <widget class="QWidget" name="scrollAreaWidgetContents">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>1226</width>
+        <height>498</height>
+       </rect>
+      </property>
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <item>
+        <layout class="QVBoxLayout" name="commandesLayout">
+         <property name="spacing">
+          <number>0</number>
+         </property>
+        </layout>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desRecherche.py b/UiQT5/desRecherche.py
new file mode 100644 (file)
index 0000000..785a563
--- /dev/null
@@ -0,0 +1,58 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desRecherche.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_desRecherche(object):
+    def setupUi(self, desRecherche):
+        desRecherche.setObjectName("desRecherche")
+        desRecherche.resize(525, 55)
+        self.LERecherche = QtWidgets.QLineEdit(desRecherche)
+        self.LERecherche.setGeometry(QtCore.QRect(0, 10, 411, 41))
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.LERecherche.sizePolicy().hasHeightForWidth())
+        self.LERecherche.setSizePolicy(sizePolicy)
+        self.LERecherche.setStyleSheet("background:rgb(240,240,240)")
+        self.LERecherche.setObjectName("LERecherche")
+        self.PBSuivant = QtWidgets.QPushButton(desRecherche)
+        self.PBSuivant.setEnabled(True)
+        self.PBSuivant.setGeometry(QtCore.QRect(420, 10, 101, 41))
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.PBSuivant.sizePolicy().hasHeightForWidth())
+        self.PBSuivant.setSizePolicy(sizePolicy)
+        self.PBSuivant.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.PBSuivant.setAutoDefault(False)
+        self.PBSuivant.setDefault(True)
+        self.PBSuivant.setObjectName("PBSuivant")
+
+        self.retranslateUi(desRecherche)
+        QtCore.QMetaObject.connectSlotsByName(desRecherche)
+
+    def retranslateUi(self, desRecherche):
+        _translate = QtCore.QCoreApplication.translate
+        desRecherche.setWindowTitle(_translate("desRecherche", "Rechercher dans le JDC"))
+        desRecherche.setToolTip(_translate("desRecherche", "Next"))
+        self.PBSuivant.setText(_translate("desRecherche", "Suivant"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    desRecherche = QtWidgets.QWidget()
+    ui = Ui_desRecherche()
+    ui.setupUi(desRecherche)
+    desRecherche.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desRecherche.ui b/UiQT5/desRecherche.ui
new file mode 100644 (file)
index 0000000..a0a44f9
--- /dev/null
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>desRecherche</class>
+ <widget class="QWidget" name="desRecherche">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>525</width>
+    <height>55</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Rechercher dans le JDC</string>
+  </property>
+  <property name="toolTip">
+   <string>Next</string>
+  </property>
+  <widget class="QLineEdit" name="LERecherche">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>10</y>
+     <width>411</width>
+     <height>41</height>
+    </rect>
+   </property>
+   <property name="sizePolicy">
+    <sizepolicy hsizetype="Maximum" vsizetype="Maximum">
+     <horstretch>0</horstretch>
+     <verstretch>0</verstretch>
+    </sizepolicy>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background:rgb(240,240,240)</string>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="PBSuivant">
+   <property name="enabled">
+    <bool>true</bool>
+   </property>
+   <property name="geometry">
+    <rect>
+     <x>420</x>
+     <y>10</y>
+     <width>101</width>
+     <height>41</height>
+    </rect>
+   </property>
+   <property name="sizePolicy">
+    <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+     <horstretch>0</horstretch>
+     <verstretch>0</verstretch>
+    </sizepolicy>
+   </property>
+   <property name="styleSheet">
+    <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+   </property>
+   <property name="text">
+    <string>Suivant</string>
+   </property>
+   <property name="autoDefault">
+    <bool>false</bool>
+   </property>
+   <property name="default">
+    <bool>true</bool>
+   </property>
+  </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desSelectVal.py b/UiQT5/desSelectVal.py
new file mode 100644 (file)
index 0000000..841b8a0
--- /dev/null
@@ -0,0 +1,133 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desSelectVal.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_DSelVal(object):
+    def setupUi(self, DSelVal):
+        DSelVal.setObjectName("DSelVal")
+        DSelVal.resize(633, 705)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(DSelVal.sizePolicy().hasHeightForWidth())
+        DSelVal.setSizePolicy(sizePolicy)
+        DSelVal.setStyleSheet("background:rgb(235,235,235)")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(DSelVal)
+        self.verticalLayout_3.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_3.setSpacing(6)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.TBtext = QtWidgets.QTextEdit(DSelVal)
+        self.TBtext.setMinimumSize(QtCore.QSize(0, 400))
+        self.TBtext.setStyleSheet("background:rgb(250,250,250)")
+        self.TBtext.setObjectName("TBtext")
+        self.verticalLayout_3.addWidget(self.TBtext)
+        spacerItem = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
+        self.verticalLayout_3.addItem(spacerItem)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout.setSpacing(6)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.BGSeparateur = QtWidgets.QGroupBox(DSelVal)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.BGSeparateur.sizePolicy().hasHeightForWidth())
+        self.BGSeparateur.setSizePolicy(sizePolicy)
+        self.BGSeparateur.setMinimumSize(QtCore.QSize(280, 150))
+        self.BGSeparateur.setObjectName("BGSeparateur")
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.BGSeparateur)
+        self.verticalLayout_4.setContentsMargins(11, 15, 11, 0)
+        self.verticalLayout_4.setSpacing(6)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        spacerItem1 = QtWidgets.QSpacerItem(20, 7, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
+        self.verticalLayout_4.addItem(spacerItem1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.verticalLayout.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout.setSpacing(0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.Bespace = QtWidgets.QRadioButton(self.BGSeparateur)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.Bespace.sizePolicy().hasHeightForWidth())
+        self.Bespace.setSizePolicy(sizePolicy)
+        self.Bespace.setChecked(True)
+        self.Bespace.setObjectName("Bespace")
+        self.verticalLayout.addWidget(self.Bespace)
+        self.Bvirgule = QtWidgets.QRadioButton(self.BGSeparateur)
+        self.Bvirgule.setObjectName("Bvirgule")
+        self.verticalLayout.addWidget(self.Bvirgule)
+        self.BpointVirgule = QtWidgets.QRadioButton(self.BGSeparateur)
+        self.BpointVirgule.setObjectName("BpointVirgule")
+        self.verticalLayout.addWidget(self.BpointVirgule)
+        self.verticalLayout_4.addLayout(self.verticalLayout)
+        self.horizontalLayout.addWidget(self.BGSeparateur)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        spacerItem3 = QtWidgets.QSpacerItem(23, 43, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
+        self.verticalLayout_2.addItem(spacerItem3)
+        self.BImportTout = QtWidgets.QPushButton(DSelVal)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.BImportTout.sizePolicy().hasHeightForWidth())
+        self.BImportTout.setSizePolicy(sizePolicy)
+        self.BImportTout.setMinimumSize(QtCore.QSize(200, 40))
+        self.BImportTout.setMaximumSize(QtCore.QSize(200, 40))
+        self.BImportTout.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.BImportTout.setObjectName("BImportTout")
+        self.verticalLayout_2.addWidget(self.BImportTout)
+        self.BImportSel = QtWidgets.QPushButton(DSelVal)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.BImportSel.sizePolicy().hasHeightForWidth())
+        self.BImportSel.setSizePolicy(sizePolicy)
+        self.BImportSel.setMinimumSize(QtCore.QSize(200, 40))
+        self.BImportSel.setMaximumSize(QtCore.QSize(200, 40))
+        self.BImportSel.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.BImportSel.setObjectName("BImportSel")
+        self.verticalLayout_2.addWidget(self.BImportSel)
+        self.horizontalLayout.addLayout(self.verticalLayout_2)
+        self.verticalLayout_3.addLayout(self.horizontalLayout)
+
+        self.retranslateUi(DSelVal)
+        QtCore.QMetaObject.connectSlotsByName(DSelVal)
+
+    def retranslateUi(self, DSelVal):
+        _translate = QtCore.QCoreApplication.translate
+        DSelVal.setWindowTitle(_translate("DSelVal", "Sélection de valeurs"))
+        self.BGSeparateur.setTitle(_translate("DSelVal", "Separateur"))
+        self.Bespace.setText(_translate("DSelVal", "espace"))
+        self.Bvirgule.setText(_translate("DSelVal", "virgule"))
+        self.BpointVirgule.setText(_translate("DSelVal", "point-virgule"))
+        self.BImportTout.setText(_translate("DSelVal", "Importer Tout"))
+        self.BImportSel.setText(_translate("DSelVal", "Ajouter Selection"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    DSelVal = QtWidgets.QWidget()
+    ui = Ui_DSelVal()
+    ui.setupUi(DSelVal)
+    DSelVal.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desSelectVal.ui b/UiQT5/desSelectVal.ui
new file mode 100644 (file)
index 0000000..34baf93
--- /dev/null
@@ -0,0 +1,252 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DSelVal</class>
+ <widget class="QWidget" name="DSelVal">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>633</width>
+    <height>705</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle">
+   <string>Sélection de valeurs</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true">background:rgb(235,235,235)</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_3">
+   <item>
+    <widget class="QTextEdit" name="TBtext">
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>400</height>
+      </size>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background:rgb(250,250,250)</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer_2">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::Fixed</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>10</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <widget class="QGroupBox" name="BGSeparateur">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>280</width>
+         <height>150</height>
+        </size>
+       </property>
+       <property name="title">
+        <string>Separateur</string>
+       </property>
+       <layout class="QVBoxLayout" name="verticalLayout_4">
+        <property name="topMargin">
+         <number>15</number>
+        </property>
+        <property name="bottomMargin">
+         <number>0</number>
+        </property>
+        <item>
+         <spacer name="verticalSpacer_3">
+          <property name="orientation">
+           <enum>Qt::Vertical</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Fixed</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>20</width>
+            <height>7</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <layout class="QVBoxLayout" name="verticalLayout">
+          <property name="spacing">
+           <number>0</number>
+          </property>
+          <property name="sizeConstraint">
+           <enum>QLayout::SetFixedSize</enum>
+          </property>
+          <item>
+           <widget class="QRadioButton" name="Bespace">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="text">
+             <string>espace</string>
+            </property>
+            <property name="checked">
+             <bool>true</bool>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QRadioButton" name="Bvirgule">
+            <property name="text">
+             <string>virgule</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QRadioButton" name="BpointVirgule">
+            <property name="text">
+             <string>point-virgule</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
+       </layout>
+      </widget>
+     </item>
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <item>
+        <spacer name="verticalSpacer">
+         <property name="minimumSize">
+          <size>
+           <width>23</width>
+           <height>43</height>
+          </size>
+         </property>
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QPushButton" name="BImportTout">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>200</width>
+           <height>40</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>200</width>
+           <height>40</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+         </property>
+         <property name="text">
+          <string>Importer Tout</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QPushButton" name="BImportSel">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>200</width>
+           <height>40</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>200</width>
+           <height>40</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+         </property>
+         <property name="text">
+          <string>Ajouter Selection</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desViewRegles.py b/UiQT5/desViewRegles.py
new file mode 100644 (file)
index 0000000..59a5525
--- /dev/null
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desViewRegles.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_viewRegles(object):
+    def setupUi(self, viewRegles):
+        viewRegles.setObjectName("viewRegles")
+        viewRegles.resize(411, 322)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(viewRegles)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.scrollArea = QtWidgets.QScrollArea(viewRegles)
+        self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollArea.setWidgetResizable(True)
+        self.scrollArea.setObjectName("scrollArea")
+        self.scrollAreaWidgetContents = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 393, 304))
+        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setSpacing(0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.LBRegles = QtWidgets.QListWidget(self.scrollAreaWidgetContents)
+        self.LBRegles.setObjectName("LBRegles")
+        self.verticalLayout.addWidget(self.LBRegles)
+        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
+        self.verticalLayout_2.addWidget(self.scrollArea)
+
+        self.retranslateUi(viewRegles)
+        QtCore.QMetaObject.connectSlotsByName(viewRegles)
+
+    def retranslateUi(self, viewRegles):
+        _translate = QtCore.QCoreApplication.translate
+        viewRegles.setWindowTitle(_translate("viewRegles", "Dialog"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    viewRegles = QtWidgets.QDialog()
+    ui = Ui_viewRegles()
+    ui.setupUi(viewRegles)
+    viewRegles.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desViewRegles.ui b/UiQT5/desViewRegles.ui
new file mode 100644 (file)
index 0000000..03938cd
--- /dev/null
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>viewRegles</class>
+ <widget class="QDialog" name="viewRegles">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>411</width>
+    <height>322</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Dialog</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <item>
+    <widget class="QScrollArea" name="scrollArea">
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <widget class="QWidget" name="scrollAreaWidgetContents">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>393</width>
+        <height>304</height>
+       </rect>
+      </property>
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="margin">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="QListWidget" name="LBRegles"/>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desViewTexte.py b/UiQT5/desViewTexte.py
new file mode 100644 (file)
index 0000000..b0ae88b
--- /dev/null
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desViewTexte.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_dView(object):
+    def setupUi(self, dView):
+        dView.setObjectName("dView")
+        dView.resize(400, 322)
+        self.gridLayout = QtWidgets.QGridLayout(dView)
+        self.gridLayout.setObjectName("gridLayout")
+        self.view = QtWidgets.QTextBrowser(dView)
+        self.view.setObjectName("view")
+        self.gridLayout.addWidget(self.view, 0, 0, 1, 4)
+        spacerItem = QtWidgets.QSpacerItem(209, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.gridLayout.addItem(spacerItem, 1, 0, 1, 1)
+        self.bclose = QtWidgets.QPushButton(dView)
+        self.bclose.setObjectName("bclose")
+        self.gridLayout.addWidget(self.bclose, 1, 2, 1, 1)
+        self.bsave = QtWidgets.QPushButton(dView)
+        self.bsave.setObjectName("bsave")
+        self.gridLayout.addWidget(self.bsave, 1, 1, 1, 1)
+        self.view.raise_()
+        self.bclose.raise_()
+        self.bsave.raise_()
+
+        self.retranslateUi(dView)
+        QtCore.QMetaObject.connectSlotsByName(dView)
+
+    def retranslateUi(self, dView):
+        _translate = QtCore.QCoreApplication.translate
+        dView.setWindowTitle(_translate("dView", "Dialog"))
+        self.bclose.setText(_translate("dView", "Fermer"))
+        self.bsave.setText(_translate("dView", "Sauver"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    dView = QtWidgets.QDialog()
+    ui = Ui_dView()
+    ui.setupUi(dView)
+    dView.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desViewTexte.ui b/UiQT5/desViewTexte.ui
new file mode 100644 (file)
index 0000000..6cfa950
--- /dev/null
@@ -0,0 +1,53 @@
+<ui version="4.0" >
+ <class>dView</class>
+ <widget class="QDialog" name="dView" >
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>322</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>Dialog</string>
+  </property>
+  <layout class="QGridLayout" name="gridLayout" >
+   <item row="0" column="0" colspan="4" >
+    <widget class="QTextBrowser" name="view" />
+   </item>
+   <item row="1" column="0" >
+    <spacer name="horizontalSpacer" >
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeHint" stdset="0" >
+      <size>
+       <width>209</width>
+       <height>20</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item row="1" column="2" >
+    <widget class="QPushButton" name="bclose" >
+     <property name="text" >
+      <string>Fermer</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="1" >
+    <widget class="QPushButton" name="bsave" >
+     <property name="text" >
+      <string>Sauver</string>
+     </property>
+    </widget>
+   </item>
+  </layout>
+  <zorder>view</zorder>
+  <zorder>bclose</zorder>
+  <zorder>bsave</zorder>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desVisu.py b/UiQT5/desVisu.py
new file mode 100644 (file)
index 0000000..394e426
--- /dev/null
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desVisu.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_DVisu(object):
+    def setupUi(self, DVisu):
+        DVisu.setObjectName("DVisu")
+        DVisu.resize(501, 61)
+        self.horizontalLayout = QtWidgets.QHBoxLayout(DVisu)
+        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.TB = QtWidgets.QTextBrowser(DVisu)
+        self.TB.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.TB.setFrameShadow(QtWidgets.QFrame.Plain)
+        self.TB.setObjectName("TB")
+        self.horizontalLayout.addWidget(self.TB)
+
+        self.retranslateUi(DVisu)
+        QtCore.QMetaObject.connectSlotsByName(DVisu)
+
+    def retranslateUi(self, DVisu):
+        _translate = QtCore.QCoreApplication.translate
+        DVisu.setWindowTitle(_translate("DVisu", "Visualisation Include Materiau"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    DVisu = QtWidgets.QWidget()
+    ui = Ui_DVisu()
+    ui.setupUi(DVisu)
+    DVisu.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desVisu.ui b/UiQT5/desVisu.ui
new file mode 100644 (file)
index 0000000..6f25807
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DVisu</class>
+ <widget class="QWidget" name="DVisu">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>501</width>
+    <height>61</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Visualisation Include Materiau</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <widget class="QTextBrowser" name="TB">
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="frameShadow">
+      <enum>QFrame::Plain</enum>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidget4a6RadioButton.py b/UiQT5/desWidget4a6RadioButton.py
new file mode 100644 (file)
index 0000000..1bfe16d
--- /dev/null
@@ -0,0 +1,170 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidget4a6RadioButton.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_Widget4a6RadioButton(object):
+    def setupUi(self, Widget4a6RadioButton):
+        Widget4a6RadioButton.setObjectName("Widget4a6RadioButton")
+        Widget4a6RadioButton.resize(949, 73)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(Widget4a6RadioButton.sizePolicy().hasHeightForWidth())
+        Widget4a6RadioButton.setSizePolicy(sizePolicy)
+        Widget4a6RadioButton.setMinimumSize(QtCore.QSize(0, 0))
+        Widget4a6RadioButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(Widget4a6RadioButton)
+        self.horizontalLayout_2.setContentsMargins(0, 2, 0, 2)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_3.setSpacing(0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(Widget4a6RadioButton)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout_3.addLayout(self.horizontalLayout)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem1)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_3)
+        self.label = MonLabelClic(Widget4a6RadioButton)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.frame = QtWidgets.QFrame(Widget4a6RadioButton)
+        self.frame.setFrameShape(QtWidgets.QFrame.Box)
+        self.frame.setObjectName("frame")
+        self.gridLayout = QtWidgets.QGridLayout(self.frame)
+        self.gridLayout.setContentsMargins(1, 0, 1, 0)
+        self.gridLayout.setHorizontalSpacing(1)
+        self.gridLayout.setVerticalSpacing(0)
+        self.gridLayout.setObjectName("gridLayout")
+        self.radioButton_1 = QtWidgets.QRadioButton(self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.radioButton_1.sizePolicy().hasHeightForWidth())
+        self.radioButton_1.setSizePolicy(sizePolicy)
+        self.radioButton_1.setObjectName("radioButton_1")
+        self.gridLayout.addWidget(self.radioButton_1, 0, 0, 1, 1)
+        self.radioButton_2 = QtWidgets.QRadioButton(self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.radioButton_2.sizePolicy().hasHeightForWidth())
+        self.radioButton_2.setSizePolicy(sizePolicy)
+        self.radioButton_2.setObjectName("radioButton_2")
+        self.gridLayout.addWidget(self.radioButton_2, 0, 1, 1, 1)
+        self.radioButton_3 = QtWidgets.QRadioButton(self.frame)
+        self.radioButton_3.setObjectName("radioButton_3")
+        self.gridLayout.addWidget(self.radioButton_3, 0, 2, 1, 1)
+        self.radioButton_4 = QtWidgets.QRadioButton(self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.radioButton_4.sizePolicy().hasHeightForWidth())
+        self.radioButton_4.setSizePolicy(sizePolicy)
+        self.radioButton_4.setObjectName("radioButton_4")
+        self.gridLayout.addWidget(self.radioButton_4, 1, 0, 1, 1)
+        self.radioButton_5 = QtWidgets.QRadioButton(self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.radioButton_5.sizePolicy().hasHeightForWidth())
+        self.radioButton_5.setSizePolicy(sizePolicy)
+        self.radioButton_5.setObjectName("radioButton_5")
+        self.gridLayout.addWidget(self.radioButton_5, 1, 1, 1, 1)
+        self.radioButton_6 = QtWidgets.QRadioButton(self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.radioButton_6.sizePolicy().hasHeightForWidth())
+        self.radioButton_6.setSizePolicy(sizePolicy)
+        self.radioButton_6.setObjectName("radioButton_6")
+        self.gridLayout.addWidget(self.radioButton_6, 1, 2, 1, 1)
+        self.horizontalLayout_2.addWidget(self.frame)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        spacerItem2 = QtWidgets.QSpacerItem(10, 20, QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Minimum)
+        self.verticalLayout_2.addItem(spacerItem2)
+        spacerItem3 = QtWidgets.QSpacerItem(17, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem3)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_2)
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.RBPoubelle = QtWidgets.QToolButton(Widget4a6RadioButton)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setFocusPolicy(QtCore.Qt.StrongFocus)
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.verticalLayout_4.addWidget(self.RBPoubelle)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_4.addItem(spacerItem4)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_4)
+
+        self.retranslateUi(Widget4a6RadioButton)
+        QtCore.QMetaObject.connectSlotsByName(Widget4a6RadioButton)
+        Widget4a6RadioButton.setTabOrder(self.radioButton_1, self.radioButton_4)
+        Widget4a6RadioButton.setTabOrder(self.radioButton_4, self.RBPoubelle)
+
+    def retranslateUi(self, Widget4a6RadioButton):
+        _translate = QtCore.QCoreApplication.translate
+        Widget4a6RadioButton.setWindowTitle(_translate("Widget4a6RadioButton", "Form"))
+        self.RBValide.setToolTip(_translate("Widget4a6RadioButton", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("Widget4a6RadioButton", "..."))
+        self.label.setText(_translate("Widget4a6RadioButton", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.radioButton_1.setText(_translate("Widget4a6RadioButton", "RadioButton"))
+        self.radioButton_2.setText(_translate("Widget4a6RadioButton", "RadioButton"))
+        self.radioButton_3.setText(_translate("Widget4a6RadioButton", "RadioButton"))
+        self.radioButton_4.setText(_translate("Widget4a6RadioButton", "RadioButton"))
+        self.radioButton_5.setText(_translate("Widget4a6RadioButton", "RadioButton"))
+        self.radioButton_6.setText(_translate("Widget4a6RadioButton", "RadioButton"))
+        self.RBPoubelle.setToolTip(_translate("Widget4a6RadioButton", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("Widget4a6RadioButton", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    Widget4a6RadioButton = QtWidgets.QWidget()
+    ui = Ui_Widget4a6RadioButton()
+    ui.setupUi(Widget4a6RadioButton)
+    Widget4a6RadioButton.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidget4a6RadioButton.ui b/UiQT5/desWidget4a6RadioButton.ui
new file mode 100644 (file)
index 0000000..71780e8
--- /dev/null
@@ -0,0 +1,376 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Widget4a6RadioButton</class>
+ <widget class="QWidget" name="Widget4a6RadioButton">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>949</width>
+    <height>73</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Expanding" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="maximumSize">
+   <size>
+    <width>16777215</width>
+    <height>16777215</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_2">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>2</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>2</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_3">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QFrame" name="frame">
+     <property name="frameShape">
+      <enum>QFrame::Box</enum>
+     </property>
+     <layout class="QGridLayout" name="gridLayout">
+      <property name="leftMargin">
+       <number>1</number>
+      </property>
+      <property name="topMargin">
+       <number>0</number>
+      </property>
+      <property name="rightMargin">
+       <number>1</number>
+      </property>
+      <property name="bottomMargin">
+       <number>0</number>
+      </property>
+      <property name="horizontalSpacing">
+       <number>1</number>
+      </property>
+      <property name="verticalSpacing">
+       <number>0</number>
+      </property>
+      <item row="0" column="0">
+       <widget class="QRadioButton" name="radioButton_1">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="text">
+         <string>RadioButton</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QRadioButton" name="radioButton_2">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="text">
+         <string>RadioButton</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="2">
+       <widget class="QRadioButton" name="radioButton_3">
+        <property name="text">
+         <string>RadioButton</string>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="0">
+       <widget class="QRadioButton" name="radioButton_4">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="text">
+         <string>RadioButton</string>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="1">
+       <widget class="QRadioButton" name="radioButton_5">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="text">
+         <string>RadioButton</string>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="2">
+       <widget class="QRadioButton" name="radioButton_6">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="text">
+         <string>RadioButton</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <item>
+      <spacer name="horizontalSpacer_4">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Maximum</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>10</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>17</width>
+         <height>40</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_4">
+     <item>
+      <widget class="QToolButton" name="RBPoubelle">
+       <property name="minimumSize">
+        <size>
+         <width>25</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>25</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="focusPolicy">
+        <enum>Qt::StrongFocus</enum>
+       </property>
+       <property name="toolTip">
+        <string>Détruit le mot-clef</string>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>25</width>
+         <height>25</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_3">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>40</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>radioButton_1</tabstop>
+  <tabstop>radioButton_4</tabstop>
+  <tabstop>RBPoubelle</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetBloc.py b/UiQT5/desWidgetBloc.py
new file mode 100644 (file)
index 0000000..a5d89b6
--- /dev/null
@@ -0,0 +1,49 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetBloc.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetBloc(object):
+    def setupUi(self, WidgetBloc):
+        WidgetBloc.setObjectName("WidgetBloc")
+        WidgetBloc.resize(1033, 25)
+        WidgetBloc.setStyleSheet(" QGroupBox {\n"
+"     border: 1px solid gray;\n"
+"     border-radius: 5px;\n"
+"     margin-top: 1ex; /* leave space at the top for the title */\n"
+" }\n"
+"\n"
+" QGroupBox::title {\n"
+"     padding: 0 3px;\n"
+" }")
+        self.verticalLayout = QtWidgets.QVBoxLayout(WidgetBloc)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.commandesLayout = QtWidgets.QVBoxLayout()
+        self.commandesLayout.setContentsMargins(-1, 5, -1, -1)
+        self.commandesLayout.setSpacing(0)
+        self.commandesLayout.setObjectName("commandesLayout")
+        self.verticalLayout.addLayout(self.commandesLayout)
+
+        self.retranslateUi(WidgetBloc)
+        QtCore.QMetaObject.connectSlotsByName(WidgetBloc)
+
+    def retranslateUi(self, WidgetBloc):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetBloc.setWindowTitle(_translate("WidgetBloc", "Form"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetBloc = QtWidgets.QWidget()
+    ui = Ui_WidgetBloc()
+    ui.setupUi(WidgetBloc)
+    WidgetBloc.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetBloc.ui b/UiQT5/desWidgetBloc.ui
new file mode 100644 (file)
index 0000000..439dd60
--- /dev/null
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetBloc</class>
+ <widget class="QWidget" name="WidgetBloc">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1033</width>
+    <height>25</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true"> QGroupBox {
+     border: 1px solid gray;
+     border-radius: 5px;
+     margin-top: 1ex; /* leave space at the top for the title */
+ }
+
+ QGroupBox::title {
+     padding: 0 3px;
+ }</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="commandesLayout">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <property name="topMargin">
+      <number>5</number>
+     </property>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetCB.py b/UiQT5/desWidgetCB.py
new file mode 100644 (file)
index 0000000..6679b1d
--- /dev/null
@@ -0,0 +1,142 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetCB.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetCB(object):
+    def setupUi(self, WidgetCB):
+        WidgetCB.setObjectName("WidgetCB")
+        WidgetCB.resize(739, 63)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetCB.sizePolicy().hasHeightForWidth())
+        WidgetCB.setSizePolicy(sizePolicy)
+        WidgetCB.setMinimumSize(QtCore.QSize(0, 0))
+        WidgetCB.setMaximumSize(QtCore.QSize(1493, 85))
+        WidgetCB.setStyleSheet("QComboBox{combobox-popup:0;};")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(WidgetCB)
+        self.horizontalLayout_3.setContentsMargins(0, 2, 0, 1)
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetCB)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout_3.addLayout(self.verticalLayout_2)
+        self.label = MonLabelClic(WidgetCB)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_3.addWidget(self.label)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setSpacing(0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.CBChoix = QtWidgets.QComboBox(WidgetCB)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.CBChoix.sizePolicy().hasHeightForWidth())
+        self.CBChoix.setSizePolicy(sizePolicy)
+        self.CBChoix.setMinimumSize(QtCore.QSize(361, 25))
+        self.CBChoix.setAccessibleName("")
+        self.CBChoix.setAccessibleDescription("")
+        self.CBChoix.setStyleSheet("QComboBox {\n"
+" background:rgb(235,235,235);\n"
+" }\n"
+"/*QComboBox: on {\n"
+"  font : italic\n"
+" }\n"
+"background:rgb(235,235,235);\n"
+"border:0px;\n"
+"\n"
+"\n"
+"QComboBox:!editable:on, QComboBox::drop-down:editable:on {\n"
+"background: black;\n"
+"    font : italic 14px\n"
+" }\n"
+"QComboBox:on { \n"
+"  font : italic 20px;\n"
+"  background: red ;\n"
+"}/*\n"
+"")
+        self.CBChoix.setMaxVisibleItems(100)
+        self.CBChoix.setFrame(False)
+        self.CBChoix.setObjectName("CBChoix")
+        self.horizontalLayout_2.addWidget(self.CBChoix)
+        spacerItem2 = QtWidgets.QSpacerItem(301, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetCB)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout_2.addWidget(self.RBPoubelle)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem3)
+        self.horizontalLayout_3.addLayout(self.verticalLayout)
+
+        self.retranslateUi(WidgetCB)
+        QtCore.QMetaObject.connectSlotsByName(WidgetCB)
+
+    def retranslateUi(self, WidgetCB):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetCB.setWindowTitle(_translate("WidgetCB", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetCB", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetCB", "..."))
+        self.label.setText(_translate("WidgetCB", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.RBPoubelle.setToolTip(_translate("WidgetCB", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetCB", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetCB = QtWidgets.QWidget()
+    ui = Ui_WidgetCB()
+    ui.setupUi(WidgetCB)
+    WidgetCB.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetCB.ui b/UiQT5/desWidgetCB.ui
new file mode 100644 (file)
index 0000000..c5f16d2
--- /dev/null
@@ -0,0 +1,314 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetCB</class>
+ <widget class="QWidget" name="WidgetCB">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>739</width>
+    <height>63</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="maximumSize">
+   <size>
+    <width>1493</width>
+    <height>85</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true">QComboBox{combobox-popup:0;};</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_3">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>2</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>1</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="QComboBox" name="CBChoix">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>361</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="accessibleName">
+          <string/>
+         </property>
+         <property name="accessibleDescription">
+          <string/>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">QComboBox {
+ background:rgb(235,235,235);
+ }
+/*QComboBox: on {
+  font : italic
+ }
+background:rgb(235,235,235);
+border:0px;
+
+
+QComboBox:!editable:on, QComboBox::drop-down:editable:on {
+background: black;
+    font : italic 14px
+ }
+QComboBox:on { 
+  font : italic 20px;
+  background: red ;
+}/*
+</string>
+         </property>
+         <property name="maxVisibleItems">
+          <number>100</number>
+         </property>
+         <property name="frame">
+          <bool>false</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Expanding</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>301</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QToolButton" name="RBPoubelle">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Détruit le mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetCommande.py b/UiQT5/desWidgetCommande.py
new file mode 100644 (file)
index 0000000..0cab223
--- /dev/null
@@ -0,0 +1,286 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetCommande.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetCommande(object):
+    def setupUi(self, WidgetCommande):
+        WidgetCommande.setObjectName("WidgetCommande")
+        WidgetCommande.resize(1031, 250)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetCommande.sizePolicy().hasHeightForWidth())
+        WidgetCommande.setSizePolicy(sizePolicy)
+        WidgetCommande.setMinimumSize(QtCore.QSize(0, 0))
+        WidgetCommande.setToolTip("")
+        WidgetCommande.setStyleSheet("background-color : rgb(224,223,222);\n"
+"font : \'times\' 9px")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(WidgetCommande)
+        self.verticalLayout_3.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_3.setSpacing(6)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout_4.setSpacing(6)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.frame_2 = QtWidgets.QFrame(WidgetCommande)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.frame_2.sizePolicy().hasHeightForWidth())
+        self.frame_2.setSizePolicy(sizePolicy)
+        self.frame_2.setFrameShape(QtWidgets.QFrame.Box)
+        self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.frame_2.setObjectName("frame_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.frame_2)
+        self.horizontalLayout.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(self.frame_2)
+        self.RBValide.setMinimumSize(QtCore.QSize(17, 31))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(21, 31))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        spacerItem1 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.labelNomCommande = MonLabelClic(self.frame_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.labelNomCommande.sizePolicy().hasHeightForWidth())
+        self.labelNomCommande.setSizePolicy(sizePolicy)
+        self.labelNomCommande.setMinimumSize(QtCore.QSize(150, 31))
+        self.labelNomCommande.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.labelNomCommande.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.labelNomCommande.setObjectName("labelNomCommande")
+        self.horizontalLayout.addWidget(self.labelNomCommande)
+        spacerItem2 = QtWidgets.QSpacerItem(2, 40, QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.LENom = QtWidgets.QLineEdit(self.frame_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.LENom.sizePolicy().hasHeightForWidth())
+        self.LENom.setSizePolicy(sizePolicy)
+        self.LENom.setStyleSheet(" QLineEdit {\n"
+"     border: 2px solid gray;\n"
+"     border-radius: 10px;\n"
+"     padding: 0 8px;\n"
+"     background: darkgray;\n"
+"   /*  selection-background-color: darkgray;*/\n"
+" }\n"
+"QLineEdit:disabled\n"
+"{\n"
+"    background: lightgray;\n"
+"}\n"
+"/*read-only {\n"
+"     background: lightblue;*/")
+        self.LENom.setReadOnly(False)
+        self.LENom.setObjectName("LENom")
+        self.horizontalLayout.addWidget(self.LENom)
+        spacerItem3 = QtWidgets.QSpacerItem(2, 40, QtWidgets.QSizePolicy.Ignored, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem3)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_2.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout_2.setSpacing(4)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.RBRun = QtWidgets.QToolButton(self.frame_2)
+        self.RBRun.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBRun.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBRun.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBRun.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/roue.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBRun.setIcon(icon1)
+        self.RBRun.setIconSize(QtCore.QSize(21, 31))
+        self.RBRun.setObjectName("RBRun")
+        self.horizontalLayout_2.addWidget(self.RBRun)
+        self.RBInfo = QtWidgets.QToolButton(self.frame_2)
+        self.RBInfo.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBInfo.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBInfo.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBInfo.setStyleSheet("border : 0px")
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap("../Editeur/icons/point-interrogation30.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBInfo.setIcon(icon2)
+        self.RBInfo.setIconSize(QtCore.QSize(21, 31))
+        self.RBInfo.setObjectName("RBInfo")
+        self.horizontalLayout_2.addWidget(self.RBInfo)
+        self.RBRegle = QtWidgets.QToolButton(self.frame_2)
+        self.RBRegle.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBRegle.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBRegle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBRegle.setStyleSheet("border : 0px")
+        icon3 = QtGui.QIcon()
+        icon3.addPixmap(QtGui.QPixmap("../Editeur/icons/lettreRblanc30.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBRegle.setIcon(icon3)
+        self.RBRegle.setIconSize(QtCore.QSize(21, 31))
+        self.RBRegle.setObjectName("RBRegle")
+        self.horizontalLayout_2.addWidget(self.RBRegle)
+        self.horizontalLayout.addLayout(self.horizontalLayout_2)
+        spacerItem4 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem4)
+        self.RBPoubelle = QtWidgets.QToolButton(self.frame_2)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon4 = QtGui.QIcon()
+        icon4.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon4)
+        self.RBPoubelle.setIconSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout.addWidget(self.RBPoubelle)
+        self.RBValide.raise_()
+        self.labelNomCommande.raise_()
+        self.LENom.raise_()
+        self.RBPoubelle.raise_()
+        self.horizontalLayout_4.addWidget(self.frame_2)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_2.setSpacing(6)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.bCatalogue = QtWidgets.QPushButton(WidgetCommande)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bCatalogue.sizePolicy().hasHeightForWidth())
+        self.bCatalogue.setSizePolicy(sizePolicy)
+        self.bCatalogue.setMinimumSize(QtCore.QSize(160, 31))
+        self.bCatalogue.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.bCatalogue.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.bCatalogue.setAutoDefault(True)
+        self.bCatalogue.setDefault(True)
+        self.bCatalogue.setObjectName("bCatalogue")
+        self.verticalLayout_2.addWidget(self.bCatalogue)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout_3.setSpacing(6)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.bAvant = QtWidgets.QPushButton(WidgetCommande)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bAvant.sizePolicy().hasHeightForWidth())
+        self.bAvant.setSizePolicy(sizePolicy)
+        self.bAvant.setMinimumSize(QtCore.QSize(60, 24))
+        self.bAvant.setMaximumSize(QtCore.QSize(60, 24))
+        self.bAvant.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.bAvant.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.bAvant.setAutoDefault(True)
+        self.bAvant.setDefault(True)
+        self.bAvant.setObjectName("bAvant")
+        self.horizontalLayout_3.addWidget(self.bAvant)
+        self.bApres = QtWidgets.QPushButton(WidgetCommande)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bApres.sizePolicy().hasHeightForWidth())
+        self.bApres.setSizePolicy(sizePolicy)
+        self.bApres.setMinimumSize(QtCore.QSize(60, 24))
+        self.bApres.setMaximumSize(QtCore.QSize(60, 24))
+        self.bApres.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.bApres.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.bApres.setAutoDefault(True)
+        self.bApres.setDefault(True)
+        self.bApres.setObjectName("bApres")
+        self.horizontalLayout_3.addWidget(self.bApres)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+        self.horizontalLayout_4.addLayout(self.verticalLayout_2)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_4)
+        self.labelDoc = QtWidgets.QLabel(WidgetCommande)
+        self.labelDoc.setObjectName("labelDoc")
+        self.verticalLayout_3.addWidget(self.labelDoc)
+        self.scrollAreaCommandes = QtWidgets.QScrollArea(WidgetCommande)
+        self.scrollAreaCommandes.setMinimumSize(QtCore.QSize(0, 81))
+        self.scrollAreaCommandes.setStyleSheet("background : rgb(247,247,247)\n"
+"\n"
+"\n"
+"")
+        self.scrollAreaCommandes.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollAreaCommandes.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
+        self.scrollAreaCommandes.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
+        self.scrollAreaCommandes.setWidgetResizable(True)
+        self.scrollAreaCommandes.setObjectName("scrollAreaCommandes")
+        self.scrollAreaWidgetContents = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 1013, 129))
+        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents)
+        self.verticalLayout.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout.setSpacing(6)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.commandesLayout = QtWidgets.QVBoxLayout()
+        self.commandesLayout.setContentsMargins(11, 11, 11, 11)
+        self.commandesLayout.setSpacing(1)
+        self.commandesLayout.setObjectName("commandesLayout")
+        self.verticalLayout.addLayout(self.commandesLayout)
+        spacerItem5 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem5)
+        self.scrollAreaCommandes.setWidget(self.scrollAreaWidgetContents)
+        self.verticalLayout_3.addWidget(self.scrollAreaCommandes)
+
+        self.retranslateUi(WidgetCommande)
+        QtCore.QMetaObject.connectSlotsByName(WidgetCommande)
+
+    def retranslateUi(self, WidgetCommande):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetCommande.setWindowTitle(_translate("WidgetCommande", "DCommandeUnique"))
+        self.RBValide.setToolTip(_translate("WidgetCommande", "Affiche le rapport de validité de la commande"))
+        self.RBValide.setText(_translate("WidgetCommande", "..."))
+        self.labelNomCommande.setText(_translate("WidgetCommande", "<html><head/><body><p><span style=\" color:#0000ff;\">commande </span></p></body></html>"))
+        self.LENom.setToolTip(_translate("WidgetCommande", "Nom de l\'objet. Seuls, les objets valides peuvent être nommés"))
+        self.RBRun.setToolTip(_translate("WidgetCommande", "Lance un script associé à la commande"))
+        self.RBRun.setText(_translate("WidgetCommande", "..."))
+        self.RBInfo.setToolTip(_translate("WidgetCommande", "ouvre un navigateur sur l\'aide contextuelle"))
+        self.RBInfo.setText(_translate("WidgetCommande", "..."))
+        self.RBRegle.setToolTip(_translate("WidgetCommande", "affiche les régles de validité"))
+        self.RBRegle.setText(_translate("WidgetCommande", "..."))
+        self.RBPoubelle.setToolTip(_translate("WidgetCommande", "Détruit la commande"))
+        self.RBPoubelle.setText(_translate("WidgetCommande", "..."))
+        self.bCatalogue.setToolTip(_translate("WidgetCommande", "Affiche les commandes possibles"))
+        self.bCatalogue.setText(_translate("WidgetCommande", "&Commandes"))
+        self.bCatalogue.setShortcut(_translate("WidgetCommande", "Shift+A, Alt+A, Alt+A, Alt+A"))
+        self.bAvant.setToolTip(_translate("WidgetCommande", "Affiche le formulaire de la commande précédente"))
+        self.bAvant.setText(_translate("WidgetCommande", "<<"))
+        self.bAvant.setShortcut(_translate("WidgetCommande", "Shift+A, Alt+A, Alt+A, Alt+A"))
+        self.bApres.setToolTip(_translate("WidgetCommande", "Affiche le formulaire de la commande suivante"))
+        self.bApres.setText(_translate("WidgetCommande", ">>"))
+        self.bApres.setShortcut(_translate("WidgetCommande", "Shift+A, Alt+A, Alt+A, Alt+A"))
+        self.labelDoc.setText(_translate("WidgetCommande", "TextLabel"))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetCommande = QtWidgets.QWidget()
+    ui = Ui_WidgetCommande()
+    ui.setupUi(WidgetCommande)
+    WidgetCommande.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetCommande.ui b/UiQT5/desWidgetCommande.ui
new file mode 100644 (file)
index 0000000..a48c894
--- /dev/null
@@ -0,0 +1,629 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetCommande</class>
+ <widget class="QWidget" name="WidgetCommande">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1031</width>
+    <height>250</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>DCommandeUnique</string>
+  </property>
+  <property name="toolTip">
+   <string/>
+  </property>
+  <property name="styleSheet">
+   <string notr="true">background-color : rgb(224,223,222);
+font : 'times' 9px</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_3">
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_4">
+     <item>
+      <widget class="QFrame" name="frame_2">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::Box</enum>
+       </property>
+       <property name="frameShadow">
+        <enum>QFrame::Raised</enum>
+       </property>
+       <layout class="QHBoxLayout" name="horizontalLayout">
+        <property name="spacing">
+         <number>0</number>
+        </property>
+        <item>
+         <spacer name="horizontalSpacer_5">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Fixed</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>13</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="MonBoutonValide" name="RBValide">
+          <property name="minimumSize">
+           <size>
+            <width>17</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="focusPolicy">
+           <enum>Qt::ClickFocus</enum>
+          </property>
+          <property name="toolTip">
+           <string>Affiche le rapport de validité de la commande</string>
+          </property>
+          <property name="styleSheet">
+           <string notr="true">border : 0px</string>
+          </property>
+          <property name="text">
+           <string>...</string>
+          </property>
+          <property name="icon">
+           <iconset>
+            <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+          </property>
+          <property name="iconSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_3">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Fixed</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>13</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="MonLabelClic" name="labelNomCommande">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>150</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="frameShape">
+           <enum>QFrame::NoFrame</enum>
+          </property>
+          <property name="frameShadow">
+           <enum>QFrame::Raised</enum>
+          </property>
+          <property name="text">
+           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;commande &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="toto">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Maximum</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>2</width>
+            <height>40</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="LENom">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="toolTip">
+           <string>Nom de l'objet. Seuls, les objets valides peuvent être nommés</string>
+          </property>
+          <property name="styleSheet">
+           <string notr="true"> QLineEdit {
+     border: 2px solid gray;
+     border-radius: 10px;
+     padding: 0 8px;
+     background: darkgray;
+   /*  selection-background-color: darkgray;*/
+ }
+QLineEdit:disabled
+{
+    background: lightgray;
+}
+/*read-only {
+     background: lightblue;*/</string>
+          </property>
+          <property name="readOnly">
+           <bool>false</bool>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_2">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Ignored</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>2</width>
+            <height>40</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <layout class="QHBoxLayout" name="horizontalLayout_2">
+          <property name="spacing">
+           <number>4</number>
+          </property>
+          <property name="sizeConstraint">
+           <enum>QLayout::SetFixedSize</enum>
+          </property>
+          <item>
+           <widget class="QToolButton" name="RBRun">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>Lance un script associé à la commande</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normaloff>../Editeur/icons/roue.png</normaloff>../Editeur/icons/roue.png</iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QToolButton" name="RBInfo">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>ouvre un navigateur sur l'aide contextuelle</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normaloff>../Editeur/icons/point-interrogation30.png</normaloff>../Editeur/icons/point-interrogation30.png</iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QToolButton" name="RBRegle">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>affiche les régles de validité</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normaloff>../Editeur/icons/lettreRblanc30.png</normaloff>../Editeur/icons/lettreRblanc30.png</iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_4">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Fixed</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>13</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QToolButton" name="RBPoubelle">
+          <property name="minimumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="focusPolicy">
+           <enum>Qt::ClickFocus</enum>
+          </property>
+          <property name="toolTip">
+           <string>Détruit la commande</string>
+          </property>
+          <property name="styleSheet">
+           <string notr="true">border : 0px</string>
+          </property>
+          <property name="text">
+           <string>...</string>
+          </property>
+          <property name="icon">
+           <iconset>
+            <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+          </property>
+          <property name="iconSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+         </widget>
+        </item>
+       </layout>
+       <zorder>RBValide</zorder>
+       <zorder>labelNomCommande</zorder>
+       <zorder>LENom</zorder>
+       <zorder>horizontalSpacer_3</zorder>
+       <zorder>horizontalSpacer_4</zorder>
+       <zorder>RBPoubelle</zorder>
+       <zorder>horizontalSpacer_5</zorder>
+      </widget>
+     </item>
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <item>
+        <widget class="QPushButton" name="bCatalogue">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>160</width>
+           <height>31</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche les commandes possibles</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+         </property>
+         <property name="text">
+          <string>&amp;Commandes</string>
+         </property>
+         <property name="shortcut">
+          <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>
+        </widget>
+       </item>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout_3">
+         <item>
+          <widget class="QPushButton" name="bAvant">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="focusPolicy">
+            <enum>Qt::ClickFocus</enum>
+           </property>
+           <property name="toolTip">
+            <string>Affiche le formulaire de la commande précédente</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+           </property>
+           <property name="text">
+            <string>&lt;&lt;</string>
+           </property>
+           <property name="shortcut">
+            <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>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="bApres">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="focusPolicy">
+            <enum>Qt::ClickFocus</enum>
+           </property>
+           <property name="toolTip">
+            <string>Affiche le formulaire de la commande suivante</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+           </property>
+           <property name="text">
+            <string>&gt;&gt;</string>
+           </property>
+           <property name="shortcut">
+            <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>
+          </widget>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QLabel" name="labelDoc">
+     <property name="text">
+      <string>TextLabel</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QScrollArea" name="scrollAreaCommandes">
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>81</height>
+      </size>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background : rgb(247,247,247)
+
+
+</string>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="verticalScrollBarPolicy">
+      <enum>Qt::ScrollBarAsNeeded</enum>
+     </property>
+     <property name="horizontalScrollBarPolicy">
+      <enum>Qt::ScrollBarAsNeeded</enum>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <widget class="QWidget" name="scrollAreaWidgetContents">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>1013</width>
+        <height>129</height>
+       </rect>
+      </property>
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <item>
+        <layout class="QVBoxLayout" name="commandesLayout">
+         <property name="spacing">
+          <number>1</number>
+         </property>
+        </layout>
+       </item>
+       <item>
+        <spacer name="verticalSpacer">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>5</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetCommentaire.py b/UiQT5/desWidgetCommentaire.py
new file mode 100644 (file)
index 0000000..9be68be
--- /dev/null
@@ -0,0 +1,214 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetCommentaire.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetCommentaire(object):
+    def setupUi(self, WidgetCommentaire):
+        WidgetCommentaire.setObjectName("WidgetCommentaire")
+        WidgetCommentaire.resize(1031, 177)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetCommentaire.sizePolicy().hasHeightForWidth())
+        WidgetCommentaire.setSizePolicy(sizePolicy)
+        WidgetCommentaire.setMinimumSize(QtCore.QSize(0, 0))
+        WidgetCommentaire.setToolTip("")
+        WidgetCommentaire.setStyleSheet("background-color : rgb(224,223,222);\n"
+"font : \'times\' 9px")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(WidgetCommentaire)
+        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_3.setSpacing(0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout_2.setSpacing(6)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.frame_2 = QtWidgets.QFrame(WidgetCommentaire)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.frame_2.sizePolicy().hasHeightForWidth())
+        self.frame_2.setSizePolicy(sizePolicy)
+        self.frame_2.setFrameShape(QtWidgets.QFrame.Box)
+        self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.frame_2.setObjectName("frame_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.frame_2)
+        self.horizontalLayout.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout.setSpacing(6)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(self.frame_2)
+        self.RBValide.setMinimumSize(QtCore.QSize(17, 31))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBValide.setToolTip("")
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(21, 31))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        spacerItem1 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.labelNomCommande = QtWidgets.QLabel(self.frame_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.labelNomCommande.sizePolicy().hasHeightForWidth())
+        self.labelNomCommande.setSizePolicy(sizePolicy)
+        self.labelNomCommande.setMinimumSize(QtCore.QSize(150, 31))
+        self.labelNomCommande.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.labelNomCommande.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.labelNomCommande.setObjectName("labelNomCommande")
+        self.horizontalLayout.addWidget(self.labelNomCommande)
+        spacerItem2 = QtWidgets.QSpacerItem(78, 40, QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.RBPoubelle = QtWidgets.QToolButton(self.frame_2)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout.addWidget(self.RBPoubelle)
+        self.RBValide.raise_()
+        self.labelNomCommande.raise_()
+        self.RBPoubelle.raise_()
+        self.horizontalLayout_2.addWidget(self.frame_2)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_2.setSpacing(6)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.bCatalogue = QtWidgets.QPushButton(WidgetCommentaire)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bCatalogue.sizePolicy().hasHeightForWidth())
+        self.bCatalogue.setSizePolicy(sizePolicy)
+        self.bCatalogue.setMinimumSize(QtCore.QSize(160, 31))
+        self.bCatalogue.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.bCatalogue.setAutoDefault(True)
+        self.bCatalogue.setDefault(True)
+        self.bCatalogue.setObjectName("bCatalogue")
+        self.verticalLayout_2.addWidget(self.bCatalogue)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout_3.setSpacing(6)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.bAvant = QtWidgets.QPushButton(WidgetCommentaire)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bAvant.sizePolicy().hasHeightForWidth())
+        self.bAvant.setSizePolicy(sizePolicy)
+        self.bAvant.setMinimumSize(QtCore.QSize(60, 24))
+        self.bAvant.setMaximumSize(QtCore.QSize(60, 24))
+        self.bAvant.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.bAvant.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.bAvant.setAutoDefault(True)
+        self.bAvant.setDefault(True)
+        self.bAvant.setObjectName("bAvant")
+        self.horizontalLayout_3.addWidget(self.bAvant)
+        self.bApres = QtWidgets.QPushButton(WidgetCommentaire)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bApres.sizePolicy().hasHeightForWidth())
+        self.bApres.setSizePolicy(sizePolicy)
+        self.bApres.setMinimumSize(QtCore.QSize(60, 24))
+        self.bApres.setMaximumSize(QtCore.QSize(60, 24))
+        self.bApres.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.bApres.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.bApres.setAutoDefault(True)
+        self.bApres.setDefault(True)
+        self.bApres.setObjectName("bApres")
+        self.horizontalLayout_3.addWidget(self.bApres)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_2)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_2)
+        self.scrollAreaCommandes = QtWidgets.QScrollArea(WidgetCommentaire)
+        self.scrollAreaCommandes.setMinimumSize(QtCore.QSize(0, 0))
+        self.scrollAreaCommandes.setStyleSheet("\n"
+"\n"
+"\n"
+"")
+        self.scrollAreaCommandes.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollAreaCommandes.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
+        self.scrollAreaCommandes.setWidgetResizable(True)
+        self.scrollAreaCommandes.setObjectName("scrollAreaCommandes")
+        self.scrollAreaWidgetContents = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 1031, 110))
+        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents)
+        self.verticalLayout.setContentsMargins(0, 11, 0, 11)
+        self.verticalLayout.setSpacing(6)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.commentaireLE = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.commentaireLE.sizePolicy().hasHeightForWidth())
+        self.commentaireLE.setSizePolicy(sizePolicy)
+        self.commentaireLE.setMinimumSize(QtCore.QSize(0, 43))
+        self.commentaireLE.setMaximumSize(QtCore.QSize(16777215, 43))
+        self.commentaireLE.setStyleSheet("background : rgb(247,247,247)")
+        self.commentaireLE.setFrame(False)
+        self.commentaireLE.setObjectName("commentaireLE")
+        self.verticalLayout.addWidget(self.commentaireLE)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 32, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem3)
+        self.scrollAreaCommandes.setWidget(self.scrollAreaWidgetContents)
+        self.verticalLayout_3.addWidget(self.scrollAreaCommandes)
+
+        self.retranslateUi(WidgetCommentaire)
+        QtCore.QMetaObject.connectSlotsByName(WidgetCommentaire)
+        WidgetCommentaire.setTabOrder(self.RBPoubelle, self.bCatalogue)
+        WidgetCommentaire.setTabOrder(self.bCatalogue, self.RBValide)
+        WidgetCommentaire.setTabOrder(self.RBValide, self.scrollAreaCommandes)
+
+    def retranslateUi(self, WidgetCommentaire):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetCommentaire.setWindowTitle(_translate("WidgetCommentaire", "DCommandeUnique"))
+        self.RBValide.setText(_translate("WidgetCommentaire", "..."))
+        self.labelNomCommande.setText(_translate("WidgetCommentaire", "<html><head/><body><p><span style=\" color:#0000ff;\">Commentaire</span></p></body></html>"))
+        self.RBPoubelle.setToolTip(_translate("WidgetCommentaire", "Détruit le commentaire"))
+        self.RBPoubelle.setText(_translate("WidgetCommentaire", "..."))
+        self.bCatalogue.setToolTip(_translate("WidgetCommentaire", "Affiche les commandes possibles"))
+        self.bCatalogue.setText(_translate("WidgetCommentaire", "&Commandes"))
+        self.bCatalogue.setShortcut(_translate("WidgetCommentaire", "Shift+A, Alt+A, Alt+A, Alt+A"))
+        self.bAvant.setToolTip(_translate("WidgetCommentaire", "Affiche le formulaire de la commande précédente"))
+        self.bAvant.setText(_translate("WidgetCommentaire", "<<"))
+        self.bAvant.setShortcut(_translate("WidgetCommentaire", "Shift+A, Alt+A, Alt+A, Alt+A"))
+        self.bApres.setToolTip(_translate("WidgetCommentaire", "Affiche le formulaire de la commande suivante"))
+        self.bApres.setText(_translate("WidgetCommentaire", ">>"))
+        self.bApres.setShortcut(_translate("WidgetCommentaire", "Shift+A, Alt+A, Alt+A, Alt+A"))
+
+from monBoutonValide import MonBoutonValide
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetCommentaire = QtWidgets.QWidget()
+    ui = Ui_WidgetCommentaire()
+    ui.setupUi(WidgetCommentaire)
+    WidgetCommentaire.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetCommentaire.ui b/UiQT5/desWidgetCommentaire.ui
new file mode 100644 (file)
index 0000000..c694697
--- /dev/null
@@ -0,0 +1,452 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetCommentaire</class>
+ <widget class="QWidget" name="WidgetCommentaire">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1031</width>
+    <height>177</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>DCommandeUnique</string>
+  </property>
+  <property name="toolTip">
+   <string/>
+  </property>
+  <property name="styleSheet">
+   <string notr="true">background-color : rgb(224,223,222);
+font : 'times' 9px</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_3">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_2">
+     <item>
+      <widget class="QFrame" name="frame_2">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::Box</enum>
+       </property>
+       <property name="frameShadow">
+        <enum>QFrame::Raised</enum>
+       </property>
+       <layout class="QHBoxLayout" name="horizontalLayout">
+        <item>
+         <spacer name="horizontalSpacer_5">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Fixed</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>13</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="MonBoutonValide" name="RBValide">
+          <property name="minimumSize">
+           <size>
+            <width>17</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="toolTip">
+           <string/>
+          </property>
+          <property name="styleSheet">
+           <string notr="true">border : 0px</string>
+          </property>
+          <property name="text">
+           <string>...</string>
+          </property>
+          <property name="icon">
+           <iconset>
+            <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+          </property>
+          <property name="iconSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_3">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Fixed</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>13</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QLabel" name="labelNomCommande">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>150</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="frameShape">
+           <enum>QFrame::NoFrame</enum>
+          </property>
+          <property name="frameShadow">
+           <enum>QFrame::Raised</enum>
+          </property>
+          <property name="text">
+           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;Commentaire&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_2">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Maximum</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>78</width>
+            <height>40</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QToolButton" name="RBPoubelle">
+          <property name="minimumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="toolTip">
+           <string>Détruit le commentaire</string>
+          </property>
+          <property name="styleSheet">
+           <string notr="true">border : 0px</string>
+          </property>
+          <property name="text">
+           <string>...</string>
+          </property>
+          <property name="icon">
+           <iconset>
+            <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+          </property>
+          <property name="iconSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+         </widget>
+        </item>
+       </layout>
+       <zorder>RBValide</zorder>
+       <zorder>labelNomCommande</zorder>
+       <zorder>horizontalSpacer_3</zorder>
+       <zorder>RBPoubelle</zorder>
+       <zorder>horizontalSpacer_5</zorder>
+      </widget>
+     </item>
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <item>
+        <widget class="QPushButton" name="bCatalogue">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>160</width>
+           <height>31</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Affiche les commandes possibles</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+         </property>
+         <property name="text">
+          <string>&amp;Commandes</string>
+         </property>
+         <property name="shortcut">
+          <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>
+        </widget>
+       </item>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout_3">
+         <item>
+          <widget class="QPushButton" name="bAvant">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="focusPolicy">
+            <enum>Qt::ClickFocus</enum>
+           </property>
+           <property name="toolTip">
+            <string>Affiche le formulaire de la commande précédente</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+           </property>
+           <property name="text">
+            <string>&lt;&lt;</string>
+           </property>
+           <property name="shortcut">
+            <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>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="bApres">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="focusPolicy">
+            <enum>Qt::ClickFocus</enum>
+           </property>
+           <property name="toolTip">
+            <string>Affiche le formulaire de la commande suivante</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+           </property>
+           <property name="text">
+            <string>&gt;&gt;</string>
+           </property>
+           <property name="shortcut">
+            <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>
+          </widget>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QScrollArea" name="scrollAreaCommandes">
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>0</height>
+      </size>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">
+
+
+</string>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="verticalScrollBarPolicy">
+      <enum>Qt::ScrollBarAsNeeded</enum>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <widget class="QWidget" name="scrollAreaWidgetContents">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>1031</width>
+        <height>110</height>
+       </rect>
+      </property>
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <property name="leftMargin">
+        <number>0</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="QLineEdit" name="commentaireLE">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>43</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>16777215</width>
+           <height>43</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background : rgb(247,247,247)</string>
+         </property>
+         <property name="frame">
+          <bool>false</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="verticalSpacer">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>32</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>RBPoubelle</tabstop>
+  <tabstop>bCatalogue</tabstop>
+  <tabstop>RBValide</tabstop>
+  <tabstop>scrollAreaCommandes</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetCreeParam.py b/UiQT5/desWidgetCreeParam.py
new file mode 100644 (file)
index 0000000..37a32f3
--- /dev/null
@@ -0,0 +1,124 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetCreeParam.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_desWidgetCreeParam(object):
+    def setupUi(self, desWidgetCreeParam):
+        desWidgetCreeParam.setObjectName("desWidgetCreeParam")
+        desWidgetCreeParam.resize(728, 530)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout(desWidgetCreeParam)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.scrollArea = QtWidgets.QScrollArea(desWidgetCreeParam)
+        self.scrollArea.setMinimumSize(QtCore.QSize(701, 291))
+        self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollArea.setWidgetResizable(True)
+        self.scrollArea.setObjectName("scrollArea")
+        self.scrollAreaWidgetContents = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 710, 349))
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollAreaWidgetContents.sizePolicy().hasHeightForWidth())
+        self.scrollAreaWidgetContents.setSizePolicy(sizePolicy)
+        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setSpacing(0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.LBParam = QtWidgets.QListWidget(self.scrollAreaWidgetContents)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.LBParam.sizePolicy().hasHeightForWidth())
+        self.LBParam.setSizePolicy(sizePolicy)
+        self.LBParam.setMinimumSize(QtCore.QSize(701, 291))
+        self.LBParam.setStyleSheet("alternate-background-color:rgb(235,235,235); \n"
+"background-color: rgb(247,247,247);\n"
+"")
+        self.LBParam.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.LBParam.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.LBParam.setAlternatingRowColors(True)
+        self.LBParam.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection)
+        self.LBParam.setObjectName("LBParam")
+        self.verticalLayout.addWidget(self.LBParam)
+        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
+        self.verticalLayout_2.addWidget(self.scrollArea)
+        spacerItem = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
+        self.verticalLayout_2.addItem(spacerItem)
+        self.frame = QtWidgets.QFrame(desWidgetCreeParam)
+        self.frame.setMinimumSize(QtCore.QSize(701, 131))
+        self.frame.setStyleSheet("background:rgb(247,247,247)")
+        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
+        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.frame.setObjectName("frame")
+        self.layoutWidget = QtWidgets.QWidget(self.frame)
+        self.layoutWidget.setGeometry(QtCore.QRect(30, 40, 531, 70))
+        self.layoutWidget.setObjectName("layoutWidget")
+        self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget)
+        self.gridLayout.setObjectName("gridLayout")
+        self.lineEditVal = QtWidgets.QLineEdit(self.layoutWidget)
+        self.lineEditVal.setMinimumSize(QtCore.QSize(231, 31))
+        self.lineEditVal.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal.setFrame(False)
+        self.lineEditVal.setObjectName("lineEditVal")
+        self.gridLayout.addWidget(self.lineEditVal, 1, 1, 1, 1)
+        self.textLabel2_2 = QtWidgets.QLabel(self.layoutWidget)
+        self.textLabel2_2.setWordWrap(False)
+        self.textLabel2_2.setObjectName("textLabel2_2")
+        self.gridLayout.addWidget(self.textLabel2_2, 0, 0, 1, 1)
+        self.lineEditNom = QtWidgets.QLineEdit(self.layoutWidget)
+        self.lineEditNom.setMinimumSize(QtCore.QSize(231, 31))
+        self.lineEditNom.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditNom.setFrame(False)
+        self.lineEditNom.setObjectName("lineEditNom")
+        self.gridLayout.addWidget(self.lineEditNom, 0, 1, 1, 1)
+        self.textLabel2 = QtWidgets.QLabel(self.layoutWidget)
+        self.textLabel2.setWordWrap(False)
+        self.textLabel2.setObjectName("textLabel2")
+        self.gridLayout.addWidget(self.textLabel2, 1, 0, 1, 1)
+        self.layoutWidget_2 = QtWidgets.QWidget(self.frame)
+        self.layoutWidget_2.setGeometry(QtCore.QRect(30, 10, 531, 22))
+        self.layoutWidget_2.setObjectName("layoutWidget_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.layoutWidget_2)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.textLabel2_2_2 = QtWidgets.QLabel(self.layoutWidget_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Ignored)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.textLabel2_2_2.sizePolicy().hasHeightForWidth())
+        self.textLabel2_2_2.setSizePolicy(sizePolicy)
+        self.textLabel2_2_2.setWordWrap(False)
+        self.textLabel2_2_2.setObjectName("textLabel2_2_2")
+        self.horizontalLayout_2.addWidget(self.textLabel2_2_2)
+        spacerItem1 = QtWidgets.QSpacerItem(288, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem1)
+        self.verticalLayout_2.addWidget(self.frame)
+
+        self.retranslateUi(desWidgetCreeParam)
+        QtCore.QMetaObject.connectSlotsByName(desWidgetCreeParam)
+
+    def retranslateUi(self, desWidgetCreeParam):
+        _translate = QtCore.QCoreApplication.translate
+        desWidgetCreeParam.setWindowTitle(_translate("desWidgetCreeParam", "Gestion des Paramètres"))
+        self.textLabel2_2.setText(_translate("desWidgetCreeParam", "<html><head/><body><p>Nom: </p></body></html>"))
+        self.textLabel2.setText(_translate("desWidgetCreeParam", "<html><head/><body><p>Valeur: </p></body></html>"))
+        self.textLabel2_2_2.setText(_translate("desWidgetCreeParam", "<html><head/><body><p><span style=\" text-decoration: underline;\">Créer un paramètre</span></p></body></html>"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    desWidgetCreeParam = QtWidgets.QWidget()
+    ui = Ui_desWidgetCreeParam()
+    ui.setupUi(desWidgetCreeParam)
+    desWidgetCreeParam.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetCreeParam.ui b/UiQT5/desWidgetCreeParam.ui
new file mode 100644 (file)
index 0000000..787f61c
--- /dev/null
@@ -0,0 +1,236 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>desWidgetCreeParam</class>
+ <widget class="QWidget" name="desWidgetCreeParam">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>728</width>
+    <height>530</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Gestion des Paramètres</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <item>
+    <widget class="QScrollArea" name="scrollArea">
+     <property name="minimumSize">
+      <size>
+       <width>701</width>
+       <height>291</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <widget class="QWidget" name="scrollAreaWidgetContents">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>710</width>
+        <height>349</height>
+       </rect>
+      </property>
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="margin">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="QListWidget" name="LBParam">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>701</width>
+           <height>291</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">alternate-background-color:rgb(235,235,235); 
+background-color: rgb(247,247,247);
+</string>
+         </property>
+         <property name="frameShape">
+          <enum>QFrame::NoFrame</enum>
+         </property>
+         <property name="frameShadow">
+          <enum>QFrame::Raised</enum>
+         </property>
+         <property name="alternatingRowColors">
+          <bool>true</bool>
+         </property>
+         <property name="selectionMode">
+          <enum>QAbstractItemView::SingleSelection</enum>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::Fixed</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>20</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <widget class="QFrame" name="frame">
+     <property name="minimumSize">
+      <size>
+       <width>701</width>
+       <height>131</height>
+      </size>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background:rgb(247,247,247)</string>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::StyledPanel</enum>
+     </property>
+     <property name="frameShadow">
+      <enum>QFrame::Raised</enum>
+     </property>
+     <widget class="QWidget" name="layoutWidget">
+      <property name="geometry">
+       <rect>
+        <x>30</x>
+        <y>40</y>
+        <width>531</width>
+        <height>70</height>
+       </rect>
+      </property>
+      <layout class="QGridLayout" name="gridLayout">
+       <item row="1" column="1">
+        <widget class="QLineEdit" name="lineEditVal">
+         <property name="minimumSize">
+          <size>
+           <width>231</width>
+           <height>31</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+         </property>
+         <property name="frame">
+          <bool>false</bool>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="0">
+        <widget class="QLabel" name="textLabel2_2">
+         <property name="text">
+          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Nom: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+         </property>
+         <property name="wordWrap">
+          <bool>false</bool>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="1">
+        <widget class="QLineEdit" name="lineEditNom">
+         <property name="minimumSize">
+          <size>
+           <width>231</width>
+           <height>31</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+         </property>
+         <property name="frame">
+          <bool>false</bool>
+         </property>
+        </widget>
+       </item>
+       <item row="1" column="0">
+        <widget class="QLabel" name="textLabel2">
+         <property name="text">
+          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Valeur: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+         </property>
+         <property name="wordWrap">
+          <bool>false</bool>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="layoutWidget_2">
+      <property name="geometry">
+       <rect>
+        <x>30</x>
+        <y>10</y>
+        <width>531</width>
+        <height>22</height>
+       </rect>
+      </property>
+      <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <item>
+        <widget class="QLabel" name="textLabel2_2_2">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Ignored">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="text">
+          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; text-decoration: underline;&quot;&gt;Créer un paramètre&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+         </property>
+         <property name="wordWrap">
+          <bool>false</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>288</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetDate.py b/UiQT5/desWidgetDate.py
new file mode 100644 (file)
index 0000000..f869ec6
--- /dev/null
@@ -0,0 +1,120 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetDate.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetDate(object):
+    def setupUi(self, WidgetDate):
+        WidgetDate.setObjectName("WidgetDate")
+        WidgetDate.resize(736, 62)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetDate.sizePolicy().hasHeightForWidth())
+        WidgetDate.setSizePolicy(sizePolicy)
+        WidgetDate.setMinimumSize(QtCore.QSize(0, 0))
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(WidgetDate)
+        self.horizontalLayout_3.setContentsMargins(0, 1, 0, 1)
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetDate)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout_2.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout_3.addLayout(self.verticalLayout_2)
+        self.label = MonLabelClic(WidgetDate)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_3.addWidget(self.label)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_2 = QtWidgets.QLabel(WidgetDate)
+        self.label_2.setText("")
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.dateEdit = QtWidgets.QDateEdit(WidgetDate)
+        self.dateEdit.setObjectName("dateEdit")
+        self.horizontalLayout.addWidget(self.dateEdit)
+        spacerItem3 = QtWidgets.QSpacerItem(411, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem3)
+        self.label_5 = QtWidgets.QLabel(WidgetDate)
+        self.label_5.setText("")
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout.addWidget(self.label_5)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetDate)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout.addWidget(self.RBPoubelle)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem4)
+        self.horizontalLayout_3.addLayout(self.verticalLayout)
+
+        self.retranslateUi(WidgetDate)
+        QtCore.QMetaObject.connectSlotsByName(WidgetDate)
+
+    def retranslateUi(self, WidgetDate):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetDate.setWindowTitle(_translate("WidgetDate", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetDate", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetDate", "..."))
+        self.label.setText(_translate("WidgetDate", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.RBPoubelle.setToolTip(_translate("WidgetDate", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetDate", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetDate = QtWidgets.QWidget()
+    ui = Ui_WidgetDate()
+    ui.setupUi(WidgetDate)
+    WidgetDate.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetDate.ui b/UiQT5/desWidgetDate.ui
new file mode 100644 (file)
index 0000000..873ab4f
--- /dev/null
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetDate</class>
+ <widget class="QWidget" name="WidgetDate">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>736</width>
+    <height>62</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_3">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>1</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>1</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <item>
+        <widget class="QLabel" name="label_2">
+         <property name="text">
+          <string/>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Preferred</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QDateEdit" name="dateEdit"/>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>411</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QLabel" name="label_5">
+         <property name="text">
+          <string/>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QToolButton" name="RBPoubelle">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Détruit le mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetFact.py b/UiQT5/desWidgetFact.py
new file mode 100644 (file)
index 0000000..7bff4c3
--- /dev/null
@@ -0,0 +1,164 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetFact.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetFact(object):
+    def setupUi(self, WidgetFact):
+        WidgetFact.setObjectName("WidgetFact")
+        WidgetFact.resize(949, 49)
+        WidgetFact.setFocusPolicy(QtCore.Qt.StrongFocus)
+        WidgetFact.setStyleSheet(" QGroupBox {\n"
+"     border: 1px solid gray;\n"
+"     border-radius: 5px;\n"
+"     margin-top: 1ex; /* leave space at the top for the title */\n"
+" }\n"
+"\n"
+" QGroupBox::title {\n"
+"     padding: 0 3px;\n"
+" }")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(WidgetFact)
+        self.horizontalLayout_3.setContentsMargins(0, 2, 0, 0)
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setSpacing(0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        spacerItem = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
+        self.verticalLayout.addItem(spacerItem)
+        self.RBPlie = QtWidgets.QToolButton(WidgetFact)
+        self.RBPlie.setMinimumSize(QtCore.QSize(21, 15))
+        self.RBPlie.setMaximumSize(QtCore.QSize(21, 21))
+        self.RBPlie.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/minusnode.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPlie.setIcon(icon)
+        self.RBPlie.setIconSize(QtCore.QSize(21, 21))
+        self.RBPlie.setObjectName("RBPlie")
+        self.verticalLayout.addWidget(self.RBPlie)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.line_7 = QtWidgets.QFrame(WidgetFact)
+        self.line_7.setFrameShape(QtWidgets.QFrame.VLine)
+        self.line_7.setFrameShadow(QtWidgets.QFrame.Sunken)
+        self.line_7.setObjectName("line_7")
+        self.horizontalLayout_4.addWidget(self.line_7)
+        self.verticalLayout.addLayout(self.horizontalLayout_4)
+        self.horizontalLayout_3.addLayout(self.verticalLayout)
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setHorizontalSpacing(0)
+        self.gridLayout.setObjectName("gridLayout")
+        self.RBValide = MonBoutonValide(WidgetFact)
+        self.RBValide.setMinimumSize(QtCore.QSize(17, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon1)
+        self.RBValide.setIconSize(QtCore.QSize(21, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.gridLayout.addWidget(self.RBValide, 0, 0, 1, 1)
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.GroupBox = MonLabelClic(WidgetFact)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.GroupBox.sizePolicy().hasHeightForWidth())
+        self.GroupBox.setSizePolicy(sizePolicy)
+        self.GroupBox.setMinimumSize(QtCore.QSize(0, 25))
+        self.GroupBox.setMaximumSize(QtCore.QSize(12121213, 25))
+        self.GroupBox.setObjectName("GroupBox")
+        self.horizontalLayout.addWidget(self.GroupBox)
+        spacerItem1 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.line_4 = QtWidgets.QFrame(WidgetFact)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.line_4.sizePolicy().hasHeightForWidth())
+        self.line_4.setSizePolicy(sizePolicy)
+        self.line_4.setMinimumSize(QtCore.QSize(200, 0))
+        self.line_4.setMaximumSize(QtCore.QSize(1500, 16))
+        self.line_4.setFrameShape(QtWidgets.QFrame.HLine)
+        self.line_4.setFrameShadow(QtWidgets.QFrame.Sunken)
+        self.line_4.setObjectName("line_4")
+        self.horizontalLayout.addWidget(self.line_4)
+        spacerItem2 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.RBInfo = QtWidgets.QToolButton(WidgetFact)
+        self.RBInfo.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBInfo.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBInfo.setStyleSheet("border : 0px")
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap("../Editeur/icons/point-interrogation30.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBInfo.setIcon(icon2)
+        self.RBInfo.setIconSize(QtCore.QSize(21, 25))
+        self.RBInfo.setObjectName("RBInfo")
+        self.horizontalLayout_2.addWidget(self.RBInfo)
+        self.RBRegle = QtWidgets.QToolButton(WidgetFact)
+        self.RBRegle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBRegle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBRegle.setStyleSheet("border : 0px")
+        icon3 = QtGui.QIcon()
+        icon3.addPixmap(QtGui.QPixmap("../Editeur/icons/lettreRblanc30.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBRegle.setIcon(icon3)
+        self.RBRegle.setIconSize(QtCore.QSize(21, 25))
+        self.RBRegle.setObjectName("RBRegle")
+        self.horizontalLayout_2.addWidget(self.RBRegle)
+        self.horizontalLayout.addLayout(self.horizontalLayout_2)
+        spacerItem3 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem3)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetFact)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon4 = QtGui.QIcon()
+        icon4.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon4)
+        self.RBPoubelle.setIconSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout.addWidget(self.RBPoubelle)
+        self.gridLayout.addLayout(self.horizontalLayout, 0, 1, 1, 1)
+        self.commandesLayout = QtWidgets.QVBoxLayout()
+        self.commandesLayout.setContentsMargins(-1, 2, -1, -1)
+        self.commandesLayout.setSpacing(0)
+        self.commandesLayout.setObjectName("commandesLayout")
+        self.gridLayout.addLayout(self.commandesLayout, 1, 1, 1, 1)
+        self.horizontalLayout_3.addLayout(self.gridLayout)
+
+        self.retranslateUi(WidgetFact)
+        QtCore.QMetaObject.connectSlotsByName(WidgetFact)
+
+    def retranslateUi(self, WidgetFact):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetFact.setWindowTitle(_translate("WidgetFact", "Form"))
+        self.RBPlie.setText(_translate("WidgetFact", "..."))
+        self.RBValide.setText(_translate("WidgetFact", "..."))
+        self.GroupBox.setText(_translate("WidgetFact", "<html><head/><body><p><span style=\" font-style:italic;\">TextLabel</span></p></body></html>"))
+        self.RBInfo.setText(_translate("WidgetFact", "..."))
+        self.RBRegle.setText(_translate("WidgetFact", "..."))
+        self.RBPoubelle.setText(_translate("WidgetFact", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetFact = QtWidgets.QWidget()
+    ui = Ui_WidgetFact()
+    ui.setupUi(WidgetFact)
+    WidgetFact.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetFact.ui b/UiQT5/desWidgetFact.ui
new file mode 100644 (file)
index 0000000..ac20023
--- /dev/null
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetFact</class>
+ <widget class="QWidget" name="WidgetFact">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>949</width>
+    <height>49</height>
+   </rect>
+  </property>
+  <property name="focusPolicy">
+   <enum>Qt::StrongFocus</enum>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true"> QGroupBox {
+     border: 1px solid gray;
+     border-radius: 5px;
+     margin-top: 1ex; /* leave space at the top for the title */
+ }
+
+ QGroupBox::title {
+     padding: 0 3px;
+ }</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_3">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>2</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Fixed</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QToolButton" name="RBPlie">
+       <property name="minimumSize">
+        <size>
+         <width>21</width>
+         <height>15</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>21</width>
+         <height>21</height>
+        </size>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/minusnode.png</normaloff>../Editeur/icons/minusnode.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>21</width>
+         <height>21</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_4">
+       <item>
+        <widget class="Line" name="line_7">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QGridLayout" name="gridLayout">
+     <property name="horizontalSpacing">
+      <number>0</number>
+     </property>
+     <item row="0" column="0">
+      <widget class="MonBoutonValide" name="RBValide">
+       <property name="minimumSize">
+        <size>
+         <width>17</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>21</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>21</width>
+         <height>25</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1">
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="MonLabelClic" name="GroupBox">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>12121213</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="text">
+          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;TextLabel&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>13</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="Line" name="line_4">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>200</width>
+           <height>0</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>1500</width>
+           <height>16</height>
+          </size>
+         </property>
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>13</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout_2">
+         <property name="spacing">
+          <number>0</number>
+         </property>
+         <property name="sizeConstraint">
+          <enum>QLayout::SetFixedSize</enum>
+         </property>
+         <item>
+          <widget class="QToolButton" name="RBInfo">
+           <property name="minimumSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">border : 0px</string>
+           </property>
+           <property name="text">
+            <string>...</string>
+           </property>
+           <property name="icon">
+            <iconset>
+             <normaloff>../Editeur/icons/point-interrogation30.png</normaloff>../Editeur/icons/point-interrogation30.png</iconset>
+           </property>
+           <property name="iconSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QToolButton" name="RBRegle">
+           <property name="minimumSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">border : 0px</string>
+           </property>
+           <property name="text">
+            <string>...</string>
+           </property>
+           <property name="icon">
+            <iconset>
+             <normaloff>../Editeur/icons/lettreRblanc30.png</normaloff>../Editeur/icons/lettreRblanc30.png</iconset>
+           </property>
+           <property name="iconSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>13</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QToolButton" name="RBPoubelle">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item row="1" column="1">
+      <layout class="QVBoxLayout" name="commandesLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="topMargin">
+        <number>2</number>
+       </property>
+      </layout>
+     </item>
+    </layout>
+   </item>
+  </layout>
+  <zorder></zorder>
+  <zorder></zorder>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetFactPlie.py b/UiQT5/desWidgetFactPlie.py
new file mode 100644 (file)
index 0000000..99c5eea
--- /dev/null
@@ -0,0 +1,119 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetFactPlie.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetFactPlie(object):
+    def setupUi(self, WidgetFactPlie):
+        WidgetFactPlie.setObjectName("WidgetFactPlie")
+        WidgetFactPlie.resize(727, 27)
+        WidgetFactPlie.setStyleSheet(" QGroupBox {\n"
+"     border: 1px solid gray;\n"
+"     border-radius: 5px;\n"
+"     margin-top: 1ex; /* leave space at the top for the title */\n"
+" }\n"
+"\n"
+" QGroupBox::title {\n"
+"     padding: 0 3px;\n"
+" }")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(WidgetFactPlie)
+        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.RBDeplie = QtWidgets.QToolButton(WidgetFactPlie)
+        self.RBDeplie.setMinimumSize(QtCore.QSize(21, 15))
+        self.RBDeplie.setMaximumSize(QtCore.QSize(21, 21))
+        self.RBDeplie.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/plusnode.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBDeplie.setIcon(icon)
+        self.RBDeplie.setIconSize(QtCore.QSize(25, 25))
+        self.RBDeplie.setObjectName("RBDeplie")
+        self.horizontalLayout.addWidget(self.RBDeplie)
+        self.widget_5 = QtWidgets.QWidget(WidgetFactPlie)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.widget_5.sizePolicy().hasHeightForWidth())
+        self.widget_5.setSizePolicy(sizePolicy)
+        self.widget_5.setObjectName("widget_5")
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.widget_5)
+        self.horizontalLayout_5.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout_5.setSpacing(0)
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.RBValide = MonBoutonValide(self.widget_5)
+        self.RBValide.setMinimumSize(QtCore.QSize(17, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon1)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout_5.addWidget(self.RBValide)
+        self.horizontalLayout.addWidget(self.widget_5)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSpacing(22)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.groupBox = MonLabelClic(WidgetFactPlie)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.groupBox.sizePolicy().hasHeightForWidth())
+        self.groupBox.setSizePolicy(sizePolicy)
+        self.groupBox.setMinimumSize(QtCore.QSize(0, 25))
+        self.groupBox.setMaximumSize(QtCore.QSize(12121213, 25))
+        self.groupBox.setObjectName("groupBox")
+        self.horizontalLayout_2.addWidget(self.groupBox)
+        self.line_5 = QtWidgets.QFrame(WidgetFactPlie)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.line_5.sizePolicy().hasHeightForWidth())
+        self.line_5.setSizePolicy(sizePolicy)
+        self.line_5.setMinimumSize(QtCore.QSize(500, 0))
+        self.line_5.setMaximumSize(QtCore.QSize(1500, 16))
+        self.line_5.setFrameShape(QtWidgets.QFrame.HLine)
+        self.line_5.setFrameShadow(QtWidgets.QFrame.Sunken)
+        self.line_5.setObjectName("line_5")
+        self.horizontalLayout_2.addWidget(self.line_5)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetFactPlie)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon2)
+        self.RBPoubelle.setIconSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout_2.addWidget(self.RBPoubelle)
+        self.horizontalLayout.addLayout(self.horizontalLayout_2)
+
+        self.retranslateUi(WidgetFactPlie)
+        QtCore.QMetaObject.connectSlotsByName(WidgetFactPlie)
+
+    def retranslateUi(self, WidgetFactPlie):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetFactPlie.setWindowTitle(_translate("WidgetFactPlie", "Form"))
+        self.RBDeplie.setText(_translate("WidgetFactPlie", "..."))
+        self.RBValide.setText(_translate("WidgetFactPlie", "..."))
+        self.groupBox.setText(_translate("WidgetFactPlie", "TextLabel"))
+        self.RBPoubelle.setText(_translate("WidgetFactPlie", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetFactPlie = QtWidgets.QWidget()
+    ui = Ui_WidgetFactPlie()
+    ui.setupUi(WidgetFactPlie)
+    WidgetFactPlie.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetFactPlie.ui b/UiQT5/desWidgetFactPlie.ui
new file mode 100644 (file)
index 0000000..57ccde0
--- /dev/null
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetFactPlie</class>
+ <widget class="QWidget" name="WidgetFactPlie">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>727</width>
+    <height>27</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true"> QGroupBox {
+     border: 1px solid gray;
+     border-radius: 5px;
+     margin-top: 1ex; /* leave space at the top for the title */
+ }
+
+ QGroupBox::title {
+     padding: 0 3px;
+ }</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <widget class="QToolButton" name="RBDeplie">
+     <property name="minimumSize">
+      <size>
+       <width>21</width>
+       <height>15</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>21</width>
+       <height>21</height>
+      </size>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">border : 0px</string>
+     </property>
+     <property name="text">
+      <string>...</string>
+     </property>
+     <property name="icon">
+      <iconset>
+       <normaloff>../Editeur/icons/plusnode.png</normaloff>../Editeur/icons/plusnode.png</iconset>
+     </property>
+     <property name="iconSize">
+      <size>
+       <width>25</width>
+       <height>25</height>
+      </size>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QWidget" name="widget_5" native="true">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout_5">
+      <property name="spacing">
+       <number>0</number>
+      </property>
+      <property name="margin">
+       <number>0</number>
+      </property>
+      <item>
+       <widget class="MonBoutonValide" name="RBValide">
+        <property name="minimumSize">
+         <size>
+          <width>17</width>
+          <height>25</height>
+         </size>
+        </property>
+        <property name="maximumSize">
+         <size>
+          <width>21</width>
+          <height>25</height>
+         </size>
+        </property>
+        <property name="styleSheet">
+         <string notr="true">border : 0px</string>
+        </property>
+        <property name="text">
+         <string>...</string>
+        </property>
+        <property name="icon">
+         <iconset>
+          <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+        </property>
+        <property name="iconSize">
+         <size>
+          <width>25</width>
+          <height>25</height>
+         </size>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_2">
+     <property name="spacing">
+      <number>22</number>
+     </property>
+     <item>
+      <widget class="MonLabelClic" name="groupBox">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>0</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>12121213</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="text">
+        <string>TextLabel</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="Line" name="line_5">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>500</width>
+         <height>0</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>1500</width>
+         <height>16</height>
+        </size>
+       </property>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QToolButton" name="RBPoubelle">
+       <property name="minimumSize">
+        <size>
+         <width>21</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>21</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>25</width>
+         <height>25</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetHeure.py b/UiQT5/desWidgetHeure.py
new file mode 100644 (file)
index 0000000..be8f3c7
--- /dev/null
@@ -0,0 +1,110 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetHeure.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetHeure(object):
+    def setupUi(self, WidgetHeure):
+        WidgetHeure.setObjectName("WidgetHeure")
+        WidgetHeure.resize(658, 61)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetHeure.sizePolicy().hasHeightForWidth())
+        WidgetHeure.setSizePolicy(sizePolicy)
+        WidgetHeure.setMinimumSize(QtCore.QSize(0, 0))
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(WidgetHeure)
+        self.horizontalLayout_3.setContentsMargins(0, 1, 0, 0)
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetHeure)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.horizontalLayout_3.addLayout(self.horizontalLayout)
+        self.label = MonLabelClic(WidgetHeure)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_3.addWidget(self.label)
+        self.label_2 = QtWidgets.QLabel(WidgetHeure)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_3.addWidget(self.label_2)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem1 = QtWidgets.QSpacerItem(17, 17, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem1)
+        self.timeEdit = QtWidgets.QTimeEdit(WidgetHeure)
+        self.timeEdit.setObjectName("timeEdit")
+        self.horizontalLayout_2.addWidget(self.timeEdit)
+        spacerItem2 = QtWidgets.QSpacerItem(454, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetHeure)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout_2.addWidget(self.RBPoubelle)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 3, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem3)
+        self.horizontalLayout_3.addLayout(self.verticalLayout)
+
+        self.retranslateUi(WidgetHeure)
+        QtCore.QMetaObject.connectSlotsByName(WidgetHeure)
+
+    def retranslateUi(self, WidgetHeure):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetHeure.setWindowTitle(_translate("WidgetHeure", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetHeure", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetHeure", "..."))
+        self.label.setText(_translate("WidgetHeure", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.label_2.setText(_translate("WidgetHeure", "<html><head/><body><p><br/></p></body></html>"))
+        self.RBPoubelle.setToolTip(_translate("WidgetHeure", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetHeure", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetHeure = QtWidgets.QWidget()
+    ui = Ui_WidgetHeure()
+    ui.setupUi(WidgetHeure)
+    WidgetHeure.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetHeure.ui b/UiQT5/desWidgetHeure.ui
new file mode 100644 (file)
index 0000000..03d5dfb
--- /dev/null
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetHeure</class>
+ <widget class="QWidget" name="WidgetHeure">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>658</width>
+    <height>61</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_3">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>1</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <property name="sizeConstraint">
+      <enum>QLayout::SetFixedSize</enum>
+     </property>
+     <item>
+      <spacer name="horizontalSpacer_3">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Fixed</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>21</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="MonBoutonValide" name="RBValide">
+       <property name="minimumSize">
+        <size>
+         <width>21</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>21</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="focusPolicy">
+        <enum>Qt::ClickFocus</enum>
+       </property>
+       <property name="toolTip">
+        <string>Affiche le rapport de validation du mot-clef</string>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>25</width>
+         <height>25</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="label_2">
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <item>
+        <spacer name="horizontalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Preferred</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>17</width>
+           <height>17</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QTimeEdit" name="timeEdit"/>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_4">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>454</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QToolButton" name="RBPoubelle">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Détruit le mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>3</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetInactif.py b/UiQT5/desWidgetInactif.py
new file mode 100644 (file)
index 0000000..6a7228b
--- /dev/null
@@ -0,0 +1,206 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetInactif.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetInactif(object):
+    def setupUi(self, WidgetInactif):
+        WidgetInactif.setObjectName("WidgetInactif")
+        WidgetInactif.resize(946, 495)
+        WidgetInactif.setMinimumSize(QtCore.QSize(350, 0))
+        self.verticalLayout = QtWidgets.QVBoxLayout(WidgetInactif)
+        self.verticalLayout.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout.setSpacing(6)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout_4.setSpacing(6)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.frame = QtWidgets.QFrame(WidgetInactif)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth())
+        self.frame.setSizePolicy(sizePolicy)
+        self.frame.setFrameShape(QtWidgets.QFrame.Box)
+        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.frame.setObjectName("frame")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.frame)
+        self.horizontalLayout.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = QtWidgets.QCheckBox(self.frame)
+        self.RBValide.setMinimumSize(QtCore.QSize(17, 31))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        self.RBValide.setText("")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-white-square.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(21, 31))
+        self.RBValide.setCheckable(False)
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        spacerItem1 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.labelNomCommande = MonLabelClic(self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.labelNomCommande.sizePolicy().hasHeightForWidth())
+        self.labelNomCommande.setSizePolicy(sizePolicy)
+        self.labelNomCommande.setMinimumSize(QtCore.QSize(150, 31))
+        self.labelNomCommande.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.labelNomCommande.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.labelNomCommande.setObjectName("labelNomCommande")
+        self.horizontalLayout.addWidget(self.labelNomCommande)
+        spacerItem2 = QtWidgets.QSpacerItem(2, 40, QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        spacerItem3 = QtWidgets.QSpacerItem(2, 40, QtWidgets.QSizePolicy.Ignored, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem3)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_2.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout_2.setSpacing(4)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.horizontalLayout.addLayout(self.horizontalLayout_2)
+        spacerItem4 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem4)
+        self.RBPoubelle = QtWidgets.QToolButton(self.frame)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout.addWidget(self.RBPoubelle)
+        self.RBValide.raise_()
+        self.labelNomCommande.raise_()
+        self.RBPoubelle.raise_()
+        self.horizontalLayout_4.addWidget(self.frame)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_2.setSpacing(6)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.bCatalogue = QtWidgets.QPushButton(WidgetInactif)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bCatalogue.sizePolicy().hasHeightForWidth())
+        self.bCatalogue.setSizePolicy(sizePolicy)
+        self.bCatalogue.setMinimumSize(QtCore.QSize(160, 31))
+        self.bCatalogue.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.bCatalogue.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.bCatalogue.setAutoDefault(True)
+        self.bCatalogue.setDefault(True)
+        self.bCatalogue.setObjectName("bCatalogue")
+        self.verticalLayout_2.addWidget(self.bCatalogue)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout_3.setSpacing(6)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.bAvant = QtWidgets.QPushButton(WidgetInactif)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bAvant.sizePolicy().hasHeightForWidth())
+        self.bAvant.setSizePolicy(sizePolicy)
+        self.bAvant.setMinimumSize(QtCore.QSize(60, 24))
+        self.bAvant.setMaximumSize(QtCore.QSize(60, 24))
+        self.bAvant.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.bAvant.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.bAvant.setAutoDefault(True)
+        self.bAvant.setDefault(True)
+        self.bAvant.setObjectName("bAvant")
+        self.horizontalLayout_3.addWidget(self.bAvant)
+        self.bApres = QtWidgets.QPushButton(WidgetInactif)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bApres.sizePolicy().hasHeightForWidth())
+        self.bApres.setSizePolicy(sizePolicy)
+        self.bApres.setMinimumSize(QtCore.QSize(60, 24))
+        self.bApres.setMaximumSize(QtCore.QSize(60, 24))
+        self.bApres.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.bApres.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.bApres.setAutoDefault(True)
+        self.bApres.setDefault(True)
+        self.bApres.setObjectName("bApres")
+        self.horizontalLayout_3.addWidget(self.bApres)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+        self.horizontalLayout_4.addLayout(self.verticalLayout_2)
+        self.verticalLayout.addLayout(self.horizontalLayout_4)
+        spacerItem5 = QtWidgets.QSpacerItem(20, 66, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem5)
+        self.textLabel1_3 = QtWidgets.QLabel(WidgetInactif)
+        self.textLabel1_3.setMinimumSize(QtCore.QSize(0, 0))
+        self.textLabel1_3.setWordWrap(False)
+        self.textLabel1_3.setObjectName("textLabel1_3")
+        self.verticalLayout.addWidget(self.textLabel1_3)
+        spacerItem6 = QtWidgets.QSpacerItem(20, 67, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem6)
+        self.textLabel1 = QtWidgets.QLabel(WidgetInactif)
+        self.textLabel1.setWordWrap(False)
+        self.textLabel1.setObjectName("textLabel1")
+        self.verticalLayout.addWidget(self.textLabel1)
+        spacerItem7 = QtWidgets.QSpacerItem(20, 66, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem7)
+
+        self.retranslateUi(WidgetInactif)
+        QtCore.QMetaObject.connectSlotsByName(WidgetInactif)
+
+    def retranslateUi(self, WidgetInactif):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetInactif.setWindowTitle(_translate("WidgetInactif", "DInactif"))
+        self.RBValide.setToolTip(_translate("WidgetInactif", "Affiche le rapport de validité de la commande"))
+        self.labelNomCommande.setText(_translate("WidgetInactif", "<html><head/><body><p><span style=\" color:#0000ff;\">commande </span></p></body></html>"))
+        self.RBPoubelle.setToolTip(_translate("WidgetInactif", "Détruit la commande"))
+        self.RBPoubelle.setText(_translate("WidgetInactif", "..."))
+        self.bCatalogue.setToolTip(_translate("WidgetInactif", "Affiche les commandes possibles"))
+        self.bCatalogue.setText(_translate("WidgetInactif", "&Commandes"))
+        self.bCatalogue.setShortcut(_translate("WidgetInactif", "Shift+A, Alt+A, Alt+A, Alt+A"))
+        self.bAvant.setToolTip(_translate("WidgetInactif", "Affiche le formulaire de la commande précédente"))
+        self.bAvant.setText(_translate("WidgetInactif", "<<"))
+        self.bAvant.setShortcut(_translate("WidgetInactif", "Shift+A, Alt+A, Alt+A, Alt+A"))
+        self.bApres.setToolTip(_translate("WidgetInactif", "Affiche le formulaire de la commande suivante"))
+        self.bApres.setText(_translate("WidgetInactif", ">>"))
+        self.bApres.setShortcut(_translate("WidgetInactif", "Shift+A, Alt+A, Alt+A, Alt+A"))
+        self.textLabel1_3.setText(_translate("WidgetInactif", "<html><head/><body><p align=\"center\"><span style=\" font-size:16pt;\">Le noeud sélectionné</span></p><p align=\"center\"><span style=\" font-size:16pt;\">ne correspond pas à un objet actif</span></p></body></html>"))
+        self.textLabel1.setText(_translate("WidgetInactif", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
+"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
+"p, li { white-space: pre-wrap; }\n"
+"</style></head><body style=\" font-family:\'Sans Serif\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
+"<p align=\"center\" style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large;\"><span style=\" font-size:x-large;\">Seules les commandes placées</span></p>\n"
+"<p align=\"center\" style=\" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large;\"><span style=\" font-size:x-large;\"> entre : DEBUT / FIN sont actives </span></p></body></html>"))
+
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetInactif = QtWidgets.QWidget()
+    ui = Ui_WidgetInactif()
+    ui.setupUi(WidgetInactif)
+    WidgetInactif.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetInactif.ui b/UiQT5/desWidgetInactif.ui
new file mode 100644 (file)
index 0000000..336a26f
--- /dev/null
@@ -0,0 +1,471 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetInactif</class>
+ <widget class="QWidget" name="WidgetInactif">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>946</width>
+    <height>495</height>
+   </rect>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>350</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>DInactif</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_4">
+     <item>
+      <widget class="QFrame" name="frame">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::Box</enum>
+       </property>
+       <property name="frameShadow">
+        <enum>QFrame::Raised</enum>
+       </property>
+       <layout class="QHBoxLayout" name="horizontalLayout">
+        <property name="spacing">
+         <number>0</number>
+        </property>
+        <item>
+         <spacer name="horizontalSpacer_5">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Fixed</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>13</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QCheckBox" name="RBValide">
+          <property name="minimumSize">
+           <size>
+            <width>17</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="focusPolicy">
+           <enum>Qt::ClickFocus</enum>
+          </property>
+          <property name="toolTip">
+           <string>Affiche le rapport de validité de la commande</string>
+          </property>
+          <property name="styleSheet">
+           <string notr="true">border : 0px</string>
+          </property>
+          <property name="text">
+           <string/>
+          </property>
+          <property name="icon">
+           <iconset>
+            <normaloff>../Editeur/icons/ast-white-square.png</normaloff>../Editeur/icons/ast-white-square.png</iconset>
+          </property>
+          <property name="iconSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="checkable">
+           <bool>false</bool>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_3">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Fixed</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>13</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="MonLabelClic" name="labelNomCommande">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>150</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="frameShape">
+           <enum>QFrame::NoFrame</enum>
+          </property>
+          <property name="frameShadow">
+           <enum>QFrame::Raised</enum>
+          </property>
+          <property name="text">
+           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;commande &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="toto">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Maximum</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>2</width>
+            <height>40</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_2">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Ignored</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>2</width>
+            <height>40</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <layout class="QHBoxLayout" name="horizontalLayout_2">
+          <property name="spacing">
+           <number>4</number>
+          </property>
+          <property name="sizeConstraint">
+           <enum>QLayout::SetFixedSize</enum>
+          </property>
+         </layout>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_4">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Fixed</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>13</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QToolButton" name="RBPoubelle">
+          <property name="minimumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="focusPolicy">
+           <enum>Qt::ClickFocus</enum>
+          </property>
+          <property name="toolTip">
+           <string>Détruit la commande</string>
+          </property>
+          <property name="styleSheet">
+           <string notr="true">border : 0px</string>
+          </property>
+          <property name="text">
+           <string>...</string>
+          </property>
+          <property name="icon">
+           <iconset>
+            <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+          </property>
+          <property name="iconSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+         </widget>
+        </item>
+       </layout>
+       <zorder>RBValide</zorder>
+       <zorder>labelNomCommande</zorder>
+       <zorder>horizontalSpacer_3</zorder>
+       <zorder>horizontalSpacer_4</zorder>
+       <zorder>RBPoubelle</zorder>
+       <zorder>horizontalSpacer_5</zorder>
+      </widget>
+     </item>
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <item>
+        <widget class="QPushButton" name="bCatalogue">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>160</width>
+           <height>31</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche les commandes possibles</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+         </property>
+         <property name="text">
+          <string>&amp;Commandes</string>
+         </property>
+         <property name="shortcut">
+          <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>
+        </widget>
+       </item>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout_3">
+         <item>
+          <widget class="QPushButton" name="bAvant">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="focusPolicy">
+            <enum>Qt::ClickFocus</enum>
+           </property>
+           <property name="toolTip">
+            <string>Affiche le formulaire de la commande précédente</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+           </property>
+           <property name="text">
+            <string>&lt;&lt;</string>
+           </property>
+           <property name="shortcut">
+            <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>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="bApres">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="focusPolicy">
+            <enum>Qt::ClickFocus</enum>
+           </property>
+           <property name="toolTip">
+            <string>Affiche le formulaire de la commande suivante</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+           </property>
+           <property name="text">
+            <string>&gt;&gt;</string>
+           </property>
+           <property name="shortcut">
+            <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>
+          </widget>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>66</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <widget class="QLabel" name="textLabel1_3">
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>0</height>
+      </size>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;Le noeud sélectionné&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;ne correspond pas à un objet actif&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="wordWrap">
+      <bool>false</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer_2">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>67</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <widget class="QLabel" name="textLabel1">
+     <property name="text">
+      <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large;&quot;&gt;&lt;span style=&quot; font-size:x-large;&quot;&gt;Seules les commandes placées&lt;/span&gt;&lt;/p&gt;
+&lt;p align=&quot;center&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:x-large;&quot;&gt;&lt;span style=&quot; font-size:x-large;&quot;&gt; entre : DEBUT / FIN sont actives &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="wordWrap">
+      <bool>false</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer_3">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>66</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <customwidgets>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetInformation.py b/UiQT5/desWidgetInformation.py
new file mode 100644 (file)
index 0000000..4238af8
--- /dev/null
@@ -0,0 +1,58 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetInformation.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetInformative(object):
+    def setupUi(self, WidgetInformative):
+        WidgetInformative.setObjectName("WidgetInformative")
+        WidgetInformative.resize(837, 44)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetInformative.sizePolicy().hasHeightForWidth())
+        WidgetInformative.setSizePolicy(sizePolicy)
+        WidgetInformative.setMinimumSize(QtCore.QSize(0, 0))
+        self.horizontalLayout = QtWidgets.QHBoxLayout(WidgetInformative)
+        self.horizontalLayout.setContentsMargins(0, 1, 0, 1)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(38, 17, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.lineEditVal = QtWidgets.QLineEdit(WidgetInformative)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal.sizePolicy().hasHeightForWidth())
+        self.lineEditVal.setSizePolicy(sizePolicy)
+        self.lineEditVal.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal.setMaximumSize(QtCore.QSize(16777215, 16777215))
+        self.lineEditVal.setStyleSheet("background:rgb(255,255,235);\n"
+"border:0px;")
+        self.lineEditVal.setObjectName("lineEditVal")
+        self.horizontalLayout.addWidget(self.lineEditVal)
+        spacerItem1 = QtWidgets.QSpacerItem(13, 17, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+
+        self.retranslateUi(WidgetInformative)
+        QtCore.QMetaObject.connectSlotsByName(WidgetInformative)
+
+    def retranslateUi(self, WidgetInformative):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetInformative.setWindowTitle(_translate("WidgetInformative", "Form"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetInformative = QtWidgets.QWidget()
+    ui = Ui_WidgetInformative()
+    ui.setupUi(WidgetInformative)
+    WidgetInformative.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetInformation.ui b/UiQT5/desWidgetInformation.ui
new file mode 100644 (file)
index 0000000..25e2933
--- /dev/null
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetInformative</class>
+ <widget class="QWidget" name="WidgetInformative">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>837</width>
+    <height>44</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>1</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>1</number>
+   </property>
+   <item>
+    <spacer name="horizontalSpacer_4">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::Fixed</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>38</width>
+       <height>17</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="lineEditVal">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+       <horstretch>1</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>16777215</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background:rgb(255,255,235);
+border:0px;</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="horizontalSpacer">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>13</width>
+       <height>17</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+  </layout>
+ </widget>
+ <tabstops>
+  <tabstop>lineEditVal</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetMatrice.py b/UiQT5/desWidgetMatrice.py
new file mode 100644 (file)
index 0000000..44ef7a3
--- /dev/null
@@ -0,0 +1,92 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetMatrice.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_desWidgetMatrice(object):
+    def setupUi(self, desWidgetMatrice):
+        desWidgetMatrice.setObjectName("desWidgetMatrice")
+        desWidgetMatrice.resize(802, 300)
+        self.horizontalLayout = QtWidgets.QHBoxLayout(desWidgetMatrice)
+        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout.setSpacing(4)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(desWidgetMatrice)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../../../../../../home/A96028/GitEficasTravail/eficas/Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout_2.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 15, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.PBrefresh = QtWidgets.QPushButton(desWidgetMatrice)
+        self.PBrefresh.setText("")
+        icon = QtGui.QIcon.fromTheme("view-refresh")
+        self.PBrefresh.setIcon(icon)
+        self.PBrefresh.setObjectName("PBrefresh")
+        self.verticalLayout_2.addWidget(self.PBrefresh)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem2)
+        self.horizontalLayout.addLayout(self.verticalLayout_2)
+        self.label = MonLabelClic(desWidgetMatrice)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.TBMatrice = QtWidgets.QTableWidget(desWidgetMatrice)
+        self.TBMatrice.setObjectName("TBMatrice")
+        self.TBMatrice.setColumnCount(0)
+        self.TBMatrice.setRowCount(0)
+        self.horizontalLayout.addWidget(self.TBMatrice)
+
+        self.retranslateUi(desWidgetMatrice)
+        QtCore.QMetaObject.connectSlotsByName(desWidgetMatrice)
+
+    def retranslateUi(self, desWidgetMatrice):
+        _translate = QtCore.QCoreApplication.translate
+        desWidgetMatrice.setWindowTitle(_translate("desWidgetMatrice", "Dialog"))
+        self.RBValide.setToolTip(_translate("desWidgetMatrice", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("desWidgetMatrice", "..."))
+        self.PBrefresh.setToolTip(_translate("desWidgetMatrice", "<html><head/><body><p>Met à jour l\'en-tête</p></body></html>"))
+        self.label.setText(_translate("desWidgetMatrice", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    desWidgetMatrice = QtWidgets.QDialog()
+    ui = Ui_desWidgetMatrice()
+    ui.setupUi(desWidgetMatrice)
+    desWidgetMatrice.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetMatrice.ui b/UiQT5/desWidgetMatrice.ui
new file mode 100644 (file)
index 0000000..7d0a82a
--- /dev/null
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>desWidgetMatrice</class>
+ <widget class="QDialog" name="desWidgetMatrice">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>802</width>
+    <height>300</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Dialog</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout">
+   <property name="spacing">
+    <number>4</number>
+   </property>
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../../../../../../home/A96028/GitEficasTravail/eficas/Editeur/icons/ast-green-ball.png</normaloff>../../../../../../home/A96028/GitEficasTravail/eficas/Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Fixed</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>15</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="PBrefresh">
+       <property name="toolTip">
+        <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Met à jour l'en-tête&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+       <property name="icon">
+        <iconset theme="view-refresh">
+         <normaloff/>
+        </iconset>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>40</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QTableWidget" name="TBMatrice"/>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetOptionnel.py b/UiQT5/desWidgetOptionnel.py
new file mode 100644 (file)
index 0000000..8d8f63a
--- /dev/null
@@ -0,0 +1,111 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetOptionnel.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetOptionnel(object):
+    def setupUi(self, WidgetOptionnel):
+        WidgetOptionnel.setObjectName("WidgetOptionnel")
+        WidgetOptionnel.resize(297, 199)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetOptionnel.sizePolicy().hasHeightForWidth())
+        WidgetOptionnel.setSizePolicy(sizePolicy)
+        WidgetOptionnel.setMinimumSize(QtCore.QSize(0, 0))
+        WidgetOptionnel.setStyleSheet("background-color : rgb(224,223,222);\n"
+"font : \'times\' 9px")
+        self.verticalLayout = QtWidgets.QVBoxLayout(WidgetOptionnel)
+        self.verticalLayout.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout.setSpacing(6)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.frame_2 = QtWidgets.QFrame(WidgetOptionnel)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.frame_2.sizePolicy().hasHeightForWidth())
+        self.frame_2.setSizePolicy(sizePolicy)
+        self.frame_2.setFrameShape(QtWidgets.QFrame.Box)
+        self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.frame_2.setObjectName("frame_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.frame_2)
+        self.horizontalLayout.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout.setSpacing(6)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.GeneaLabel = QtWidgets.QLabel(self.frame_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.GeneaLabel.sizePolicy().hasHeightForWidth())
+        self.GeneaLabel.setSizePolicy(sizePolicy)
+        self.GeneaLabel.setMinimumSize(QtCore.QSize(0, 31))
+        self.GeneaLabel.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.GeneaLabel.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.GeneaLabel.setObjectName("GeneaLabel")
+        self.horizontalLayout.addWidget(self.GeneaLabel)
+        spacerItem = QtWidgets.QSpacerItem(1037, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.verticalLayout.addWidget(self.frame_2)
+        self.widget_2 = QtWidgets.QWidget(WidgetOptionnel)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.widget_2.sizePolicy().hasHeightForWidth())
+        self.widget_2.setSizePolicy(sizePolicy)
+        self.widget_2.setObjectName("widget_2")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.widget_2)
+        self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout_3.setSpacing(0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.scrollAreaCommandesOptionnelles = QtWidgets.QScrollArea(self.widget_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollAreaCommandesOptionnelles.sizePolicy().hasHeightForWidth())
+        self.scrollAreaCommandesOptionnelles.setSizePolicy(sizePolicy)
+        self.scrollAreaCommandesOptionnelles.setStyleSheet("background : rgb(247,247,247)")
+        self.scrollAreaCommandesOptionnelles.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollAreaCommandesOptionnelles.setLineWidth(0)
+        self.scrollAreaCommandesOptionnelles.setWidgetResizable(True)
+        self.scrollAreaCommandesOptionnelles.setObjectName("scrollAreaCommandesOptionnelles")
+        self.commandesOptionnellesWidget = QtWidgets.QWidget()
+        self.commandesOptionnellesWidget.setGeometry(QtCore.QRect(0, 0, 279, 124))
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.commandesOptionnellesWidget.sizePolicy().hasHeightForWidth())
+        self.commandesOptionnellesWidget.setSizePolicy(sizePolicy)
+        self.commandesOptionnellesWidget.setObjectName("commandesOptionnellesWidget")
+        self.commandesOptionnellesLayout = QtWidgets.QVBoxLayout(self.commandesOptionnellesWidget)
+        self.commandesOptionnellesLayout.setContentsMargins(11, 11, 11, 11)
+        self.commandesOptionnellesLayout.setSpacing(6)
+        self.commandesOptionnellesLayout.setObjectName("commandesOptionnellesLayout")
+        spacerItem1 = QtWidgets.QSpacerItem(20, 75, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.commandesOptionnellesLayout.addItem(spacerItem1)
+        self.scrollAreaCommandesOptionnelles.setWidget(self.commandesOptionnellesWidget)
+        self.verticalLayout_3.addWidget(self.scrollAreaCommandesOptionnelles)
+        self.verticalLayout.addWidget(self.widget_2)
+
+        self.retranslateUi(WidgetOptionnel)
+        QtCore.QMetaObject.connectSlotsByName(WidgetOptionnel)
+
+    def retranslateUi(self, WidgetOptionnel):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetOptionnel.setWindowTitle(_translate("WidgetOptionnel", "WidgetOptionnel"))
+        self.GeneaLabel.setText(_translate("WidgetOptionnel", "<html><head/><body><p><span style=\" color:#0000ff;\">commande </span></p></body></html>"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetOptionnel = QtWidgets.QWidget()
+    ui = Ui_WidgetOptionnel()
+    ui.setupUi(WidgetOptionnel)
+    WidgetOptionnel.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetOptionnel.ui b/UiQT5/desWidgetOptionnel.ui
new file mode 100644 (file)
index 0000000..ca162ee
--- /dev/null
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetOptionnel</class>
+ <widget class="QWidget" name="WidgetOptionnel">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>297</width>
+    <height>199</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>WidgetOptionnel</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true">background-color : rgb(224,223,222);
+font : 'times' 9px</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QFrame" name="frame_2">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::Box</enum>
+     </property>
+     <property name="frameShadow">
+      <enum>QFrame::Raised</enum>
+     </property>
+     <layout class="QHBoxLayout" name="horizontalLayout">
+      <item>
+       <widget class="QLabel" name="GeneaLabel">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="minimumSize">
+         <size>
+          <width>0</width>
+          <height>31</height>
+         </size>
+        </property>
+        <property name="frameShape">
+         <enum>QFrame::NoFrame</enum>
+        </property>
+        <property name="frameShadow">
+         <enum>QFrame::Raised</enum>
+        </property>
+        <property name="text">
+         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;commande &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <spacer name="horizontalSpacer">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>1037</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <widget class="QWidget" name="widget_2" native="true">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout_3">
+      <property name="spacing">
+       <number>0</number>
+      </property>
+      <property name="margin">
+       <number>0</number>
+      </property>
+      <item>
+       <widget class="QScrollArea" name="scrollAreaCommandesOptionnelles">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="styleSheet">
+         <string notr="true">background : rgb(247,247,247)</string>
+        </property>
+        <property name="frameShape">
+         <enum>QFrame::NoFrame</enum>
+        </property>
+        <property name="lineWidth">
+         <number>0</number>
+        </property>
+        <property name="widgetResizable">
+         <bool>true</bool>
+        </property>
+        <widget class="QWidget" name="commandesOptionnellesWidget">
+         <property name="geometry">
+          <rect>
+           <x>0</x>
+           <y>0</y>
+           <width>279</width>
+           <height>124</height>
+          </rect>
+         </property>
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <layout class="QVBoxLayout" name="commandesOptionnellesLayout">
+          <item>
+           <spacer name="verticalSpacer">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>75</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+         </layout>
+        </widget>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetOptionnelMC.py b/UiQT5/desWidgetOptionnelMC.py
new file mode 100644 (file)
index 0000000..032d8bd
--- /dev/null
@@ -0,0 +1,85 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetOptionnelMC.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_desWidgetOptionnel(object):
+    def setupUi(self, desWidgetOptionnel):
+        desWidgetOptionnel.setObjectName("desWidgetOptionnel")
+        desWidgetOptionnel.resize(384, 218)
+        self.verticalLayout = QtWidgets.QVBoxLayout(desWidgetOptionnel)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.line = QtWidgets.QFrame(desWidgetOptionnel)
+        self.line.setFrameShape(QtWidgets.QFrame.HLine)
+        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
+        self.line.setObjectName("line")
+        self.horizontalLayout.addWidget(self.line)
+        self.nomMC = MonLabelClic(desWidgetOptionnel)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.nomMC.sizePolicy().hasHeightForWidth())
+        self.nomMC.setSizePolicy(sizePolicy)
+        self.nomMC.setMinimumSize(QtCore.QSize(0, 25))
+        self.nomMC.setMaximumSize(QtCore.QSize(12121213, 25))
+        self.nomMC.setObjectName("nomMC")
+        self.horizontalLayout.addWidget(self.nomMC)
+        self.line_2 = QtWidgets.QFrame(desWidgetOptionnel)
+        self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
+        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
+        self.line_2.setObjectName("line_2")
+        self.horizontalLayout.addWidget(self.line_2)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        self.scrollAreaCommandesOptionnelles = QtWidgets.QScrollArea(desWidgetOptionnel)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollAreaCommandesOptionnelles.sizePolicy().hasHeightForWidth())
+        self.scrollAreaCommandesOptionnelles.setSizePolicy(sizePolicy)
+        self.scrollAreaCommandesOptionnelles.setStyleSheet("background : rgb(247,247,247)")
+        self.scrollAreaCommandesOptionnelles.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollAreaCommandesOptionnelles.setLineWidth(0)
+        self.scrollAreaCommandesOptionnelles.setWidgetResizable(True)
+        self.scrollAreaCommandesOptionnelles.setObjectName("scrollAreaCommandesOptionnelles")
+        self.commandesOptionnellesWidget = QtWidgets.QWidget()
+        self.commandesOptionnellesWidget.setGeometry(QtCore.QRect(0, 0, 384, 185))
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.commandesOptionnellesWidget.sizePolicy().hasHeightForWidth())
+        self.commandesOptionnellesWidget.setSizePolicy(sizePolicy)
+        self.commandesOptionnellesWidget.setObjectName("commandesOptionnellesWidget")
+        self.commandesOptionnellesLayout = QtWidgets.QVBoxLayout(self.commandesOptionnellesWidget)
+        self.commandesOptionnellesLayout.setObjectName("commandesOptionnellesLayout")
+        spacerItem = QtWidgets.QSpacerItem(20, 75, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.commandesOptionnellesLayout.addItem(spacerItem)
+        self.scrollAreaCommandesOptionnelles.setWidget(self.commandesOptionnellesWidget)
+        self.verticalLayout.addWidget(self.scrollAreaCommandesOptionnelles)
+
+        self.retranslateUi(desWidgetOptionnel)
+        QtCore.QMetaObject.connectSlotsByName(desWidgetOptionnel)
+
+    def retranslateUi(self, desWidgetOptionnel):
+        _translate = QtCore.QCoreApplication.translate
+        desWidgetOptionnel.setWindowTitle(_translate("desWidgetOptionnel", "Form"))
+        self.nomMC.setText(_translate("desWidgetOptionnel", "TextLabel"))
+
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    desWidgetOptionnel = QtWidgets.QWidget()
+    ui = Ui_desWidgetOptionnel()
+    ui.setupUi(desWidgetOptionnel)
+    desWidgetOptionnel.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetOptionnelMC.ui b/UiQT5/desWidgetOptionnelMC.ui
new file mode 100644 (file)
index 0000000..950792e
--- /dev/null
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>desWidgetOptionnel</class>
+ <widget class="QWidget" name="desWidgetOptionnel">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>384</width>
+    <height>218</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <widget class="Line" name="line">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="MonLabelClic" name="nomMC">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>0</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>12121213</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="text">
+        <string>TextLabel</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="Line" name="line_2">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QScrollArea" name="scrollAreaCommandesOptionnelles">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background : rgb(247,247,247)</string>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="lineWidth">
+      <number>0</number>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <widget class="QWidget" name="commandesOptionnellesWidget">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>384</width>
+        <height>185</height>
+       </rect>
+      </property>
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <layout class="QVBoxLayout" name="commandesOptionnellesLayout">
+       <item>
+        <spacer name="verticalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>75</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetParam.py b/UiQT5/desWidgetParam.py
new file mode 100644 (file)
index 0000000..d298a5a
--- /dev/null
@@ -0,0 +1,257 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetParam.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetParam(object):
+    def setupUi(self, WidgetParam):
+        WidgetParam.setObjectName("WidgetParam")
+        WidgetParam.resize(1058, 440)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetParam.sizePolicy().hasHeightForWidth())
+        WidgetParam.setSizePolicy(sizePolicy)
+        WidgetParam.setMinimumSize(QtCore.QSize(0, 0))
+        WidgetParam.setToolTip("")
+        WidgetParam.setStyleSheet("background-color : rgb(224,223,222);\n"
+"font : \'times\' 9px")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(WidgetParam)
+        self.verticalLayout_3.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_3.setSpacing(6)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout_2.setSpacing(6)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.frame_2 = QtWidgets.QFrame(WidgetParam)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.frame_2.sizePolicy().hasHeightForWidth())
+        self.frame_2.setSizePolicy(sizePolicy)
+        self.frame_2.setFrameShape(QtWidgets.QFrame.Box)
+        self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.frame_2.setObjectName("frame_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout(self.frame_2)
+        self.horizontalLayout.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout.setSpacing(6)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(self.frame_2)
+        self.RBValide.setMinimumSize(QtCore.QSize(17, 31))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBValide.setToolTip("")
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(21, 31))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        spacerItem1 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem1)
+        self.labelNomCommande = QtWidgets.QLabel(self.frame_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.labelNomCommande.sizePolicy().hasHeightForWidth())
+        self.labelNomCommande.setSizePolicy(sizePolicy)
+        self.labelNomCommande.setMinimumSize(QtCore.QSize(150, 31))
+        self.labelNomCommande.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.labelNomCommande.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.labelNomCommande.setObjectName("labelNomCommande")
+        self.horizontalLayout.addWidget(self.labelNomCommande)
+        spacerItem2 = QtWidgets.QSpacerItem(78, 40, QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.RBPoubelle = QtWidgets.QToolButton(self.frame_2)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout.addWidget(self.RBPoubelle)
+        self.RBValide.raise_()
+        self.labelNomCommande.raise_()
+        self.RBPoubelle.raise_()
+        self.horizontalLayout_2.addWidget(self.frame_2)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout_2.setSpacing(6)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.bCatalogue = QtWidgets.QPushButton(WidgetParam)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bCatalogue.sizePolicy().hasHeightForWidth())
+        self.bCatalogue.setSizePolicy(sizePolicy)
+        self.bCatalogue.setMinimumSize(QtCore.QSize(160, 31))
+        self.bCatalogue.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.bCatalogue.setAutoDefault(True)
+        self.bCatalogue.setDefault(True)
+        self.bCatalogue.setObjectName("bCatalogue")
+        self.verticalLayout_2.addWidget(self.bCatalogue)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setContentsMargins(11, 11, 11, 11)
+        self.horizontalLayout_3.setSpacing(6)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.bAvant = QtWidgets.QPushButton(WidgetParam)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bAvant.sizePolicy().hasHeightForWidth())
+        self.bAvant.setSizePolicy(sizePolicy)
+        self.bAvant.setMinimumSize(QtCore.QSize(60, 24))
+        self.bAvant.setMaximumSize(QtCore.QSize(60, 24))
+        self.bAvant.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.bAvant.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.bAvant.setAutoDefault(True)
+        self.bAvant.setDefault(True)
+        self.bAvant.setObjectName("bAvant")
+        self.horizontalLayout_3.addWidget(self.bAvant)
+        self.bApres = QtWidgets.QPushButton(WidgetParam)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bApres.sizePolicy().hasHeightForWidth())
+        self.bApres.setSizePolicy(sizePolicy)
+        self.bApres.setMinimumSize(QtCore.QSize(60, 24))
+        self.bApres.setMaximumSize(QtCore.QSize(60, 24))
+        self.bApres.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.bApres.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.bApres.setAutoDefault(True)
+        self.bApres.setDefault(True)
+        self.bApres.setObjectName("bApres")
+        self.horizontalLayout_3.addWidget(self.bApres)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_2)
+        self.verticalLayout_3.addLayout(self.horizontalLayout_2)
+        self.scrollAreaCommandes = QtWidgets.QScrollArea(WidgetParam)
+        self.scrollAreaCommandes.setMinimumSize(QtCore.QSize(0, 81))
+        self.scrollAreaCommandes.setStyleSheet("background : rgb(247,247,247);\n"
+"\n"
+"\n"
+"\n"
+"")
+        self.scrollAreaCommandes.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollAreaCommandes.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
+        self.scrollAreaCommandes.setWidgetResizable(True)
+        self.scrollAreaCommandes.setObjectName("scrollAreaCommandes")
+        self.scrollAreaWidgetContents = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 1040, 349))
+        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents)
+        self.verticalLayout.setContentsMargins(11, 11, 11, 11)
+        self.verticalLayout.setSpacing(6)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.gridLayout = QtWidgets.QGridLayout()
+        self.gridLayout.setContentsMargins(11, 11, 11, 11)
+        self.gridLayout.setSpacing(25)
+        self.gridLayout.setObjectName("gridLayout")
+        self.textLabelVal = QtWidgets.QLabel(self.scrollAreaWidgetContents)
+        self.textLabelVal.setWordWrap(False)
+        self.textLabelVal.setObjectName("textLabelVal")
+        self.gridLayout.addWidget(self.textLabelVal, 1, 0, 1, 1)
+        self.lineEditNom = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
+        self.lineEditNom.setMinimumSize(QtCore.QSize(231, 31))
+        self.lineEditNom.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;\n"
+"\n"
+"")
+        self.lineEditNom.setObjectName("lineEditNom")
+        self.gridLayout.addWidget(self.lineEditNom, 0, 1, 1, 1)
+        self.lineEditVal = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
+        self.lineEditVal.setMinimumSize(QtCore.QSize(231, 31))
+        self.lineEditVal.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal.setObjectName("lineEditVal")
+        self.gridLayout.addWidget(self.lineEditVal, 1, 1, 1, 1)
+        self.textLabelNom = QtWidgets.QLabel(self.scrollAreaWidgetContents)
+        self.textLabelNom.setWordWrap(False)
+        self.textLabelNom.setObjectName("textLabelNom")
+        self.gridLayout.addWidget(self.textLabelNom, 0, 0, 1, 1)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.gridLayout.addItem(spacerItem3, 2, 0, 1, 1)
+        self.bVerifie = QtWidgets.QPushButton(self.scrollAreaWidgetContents)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.bVerifie.sizePolicy().hasHeightForWidth())
+        self.bVerifie.setSizePolicy(sizePolicy)
+        self.bVerifie.setMinimumSize(QtCore.QSize(160, 31))
+        self.bVerifie.setStyleSheet("background-color:rgb(104,110,149);\n"
+"color :white;\n"
+"border-radius : 12px\n"
+"")
+        self.bVerifie.setAutoDefault(True)
+        self.bVerifie.setDefault(True)
+        self.bVerifie.setObjectName("bVerifie")
+        self.gridLayout.addWidget(self.bVerifie, 2, 1, 1, 1)
+        self.verticalLayout.addLayout(self.gridLayout)
+        self.LECommentaire = QtWidgets.QLabel(self.scrollAreaWidgetContents)
+        self.LECommentaire.setWordWrap(False)
+        self.LECommentaire.setObjectName("LECommentaire")
+        self.verticalLayout.addWidget(self.LECommentaire)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 70, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem4)
+        self.scrollAreaCommandes.setWidget(self.scrollAreaWidgetContents)
+        self.verticalLayout_3.addWidget(self.scrollAreaCommandes)
+
+        self.retranslateUi(WidgetParam)
+        QtCore.QMetaObject.connectSlotsByName(WidgetParam)
+        WidgetParam.setTabOrder(self.RBPoubelle, self.bCatalogue)
+        WidgetParam.setTabOrder(self.bCatalogue, self.RBValide)
+        WidgetParam.setTabOrder(self.RBValide, self.scrollAreaCommandes)
+
+    def retranslateUi(self, WidgetParam):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetParam.setWindowTitle(_translate("WidgetParam", "DCommandeUnique"))
+        self.RBValide.setText(_translate("WidgetParam", "..."))
+        self.labelNomCommande.setText(_translate("WidgetParam", "<html><head/><body><p><span style=\" color:#000000;\">Paramètre</span></p></body></html>"))
+        self.RBPoubelle.setToolTip(_translate("WidgetParam", "Détruit le commentaire"))
+        self.RBPoubelle.setText(_translate("WidgetParam", "..."))
+        self.bCatalogue.setToolTip(_translate("WidgetParam", "Affiche les commandes possibles"))
+        self.bCatalogue.setText(_translate("WidgetParam", "&Commandes"))
+        self.bCatalogue.setShortcut(_translate("WidgetParam", "Shift+A, Alt+A, Alt+A, Alt+A"))
+        self.bAvant.setToolTip(_translate("WidgetParam", "Affiche le formulaire de la commande précédente"))
+        self.bAvant.setText(_translate("WidgetParam", "<<"))
+        self.bAvant.setShortcut(_translate("WidgetParam", "Shift+A, Alt+A, Alt+A, Alt+A"))
+        self.bApres.setToolTip(_translate("WidgetParam", "Affiche le formulaire de la commande suivante"))
+        self.bApres.setText(_translate("WidgetParam", ">>"))
+        self.bApres.setShortcut(_translate("WidgetParam", "Shift+A, Alt+A, Alt+A, Alt+A"))
+        self.textLabelVal.setText(_translate("WidgetParam", "<html><head/><body><p>Valeur: </p></body></html>"))
+        self.textLabelNom.setText(_translate("WidgetParam", "<html><head/><body><p>Nom: </p></body></html>"))
+        self.bVerifie.setToolTip(_translate("WidgetParam", "Affiche les commandes possibles"))
+        self.bVerifie.setText(_translate("WidgetParam", "Verifie la valeur"))
+        self.bVerifie.setShortcut(_translate("WidgetParam", "Shift+A, Alt+A, Alt+A, Alt+A"))
+        self.LECommentaire.setText(_translate("WidgetParam", "<html><head/><body><p><br/></p></body></html>"))
+
+from monBoutonValide import MonBoutonValide
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetParam = QtWidgets.QWidget()
+    ui = Ui_WidgetParam()
+    ui.setupUi(WidgetParam)
+    WidgetParam.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetParam.ui b/UiQT5/desWidgetParam.ui
new file mode 100644 (file)
index 0000000..42e2fe3
--- /dev/null
@@ -0,0 +1,530 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetParam</class>
+ <widget class="QWidget" name="WidgetParam">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1058</width>
+    <height>440</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>DCommandeUnique</string>
+  </property>
+  <property name="toolTip">
+   <string/>
+  </property>
+  <property name="styleSheet">
+   <string notr="true">background-color : rgb(224,223,222);
+font : 'times' 9px</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_3">
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_2">
+     <item>
+      <widget class="QFrame" name="frame_2">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::Box</enum>
+       </property>
+       <property name="frameShadow">
+        <enum>QFrame::Raised</enum>
+       </property>
+       <layout class="QHBoxLayout" name="horizontalLayout">
+        <item>
+         <spacer name="horizontalSpacer_5">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Fixed</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>13</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="MonBoutonValide" name="RBValide">
+          <property name="minimumSize">
+           <size>
+            <width>17</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="toolTip">
+           <string/>
+          </property>
+          <property name="styleSheet">
+           <string notr="true">border : 0px</string>
+          </property>
+          <property name="text">
+           <string>...</string>
+          </property>
+          <property name="icon">
+           <iconset>
+            <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+          </property>
+          <property name="iconSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_3">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Fixed</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>13</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QLabel" name="labelNomCommande">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>150</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="frameShape">
+           <enum>QFrame::NoFrame</enum>
+          </property>
+          <property name="frameShadow">
+           <enum>QFrame::Raised</enum>
+          </property>
+          <property name="text">
+           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#000000;&quot;&gt;Paramètre&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_2">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Maximum</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>78</width>
+            <height>40</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QToolButton" name="RBPoubelle">
+          <property name="minimumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="toolTip">
+           <string>Détruit le commentaire</string>
+          </property>
+          <property name="styleSheet">
+           <string notr="true">border : 0px</string>
+          </property>
+          <property name="text">
+           <string>...</string>
+          </property>
+          <property name="icon">
+           <iconset>
+            <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+          </property>
+          <property name="iconSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+         </widget>
+        </item>
+       </layout>
+       <zorder>RBValide</zorder>
+       <zorder>labelNomCommande</zorder>
+       <zorder>horizontalSpacer_3</zorder>
+       <zorder>RBPoubelle</zorder>
+       <zorder>horizontalSpacer_5</zorder>
+      </widget>
+     </item>
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <item>
+        <widget class="QPushButton" name="bCatalogue">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>160</width>
+           <height>31</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Affiche les commandes possibles</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+         </property>
+         <property name="text">
+          <string>&amp;Commandes</string>
+         </property>
+         <property name="shortcut">
+          <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>
+        </widget>
+       </item>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout_3">
+         <item>
+          <widget class="QPushButton" name="bAvant">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="focusPolicy">
+            <enum>Qt::ClickFocus</enum>
+           </property>
+           <property name="toolTip">
+            <string>Affiche le formulaire de la commande précédente</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+           </property>
+           <property name="text">
+            <string>&lt;&lt;</string>
+           </property>
+           <property name="shortcut">
+            <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>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="bApres">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>60</width>
+             <height>24</height>
+            </size>
+           </property>
+           <property name="focusPolicy">
+            <enum>Qt::ClickFocus</enum>
+           </property>
+           <property name="toolTip">
+            <string>Affiche le formulaire de la commande suivante</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+           </property>
+           <property name="text">
+            <string>&gt;&gt;</string>
+           </property>
+           <property name="shortcut">
+            <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>
+          </widget>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QScrollArea" name="scrollAreaCommandes">
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>81</height>
+      </size>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background : rgb(247,247,247);
+
+
+
+</string>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="verticalScrollBarPolicy">
+      <enum>Qt::ScrollBarAsNeeded</enum>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <widget class="QWidget" name="scrollAreaWidgetContents">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>1040</width>
+        <height>349</height>
+       </rect>
+      </property>
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <item>
+        <layout class="QGridLayout" name="gridLayout">
+         <property name="spacing">
+          <number>25</number>
+         </property>
+         <item row="1" column="0">
+          <widget class="QLabel" name="textLabelVal">
+           <property name="text">
+            <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Valeur: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+           </property>
+           <property name="wordWrap">
+            <bool>false</bool>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="1">
+          <widget class="QLineEdit" name="lineEditNom">
+           <property name="minimumSize">
+            <size>
+             <width>231</width>
+             <height>31</height>
+            </size>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background:rgb(235,235,235);
+border:0px;
+
+</string>
+           </property>
+          </widget>
+         </item>
+         <item row="1" column="1">
+          <widget class="QLineEdit" name="lineEditVal">
+           <property name="minimumSize">
+            <size>
+             <width>231</width>
+             <height>31</height>
+            </size>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+           </property>
+          </widget>
+         </item>
+         <item row="0" column="0">
+          <widget class="QLabel" name="textLabelNom">
+           <property name="text">
+            <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Nom: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+           </property>
+           <property name="wordWrap">
+            <bool>false</bool>
+           </property>
+          </widget>
+         </item>
+         <item row="2" column="0">
+          <spacer name="verticalSpacer">
+           <property name="orientation">
+            <enum>Qt::Vertical</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>20</width>
+             <height>40</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item row="2" column="1">
+          <widget class="QPushButton" name="bVerifie">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>160</width>
+             <height>31</height>
+            </size>
+           </property>
+           <property name="toolTip">
+            <string>Affiche les commandes possibles</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background-color:rgb(104,110,149);
+color :white;
+border-radius : 12px
+</string>
+           </property>
+           <property name="text">
+            <string>Verifie la valeur</string>
+           </property>
+           <property name="shortcut">
+            <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>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <widget class="QLabel" name="LECommentaire">
+         <property name="text">
+          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+         </property>
+         <property name="wordWrap">
+          <bool>false</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="verticalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>70</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>RBPoubelle</tabstop>
+  <tabstop>bCatalogue</tabstop>
+  <tabstop>RBValide</tabstop>
+  <tabstop>scrollAreaCommandes</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetPlusieursBase.py b/UiQT5/desWidgetPlusieursBase.py
new file mode 100644 (file)
index 0000000..cf56fb0
--- /dev/null
@@ -0,0 +1,341 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetPlusieursBase.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetPlusieursBase(object):
+    def setupUi(self, WidgetPlusieursBase):
+        WidgetPlusieursBase.setObjectName("WidgetPlusieursBase")
+        WidgetPlusieursBase.resize(764, 202)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetPlusieursBase.sizePolicy().hasHeightForWidth())
+        WidgetPlusieursBase.setSizePolicy(sizePolicy)
+        WidgetPlusieursBase.setMinimumSize(QtCore.QSize(100, 20))
+        WidgetPlusieursBase.setStyleSheet("/* QFrame {\n"
+"border: 1px solid gray;\n"
+"}*/\n"
+"")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(WidgetPlusieursBase)
+        self.horizontalLayout_2.setContentsMargins(0, 2, 2, 0)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_3.setSpacing(0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.BFermeListe = QtWidgets.QToolButton(WidgetPlusieursBase)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.BFermeListe.sizePolicy().hasHeightForWidth())
+        self.BFermeListe.setSizePolicy(sizePolicy)
+        self.BFermeListe.setMaximumSize(QtCore.QSize(21, 25))
+        self.BFermeListe.setStyleSheet("border:0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/minusnode.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.BFermeListe.setIcon(icon)
+        self.BFermeListe.setIconSize(QtCore.QSize(25, 25))
+        self.BFermeListe.setObjectName("BFermeListe")
+        self.horizontalLayout.addWidget(self.BFermeListe)
+        self.RBValide = MonBoutonValide(WidgetPlusieursBase)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon1)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout_3.addLayout(self.horizontalLayout)
+        spacerItem = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_3)
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_4.setSpacing(0)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.label = MonLabelClic(WidgetPlusieursBase)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.verticalLayout_4.addWidget(self.label)
+        self.scrollArea_2 = QtWidgets.QScrollArea(WidgetPlusieursBase)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollArea_2.sizePolicy().hasHeightForWidth())
+        self.scrollArea_2.setSizePolicy(sizePolicy)
+        self.scrollArea_2.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollArea_2.setFrameShadow(QtWidgets.QFrame.Plain)
+        self.scrollArea_2.setWidgetResizable(True)
+        self.scrollArea_2.setObjectName("scrollArea_2")
+        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 112, 138))
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollAreaWidgetContents_2.sizePolicy().hasHeightForWidth())
+        self.scrollAreaWidgetContents_2.setSizePolicy(sizePolicy)
+        self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
+        self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.scrollAreaWidgetContents_2)
+        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
+        self.monCommentaireLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.monCommentaireLabel.sizePolicy().hasHeightForWidth())
+        self.monCommentaireLabel.setSizePolicy(sizePolicy)
+        self.monCommentaireLabel.setObjectName("monCommentaireLabel")
+        self.horizontalLayout_7.addWidget(self.monCommentaireLabel)
+        self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2)
+        self.verticalLayout_4.addWidget(self.scrollArea_2)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_4)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.scrollArea = QtWidgets.QScrollArea(WidgetPlusieursBase)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
+        self.scrollArea.setSizePolicy(sizePolicy)
+        self.scrollArea.setMinimumSize(QtCore.QSize(400, 50))
+        self.scrollArea.setStyleSheet("background : rgb(247,247,247);\n"
+"border: 1px solid gray;\n"
+"/* QFrame {\n"
+"border: 1px solid gray;\n"
+"}*/\n"
+"\n"
+"")
+        self.scrollArea.setFrameShape(QtWidgets.QFrame.Box)
+        self.scrollArea.setFrameShadow(QtWidgets.QFrame.Plain)
+        self.scrollArea.setLineWidth(1)
+        self.scrollArea.setWidgetResizable(True)
+        self.scrollArea.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
+        self.scrollArea.setObjectName("scrollArea")
+        self.verticalWidgetLE = QtWidgets.QWidget()
+        self.verticalWidgetLE.setGeometry(QtCore.QRect(0, 0, 398, 161))
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.verticalWidgetLE.sizePolicy().hasHeightForWidth())
+        self.verticalWidgetLE.setSizePolicy(sizePolicy)
+        self.verticalWidgetLE.setObjectName("verticalWidgetLE")
+        self.verticalLayoutLE = QtWidgets.QVBoxLayout(self.verticalWidgetLE)
+        self.verticalLayoutLE.setContentsMargins(2, 0, 2, 0)
+        self.verticalLayoutLE.setSpacing(2)
+        self.verticalLayoutLE.setObjectName("verticalLayoutLE")
+        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayoutLE.addItem(spacerItem1)
+        self.scrollArea.setWidget(self.verticalWidgetLE)
+        self.verticalLayout_2.addWidget(self.scrollArea)
+        self.frame = QtWidgets.QFrame(WidgetPlusieursBase)
+        self.frame.setFrameShape(QtWidgets.QFrame.Box)
+        self.frame.setObjectName("frame")
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.frame)
+        self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        spacerItem2 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem2)
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_4.setSpacing(0)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.RBHaut = QtWidgets.QToolButton(self.frame)
+        self.RBHaut.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBHaut.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBHaut.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBHaut.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon.fromTheme("go-up")
+        self.RBHaut.setIcon(icon)
+        self.RBHaut.setIconSize(QtCore.QSize(32, 32))
+        self.RBHaut.setObjectName("RBHaut")
+        self.horizontalLayout_4.addWidget(self.RBHaut)
+        self.RBBas = QtWidgets.QToolButton(self.frame)
+        self.RBBas.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBBas.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBBas.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBBas.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon.fromTheme("go-down")
+        self.RBBas.setIcon(icon)
+        self.RBBas.setIconSize(QtCore.QSize(32, 32))
+        self.RBBas.setObjectName("RBBas")
+        self.horizontalLayout_4.addWidget(self.RBBas)
+        self.RBMoins = QtWidgets.QToolButton(self.frame)
+        self.RBMoins.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBMoins.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBMoins.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBMoins.setStyleSheet("border : 0px")
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap("../Editeur/icons/MoinsBleu2.png"), QtGui.QIcon.Normal, QtGui.QIcon.On)
+        self.RBMoins.setIcon(icon2)
+        self.RBMoins.setIconSize(QtCore.QSize(32, 32))
+        self.RBMoins.setObjectName("RBMoins")
+        self.horizontalLayout_4.addWidget(self.RBMoins)
+        self.RBPlus = QtWidgets.QToolButton(self.frame)
+        self.RBPlus.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPlus.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPlus.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPlus.setStyleSheet("border : 0px")
+        icon3 = QtGui.QIcon()
+        icon3.addPixmap(QtGui.QPixmap("../Editeur/icons/PlusBleu.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPlus.setIcon(icon3)
+        self.RBPlus.setIconSize(QtCore.QSize(32, 32))
+        self.RBPlus.setObjectName("RBPlus")
+        self.horizontalLayout_4.addWidget(self.RBPlus)
+        self.horizontalLayout_6.addLayout(self.horizontalLayout_4)
+        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem3)
+        self.RBVoisListe = QtWidgets.QToolButton(self.frame)
+        self.RBVoisListe.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBVoisListe.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBVoisListe.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBVoisListe.setStyleSheet("border : 0px")
+        icon4 = QtGui.QIcon()
+        icon4.addPixmap(QtGui.QPixmap("../Editeur/icons/verre-loupe-icone-6087-64.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBVoisListe.setIcon(icon4)
+        self.RBVoisListe.setIconSize(QtCore.QSize(32, 32))
+        self.RBVoisListe.setObjectName("RBVoisListe")
+        self.horizontalLayout_6.addWidget(self.RBVoisListe)
+        spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem4)
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_5.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_5.setSpacing(0)
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.RBSalome = QtWidgets.QToolButton(self.frame)
+        self.RBSalome.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBSalome.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBSalome.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBSalome.setStyleSheet("border : 0px")
+        icon5 = QtGui.QIcon()
+        icon5.addPixmap(QtGui.QPixmap("../Editeur/icons/flecheSalome.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBSalome.setIcon(icon5)
+        self.RBSalome.setIconSize(QtCore.QSize(32, 32))
+        self.RBSalome.setObjectName("RBSalome")
+        self.horizontalLayout_5.addWidget(self.RBSalome)
+        self.RBSalomeVue = QtWidgets.QToolButton(self.frame)
+        self.RBSalomeVue.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBSalomeVue.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBSalomeVue.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBSalomeVue.setStyleSheet("border : 0px")
+        icon6 = QtGui.QIcon()
+        icon6.addPixmap(QtGui.QPixmap("../Editeur/icons/eye.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBSalomeVue.setIcon(icon6)
+        self.RBSalomeVue.setIconSize(QtCore.QSize(32, 32))
+        self.RBSalomeVue.setObjectName("RBSalomeVue")
+        self.horizontalLayout_5.addWidget(self.RBSalomeVue)
+        self.horizontalLayout_6.addLayout(self.horizontalLayout_5)
+        self.verticalLayout_2.addWidget(self.frame)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_2)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setContentsMargins(0, -1, 0, -1)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.BSelectFichier = QtWidgets.QToolButton(WidgetPlusieursBase)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.BSelectFichier.sizePolicy().hasHeightForWidth())
+        self.BSelectFichier.setSizePolicy(sizePolicy)
+        self.BSelectFichier.setMaximumSize(QtCore.QSize(25, 30))
+        self.BSelectFichier.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.BSelectFichier.setStyleSheet("border:0px")
+        icon = QtGui.QIcon.fromTheme("text-x-generic")
+        self.BSelectFichier.setIcon(icon)
+        self.BSelectFichier.setIconSize(QtCore.QSize(32, 32))
+        self.BSelectFichier.setObjectName("BSelectFichier")
+        self.horizontalLayout_3.addWidget(self.BSelectFichier)
+        spacerItem5 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem5)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetPlusieursBase)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon7 = QtGui.QIcon()
+        icon7.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon7)
+        self.RBPoubelle.setIconSize(QtCore.QSize(32, 32))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout_3.addWidget(self.RBPoubelle)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem6)
+        self.horizontalLayout_2.addLayout(self.verticalLayout)
+        self.label.raise_()
+        self.monCommentaireLabel.raise_()
+        self.scrollArea_2.raise_()
+
+        self.retranslateUi(WidgetPlusieursBase)
+        QtCore.QMetaObject.connectSlotsByName(WidgetPlusieursBase)
+        WidgetPlusieursBase.setTabOrder(self.scrollArea, self.RBHaut)
+        WidgetPlusieursBase.setTabOrder(self.RBHaut, self.RBBas)
+        WidgetPlusieursBase.setTabOrder(self.RBBas, self.RBMoins)
+        WidgetPlusieursBase.setTabOrder(self.RBMoins, self.RBVoisListe)
+        WidgetPlusieursBase.setTabOrder(self.RBVoisListe, self.RBSalome)
+        WidgetPlusieursBase.setTabOrder(self.RBSalome, self.RBSalomeVue)
+        WidgetPlusieursBase.setTabOrder(self.RBSalomeVue, self.BSelectFichier)
+        WidgetPlusieursBase.setTabOrder(self.BSelectFichier, self.RBPoubelle)
+
+    def retranslateUi(self, WidgetPlusieursBase):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetPlusieursBase.setWindowTitle(_translate("WidgetPlusieursBase", "Form"))
+        self.BFermeListe.setToolTip(_translate("WidgetPlusieursBase", "permet de gérer la liste"))
+        self.BFermeListe.setText(_translate("WidgetPlusieursBase", "..."))
+        self.RBValide.setToolTip(_translate("WidgetPlusieursBase", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetPlusieursBase", "..."))
+        self.label.setText(_translate("WidgetPlusieursBase", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.monCommentaireLabel.setText(_translate("WidgetPlusieursBase", "TextLabel"))
+        self.RBHaut.setToolTip(_translate("WidgetPlusieursBase", "Remonte la ligne"))
+        self.RBHaut.setText(_translate("WidgetPlusieursBase", "..."))
+        self.RBBas.setToolTip(_translate("WidgetPlusieursBase", "Descend la ligne"))
+        self.RBBas.setText(_translate("WidgetPlusieursBase", "..."))
+        self.RBMoins.setToolTip(_translate("WidgetPlusieursBase", "supprime une ligne"))
+        self.RBMoins.setText(_translate("WidgetPlusieursBase", "..."))
+        self.RBPlus.setToolTip(_translate("WidgetPlusieursBase", "Ajoute une ligne"))
+        self.RBPlus.setText(_translate("WidgetPlusieursBase", "..."))
+        self.RBVoisListe.setToolTip(_translate("WidgetPlusieursBase", "Montre l\'ensemble des valeurs"))
+        self.RBVoisListe.setText(_translate("WidgetPlusieursBase", "..."))
+        self.RBSalome.setToolTip(_translate("WidgetPlusieursBase", "Sélectionne depuis Salome"))
+        self.RBSalome.setText(_translate("WidgetPlusieursBase", "..."))
+        self.RBSalomeVue.setToolTip(_translate("WidgetPlusieursBase", "Visualise dans Salome"))
+        self.RBSalomeVue.setText(_translate("WidgetPlusieursBase", "..."))
+        self.BSelectFichier.setToolTip(_translate("WidgetPlusieursBase", "Ouvre un fichier de sélection des valeurs"))
+        self.BSelectFichier.setText(_translate("WidgetPlusieursBase", "..."))
+        self.RBPoubelle.setToolTip(_translate("WidgetPlusieursBase", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetPlusieursBase", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetPlusieursBase = QtWidgets.QWidget()
+    ui = Ui_WidgetPlusieursBase()
+    ui.setupUi(WidgetPlusieursBase)
+    WidgetPlusieursBase.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetPlusieursBase.ui b/UiQT5/desWidgetPlusieursBase.ui
new file mode 100644 (file)
index 0000000..799a330
--- /dev/null
@@ -0,0 +1,842 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetPlusieursBase</class>
+ <widget class="QWidget" name="WidgetPlusieursBase">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>764</width>
+    <height>202</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>100</width>
+    <height>20</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true">/* QFrame {
+border: 1px solid gray;
+}*/
+</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_2">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>2</number>
+   </property>
+   <property name="rightMargin">
+    <number>2</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_3">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <widget class="QToolButton" name="BFermeListe">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>permet de gérer la liste</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border:0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/minusnode.png</normaloff>../Editeur/icons/minusnode.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_4">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <widget class="MonLabelClic" name="label">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>300</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>178</width>
+         <height>16777215</height>
+        </size>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="text">
+        <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+       </property>
+       <property name="scaledContents">
+        <bool>false</bool>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QScrollArea" name="scrollArea_2">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow">
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="widgetResizable">
+        <bool>true</bool>
+       </property>
+       <widget class="QWidget" name="scrollAreaWidgetContents_2">
+        <property name="geometry">
+         <rect>
+          <x>0</x>
+          <y>0</y>
+          <width>112</width>
+          <height>138</height>
+         </rect>
+        </property>
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <layout class="QHBoxLayout" name="horizontalLayout_7">
+         <item>
+          <widget class="QLabel" name="monCommentaireLabel">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="MinimumExpanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="text">
+            <string>TextLabel</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </widget>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <widget class="QScrollArea" name="scrollArea">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>400</width>
+         <height>50</height>
+        </size>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">background : rgb(247,247,247);
+border: 1px solid gray;
+/* QFrame {
+border: 1px solid gray;
+}*/
+
+</string>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::Box</enum>
+       </property>
+       <property name="frameShadow">
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="lineWidth">
+        <number>1</number>
+       </property>
+       <property name="widgetResizable">
+        <bool>true</bool>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+       </property>
+       <widget class="QWidget" name="verticalWidgetLE">
+        <property name="geometry">
+         <rect>
+          <x>0</x>
+          <y>0</y>
+          <width>398</width>
+          <height>161</height>
+         </rect>
+        </property>
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <layout class="QVBoxLayout" name="verticalLayoutLE">
+         <property name="spacing">
+          <number>2</number>
+         </property>
+         <property name="leftMargin">
+          <number>2</number>
+         </property>
+         <property name="topMargin">
+          <number>0</number>
+         </property>
+         <property name="rightMargin">
+          <number>2</number>
+         </property>
+         <property name="bottomMargin">
+          <number>0</number>
+         </property>
+         <item>
+          <spacer name="verticalSpacer_2">
+           <property name="orientation">
+            <enum>Qt::Vertical</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>20</width>
+             <height>40</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+        </layout>
+       </widget>
+      </widget>
+     </item>
+     <item>
+      <widget class="QFrame" name="frame">
+       <property name="frameShape">
+        <enum>QFrame::Box</enum>
+       </property>
+       <layout class="QHBoxLayout" name="horizontalLayout_6">
+        <property name="margin">
+         <number>0</number>
+        </property>
+        <item>
+         <spacer name="horizontalSpacer_5">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Fixed</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>13</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <layout class="QHBoxLayout" name="horizontalLayout_4">
+          <property name="spacing">
+           <number>0</number>
+          </property>
+          <property name="sizeConstraint">
+           <enum>QLayout::SetFixedSize</enum>
+          </property>
+          <item>
+           <widget class="QToolButton" name="RBHaut">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>Remonte la ligne</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset theme="go-up">
+              <normaloff/>
+             </iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QToolButton" name="RBBas">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>Descend la ligne</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset theme="go-down">
+              <normaloff/>
+             </iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QToolButton" name="RBMoins">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>supprime une ligne</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normalon>../Editeur/icons/MoinsBleu2.png</normalon>
+             </iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QToolButton" name="RBPlus">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>Ajoute une ligne</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normaloff>../Editeur/icons/PlusBleu.png</normaloff>../Editeur/icons/PlusBleu.png</iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_2">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Minimum</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>40</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QToolButton" name="RBVoisListe">
+          <property name="minimumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="focusPolicy">
+           <enum>Qt::ClickFocus</enum>
+          </property>
+          <property name="toolTip">
+           <string>Montre l'ensemble des valeurs</string>
+          </property>
+          <property name="styleSheet">
+           <string notr="true">border : 0px</string>
+          </property>
+          <property name="text">
+           <string>...</string>
+          </property>
+          <property name="icon">
+           <iconset>
+            <normaloff>../Editeur/icons/verre-loupe-icone-6087-64.png</normaloff>../Editeur/icons/verre-loupe-icone-6087-64.png</iconset>
+          </property>
+          <property name="iconSize">
+           <size>
+            <width>32</width>
+            <height>32</height>
+           </size>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_4">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Minimum</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>40</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <layout class="QHBoxLayout" name="horizontalLayout_5">
+          <property name="spacing">
+           <number>0</number>
+          </property>
+          <property name="sizeConstraint">
+           <enum>QLayout::SetFixedSize</enum>
+          </property>
+          <item>
+           <widget class="QToolButton" name="RBSalome">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>Sélectionne depuis Salome</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normaloff>../Editeur/icons/flecheSalome.png</normaloff>../Editeur/icons/flecheSalome.png</iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QToolButton" name="RBSalomeVue">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>Visualise dans Salome</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normaloff>../Editeur/icons/eye.png</normaloff>../Editeur/icons/eye.png</iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
+       </layout>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <property name="leftMargin">
+      <number>0</number>
+     </property>
+     <property name="rightMargin">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_3">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="QToolButton" name="BSelectFichier">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>25</width>
+           <height>30</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Ouvre un fichier de sélection des valeurs</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border:0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset theme="text-x-generic">
+           <normaloff/>
+          </iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>32</width>
+           <height>32</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>13</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QToolButton" name="RBPoubelle">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>31</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>31</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Détruit le mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>32</width>
+           <height>32</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_6">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>40</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+  <zorder></zorder>
+  <zorder>label</zorder>
+  <zorder>monCommentaireLabel</zorder>
+  <zorder>scrollArea_2</zorder>
+  <zorder>layoutWidget</zorder>
+  <zorder>verticalSpacer_6</zorder>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>scrollArea</tabstop>
+  <tabstop>RBHaut</tabstop>
+  <tabstop>RBBas</tabstop>
+  <tabstop>RBMoins</tabstop>
+  <tabstop>RBVoisListe</tabstop>
+  <tabstop>RBSalome</tabstop>
+  <tabstop>RBSalomeVue</tabstop>
+  <tabstop>BSelectFichier</tabstop>
+  <tabstop>RBPoubelle</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetPlusieursInto.py b/UiQT5/desWidgetPlusieursInto.py
new file mode 100644 (file)
index 0000000..492f657
--- /dev/null
@@ -0,0 +1,187 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetPlusieursInto.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetPlusieursInto(object):
+    def setupUi(self, WidgetPlusieursInto):
+        WidgetPlusieursInto.setObjectName("WidgetPlusieursInto")
+        WidgetPlusieursInto.resize(938, 236)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetPlusieursInto.sizePolicy().hasHeightForWidth())
+        WidgetPlusieursInto.setSizePolicy(sizePolicy)
+        WidgetPlusieursInto.setMinimumSize(QtCore.QSize(0, 60))
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(WidgetPlusieursInto)
+        self.horizontalLayout_2.setContentsMargins(0, 2, 2, 0)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.BFermeListe = QtWidgets.QToolButton(WidgetPlusieursInto)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.BFermeListe.sizePolicy().hasHeightForWidth())
+        self.BFermeListe.setSizePolicy(sizePolicy)
+        self.BFermeListe.setMaximumSize(QtCore.QSize(21, 25))
+        self.BFermeListe.setStyleSheet("border:0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/minusnode.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.BFermeListe.setIcon(icon)
+        self.BFermeListe.setIconSize(QtCore.QSize(25, 25))
+        self.BFermeListe.setObjectName("BFermeListe")
+        self.horizontalLayout.addWidget(self.BFermeListe)
+        self.RBValide = MonBoutonValide(WidgetPlusieursInto)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon1)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        spacerItem = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_2)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.label = MonLabelClic(WidgetPlusieursInto)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(280, 25))
+        self.label.setMaximumSize(QtCore.QSize(280, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.verticalLayout_3.addWidget(self.label)
+        self.scrollArea_2 = QtWidgets.QScrollArea(WidgetPlusieursInto)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollArea_2.sizePolicy().hasHeightForWidth())
+        self.scrollArea_2.setSizePolicy(sizePolicy)
+        self.scrollArea_2.setMinimumSize(QtCore.QSize(300, 0))
+        self.scrollArea_2.setMaximumSize(QtCore.QSize(300, 16777215))
+        self.scrollArea_2.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollArea_2.setLineWidth(0)
+        self.scrollArea_2.setWidgetResizable(True)
+        self.scrollArea_2.setObjectName("scrollArea_2")
+        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 300, 166))
+        self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
+        self.gridLayout_2 = QtWidgets.QGridLayout(self.scrollAreaWidgetContents_2)
+        self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
+        self.gridLayout_2.setHorizontalSpacing(0)
+        self.gridLayout_2.setObjectName("gridLayout_2")
+        self.monCommentaireLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.monCommentaireLabel.sizePolicy().hasHeightForWidth())
+        self.monCommentaireLabel.setSizePolicy(sizePolicy)
+        self.monCommentaireLabel.setMinimumSize(QtCore.QSize(78, 25))
+        self.monCommentaireLabel.setMaximumSize(QtCore.QSize(278, 16777215))
+        self.monCommentaireLabel.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.monCommentaireLabel.setScaledContents(False)
+        self.monCommentaireLabel.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.monCommentaireLabel.setObjectName("monCommentaireLabel")
+        self.gridLayout_2.addWidget(self.monCommentaireLabel, 0, 0, 1, 1)
+        self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2)
+        self.verticalLayout_3.addWidget(self.scrollArea_2)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_3)
+        self.scrollArea = QtWidgets.QScrollArea(WidgetPlusieursInto)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
+        self.scrollArea.setSizePolicy(sizePolicy)
+        self.scrollArea.setStyleSheet("background : rgb(247,247,247)")
+        self.scrollArea.setFrameShape(QtWidgets.QFrame.Box)
+        self.scrollArea.setLineWidth(1)
+        self.scrollArea.setWidgetResizable(True)
+        self.scrollArea.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
+        self.scrollArea.setObjectName("scrollArea")
+        self.verticalWidgetLE = QtWidgets.QWidget()
+        self.verticalWidgetLE.setGeometry(QtCore.QRect(0, 0, 543, 232))
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.verticalWidgetLE.sizePolicy().hasHeightForWidth())
+        self.verticalWidgetLE.setSizePolicy(sizePolicy)
+        self.verticalWidgetLE.setObjectName("verticalWidgetLE")
+        self.CBLayout = QtWidgets.QVBoxLayout(self.verticalWidgetLE)
+        self.CBLayout.setContentsMargins(0, 0, 0, 0)
+        self.CBLayout.setSpacing(0)
+        self.CBLayout.setObjectName("CBLayout")
+        self.scrollArea.setWidget(self.verticalWidgetLE)
+        self.horizontalLayout_2.addWidget(self.scrollArea)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 17, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem1)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetPlusieursInto)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon2)
+        self.RBPoubelle.setIconSize(QtCore.QSize(32, 32))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.verticalLayout.addWidget(self.RBPoubelle)
+        self.CBCheck = QtWidgets.QCheckBox(WidgetPlusieursInto)
+        self.CBCheck.setText("")
+        self.CBCheck.setChecked(True)
+        self.CBCheck.setObjectName("CBCheck")
+        self.verticalLayout.addWidget(self.CBCheck)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem2)
+        self.horizontalLayout_2.addLayout(self.verticalLayout)
+        self.scrollArea.raise_()
+
+        self.retranslateUi(WidgetPlusieursInto)
+        QtCore.QMetaObject.connectSlotsByName(WidgetPlusieursInto)
+
+    def retranslateUi(self, WidgetPlusieursInto):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetPlusieursInto.setWindowTitle(_translate("WidgetPlusieursInto", "Form"))
+        self.BFermeListe.setToolTip(_translate("WidgetPlusieursInto", "permet de gérer la liste"))
+        self.BFermeListe.setText(_translate("WidgetPlusieursInto", "..."))
+        self.RBValide.setToolTip(_translate("WidgetPlusieursInto", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetPlusieursInto", "..."))
+        self.label.setText(_translate("WidgetPlusieursInto", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.monCommentaireLabel.setText(_translate("WidgetPlusieursInto", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.RBPoubelle.setToolTip(_translate("WidgetPlusieursInto", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetPlusieursInto", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetPlusieursInto = QtWidgets.QWidget()
+    ui = Ui_WidgetPlusieursInto()
+    ui.setupUi(WidgetPlusieursInto)
+    WidgetPlusieursInto.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetPlusieursInto.ui b/UiQT5/desWidgetPlusieursInto.ui
new file mode 100644 (file)
index 0000000..569a8ec
--- /dev/null
@@ -0,0 +1,415 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetPlusieursInto</class>
+ <widget class="QWidget" name="WidgetPlusieursInto">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>938</width>
+    <height>236</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>60</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_2">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>2</number>
+   </property>
+   <property name="rightMargin">
+    <number>2</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <widget class="QToolButton" name="BFermeListe">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>permet de gérer la liste</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border:0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/minusnode.png</normaloff>../Editeur/icons/minusnode.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_3">
+     <item>
+      <widget class="MonLabelClic" name="label">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>280</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>280</width>
+         <height>16777215</height>
+        </size>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="text">
+        <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+       </property>
+       <property name="scaledContents">
+        <bool>false</bool>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QScrollArea" name="scrollArea_2">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>300</width>
+         <height>0</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>300</width>
+         <height>16777215</height>
+        </size>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="lineWidth">
+        <number>0</number>
+       </property>
+       <property name="widgetResizable">
+        <bool>true</bool>
+       </property>
+       <widget class="QWidget" name="scrollAreaWidgetContents_2">
+        <property name="geometry">
+         <rect>
+          <x>0</x>
+          <y>0</y>
+          <width>300</width>
+          <height>166</height>
+         </rect>
+        </property>
+        <layout class="QGridLayout" name="gridLayout_2">
+         <property name="horizontalSpacing">
+          <number>0</number>
+         </property>
+         <property name="margin">
+          <number>0</number>
+         </property>
+         <item row="0" column="0">
+          <widget class="QLabel" name="monCommentaireLabel">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>78</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>278</width>
+             <height>16777215</height>
+            </size>
+           </property>
+           <property name="frameShape">
+            <enum>QFrame::NoFrame</enum>
+           </property>
+           <property name="text">
+            <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+           </property>
+           <property name="scaledContents">
+            <bool>false</bool>
+           </property>
+           <property name="alignment">
+            <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </widget>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QScrollArea" name="scrollArea">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background : rgb(247,247,247)</string>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::Box</enum>
+     </property>
+     <property name="lineWidth">
+      <number>1</number>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+     </property>
+     <widget class="QWidget" name="verticalWidgetLE">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>543</width>
+        <height>232</height>
+       </rect>
+      </property>
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <layout class="QVBoxLayout" name="CBLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="margin">
+        <number>0</number>
+       </property>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <spacer name="horizontalSpacer">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::Preferred</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>17</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <widget class="QToolButton" name="RBPoubelle">
+       <property name="minimumSize">
+        <size>
+         <width>21</width>
+         <height>31</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>21</width>
+         <height>31</height>
+        </size>
+       </property>
+       <property name="toolTip">
+        <string>Détruit le mot-clef</string>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>32</width>
+         <height>32</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QCheckBox" name="CBCheck">
+       <property name="text">
+        <string/>
+       </property>
+       <property name="checked">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>40</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+  <zorder>horizontalSpacer</zorder>
+  <zorder>scrollArea</zorder>
+  <zorder></zorder>
+  <zorder>layoutWidget</zorder>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetPlusieursIntoOrdonne.py b/UiQT5/desWidgetPlusieursIntoOrdonne.py
new file mode 100644 (file)
index 0000000..86f5104
--- /dev/null
@@ -0,0 +1,302 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetPlusieursIntoOrdonne.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetPlusieursIntoOrdonne(object):
+    def setupUi(self, WidgetPlusieursIntoOrdonne):
+        WidgetPlusieursIntoOrdonne.setObjectName("WidgetPlusieursIntoOrdonne")
+        WidgetPlusieursIntoOrdonne.resize(1013, 243)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetPlusieursIntoOrdonne.sizePolicy().hasHeightForWidth())
+        WidgetPlusieursIntoOrdonne.setSizePolicy(sizePolicy)
+        WidgetPlusieursIntoOrdonne.setMinimumSize(QtCore.QSize(0, 0))
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(WidgetPlusieursIntoOrdonne)
+        self.horizontalLayout_2.setContentsMargins(0, 2, 0, 7)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_3.setSpacing(0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.BFermeListe = QtWidgets.QToolButton(WidgetPlusieursIntoOrdonne)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.BFermeListe.sizePolicy().hasHeightForWidth())
+        self.BFermeListe.setSizePolicy(sizePolicy)
+        self.BFermeListe.setMaximumSize(QtCore.QSize(21, 25))
+        self.BFermeListe.setStyleSheet("border:0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/minusnode.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.BFermeListe.setIcon(icon)
+        self.BFermeListe.setIconSize(QtCore.QSize(25, 25))
+        self.BFermeListe.setObjectName("BFermeListe")
+        self.horizontalLayout.addWidget(self.BFermeListe)
+        self.RBValide = MonBoutonValide(WidgetPlusieursIntoOrdonne)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon1)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout_3.addLayout(self.horizontalLayout)
+        spacerItem = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_3)
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_4.setSpacing(0)
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.label = MonLabelClic(WidgetPlusieursIntoOrdonne)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.verticalLayout_4.addWidget(self.label)
+        self.scrollArea_2 = QtWidgets.QScrollArea(WidgetPlusieursIntoOrdonne)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollArea_2.sizePolicy().hasHeightForWidth())
+        self.scrollArea_2.setSizePolicy(sizePolicy)
+        self.scrollArea_2.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollArea_2.setFrameShadow(QtWidgets.QFrame.Plain)
+        self.scrollArea_2.setWidgetResizable(True)
+        self.scrollArea_2.setObjectName("scrollArea_2")
+        self.scrollAreaWidgetContents = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 112, 172))
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollAreaWidgetContents.sizePolicy().hasHeightForWidth())
+        self.scrollAreaWidgetContents.setSizePolicy(sizePolicy)
+        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.monCommentaireLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.monCommentaireLabel.sizePolicy().hasHeightForWidth())
+        self.monCommentaireLabel.setSizePolicy(sizePolicy)
+        self.monCommentaireLabel.setObjectName("monCommentaireLabel")
+        self.verticalLayout_6.addWidget(self.monCommentaireLabel)
+        self.scrollArea_2.setWidget(self.scrollAreaWidgetContents)
+        self.verticalLayout_4.addWidget(self.scrollArea_2)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_4)
+        spacerItem1 = QtWidgets.QSpacerItem(8, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem1)
+        self.scrollArea = QtWidgets.QScrollArea(WidgetPlusieursIntoOrdonne)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
+        self.scrollArea.setSizePolicy(sizePolicy)
+        self.scrollArea.setStyleSheet("background : rgb(247,247,247)")
+        self.scrollArea.setFrameShape(QtWidgets.QFrame.Box)
+        self.scrollArea.setFrameShadow(QtWidgets.QFrame.Plain)
+        self.scrollArea.setLineWidth(1)
+        self.scrollArea.setWidgetResizable(True)
+        self.scrollArea.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
+        self.scrollArea.setObjectName("scrollArea")
+        self.verticalWidgetLE = QtWidgets.QWidget()
+        self.verticalWidgetLE.setGeometry(QtCore.QRect(0, 0, 301, 232))
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.verticalWidgetLE.sizePolicy().hasHeightForWidth())
+        self.verticalWidgetLE.setSizePolicy(sizePolicy)
+        self.verticalWidgetLE.setObjectName("verticalWidgetLE")
+        self.CBLayout = QtWidgets.QVBoxLayout(self.verticalWidgetLE)
+        self.CBLayout.setContentsMargins(0, 0, 0, 0)
+        self.CBLayout.setSpacing(0)
+        self.CBLayout.setObjectName("CBLayout")
+        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.CBLayout.addItem(spacerItem2)
+        self.scrollArea.setWidget(self.verticalWidgetLE)
+        self.horizontalLayout_2.addWidget(self.scrollArea)
+        spacerItem3 = QtWidgets.QSpacerItem(8, 108, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem3)
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.scrollAreaRE = QtWidgets.QScrollArea(WidgetPlusieursIntoOrdonne)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollAreaRE.sizePolicy().hasHeightForWidth())
+        self.scrollAreaRE.setSizePolicy(sizePolicy)
+        self.scrollAreaRE.setStyleSheet("background : rgb(247,247,247)")
+        self.scrollAreaRE.setFrameShape(QtWidgets.QFrame.Box)
+        self.scrollAreaRE.setFrameShadow(QtWidgets.QFrame.Plain)
+        self.scrollAreaRE.setLineWidth(1)
+        self.scrollAreaRE.setWidgetResizable(True)
+        self.scrollAreaRE.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
+        self.scrollAreaRE.setObjectName("scrollAreaRE")
+        self.verticalWidgetLEChoisis = QtWidgets.QWidget()
+        self.verticalWidgetLEChoisis.setGeometry(QtCore.QRect(0, 0, 297, 187))
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.verticalWidgetLEChoisis.sizePolicy().hasHeightForWidth())
+        self.verticalWidgetLEChoisis.setSizePolicy(sizePolicy)
+        self.verticalWidgetLEChoisis.setObjectName("verticalWidgetLEChoisis")
+        self.CBChoisis = QtWidgets.QVBoxLayout(self.verticalWidgetLEChoisis)
+        self.CBChoisis.setContentsMargins(0, 0, 0, 0)
+        self.CBChoisis.setSpacing(0)
+        self.CBChoisis.setObjectName("CBChoisis")
+        spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.CBChoisis.addItem(spacerItem4)
+        self.scrollAreaRE.setWidget(self.verticalWidgetLEChoisis)
+        self.verticalLayout_2.addWidget(self.scrollAreaRE)
+        self.verticalLayout_5.addLayout(self.verticalLayout_2)
+        self.frame = QtWidgets.QFrame(WidgetPlusieursIntoOrdonne)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth())
+        self.frame.setSizePolicy(sizePolicy)
+        self.frame.setFrameShape(QtWidgets.QFrame.Box)
+        self.frame.setObjectName("frame")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.frame)
+        self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_4.setSpacing(0)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.RBHaut = QtWidgets.QToolButton(self.frame)
+        self.RBHaut.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBHaut.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBHaut.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon.fromTheme("go-up")
+        self.RBHaut.setIcon(icon)
+        self.RBHaut.setIconSize(QtCore.QSize(32, 32))
+        self.RBHaut.setObjectName("RBHaut")
+        self.horizontalLayout_4.addWidget(self.RBHaut)
+        self.RBBas = QtWidgets.QToolButton(self.frame)
+        self.RBBas.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBBas.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBBas.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon.fromTheme("go-down")
+        self.RBBas.setIcon(icon)
+        self.RBBas.setIconSize(QtCore.QSize(32, 32))
+        self.RBBas.setObjectName("RBBas")
+        self.horizontalLayout_4.addWidget(self.RBBas)
+        self.RBMoins = QtWidgets.QToolButton(self.frame)
+        self.RBMoins.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBMoins.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBMoins.setStyleSheet("border : 0px")
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap("../Editeur/icons/MoinsBleu2.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBMoins.setIcon(icon2)
+        self.RBMoins.setIconSize(QtCore.QSize(32, 32))
+        self.RBMoins.setObjectName("RBMoins")
+        self.horizontalLayout_4.addWidget(self.RBMoins)
+        self.RBPlus = QtWidgets.QToolButton(self.frame)
+        self.RBPlus.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPlus.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPlus.setStyleSheet("border : 0px")
+        icon3 = QtGui.QIcon()
+        icon3.addPixmap(QtGui.QPixmap("../Editeur/icons/PlusBleu.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPlus.setIcon(icon3)
+        self.RBPlus.setIconSize(QtCore.QSize(32, 32))
+        self.RBPlus.setObjectName("RBPlus")
+        self.horizontalLayout_4.addWidget(self.RBPlus)
+        self.horizontalLayout_3.addLayout(self.horizontalLayout_4)
+        spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem5)
+        self.RBVoisListe = QtWidgets.QToolButton(self.frame)
+        self.RBVoisListe.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBVoisListe.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBVoisListe.setStyleSheet("border : 0px")
+        icon4 = QtGui.QIcon()
+        icon4.addPixmap(QtGui.QPixmap("../Editeur/icons/verre-loupe-icone-6087-64.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBVoisListe.setIcon(icon4)
+        self.RBVoisListe.setIconSize(QtCore.QSize(32, 32))
+        self.RBVoisListe.setObjectName("RBVoisListe")
+        self.horizontalLayout_3.addWidget(self.RBVoisListe)
+        spacerItem6 = QtWidgets.QSpacerItem(18, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem6)
+        self.verticalLayout_5.addWidget(self.frame)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_5)
+        spacerItem7 = QtWidgets.QSpacerItem(20, 17, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem7)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetPlusieursIntoOrdonne)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon5 = QtGui.QIcon()
+        icon5.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon5)
+        self.RBPoubelle.setIconSize(QtCore.QSize(32, 32))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.verticalLayout.addWidget(self.RBPoubelle)
+        spacerItem8 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem8)
+        self.horizontalLayout_2.addLayout(self.verticalLayout)
+        self.scrollArea.raise_()
+
+        self.retranslateUi(WidgetPlusieursIntoOrdonne)
+        QtCore.QMetaObject.connectSlotsByName(WidgetPlusieursIntoOrdonne)
+
+    def retranslateUi(self, WidgetPlusieursIntoOrdonne):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetPlusieursIntoOrdonne.setWindowTitle(_translate("WidgetPlusieursIntoOrdonne", "Form"))
+        self.BFermeListe.setToolTip(_translate("WidgetPlusieursIntoOrdonne", "permet de gérer la liste"))
+        self.BFermeListe.setText(_translate("WidgetPlusieursIntoOrdonne", "..."))
+        self.RBValide.setToolTip(_translate("WidgetPlusieursIntoOrdonne", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetPlusieursIntoOrdonne", "..."))
+        self.label.setText(_translate("WidgetPlusieursIntoOrdonne", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.monCommentaireLabel.setText(_translate("WidgetPlusieursIntoOrdonne", "TextLabel"))
+        self.RBHaut.setToolTip(_translate("WidgetPlusieursIntoOrdonne", "Remonte d\'une ligne"))
+        self.RBHaut.setText(_translate("WidgetPlusieursIntoOrdonne", "..."))
+        self.RBBas.setToolTip(_translate("WidgetPlusieursIntoOrdonne", "Descend d\'une ligne"))
+        self.RBBas.setText(_translate("WidgetPlusieursIntoOrdonne", "..."))
+        self.RBMoins.setToolTip(_translate("WidgetPlusieursIntoOrdonne", "Détruit une ligne"))
+        self.RBMoins.setText(_translate("WidgetPlusieursIntoOrdonne", "..."))
+        self.RBPlus.setToolTip(_translate("WidgetPlusieursIntoOrdonne", "ajoute une ligne"))
+        self.RBPlus.setText(_translate("WidgetPlusieursIntoOrdonne", "..."))
+        self.RBVoisListe.setToolTip(_translate("WidgetPlusieursIntoOrdonne", "visualise l\'ensemble des valeurs"))
+        self.RBVoisListe.setText(_translate("WidgetPlusieursIntoOrdonne", "..."))
+        self.RBPoubelle.setToolTip(_translate("WidgetPlusieursIntoOrdonne", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetPlusieursIntoOrdonne", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetPlusieursIntoOrdonne = QtWidgets.QWidget()
+    ui = Ui_WidgetPlusieursIntoOrdonne()
+    ui.setupUi(WidgetPlusieursIntoOrdonne)
+    WidgetPlusieursIntoOrdonne.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetPlusieursIntoOrdonne.ui b/UiQT5/desWidgetPlusieursIntoOrdonne.ui
new file mode 100644 (file)
index 0000000..b6871e9
--- /dev/null
@@ -0,0 +1,733 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetPlusieursIntoOrdonne</class>
+ <widget class="QWidget" name="WidgetPlusieursIntoOrdonne">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1013</width>
+    <height>243</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_2">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>2</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>7</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_3">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <widget class="QToolButton" name="BFermeListe">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>permet de gérer la liste</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border:0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/minusnode.png</normaloff>../Editeur/icons/minusnode.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_4">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <widget class="MonLabelClic" name="label">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>300</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>178</width>
+         <height>16777215</height>
+        </size>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="text">
+        <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+       </property>
+       <property name="scaledContents">
+        <bool>false</bool>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QScrollArea" name="scrollArea_2">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow">
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="widgetResizable">
+        <bool>true</bool>
+       </property>
+       <widget class="QWidget" name="scrollAreaWidgetContents">
+        <property name="geometry">
+         <rect>
+          <x>0</x>
+          <y>0</y>
+          <width>112</width>
+          <height>172</height>
+         </rect>
+        </property>
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <layout class="QVBoxLayout" name="verticalLayout_6">
+         <item>
+          <widget class="QLabel" name="monCommentaireLabel">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="text">
+            <string>TextLabel</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </widget>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer name="horizontalSpacer_3">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::Fixed</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>8</width>
+       <height>20</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <widget class="QScrollArea" name="scrollArea">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background : rgb(247,247,247)</string>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::Box</enum>
+     </property>
+     <property name="frameShadow">
+      <enum>QFrame::Plain</enum>
+     </property>
+     <property name="lineWidth">
+      <number>1</number>
+     </property>
+     <property name="widgetResizable">
+      <bool>true</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+     </property>
+     <widget class="QWidget" name="verticalWidgetLE">
+      <property name="geometry">
+       <rect>
+        <x>0</x>
+        <y>0</y>
+        <width>301</width>
+        <height>232</height>
+       </rect>
+      </property>
+      <property name="sizePolicy">
+       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+        <horstretch>0</horstretch>
+        <verstretch>0</verstretch>
+       </sizepolicy>
+      </property>
+      <layout class="QVBoxLayout" name="CBLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="margin">
+        <number>0</number>
+       </property>
+       <item>
+        <spacer name="verticalSpacer_4">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <spacer name="horizontalSpacer_2">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::Preferred</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>8</width>
+       <height>108</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_5">
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="QScrollArea" name="scrollAreaRE">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background : rgb(247,247,247)</string>
+         </property>
+         <property name="frameShape">
+          <enum>QFrame::Box</enum>
+         </property>
+         <property name="frameShadow">
+          <enum>QFrame::Plain</enum>
+         </property>
+         <property name="lineWidth">
+          <number>1</number>
+         </property>
+         <property name="widgetResizable">
+          <bool>true</bool>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+         </property>
+         <widget class="QWidget" name="verticalWidgetLEChoisis">
+          <property name="geometry">
+           <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>297</width>
+            <height>187</height>
+           </rect>
+          </property>
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <layout class="QVBoxLayout" name="CBChoisis">
+           <property name="spacing">
+            <number>0</number>
+           </property>
+           <property name="margin">
+            <number>0</number>
+           </property>
+           <item>
+            <spacer name="verticalSpacer_3">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>40</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <widget class="QFrame" name="frame">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::Box</enum>
+       </property>
+       <layout class="QHBoxLayout" name="horizontalLayout_3">
+        <property name="spacing">
+         <number>0</number>
+        </property>
+        <property name="margin">
+         <number>0</number>
+        </property>
+        <item>
+         <layout class="QHBoxLayout" name="horizontalLayout_4">
+          <property name="spacing">
+           <number>0</number>
+          </property>
+          <property name="sizeConstraint">
+           <enum>QLayout::SetFixedSize</enum>
+          </property>
+          <item>
+           <widget class="QToolButton" name="RBHaut">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="toolTip">
+             <string>Remonte d'une ligne</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset theme="go-up">
+              <normaloff/>
+             </iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QToolButton" name="RBBas">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="toolTip">
+             <string>Descend d'une ligne</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset theme="go-down">
+              <normaloff/>
+             </iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QToolButton" name="RBMoins">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="toolTip">
+             <string>Détruit une ligne</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normaloff>../Editeur/icons/MoinsBleu2.png</normaloff>../Editeur/icons/MoinsBleu2.png</iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QToolButton" name="RBPlus">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="toolTip">
+             <string>ajoute une ligne</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normaloff>../Editeur/icons/PlusBleu.png</normaloff>../Editeur/icons/PlusBleu.png</iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_4">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>40</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QToolButton" name="RBVoisListe">
+          <property name="minimumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="toolTip">
+           <string>visualise l'ensemble des valeurs</string>
+          </property>
+          <property name="styleSheet">
+           <string notr="true">border : 0px</string>
+          </property>
+          <property name="text">
+           <string>...</string>
+          </property>
+          <property name="icon">
+           <iconset>
+            <normaloff>../Editeur/icons/verre-loupe-icone-6087-64.png</normaloff>../Editeur/icons/verre-loupe-icone-6087-64.png</iconset>
+          </property>
+          <property name="iconSize">
+           <size>
+            <width>32</width>
+            <height>32</height>
+           </size>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_5">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>18</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+       </layout>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer name="horizontalSpacer">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::Preferred</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>17</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <widget class="QToolButton" name="RBPoubelle">
+       <property name="minimumSize">
+        <size>
+         <width>21</width>
+         <height>31</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>21</width>
+         <height>31</height>
+        </size>
+       </property>
+       <property name="toolTip">
+        <string>Détruit le mot-clef</string>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>32</width>
+         <height>32</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>40</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+  <zorder>horizontalSpacer</zorder>
+  <zorder>horizontalSpacer_2</zorder>
+  <zorder>horizontalSpacer_3</zorder>
+  <zorder>scrollArea</zorder>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetPlusieursPlie.py b/UiQT5/desWidgetPlusieursPlie.py
new file mode 100644 (file)
index 0000000..e4fac05
--- /dev/null
@@ -0,0 +1,145 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetPlusieursPlie.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetPlusieursPlie(object):
+    def setupUi(self, WidgetPlusieursPlie):
+        WidgetPlusieursPlie.setObjectName("WidgetPlusieursPlie")
+        WidgetPlusieursPlie.resize(1095, 62)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetPlusieursPlie.sizePolicy().hasHeightForWidth())
+        WidgetPlusieursPlie.setSizePolicy(sizePolicy)
+        WidgetPlusieursPlie.setMinimumSize(QtCore.QSize(0, 0))
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(WidgetPlusieursPlie)
+        self.horizontalLayout_4.setContentsMargins(0, 1, 0, 1)
+        self.horizontalLayout_4.setSpacing(0)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.BVisuListe = QtWidgets.QToolButton(WidgetPlusieursPlie)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.BVisuListe.sizePolicy().hasHeightForWidth())
+        self.BVisuListe.setSizePolicy(sizePolicy)
+        self.BVisuListe.setMaximumSize(QtCore.QSize(21, 25))
+        self.BVisuListe.setStyleSheet("border:0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/plusnode.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.BVisuListe.setIcon(icon)
+        self.BVisuListe.setIconSize(QtCore.QSize(25, 25))
+        self.BVisuListe.setObjectName("BVisuListe")
+        self.horizontalLayout.addWidget(self.BVisuListe)
+        self.RBValide = MonBoutonValide(WidgetPlusieursPlie)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon1)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        spacerItem = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem)
+        self.horizontalLayout_4.addLayout(self.verticalLayout)
+        self.label = MonLabelClic(WidgetPlusieursPlie)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_4.addWidget(self.label)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.lineEditVal = QtWidgets.QLineEdit(WidgetPlusieursPlie)
+        self.lineEditVal.setEnabled(False)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal.sizePolicy().hasHeightForWidth())
+        self.lineEditVal.setSizePolicy(sizePolicy)
+        self.lineEditVal.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal.setStyleSheet("background:rgb(195,195,195);\n"
+"border:0px;\n"
+"")
+        self.lineEditVal.setObjectName("lineEditVal")
+        self.horizontalLayout_3.addWidget(self.lineEditVal)
+        spacerItem1 = QtWidgets.QSpacerItem(71, 20, QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem2 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetPlusieursPlie)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.RBPoubelle.sizePolicy().hasHeightForWidth())
+        self.RBPoubelle.setSizePolicy(sizePolicy)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon2)
+        self.RBPoubelle.setIconSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout_2.addWidget(self.RBPoubelle)
+        self.horizontalLayout_3.addLayout(self.horizontalLayout_2)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem3)
+        self.horizontalLayout_4.addLayout(self.verticalLayout_2)
+
+        self.retranslateUi(WidgetPlusieursPlie)
+        QtCore.QMetaObject.connectSlotsByName(WidgetPlusieursPlie)
+        WidgetPlusieursPlie.setTabOrder(self.lineEditVal, self.RBPoubelle)
+        WidgetPlusieursPlie.setTabOrder(self.RBPoubelle, self.RBValide)
+
+    def retranslateUi(self, WidgetPlusieursPlie):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetPlusieursPlie.setWindowTitle(_translate("WidgetPlusieursPlie", "Form"))
+        self.BVisuListe.setToolTip(_translate("WidgetPlusieursPlie", "permet de gérer la liste"))
+        self.BVisuListe.setText(_translate("WidgetPlusieursPlie", "..."))
+        self.RBValide.setToolTip(_translate("WidgetPlusieursPlie", "Affiche le rapport de validité du mot-clef"))
+        self.RBValide.setText(_translate("WidgetPlusieursPlie", "..."))
+        self.label.setText(_translate("WidgetPlusieursPlie", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.RBPoubelle.setToolTip(_translate("WidgetPlusieursPlie", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetPlusieursPlie", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetPlusieursPlie = QtWidgets.QWidget()
+    ui = Ui_WidgetPlusieursPlie()
+    ui.setupUi(WidgetPlusieursPlie)
+    WidgetPlusieursPlie.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetPlusieursPlie.ui b/UiQT5/desWidgetPlusieursPlie.ui
new file mode 100644 (file)
index 0000000..c9dbe94
--- /dev/null
@@ -0,0 +1,330 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetPlusieursPlie</class>
+ <widget class="QWidget" name="WidgetPlusieursPlie">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1095</width>
+    <height>62</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_4">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>1</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>1</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="QToolButton" name="BVisuListe">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>permet de gérer la liste</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border:0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/plusnode.png</normaloff>../Editeur/icons/plusnode.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validité du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_3">
+       <item>
+        <widget class="QLineEdit" name="lineEditVal">
+         <property name="enabled">
+          <bool>false</bool>
+         </property>
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>1</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>805</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background:rgb(195,195,195);
+border:0px;
+</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::MinimumExpanding</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>71</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout_2">
+         <property name="spacing">
+          <number>0</number>
+         </property>
+         <property name="sizeConstraint">
+          <enum>QLayout::SetFixedSize</enum>
+         </property>
+         <item>
+          <spacer name="horizontalSpacer_4">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeType">
+            <enum>QSizePolicy::Fixed</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>13</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item>
+          <widget class="QToolButton" name="RBPoubelle">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="toolTip">
+            <string>Détruit le mot-clef</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">border : 0px</string>
+           </property>
+           <property name="text">
+            <string>...</string>
+           </property>
+           <property name="icon">
+            <iconset>
+             <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+           </property>
+           <property name="iconSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>lineEditVal</tabstop>
+  <tabstop>RBPoubelle</tabstop>
+  <tabstop>RBValide</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetPlusieursTuple.py b/UiQT5/desWidgetPlusieursTuple.py
new file mode 100644 (file)
index 0000000..4dcd248
--- /dev/null
@@ -0,0 +1,277 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetPlusieursTuple.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetPlusieursTuple(object):
+    def setupUi(self, WidgetPlusieursTuple):
+        WidgetPlusieursTuple.setObjectName("WidgetPlusieursTuple")
+        WidgetPlusieursTuple.resize(612, 175)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetPlusieursTuple.sizePolicy().hasHeightForWidth())
+        WidgetPlusieursTuple.setSizePolicy(sizePolicy)
+        WidgetPlusieursTuple.setMinimumSize(QtCore.QSize(0, 0))
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(WidgetPlusieursTuple)
+        self.horizontalLayout_2.setContentsMargins(0, 2, 0, 2)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.verticalLayout_5 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_5.setObjectName("verticalLayout_5")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetPlusieursTuple)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.verticalLayout_5.addLayout(self.verticalLayout_2)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_5)
+        self.verticalLayout_6 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_6.setSpacing(0)
+        self.verticalLayout_6.setObjectName("verticalLayout_6")
+        self.label = MonLabelClic(WidgetPlusieursTuple)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.verticalLayout_6.addWidget(self.label)
+        self.scrollArea_2 = QtWidgets.QScrollArea(WidgetPlusieursTuple)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollArea_2.sizePolicy().hasHeightForWidth())
+        self.scrollArea_2.setSizePolicy(sizePolicy)
+        self.scrollArea_2.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollArea_2.setFrameShadow(QtWidgets.QFrame.Plain)
+        self.scrollArea_2.setWidgetResizable(True)
+        self.scrollArea_2.setObjectName("scrollArea_2")
+        self.scrollAreaWidgetContents = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 112, 109))
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollAreaWidgetContents.sizePolicy().hasHeightForWidth())
+        self.scrollAreaWidgetContents.setSizePolicy(sizePolicy)
+        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
+        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents)
+        self.verticalLayout_7.setObjectName("verticalLayout_7")
+        self.monCommentaireLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.monCommentaireLabel.sizePolicy().hasHeightForWidth())
+        self.monCommentaireLabel.setSizePolicy(sizePolicy)
+        self.monCommentaireLabel.setObjectName("monCommentaireLabel")
+        self.verticalLayout_7.addWidget(self.monCommentaireLabel)
+        self.scrollArea_2.setWidget(self.scrollAreaWidgetContents)
+        self.verticalLayout_6.addWidget(self.scrollArea_2)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_6)
+        self.verticalLayout_4 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_4.setObjectName("verticalLayout_4")
+        self.frame = QtWidgets.QFrame(WidgetPlusieursTuple)
+        self.frame.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.frame.setObjectName("frame")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.frame)
+        self.verticalLayout_3.setContentsMargins(0, -1, 0, -1)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.scrollArea = QtWidgets.QScrollArea(self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
+        self.scrollArea.setSizePolicy(sizePolicy)
+        self.scrollArea.setStyleSheet("background : rgb(247,247,247)")
+        self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollArea.setLineWidth(1)
+        self.scrollArea.setWidgetResizable(True)
+        self.scrollArea.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
+        self.scrollArea.setObjectName("scrollArea")
+        self.verticalWidgetLE = QtWidgets.QWidget()
+        self.verticalWidgetLE.setGeometry(QtCore.QRect(0, 0, 197, 110))
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.verticalWidgetLE.sizePolicy().hasHeightForWidth())
+        self.verticalWidgetLE.setSizePolicy(sizePolicy)
+        self.verticalWidgetLE.setObjectName("verticalWidgetLE")
+        self.verticalLayoutLE = QtWidgets.QVBoxLayout(self.verticalWidgetLE)
+        self.verticalLayoutLE.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayoutLE.setSpacing(0)
+        self.verticalLayoutLE.setObjectName("verticalLayoutLE")
+        spacerItem2 = QtWidgets.QSpacerItem(20, 13, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayoutLE.addItem(spacerItem2)
+        self.scrollArea.setWidget(self.verticalWidgetLE)
+        self.verticalLayout_3.addWidget(self.scrollArea)
+        self.verticalLayout_4.addWidget(self.frame)
+        self.frame1 = QtWidgets.QFrame(WidgetPlusieursTuple)
+        self.frame1.setFrameShape(QtWidgets.QFrame.Box)
+        self.frame1.setObjectName("frame1")
+        self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.frame1)
+        self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_5.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_5.setSpacing(0)
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.RBHaut = QtWidgets.QToolButton(self.frame1)
+        self.RBHaut.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBHaut.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBHaut.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBHaut.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon.fromTheme("go-up")
+        self.RBHaut.setIcon(icon)
+        self.RBHaut.setIconSize(QtCore.QSize(32, 32))
+        self.RBHaut.setObjectName("RBHaut")
+        self.horizontalLayout_5.addWidget(self.RBHaut)
+        self.RBBas = QtWidgets.QToolButton(self.frame1)
+        self.RBBas.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBBas.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBBas.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBBas.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon.fromTheme("go-down")
+        self.RBBas.setIcon(icon)
+        self.RBBas.setIconSize(QtCore.QSize(32, 32))
+        self.RBBas.setObjectName("RBBas")
+        self.horizontalLayout_5.addWidget(self.RBBas)
+        self.RBMoins = QtWidgets.QToolButton(self.frame1)
+        self.RBMoins.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBMoins.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBMoins.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBMoins.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/MoinsBleu2.png"), QtGui.QIcon.Normal, QtGui.QIcon.On)
+        self.RBMoins.setIcon(icon1)
+        self.RBMoins.setIconSize(QtCore.QSize(32, 32))
+        self.RBMoins.setObjectName("RBMoins")
+        self.horizontalLayout_5.addWidget(self.RBMoins)
+        self.RBPlus = QtWidgets.QToolButton(self.frame1)
+        self.RBPlus.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPlus.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPlus.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPlus.setStyleSheet("border : 0px")
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap("../Editeur/icons/PlusBleu.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPlus.setIcon(icon2)
+        self.RBPlus.setIconSize(QtCore.QSize(32, 32))
+        self.RBPlus.setObjectName("RBPlus")
+        self.horizontalLayout_5.addWidget(self.RBPlus)
+        self.horizontalLayout_6.addLayout(self.horizontalLayout_5)
+        spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_6.addItem(spacerItem3)
+        self.RBVoisListe = QtWidgets.QToolButton(self.frame1)
+        self.RBVoisListe.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBVoisListe.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBVoisListe.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBVoisListe.setStyleSheet("border : 0px")
+        icon3 = QtGui.QIcon()
+        icon3.addPixmap(QtGui.QPixmap("../Editeur/icons/verre-loupe-icone-6087-64.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBVoisListe.setIcon(icon3)
+        self.RBVoisListe.setIconSize(QtCore.QSize(32, 32))
+        self.RBVoisListe.setObjectName("RBVoisListe")
+        self.horizontalLayout_6.addWidget(self.RBVoisListe)
+        self.verticalLayout_4.addWidget(self.frame1)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_4)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.BSelectFichier = QtWidgets.QToolButton(WidgetPlusieursTuple)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.BSelectFichier.sizePolicy().hasHeightForWidth())
+        self.BSelectFichier.setSizePolicy(sizePolicy)
+        self.BSelectFichier.setMaximumSize(QtCore.QSize(25, 30))
+        self.BSelectFichier.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.BSelectFichier.setStyleSheet("border:0px")
+        icon = QtGui.QIcon.fromTheme("text-x-generic")
+        self.BSelectFichier.setIcon(icon)
+        self.BSelectFichier.setIconSize(QtCore.QSize(32, 32))
+        self.BSelectFichier.setObjectName("BSelectFichier")
+        self.horizontalLayout_3.addWidget(self.BSelectFichier)
+        spacerItem4 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem4)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetPlusieursTuple)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon4 = QtGui.QIcon()
+        icon4.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon4)
+        self.RBPoubelle.setIconSize(QtCore.QSize(32, 32))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout_3.addWidget(self.RBPoubelle)
+        self.verticalLayout.addLayout(self.horizontalLayout_3)
+        spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem5)
+        self.horizontalLayout_2.addLayout(self.verticalLayout)
+
+        self.retranslateUi(WidgetPlusieursTuple)
+        QtCore.QMetaObject.connectSlotsByName(WidgetPlusieursTuple)
+
+    def retranslateUi(self, WidgetPlusieursTuple):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetPlusieursTuple.setWindowTitle(_translate("WidgetPlusieursTuple", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetPlusieursTuple", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetPlusieursTuple", "..."))
+        self.label.setText(_translate("WidgetPlusieursTuple", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.monCommentaireLabel.setText(_translate("WidgetPlusieursTuple", "TextLabel"))
+        self.RBHaut.setToolTip(_translate("WidgetPlusieursTuple", "Remonte la ligne"))
+        self.RBHaut.setText(_translate("WidgetPlusieursTuple", "..."))
+        self.RBBas.setToolTip(_translate("WidgetPlusieursTuple", "Descend la ligne"))
+        self.RBBas.setText(_translate("WidgetPlusieursTuple", "..."))
+        self.RBMoins.setToolTip(_translate("WidgetPlusieursTuple", "supprime une ligne"))
+        self.RBMoins.setText(_translate("WidgetPlusieursTuple", "..."))
+        self.RBPlus.setToolTip(_translate("WidgetPlusieursTuple", "Ajoute une ligne"))
+        self.RBPlus.setText(_translate("WidgetPlusieursTuple", "..."))
+        self.RBVoisListe.setToolTip(_translate("WidgetPlusieursTuple", "Montre l\'ensemble des valeurs"))
+        self.RBVoisListe.setText(_translate("WidgetPlusieursTuple", "..."))
+        self.BSelectFichier.setToolTip(_translate("WidgetPlusieursTuple", "Ouvre un fichier de sélection des valeurs"))
+        self.BSelectFichier.setText(_translate("WidgetPlusieursTuple", "..."))
+        self.RBPoubelle.setToolTip(_translate("WidgetPlusieursTuple", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetPlusieursTuple", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetPlusieursTuple = QtWidgets.QWidget()
+    ui = Ui_WidgetPlusieursTuple()
+    ui.setupUi(WidgetPlusieursTuple)
+    WidgetPlusieursTuple.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetPlusieursTuple.ui b/UiQT5/desWidgetPlusieursTuple.ui
new file mode 100644 (file)
index 0000000..391a232
--- /dev/null
@@ -0,0 +1,668 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetPlusieursTuple</class>
+ <widget class="QWidget" name="WidgetPlusieursTuple">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>612</width>
+    <height>175</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_2">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>2</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>2</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_5">
+     <item>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout">
+         <property name="spacing">
+          <number>0</number>
+         </property>
+         <property name="sizeConstraint">
+          <enum>QLayout::SetFixedSize</enum>
+         </property>
+         <item>
+          <spacer name="horizontalSpacer_3">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeType">
+            <enum>QSizePolicy::Fixed</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>21</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item>
+          <widget class="MonBoutonValide" name="RBValide">
+           <property name="minimumSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="focusPolicy">
+            <enum>Qt::ClickFocus</enum>
+           </property>
+           <property name="toolTip">
+            <string>Affiche le rapport de validation du mot-clef</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">border : 0px</string>
+           </property>
+           <property name="text">
+            <string>...</string>
+           </property>
+           <property name="icon">
+            <iconset>
+             <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+           </property>
+           <property name="iconSize">
+            <size>
+             <width>25</width>
+             <height>25</height>
+            </size>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <spacer name="verticalSpacer">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>5</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_6">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <widget class="MonLabelClic" name="label">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>300</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>178</width>
+         <height>16777215</height>
+        </size>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="text">
+        <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+       </property>
+       <property name="scaledContents">
+        <bool>false</bool>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QScrollArea" name="scrollArea_2">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Expanding">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="frameShape">
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow">
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="widgetResizable">
+        <bool>true</bool>
+       </property>
+       <widget class="QWidget" name="scrollAreaWidgetContents">
+        <property name="geometry">
+         <rect>
+          <x>0</x>
+          <y>0</y>
+          <width>112</width>
+          <height>109</height>
+         </rect>
+        </property>
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <layout class="QVBoxLayout" name="verticalLayout_7">
+         <item>
+          <widget class="QLabel" name="monCommentaireLabel">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="text">
+            <string>TextLabel</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </widget>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_4">
+     <item>
+      <widget class="QFrame" name="frame">
+       <property name="frameShape">
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <layout class="QVBoxLayout" name="verticalLayout_3">
+        <property name="leftMargin">
+         <number>0</number>
+        </property>
+        <property name="rightMargin">
+         <number>0</number>
+        </property>
+        <item>
+         <widget class="QScrollArea" name="scrollArea">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="styleSheet">
+           <string notr="true">background : rgb(247,247,247)</string>
+          </property>
+          <property name="frameShape">
+           <enum>QFrame::NoFrame</enum>
+          </property>
+          <property name="lineWidth">
+           <number>1</number>
+          </property>
+          <property name="widgetResizable">
+           <bool>true</bool>
+          </property>
+          <property name="alignment">
+           <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+          </property>
+          <widget class="QWidget" name="verticalWidgetLE">
+           <property name="geometry">
+            <rect>
+             <x>0</x>
+             <y>0</y>
+             <width>197</width>
+             <height>110</height>
+            </rect>
+           </property>
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <layout class="QVBoxLayout" name="verticalLayoutLE">
+            <property name="spacing">
+             <number>0</number>
+            </property>
+            <property name="margin">
+             <number>0</number>
+            </property>
+            <item>
+             <spacer name="verticalSpacer_3">
+              <property name="orientation">
+               <enum>Qt::Vertical</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>20</width>
+                <height>13</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
+          </widget>
+         </widget>
+        </item>
+       </layout>
+      </widget>
+     </item>
+     <item>
+      <widget class="QFrame" name="frame">
+       <property name="frameShape">
+        <enum>QFrame::Box</enum>
+       </property>
+       <layout class="QHBoxLayout" name="horizontalLayout_6">
+        <property name="margin">
+         <number>0</number>
+        </property>
+        <item>
+         <layout class="QHBoxLayout" name="horizontalLayout_5">
+          <property name="spacing">
+           <number>0</number>
+          </property>
+          <property name="sizeConstraint">
+           <enum>QLayout::SetFixedSize</enum>
+          </property>
+          <item>
+           <widget class="QToolButton" name="RBHaut">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>Remonte la ligne</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset theme="go-up">
+              <normaloff/>
+             </iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QToolButton" name="RBBas">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>Descend la ligne</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset theme="go-down">
+              <normaloff/>
+             </iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QToolButton" name="RBMoins">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>supprime une ligne</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normalon>../Editeur/icons/MoinsBleu2.png</normalon>
+             </iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QToolButton" name="RBPlus">
+            <property name="minimumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="maximumSize">
+             <size>
+              <width>21</width>
+              <height>31</height>
+             </size>
+            </property>
+            <property name="focusPolicy">
+             <enum>Qt::ClickFocus</enum>
+            </property>
+            <property name="toolTip">
+             <string>Ajoute une ligne</string>
+            </property>
+            <property name="styleSheet">
+             <string notr="true">border : 0px</string>
+            </property>
+            <property name="text">
+             <string>...</string>
+            </property>
+            <property name="icon">
+             <iconset>
+              <normaloff>../Editeur/icons/PlusBleu.png</normaloff>../Editeur/icons/PlusBleu.png</iconset>
+            </property>
+            <property name="iconSize">
+             <size>
+              <width>32</width>
+              <height>32</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_6">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeType">
+           <enum>QSizePolicy::Minimum</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>40</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QToolButton" name="RBVoisListe">
+          <property name="minimumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>21</width>
+            <height>31</height>
+           </size>
+          </property>
+          <property name="focusPolicy">
+           <enum>Qt::ClickFocus</enum>
+          </property>
+          <property name="toolTip">
+           <string>Montre l'ensemble des valeurs</string>
+          </property>
+          <property name="styleSheet">
+           <string notr="true">border : 0px</string>
+          </property>
+          <property name="text">
+           <string>...</string>
+          </property>
+          <property name="icon">
+           <iconset>
+            <normaloff>../Editeur/icons/verre-loupe-icone-6087-64.png</normaloff>../Editeur/icons/verre-loupe-icone-6087-64.png</iconset>
+          </property>
+          <property name="iconSize">
+           <size>
+            <width>32</width>
+            <height>32</height>
+           </size>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_3">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="QToolButton" name="BSelectFichier">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>25</width>
+           <height>30</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Ouvre un fichier de sélection des valeurs</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border:0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset theme="text-x-generic">
+           <normaloff/>
+          </iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>32</width>
+           <height>32</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_4">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>13</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QToolButton" name="RBPoubelle">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>31</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>31</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Détruit le mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>32</width>
+           <height>32</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>40</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetRadioButton.py b/UiQT5/desWidgetRadioButton.py
new file mode 100644 (file)
index 0000000..981a2aa
--- /dev/null
@@ -0,0 +1,141 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetRadioButton.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetRadioButton(object):
+    def setupUi(self, WidgetRadioButton):
+        WidgetRadioButton.setObjectName("WidgetRadioButton")
+        WidgetRadioButton.resize(851, 62)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetRadioButton.sizePolicy().hasHeightForWidth())
+        WidgetRadioButton.setSizePolicy(sizePolicy)
+        WidgetRadioButton.setMinimumSize(QtCore.QSize(0, 0))
+        WidgetRadioButton.setMaximumSize(QtCore.QSize(16777215, 16777215))
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(WidgetRadioButton)
+        self.horizontalLayout_3.setContentsMargins(0, 1, 0, 1)
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetRadioButton)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout_3.addLayout(self.verticalLayout_2)
+        self.label = MonLabelClic(WidgetRadioButton)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_3.addWidget(self.label)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setSpacing(0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.radioButton_1 = QtWidgets.QRadioButton(WidgetRadioButton)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.radioButton_1.sizePolicy().hasHeightForWidth())
+        self.radioButton_1.setSizePolicy(sizePolicy)
+        self.radioButton_1.setMinimumSize(QtCore.QSize(0, 25))
+        self.radioButton_1.setObjectName("radioButton_1")
+        self.horizontalLayout_2.addWidget(self.radioButton_1)
+        spacerItem2 = QtWidgets.QSpacerItem(2, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        self.radioButton_2 = QtWidgets.QRadioButton(WidgetRadioButton)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.radioButton_2.sizePolicy().hasHeightForWidth())
+        self.radioButton_2.setSizePolicy(sizePolicy)
+        self.radioButton_2.setObjectName("radioButton_2")
+        self.horizontalLayout_2.addWidget(self.radioButton_2)
+        spacerItem3 = QtWidgets.QSpacerItem(2, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem3)
+        self.radioButton_3 = QtWidgets.QRadioButton(WidgetRadioButton)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.radioButton_3.sizePolicy().hasHeightForWidth())
+        self.radioButton_3.setSizePolicy(sizePolicy)
+        self.radioButton_3.setObjectName("radioButton_3")
+        self.horizontalLayout_2.addWidget(self.radioButton_3)
+        spacerItem4 = QtWidgets.QSpacerItem(5, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem4)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetRadioButton)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout_2.addWidget(self.RBPoubelle)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        spacerItem5 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem5)
+        self.horizontalLayout_3.addLayout(self.verticalLayout)
+
+        self.retranslateUi(WidgetRadioButton)
+        QtCore.QMetaObject.connectSlotsByName(WidgetRadioButton)
+
+    def retranslateUi(self, WidgetRadioButton):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetRadioButton.setWindowTitle(_translate("WidgetRadioButton", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetRadioButton", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetRadioButton", "..."))
+        self.label.setText(_translate("WidgetRadioButton", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.radioButton_1.setText(_translate("WidgetRadioButton", "RadioButton"))
+        self.radioButton_2.setText(_translate("WidgetRadioButton", "RadioButton"))
+        self.radioButton_3.setText(_translate("WidgetRadioButton", "RadioButton"))
+        self.RBPoubelle.setToolTip(_translate("WidgetRadioButton", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetRadioButton", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetRadioButton = QtWidgets.QWidget()
+    ui = Ui_WidgetRadioButton()
+    ui.setupUi(WidgetRadioButton)
+    WidgetRadioButton.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetRadioButton.ui b/UiQT5/desWidgetRadioButton.ui
new file mode 100644 (file)
index 0000000..a558188
--- /dev/null
@@ -0,0 +1,336 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetRadioButton</class>
+ <widget class="QWidget" name="WidgetRadioButton">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>851</width>
+    <height>62</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="maximumSize">
+   <size>
+    <width>16777215</width>
+    <height>16777215</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_3">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>1</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>1</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="QRadioButton" name="radioButton_1">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="text">
+          <string>RadioButton</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_4">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>2</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QRadioButton" name="radioButton_2">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="text">
+          <string>RadioButton</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_5">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>2</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QRadioButton" name="radioButton_3">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="text">
+          <string>RadioButton</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>5</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QToolButton" name="RBPoubelle">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Détruit le mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetSDCOInto.py b/UiQT5/desWidgetSDCOInto.py
new file mode 100644 (file)
index 0000000..e0c6eed
--- /dev/null
@@ -0,0 +1,163 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetSDCOInto.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetSDCOInto(object):
+    def setupUi(self, WidgetSDCOInto):
+        WidgetSDCOInto.setObjectName("WidgetSDCOInto")
+        WidgetSDCOInto.resize(858, 312)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetSDCOInto.sizePolicy().hasHeightForWidth())
+        WidgetSDCOInto.setSizePolicy(sizePolicy)
+        WidgetSDCOInto.setMinimumSize(QtCore.QSize(0, 0))
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(WidgetSDCOInto)
+        self.horizontalLayout_2.setContentsMargins(0, 1, 0, 1)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetSDCOInto)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout_2.addLayout(self.verticalLayout_2)
+        self.label = MonLabelClic(WidgetSDCOInto)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_2.addWidget(self.label)
+        self.frame = QtWidgets.QFrame(WidgetSDCOInto)
+        self.frame.setFrameShape(QtWidgets.QFrame.Box)
+        self.frame.setObjectName("frame")
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.frame)
+        self.verticalLayout_3.setSpacing(0)
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.textLabel2 = QtWidgets.QLabel(self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.textLabel2.sizePolicy().hasHeightForWidth())
+        self.textLabel2.setSizePolicy(sizePolicy)
+        self.textLabel2.setMaximumSize(QtCore.QSize(16777215, 31))
+        self.textLabel2.setWordWrap(False)
+        self.textLabel2.setObjectName("textLabel2")
+        self.verticalLayout_3.addWidget(self.textLabel2)
+        self.scrollArea = QtWidgets.QScrollArea(self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
+        self.scrollArea.setSizePolicy(sizePolicy)
+        self.scrollArea.setMaximumSize(QtCore.QSize(16777215, 200))
+        self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.scrollArea.setWidgetResizable(True)
+        self.scrollArea.setObjectName("scrollArea")
+        self.scrollAreaWidgetContents = QtWidgets.QWidget()
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 462, 200))
+        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
+        self.gridLayout = QtWidgets.QGridLayout(self.scrollAreaWidgetContents)
+        self.gridLayout.setObjectName("gridLayout")
+        self.LBSDCO = QtWidgets.QListWidget(self.scrollAreaWidgetContents)
+        self.LBSDCO.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.LBSDCO.setObjectName("LBSDCO")
+        self.gridLayout.addWidget(self.LBSDCO, 0, 0, 1, 1)
+        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
+        self.verticalLayout_3.addWidget(self.scrollArea)
+        self.label_3 = QtWidgets.QLabel(self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
+        self.label_3.setSizePolicy(sizePolicy)
+        self.label_3.setObjectName("label_3")
+        self.verticalLayout_3.addWidget(self.label_3)
+        self.LESDCO = QtWidgets.QLineEdit(self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.LESDCO.sizePolicy().hasHeightForWidth())
+        self.LESDCO.setSizePolicy(sizePolicy)
+        self.LESDCO.setMinimumSize(QtCore.QSize(0, 25))
+        self.LESDCO.setMaximumSize(QtCore.QSize(805, 31))
+        self.LESDCO.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.LESDCO.setObjectName("LESDCO")
+        self.verticalLayout_3.addWidget(self.LESDCO)
+        self.horizontalLayout_2.addWidget(self.frame)
+        spacerItem2 = QtWidgets.QSpacerItem(20, 17, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetSDCOInto)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(32, 32))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.verticalLayout.addWidget(self.RBPoubelle)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem3)
+        self.horizontalLayout_2.addLayout(self.verticalLayout)
+
+        self.retranslateUi(WidgetSDCOInto)
+        QtCore.QMetaObject.connectSlotsByName(WidgetSDCOInto)
+
+    def retranslateUi(self, WidgetSDCOInto):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetSDCOInto.setWindowTitle(_translate("WidgetSDCOInto", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetSDCOInto", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetSDCOInto", "..."))
+        self.label.setText(_translate("WidgetSDCOInto", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.textLabel2.setText(_translate("WidgetSDCOInto", "<html><head/><body><p>Structures de données du type requis </p><p><br/></p></body></html>"))
+        self.label_3.setText(_translate("WidgetSDCOInto", "<html><head/><body><p>ou Nom du concept</p></body></html>"))
+        self.RBPoubelle.setToolTip(_translate("WidgetSDCOInto", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetSDCOInto", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetSDCOInto = QtWidgets.QWidget()
+    ui = Ui_WidgetSDCOInto()
+    ui.setupUi(WidgetSDCOInto)
+    WidgetSDCOInto.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetSDCOInto.ui b/UiQT5/desWidgetSDCOInto.ui
new file mode 100644 (file)
index 0000000..8974f21
--- /dev/null
@@ -0,0 +1,360 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetSDCOInto</class>
+ <widget class="QWidget" name="WidgetSDCOInto">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>858</width>
+    <height>312</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_2">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>1</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>1</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QFrame" name="">
+     <property name="frameShape">
+      <enum>QFrame::Box</enum>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout_3">
+      <property name="spacing">
+       <number>0</number>
+      </property>
+      <item>
+       <widget class="QLabel" name="textLabel2">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="maximumSize">
+         <size>
+          <width>16777215</width>
+          <height>31</height>
+         </size>
+        </property>
+        <property name="text">
+         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Structures de données du type requis &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+        </property>
+        <property name="wordWrap">
+         <bool>false</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QScrollArea" name="scrollArea">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="maximumSize">
+         <size>
+          <width>16777215</width>
+          <height>200</height>
+         </size>
+        </property>
+        <property name="frameShape">
+         <enum>QFrame::NoFrame</enum>
+        </property>
+        <property name="widgetResizable">
+         <bool>true</bool>
+        </property>
+        <widget class="QWidget" name="scrollAreaWidgetContents">
+         <property name="geometry">
+          <rect>
+           <x>0</x>
+           <y>0</y>
+           <width>462</width>
+           <height>200</height>
+          </rect>
+         </property>
+         <layout class="QGridLayout" name="gridLayout">
+          <item row="0" column="0">
+           <widget class="QListWidget" name="LBSDCO">
+            <property name="frameShape">
+             <enum>QFrame::NoFrame</enum>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </widget>
+      </item>
+      <item>
+       <widget class="QLabel" name="label_3">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="text">
+         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;ou Nom du concept&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QLineEdit" name="LESDCO">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="minimumSize">
+         <size>
+          <width>0</width>
+          <height>25</height>
+         </size>
+        </property>
+        <property name="maximumSize">
+         <size>
+          <width>805</width>
+          <height>31</height>
+         </size>
+        </property>
+        <property name="styleSheet">
+         <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <spacer name="horizontalSpacer_2">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::Preferred</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>17</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <widget class="QToolButton" name="RBPoubelle">
+       <property name="minimumSize">
+        <size>
+         <width>21</width>
+         <height>31</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>21</width>
+         <height>31</height>
+        </size>
+       </property>
+       <property name="toolTip">
+        <string>Détruit le mot-clef</string>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>32</width>
+         <height>32</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>40</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetSimpBase.py b/UiQT5/desWidgetSimpBase.py
new file mode 100644 (file)
index 0000000..b71968a
--- /dev/null
@@ -0,0 +1,123 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetSimpBase.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetSimpBase(object):
+    def setupUi(self, WidgetSimpBase):
+        WidgetSimpBase.setObjectName("WidgetSimpBase")
+        WidgetSimpBase.resize(743, 60)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetSimpBase.sizePolicy().hasHeightForWidth())
+        WidgetSimpBase.setSizePolicy(sizePolicy)
+        WidgetSimpBase.setMinimumSize(QtCore.QSize(0, 0))
+        WidgetSimpBase.setMaximumSize(QtCore.QSize(1677721, 60))
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(WidgetSimpBase)
+        self.horizontalLayout_3.setContentsMargins(0, 1, 0, 1)
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetSimpBase)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout_3.addLayout(self.verticalLayout_2)
+        self.label = MonLabelClic(WidgetSimpBase)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_3.addWidget(self.label)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setSpacing(0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.lineEditVal = QtWidgets.QLineEdit(WidgetSimpBase)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal.sizePolicy().hasHeightForWidth())
+        self.lineEditVal.setSizePolicy(sizePolicy)
+        self.lineEditVal.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal.setObjectName("lineEditVal")
+        self.horizontalLayout_2.addWidget(self.lineEditVal)
+        spacerItem2 = QtWidgets.QSpacerItem(3, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        spacerItem3 = QtWidgets.QSpacerItem(58, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem3)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetSimpBase)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout_2.addWidget(self.RBPoubelle)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem4)
+        self.horizontalLayout_3.addLayout(self.verticalLayout)
+
+        self.retranslateUi(WidgetSimpBase)
+        QtCore.QMetaObject.connectSlotsByName(WidgetSimpBase)
+
+    def retranslateUi(self, WidgetSimpBase):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetSimpBase.setWindowTitle(_translate("WidgetSimpBase", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetSimpBase", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetSimpBase", "..."))
+        self.label.setText(_translate("WidgetSimpBase", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.RBPoubelle.setToolTip(_translate("WidgetSimpBase", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetSimpBase", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetSimpBase = QtWidgets.QWidget()
+    ui = Ui_WidgetSimpBase()
+    ui.setupUi(WidgetSimpBase)
+    WidgetSimpBase.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetSimpBase.ui b/UiQT5/desWidgetSimpBase.ui
new file mode 100644 (file)
index 0000000..60c7dce
--- /dev/null
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetSimpBase</class>
+ <widget class="QWidget" name="WidgetSimpBase">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>743</width>
+    <height>60</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="maximumSize">
+   <size>
+    <width>1677721</width>
+    <height>60</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_3">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>1</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>1</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <item>
+        <widget class="QLineEdit" name="lineEditVal">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>805</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_4">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>3</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Expanding</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>58</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QToolButton" name="RBPoubelle">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Détruit le mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetSimpBool.py b/UiQT5/desWidgetSimpBool.py
new file mode 100644 (file)
index 0000000..4600975
--- /dev/null
@@ -0,0 +1,127 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetSimpBool.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetSimpBool(object):
+    def setupUi(self, WidgetSimpBool):
+        WidgetSimpBool.setObjectName("WidgetSimpBool")
+        WidgetSimpBool.resize(1065, 62)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetSimpBool.sizePolicy().hasHeightForWidth())
+        WidgetSimpBool.setSizePolicy(sizePolicy)
+        WidgetSimpBool.setMinimumSize(QtCore.QSize(0, 0))
+        WidgetSimpBool.setMaximumSize(QtCore.QSize(1493, 85))
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(WidgetSimpBool)
+        self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetSimpBool)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout_2.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout_3.addLayout(self.verticalLayout_2)
+        self.label = MonLabelClic(WidgetSimpBool)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_3.addWidget(self.label)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.RBTrue = QtWidgets.QRadioButton(WidgetSimpBool)
+        self.RBTrue.setObjectName("RBTrue")
+        self.horizontalLayout.addWidget(self.RBTrue)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.RBFalse = QtWidgets.QRadioButton(WidgetSimpBool)
+        self.RBFalse.setObjectName("RBFalse")
+        self.horizontalLayout.addWidget(self.RBFalse)
+        spacerItem3 = QtWidgets.QSpacerItem(50, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem3)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem4)
+        self.horizontalLayout_3.addLayout(self.verticalLayout)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetSimpBool)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.RBPoubelle.sizePolicy().hasHeightForWidth())
+        self.RBPoubelle.setSizePolicy(sizePolicy)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.verticalLayout_3.addWidget(self.RBPoubelle)
+        spacerItem5 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem5)
+        self.horizontalLayout_3.addLayout(self.verticalLayout_3)
+
+        self.retranslateUi(WidgetSimpBool)
+        QtCore.QMetaObject.connectSlotsByName(WidgetSimpBool)
+
+    def retranslateUi(self, WidgetSimpBool):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetSimpBool.setWindowTitle(_translate("WidgetSimpBool", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetSimpBool", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetSimpBool", "..."))
+        self.label.setText(_translate("WidgetSimpBool", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.RBTrue.setText(_translate("WidgetSimpBool", "True"))
+        self.RBFalse.setText(_translate("WidgetSimpBool", "False"))
+        self.RBPoubelle.setToolTip(_translate("WidgetSimpBool", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetSimpBool", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetSimpBool = QtWidgets.QWidget()
+    ui = Ui_WidgetSimpBool()
+    ui.setupUi(WidgetSimpBool)
+    WidgetSimpBool.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetSimpBool.ui b/UiQT5/desWidgetSimpBool.ui
new file mode 100644 (file)
index 0000000..013c218
--- /dev/null
@@ -0,0 +1,297 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetSimpBool</class>
+ <widget class="QWidget" name="WidgetSimpBool">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1065</width>
+    <height>62</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="maximumSize">
+   <size>
+    <width>1493</width>
+    <height>85</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_3">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <item>
+        <widget class="QRadioButton" name="RBTrue">
+         <property name="text">
+          <string>True</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QRadioButton" name="RBFalse">
+         <property name="text">
+          <string>False</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>50</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_3">
+     <item>
+      <widget class="QToolButton" name="RBPoubelle">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>21</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>21</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="toolTip">
+        <string>Détruit le mot-clef</string>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>25</width>
+         <height>25</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_3">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetSimpComplexe.py b/UiQT5/desWidgetSimpComplexe.py
new file mode 100644 (file)
index 0000000..6f57bd9
--- /dev/null
@@ -0,0 +1,171 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetSimpComplexe.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetSimpComplexe(object):
+    def setupUi(self, WidgetSimpComplexe):
+        WidgetSimpComplexe.setObjectName("WidgetSimpComplexe")
+        WidgetSimpComplexe.resize(1242, 87)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetSimpComplexe.sizePolicy().hasHeightForWidth())
+        WidgetSimpComplexe.setSizePolicy(sizePolicy)
+        WidgetSimpComplexe.setMinimumSize(QtCore.QSize(940, 0))
+        WidgetSimpComplexe.setMaximumSize(QtCore.QSize(1493, 1400))
+        WidgetSimpComplexe.setStyleSheet("QLineEdit {\n"
+"background:rgb(235,235,235);\n"
+"border:0px;\n"
+"}")
+        self.horizontalLayout_5 = QtWidgets.QHBoxLayout(WidgetSimpComplexe)
+        self.horizontalLayout_5.setContentsMargins(0, 1, 0, 1)
+        self.horizontalLayout_5.setSpacing(0)
+        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetSimpComplexe)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout_5.addLayout(self.verticalLayout_2)
+        self.label = MonLabelClic(WidgetSimpComplexe)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_5.addWidget(self.label)
+        self.frame = QtWidgets.QFrame(WidgetSimpComplexe)
+        self.frame.setFrameShape(QtWidgets.QFrame.Box)
+        self.frame.setObjectName("frame")
+        self.gridLayout = QtWidgets.QGridLayout(self.frame)
+        self.gridLayout.setObjectName("gridLayout")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.label_2 = QtWidgets.QLabel(self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
+        self.label_2.setSizePolicy(sizePolicy)
+        self.label_2.setMinimumSize(QtCore.QSize(0, 29))
+        self.label_2.setMaximumSize(QtCore.QSize(16777215, 29))
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_4.addWidget(self.label_2)
+        spacerItem2 = QtWidgets.QSpacerItem(19, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_4.addItem(spacerItem2)
+        self.gridLayout.addLayout(self.horizontalLayout_4, 0, 0, 1, 1)
+        self.LEComp = QtWidgets.QLineEdit(self.frame)
+        self.LEComp.setFrame(False)
+        self.LEComp.setObjectName("LEComp")
+        self.gridLayout.addWidget(self.LEComp, 1, 0, 1, 1)
+        self.label_3 = QtWidgets.QLabel(self.frame)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
+        self.label_3.setSizePolicy(sizePolicy)
+        self.label_3.setMaximumSize(QtCore.QSize(50, 24))
+        self.label_3.setObjectName("label_3")
+        self.gridLayout.addWidget(self.label_3, 0, 1, 1, 1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setContentsMargins(4, -1, 0, -1)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.RBRI = QtWidgets.QRadioButton(self.frame)
+        self.RBRI.setObjectName("RBRI")
+        self.horizontalLayout_2.addWidget(self.RBRI)
+        self.RBMP = QtWidgets.QRadioButton(self.frame)
+        self.RBMP.setObjectName("RBMP")
+        self.horizontalLayout_2.addWidget(self.RBMP)
+        self.gridLayout.addLayout(self.horizontalLayout_2, 0, 2, 1, 1)
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.LEReel = QtWidgets.QLineEdit(self.frame)
+        self.LEReel.setFrame(False)
+        self.LEReel.setObjectName("LEReel")
+        self.horizontalLayout_3.addWidget(self.LEReel)
+        spacerItem3 = QtWidgets.QSpacerItem(5, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem3)
+        self.LEImag = QtWidgets.QLineEdit(self.frame)
+        self.LEImag.setFrame(False)
+        self.LEImag.setObjectName("LEImag")
+        self.horizontalLayout_3.addWidget(self.LEImag)
+        self.gridLayout.addLayout(self.horizontalLayout_3, 1, 2, 1, 1)
+        spacerItem4 = QtWidgets.QSpacerItem(17, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.gridLayout.addItem(spacerItem4, 1, 1, 1, 1)
+        self.horizontalLayout_5.addWidget(self.frame)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetSimpComplexe)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(32, 32))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.verticalLayout_3.addWidget(self.RBPoubelle)
+        spacerItem5 = QtWidgets.QSpacerItem(18, 47, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem5)
+        self.horizontalLayout_5.addLayout(self.verticalLayout_3)
+
+        self.retranslateUi(WidgetSimpComplexe)
+        QtCore.QMetaObject.connectSlotsByName(WidgetSimpComplexe)
+        WidgetSimpComplexe.setTabOrder(self.LEComp, self.RBRI)
+        WidgetSimpComplexe.setTabOrder(self.RBRI, self.RBMP)
+        WidgetSimpComplexe.setTabOrder(self.RBMP, self.RBPoubelle)
+
+    def retranslateUi(self, WidgetSimpComplexe):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetSimpComplexe.setWindowTitle(_translate("WidgetSimpComplexe", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetSimpComplexe", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetSimpComplexe", "..."))
+        self.label.setText(_translate("WidgetSimpComplexe", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.label_2.setText(_translate("WidgetSimpComplexe", "Complexe : a+bj"))
+        self.label_3.setText(_translate("WidgetSimpComplexe", "<html><head/><body><p align=\"center\">OU </p></body></html>"))
+        self.RBRI.setText(_translate("WidgetSimpComplexe", "Réel/Imaginaire"))
+        self.RBMP.setText(_translate("WidgetSimpComplexe", "Module/Phase"))
+        self.RBPoubelle.setText(_translate("WidgetSimpComplexe", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetSimpComplexe = QtWidgets.QWidget()
+    ui = Ui_WidgetSimpComplexe()
+    ui.setupUi(WidgetSimpComplexe)
+    WidgetSimpComplexe.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetSimpComplexe.ui b/UiQT5/desWidgetSimpComplexe.ui
new file mode 100644 (file)
index 0000000..4e9db7e
--- /dev/null
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetSimpComplexe</class>
+ <widget class="QWidget" name="WidgetSimpComplexe">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1242</width>
+    <height>87</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>940</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="maximumSize">
+   <size>
+    <width>1493</width>
+    <height>1400</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true">QLineEdit {
+background:rgb(235,235,235);
+border:0px;
+}</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_5">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>1</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>1</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QFrame" name="frame">
+     <property name="frameShape">
+      <enum>QFrame::Box</enum>
+     </property>
+     <layout class="QGridLayout" name="gridLayout">
+      <item row="0" column="0">
+       <layout class="QHBoxLayout" name="horizontalLayout_4">
+        <item>
+         <widget class="QLabel" name="label_2">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>0</width>
+            <height>29</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>16777215</width>
+            <height>29</height>
+           </size>
+          </property>
+          <property name="text">
+           <string>Complexe : a+bj</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer_2">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>19</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+       </layout>
+      </item>
+      <item row="1" column="0">
+       <widget class="QLineEdit" name="LEComp">
+        <property name="frame">
+         <bool>false</bool>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QLabel" name="label_3">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="maximumSize">
+         <size>
+          <width>50</width>
+          <height>24</height>
+         </size>
+        </property>
+        <property name="text">
+         <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;OU &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="2">
+       <layout class="QHBoxLayout" name="horizontalLayout_2">
+        <property name="leftMargin">
+         <number>4</number>
+        </property>
+        <property name="rightMargin">
+         <number>0</number>
+        </property>
+        <item>
+         <widget class="QRadioButton" name="RBRI">
+          <property name="text">
+           <string>Réel/Imaginaire</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QRadioButton" name="RBMP">
+          <property name="text">
+           <string>Module/Phase</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item row="1" column="2">
+       <layout class="QHBoxLayout" name="horizontalLayout_3">
+        <item>
+         <widget class="QLineEdit" name="LEReel">
+          <property name="frame">
+           <bool>false</bool>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <spacer name="horizontalSpacer">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>5</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="LEImag">
+          <property name="frame">
+           <bool>false</bool>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item row="1" column="1">
+       <spacer name="verticalSpacer_3">
+        <property name="orientation">
+         <enum>Qt::Vertical</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>17</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_3">
+     <item>
+      <widget class="QToolButton" name="RBPoubelle">
+       <property name="minimumSize">
+        <size>
+         <width>21</width>
+         <height>31</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>21</width>
+         <height>31</height>
+        </size>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>32</width>
+         <height>32</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>18</width>
+         <height>47</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>LEComp</tabstop>
+  <tabstop>RBRI</tabstop>
+  <tabstop>RBMP</tabstop>
+  <tabstop>RBPoubelle</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetSimpFichier.py b/UiQT5/desWidgetSimpFichier.py
new file mode 100644 (file)
index 0000000..522d222
--- /dev/null
@@ -0,0 +1,157 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetSimpFichier.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetSimpFichier(object):
+    def setupUi(self, WidgetSimpFichier):
+        WidgetSimpFichier.setObjectName("WidgetSimpFichier")
+        WidgetSimpFichier.resize(1095, 62)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetSimpFichier.sizePolicy().hasHeightForWidth())
+        WidgetSimpFichier.setSizePolicy(sizePolicy)
+        WidgetSimpFichier.setMinimumSize(QtCore.QSize(0, 0))
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(WidgetSimpFichier)
+        self.horizontalLayout_4.setContentsMargins(0, 1, 0, 1)
+        self.horizontalLayout_4.setSpacing(0)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetSimpFichier)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem1)
+        self.horizontalLayout_4.addLayout(self.verticalLayout)
+        self.label = MonLabelClic(WidgetSimpFichier)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_4.addWidget(self.label)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.lineEditVal = QtWidgets.QLineEdit(WidgetSimpFichier)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal.sizePolicy().hasHeightForWidth())
+        self.lineEditVal.setSizePolicy(sizePolicy)
+        self.lineEditVal.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal.setObjectName("lineEditVal")
+        self.horizontalLayout_3.addWidget(self.lineEditVal)
+        spacerItem2 = QtWidgets.QSpacerItem(71, 20, QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem2)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.BFichier = QtWidgets.QToolButton(WidgetSimpFichier)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.BFichier.sizePolicy().hasHeightForWidth())
+        self.BFichier.setSizePolicy(sizePolicy)
+        self.BFichier.setMaximumSize(QtCore.QSize(25, 25))
+        self.BFichier.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon.fromTheme("system-file-manager")
+        self.BFichier.setIcon(icon)
+        self.BFichier.setIconSize(QtCore.QSize(25, 25))
+        self.BFichier.setObjectName("BFichier")
+        self.horizontalLayout_2.addWidget(self.BFichier)
+        self.BVisuFichier = QtWidgets.QToolButton(WidgetSimpFichier)
+        self.BVisuFichier.setMaximumSize(QtCore.QSize(25, 25))
+        self.BVisuFichier.setStyleSheet("border:0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/visuFichier.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.BVisuFichier.setIcon(icon1)
+        self.BVisuFichier.setIconSize(QtCore.QSize(25, 25))
+        self.BVisuFichier.setObjectName("BVisuFichier")
+        self.horizontalLayout_2.addWidget(self.BVisuFichier)
+        spacerItem3 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem3)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetSimpFichier)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.RBPoubelle.sizePolicy().hasHeightForWidth())
+        self.RBPoubelle.setSizePolicy(sizePolicy)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon2)
+        self.RBPoubelle.setIconSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout_2.addWidget(self.RBPoubelle)
+        self.horizontalLayout_3.addLayout(self.horizontalLayout_2)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem4)
+        self.horizontalLayout_4.addLayout(self.verticalLayout_2)
+
+        self.retranslateUi(WidgetSimpFichier)
+        QtCore.QMetaObject.connectSlotsByName(WidgetSimpFichier)
+        WidgetSimpFichier.setTabOrder(self.lineEditVal, self.BFichier)
+        WidgetSimpFichier.setTabOrder(self.BFichier, self.BVisuFichier)
+        WidgetSimpFichier.setTabOrder(self.BVisuFichier, self.RBPoubelle)
+        WidgetSimpFichier.setTabOrder(self.RBPoubelle, self.RBValide)
+
+    def retranslateUi(self, WidgetSimpFichier):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetSimpFichier.setWindowTitle(_translate("WidgetSimpFichier", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetSimpFichier", "Affiche le rapport de validité du mot-clef"))
+        self.RBValide.setText(_translate("WidgetSimpFichier", "..."))
+        self.label.setText(_translate("WidgetSimpFichier", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.BFichier.setToolTip(_translate("WidgetSimpFichier", "affiche l\'explorateur de fichier"))
+        self.BFichier.setText(_translate("WidgetSimpFichier", "..."))
+        self.BVisuFichier.setToolTip(_translate("WidgetSimpFichier", "ouvre le fichier choisi"))
+        self.BVisuFichier.setText(_translate("WidgetSimpFichier", "..."))
+        self.RBPoubelle.setToolTip(_translate("WidgetSimpFichier", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetSimpFichier", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetSimpFichier = QtWidgets.QWidget()
+    ui = Ui_WidgetSimpFichier()
+    ui.setupUi(WidgetSimpFichier)
+    WidgetSimpFichier.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetSimpFichier.ui b/UiQT5/desWidgetSimpFichier.ui
new file mode 100644 (file)
index 0000000..408f8df
--- /dev/null
@@ -0,0 +1,374 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetSimpFichier</class>
+ <widget class="QWidget" name="WidgetSimpFichier">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1095</width>
+    <height>62</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_4">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>1</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>1</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validité du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_3">
+       <item>
+        <widget class="QLineEdit" name="lineEditVal">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>1</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>805</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::MinimumExpanding</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>71</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout_2">
+         <property name="spacing">
+          <number>0</number>
+         </property>
+         <property name="sizeConstraint">
+          <enum>QLayout::SetFixedSize</enum>
+         </property>
+         <item>
+          <widget class="QToolButton" name="BFichier">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>25</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="toolTip">
+            <string>affiche l'explorateur de fichier</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">border : 0px</string>
+           </property>
+           <property name="text">
+            <string>...</string>
+           </property>
+           <property name="icon">
+            <iconset theme="system-file-manager">
+             <normaloff/>
+            </iconset>
+           </property>
+           <property name="iconSize">
+            <size>
+             <width>25</width>
+             <height>25</height>
+            </size>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QToolButton" name="BVisuFichier">
+           <property name="maximumSize">
+            <size>
+             <width>25</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="toolTip">
+            <string>ouvre le fichier choisi</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">border:0px</string>
+           </property>
+           <property name="text">
+            <string>...</string>
+           </property>
+           <property name="icon">
+            <iconset>
+             <normaloff>../Editeur/icons/visuFichier.png</normaloff>../Editeur/icons/visuFichier.png</iconset>
+           </property>
+           <property name="iconSize">
+            <size>
+             <width>25</width>
+             <height>25</height>
+            </size>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer_4">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeType">
+            <enum>QSizePolicy::Fixed</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>13</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item>
+          <widget class="QToolButton" name="RBPoubelle">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="toolTip">
+            <string>Détruit le mot-clef</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">border : 0px</string>
+           </property>
+           <property name="text">
+            <string>...</string>
+           </property>
+           <property name="icon">
+            <iconset>
+             <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+           </property>
+           <property name="iconSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>lineEditVal</tabstop>
+  <tabstop>BFichier</tabstop>
+  <tabstop>BVisuFichier</tabstop>
+  <tabstop>RBPoubelle</tabstop>
+  <tabstop>RBValide</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetSimpSalome.py b/UiQT5/desWidgetSimpSalome.py
new file mode 100644 (file)
index 0000000..feb7ef3
--- /dev/null
@@ -0,0 +1,158 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetSimpSalome.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetSimpSalome(object):
+    def setupUi(self, WidgetSimpSalome):
+        WidgetSimpSalome.setObjectName("WidgetSimpSalome")
+        WidgetSimpSalome.resize(1095, 62)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetSimpSalome.sizePolicy().hasHeightForWidth())
+        WidgetSimpSalome.setSizePolicy(sizePolicy)
+        WidgetSimpSalome.setMinimumSize(QtCore.QSize(0, 0))
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(WidgetSimpSalome)
+        self.horizontalLayout_4.setContentsMargins(0, 1, 0, 1)
+        self.horizontalLayout_4.setSpacing(0)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetSimpSalome)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem1)
+        self.horizontalLayout_4.addLayout(self.verticalLayout)
+        self.label = MonLabelClic(WidgetSimpSalome)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_4.addWidget(self.label)
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.lineEditVal = QtWidgets.QLineEdit(WidgetSimpSalome)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal.sizePolicy().hasHeightForWidth())
+        self.lineEditVal.setSizePolicy(sizePolicy)
+        self.lineEditVal.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal.setObjectName("lineEditVal")
+        self.horizontalLayout_3.addWidget(self.lineEditVal)
+        spacerItem2 = QtWidgets.QSpacerItem(71, 20, QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem2)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.RBSalome = QtWidgets.QToolButton(WidgetSimpSalome)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.RBSalome.sizePolicy().hasHeightForWidth())
+        self.RBSalome.setSizePolicy(sizePolicy)
+        self.RBSalome.setMaximumSize(QtCore.QSize(25, 25))
+        self.RBSalome.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/flecheSalome.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBSalome.setIcon(icon1)
+        self.RBSalome.setIconSize(QtCore.QSize(25, 25))
+        self.RBSalome.setObjectName("RBSalome")
+        self.horizontalLayout_2.addWidget(self.RBSalome)
+        self.RBSalomeVue = QtWidgets.QToolButton(WidgetSimpSalome)
+        self.RBSalomeVue.setMaximumSize(QtCore.QSize(25, 25))
+        self.RBSalomeVue.setStyleSheet("border:0px")
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap("../Editeur/icons/eye.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBSalomeVue.setIcon(icon2)
+        self.RBSalomeVue.setIconSize(QtCore.QSize(25, 25))
+        self.RBSalomeVue.setObjectName("RBSalomeVue")
+        self.horizontalLayout_2.addWidget(self.RBSalomeVue)
+        spacerItem3 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem3)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetSimpSalome)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.RBPoubelle.sizePolicy().hasHeightForWidth())
+        self.RBPoubelle.setSizePolicy(sizePolicy)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon3 = QtGui.QIcon()
+        icon3.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon3)
+        self.RBPoubelle.setIconSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout_2.addWidget(self.RBPoubelle)
+        self.horizontalLayout_3.addLayout(self.horizontalLayout_2)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem4)
+        self.horizontalLayout_4.addLayout(self.verticalLayout_2)
+
+        self.retranslateUi(WidgetSimpSalome)
+        QtCore.QMetaObject.connectSlotsByName(WidgetSimpSalome)
+        WidgetSimpSalome.setTabOrder(self.lineEditVal, self.RBSalome)
+        WidgetSimpSalome.setTabOrder(self.RBSalome, self.RBSalomeVue)
+        WidgetSimpSalome.setTabOrder(self.RBSalomeVue, self.RBPoubelle)
+        WidgetSimpSalome.setTabOrder(self.RBPoubelle, self.RBValide)
+
+    def retranslateUi(self, WidgetSimpSalome):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetSimpSalome.setWindowTitle(_translate("WidgetSimpSalome", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetSimpSalome", "Affiche le rapport de validité du mot-clef"))
+        self.RBValide.setText(_translate("WidgetSimpSalome", "..."))
+        self.label.setText(_translate("WidgetSimpSalome", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.RBSalome.setToolTip(_translate("WidgetSimpSalome", "affiche l\'explorateur de fichier"))
+        self.RBSalome.setText(_translate("WidgetSimpSalome", "..."))
+        self.RBSalomeVue.setToolTip(_translate("WidgetSimpSalome", "ouvre le fichier choisi"))
+        self.RBSalomeVue.setText(_translate("WidgetSimpSalome", "..."))
+        self.RBPoubelle.setToolTip(_translate("WidgetSimpSalome", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetSimpSalome", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetSimpSalome = QtWidgets.QWidget()
+    ui = Ui_WidgetSimpSalome()
+    ui.setupUi(WidgetSimpSalome)
+    WidgetSimpSalome.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetSimpSalome.ui b/UiQT5/desWidgetSimpSalome.ui
new file mode 100644 (file)
index 0000000..ba8ed2f
--- /dev/null
@@ -0,0 +1,373 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetSimpSalome</class>
+ <widget class="QWidget" name="WidgetSimpSalome">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1095</width>
+    <height>62</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_4">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>1</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>1</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validité du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_3">
+       <item>
+        <widget class="QLineEdit" name="lineEditVal">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>1</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>805</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::MinimumExpanding</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>71</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout_2">
+         <property name="spacing">
+          <number>0</number>
+         </property>
+         <property name="sizeConstraint">
+          <enum>QLayout::SetFixedSize</enum>
+         </property>
+         <item>
+          <widget class="QToolButton" name="RBSalome">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>25</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="toolTip">
+            <string>affiche l'explorateur de fichier</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">border : 0px</string>
+           </property>
+           <property name="text">
+            <string>...</string>
+           </property>
+           <property name="icon">
+            <iconset>
+             <normaloff>../Editeur/icons/flecheSalome.png</normaloff>../Editeur/icons/flecheSalome.png</iconset>
+           </property>
+           <property name="iconSize">
+            <size>
+             <width>25</width>
+             <height>25</height>
+            </size>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QToolButton" name="RBSalomeVue">
+           <property name="maximumSize">
+            <size>
+             <width>25</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="toolTip">
+            <string>ouvre le fichier choisi</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">border:0px</string>
+           </property>
+           <property name="text">
+            <string>...</string>
+           </property>
+           <property name="icon">
+            <iconset>
+             <normaloff>../Editeur/icons/eye.png</normaloff>../Editeur/icons/eye.png</iconset>
+           </property>
+           <property name="iconSize">
+            <size>
+             <width>25</width>
+             <height>25</height>
+            </size>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer_4">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeType">
+            <enum>QSizePolicy::Fixed</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>13</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+         <item>
+          <widget class="QToolButton" name="RBPoubelle">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="toolTip">
+            <string>Détruit le mot-clef</string>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">border : 0px</string>
+           </property>
+           <property name="text">
+            <string>...</string>
+           </property>
+           <property name="icon">
+            <iconset>
+             <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+           </property>
+           <property name="iconSize">
+            <size>
+             <width>21</width>
+             <height>25</height>
+            </size>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>lineEditVal</tabstop>
+  <tabstop>RBSalome</tabstop>
+  <tabstop>RBSalomeVue</tabstop>
+  <tabstop>RBPoubelle</tabstop>
+  <tabstop>RBValide</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetSimpTxt.py b/UiQT5/desWidgetSimpTxt.py
new file mode 100644 (file)
index 0000000..4151106
--- /dev/null
@@ -0,0 +1,123 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetSimpTxt.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetSimpTxt(object):
+    def setupUi(self, WidgetSimpTxt):
+        WidgetSimpTxt.setObjectName("WidgetSimpTxt")
+        WidgetSimpTxt.resize(743, 60)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetSimpTxt.sizePolicy().hasHeightForWidth())
+        WidgetSimpTxt.setSizePolicy(sizePolicy)
+        WidgetSimpTxt.setMinimumSize(QtCore.QSize(0, 0))
+        WidgetSimpTxt.setMaximumSize(QtCore.QSize(1677721, 60))
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(WidgetSimpTxt)
+        self.horizontalLayout_3.setContentsMargins(1, 0, 0, 1)
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetSimpTxt)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout_3.addLayout(self.verticalLayout_2)
+        self.label = MonLabelClic(WidgetSimpTxt)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_3.addWidget(self.label)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setSpacing(0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.lineEditVal = QtWidgets.QLineEdit(WidgetSimpTxt)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal.sizePolicy().hasHeightForWidth())
+        self.lineEditVal.setSizePolicy(sizePolicy)
+        self.lineEditVal.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal.setObjectName("lineEditVal")
+        self.horizontalLayout_2.addWidget(self.lineEditVal)
+        spacerItem2 = QtWidgets.QSpacerItem(3, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        spacerItem3 = QtWidgets.QSpacerItem(5, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem3)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetSimpTxt)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout_2.addWidget(self.RBPoubelle)
+        self.verticalLayout.addLayout(self.horizontalLayout_2)
+        spacerItem4 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem4)
+        self.horizontalLayout_3.addLayout(self.verticalLayout)
+
+        self.retranslateUi(WidgetSimpTxt)
+        QtCore.QMetaObject.connectSlotsByName(WidgetSimpTxt)
+
+    def retranslateUi(self, WidgetSimpTxt):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetSimpTxt.setWindowTitle(_translate("WidgetSimpTxt", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetSimpTxt", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetSimpTxt", "..."))
+        self.label.setText(_translate("WidgetSimpTxt", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.RBPoubelle.setToolTip(_translate("WidgetSimpTxt", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetSimpTxt", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetSimpTxt = QtWidgets.QWidget()
+    ui = Ui_WidgetSimpTxt()
+    ui.setupUi(WidgetSimpTxt)
+    WidgetSimpTxt.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetSimpTxt.ui b/UiQT5/desWidgetSimpTxt.ui
new file mode 100644 (file)
index 0000000..6fa4b7e
--- /dev/null
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetSimpTxt</class>
+ <widget class="QWidget" name="WidgetSimpTxt">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>743</width>
+    <height>60</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="maximumSize">
+   <size>
+    <width>1677721</width>
+    <height>60</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_3">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>1</number>
+   </property>
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>1</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <item>
+        <widget class="QLineEdit" name="lineEditVal">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>1</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>805</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_4">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>3</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Expanding</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>5</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QToolButton" name="RBPoubelle">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Détruit le mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetTuple2.py b/UiQT5/desWidgetTuple2.py
new file mode 100644 (file)
index 0000000..8111410
--- /dev/null
@@ -0,0 +1,152 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetTuple2.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetTuple2(object):
+    def setupUi(self, WidgetTuple2):
+        WidgetTuple2.setObjectName("WidgetTuple2")
+        WidgetTuple2.resize(936, 62)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetTuple2.sizePolicy().hasHeightForWidth())
+        WidgetTuple2.setSizePolicy(sizePolicy)
+        WidgetTuple2.setMinimumSize(QtCore.QSize(0, 0))
+        WidgetTuple2.setStyleSheet("")
+        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(WidgetTuple2)
+        self.horizontalLayout_4.setContentsMargins(0, 1, 0, 1)
+        self.horizontalLayout_4.setSpacing(0)
+        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetTuple2)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout_3.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout_4.addLayout(self.verticalLayout_2)
+        self.label = MonLabelClic(WidgetTuple2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_4.addWidget(self.label)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.label_2 = QtWidgets.QLabel(WidgetTuple2)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout_2.addWidget(self.label_2)
+        self.lineEditVal1 = QtWidgets.QLineEdit(WidgetTuple2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal1.sizePolicy().hasHeightForWidth())
+        self.lineEditVal1.setSizePolicy(sizePolicy)
+        self.lineEditVal1.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal1.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal1.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;\n"
+"\n"
+"")
+        self.lineEditVal1.setReadOnly(False)
+        self.lineEditVal1.setObjectName("lineEditVal1")
+        self.horizontalLayout_2.addWidget(self.lineEditVal1)
+        self.label_4 = QtWidgets.QLabel(WidgetTuple2)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout_2.addWidget(self.label_4)
+        self.lineEditVal2 = QtWidgets.QLineEdit(WidgetTuple2)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal2.sizePolicy().hasHeightForWidth())
+        self.lineEditVal2.setSizePolicy(sizePolicy)
+        self.lineEditVal2.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal2.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal2.setFocusPolicy(QtCore.Qt.StrongFocus)
+        self.lineEditVal2.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal2.setObjectName("lineEditVal2")
+        self.horizontalLayout_2.addWidget(self.lineEditVal2)
+        self.label_3 = QtWidgets.QLabel(WidgetTuple2)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout_2.addWidget(self.label_3)
+        self.horizontalLayout.addLayout(self.horizontalLayout_2)
+        spacerItem2 = QtWidgets.QSpacerItem(58, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetTuple2)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout.addWidget(self.RBPoubelle)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem3)
+        self.horizontalLayout_4.addLayout(self.verticalLayout)
+
+        self.retranslateUi(WidgetTuple2)
+        QtCore.QMetaObject.connectSlotsByName(WidgetTuple2)
+        WidgetTuple2.setTabOrder(self.lineEditVal1, self.lineEditVal2)
+
+    def retranslateUi(self, WidgetTuple2):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetTuple2.setWindowTitle(_translate("WidgetTuple2", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetTuple2", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetTuple2", "..."))
+        self.label.setText(_translate("WidgetTuple2", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.label_2.setText(_translate("WidgetTuple2", "<html><head/><body><p><span style=\" font-size:14pt;\">(</span></p></body></html>"))
+        self.label_4.setText(_translate("WidgetTuple2", "<html><head/><body><p><span style=\" font-size:14pt;\">,</span></p></body></html>"))
+        self.label_3.setText(_translate("WidgetTuple2", "<html><head/><body><p><span style=\" font-size:14pt;\">)</span></p></body></html>"))
+        self.RBPoubelle.setToolTip(_translate("WidgetTuple2", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetTuple2", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetTuple2 = QtWidgets.QWidget()
+    ui = Ui_WidgetTuple2()
+    ui.setupUi(WidgetTuple2)
+    WidgetTuple2.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetTuple2.ui b/UiQT5/desWidgetTuple2.ui
new file mode 100644 (file)
index 0000000..9c45154
--- /dev/null
@@ -0,0 +1,345 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetTuple2</class>
+ <widget class="QWidget" name="WidgetTuple2">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>936</width>
+    <height>62</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true"/>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_4">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>1</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>1</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_3">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout_2">
+         <item>
+          <widget class="QLabel" name="label_2">
+           <property name="text">
+            <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;(&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QLineEdit" name="lineEditVal1">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>0</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>805</width>
+             <height>16777215</height>
+            </size>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background:rgb(235,235,235);
+border:0px;
+
+</string>
+           </property>
+           <property name="readOnly">
+            <bool>false</bool>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QLabel" name="label_4">
+           <property name="text">
+            <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QLineEdit" name="lineEditVal2">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="minimumSize">
+            <size>
+             <width>0</width>
+             <height>25</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>805</width>
+             <height>16777215</height>
+            </size>
+           </property>
+           <property name="focusPolicy">
+            <enum>Qt::StrongFocus</enum>
+           </property>
+           <property name="styleSheet">
+            <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QLabel" name="label_3">
+           <property name="text">
+            <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Expanding</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>58</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QToolButton" name="RBPoubelle">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Détruit le mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>lineEditVal1</tabstop>
+  <tabstop>lineEditVal2</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetTuple3.py b/UiQT5/desWidgetTuple3.py
new file mode 100644 (file)
index 0000000..845b122
--- /dev/null
@@ -0,0 +1,161 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetTuple3.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetTuple3(object):
+    def setupUi(self, WidgetTuple3):
+        WidgetTuple3.setObjectName("WidgetTuple3")
+        WidgetTuple3.resize(1282, 61)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetTuple3.sizePolicy().hasHeightForWidth())
+        WidgetTuple3.setSizePolicy(sizePolicy)
+        WidgetTuple3.setMinimumSize(QtCore.QSize(0, 0))
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(WidgetTuple3)
+        self.horizontalLayout_3.setContentsMargins(1, 0, 0, 1)
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetTuple3)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout_2.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout_3.addLayout(self.verticalLayout_2)
+        self.label = MonLabelClic(WidgetTuple3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout_3.addWidget(self.label)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.label_2 = QtWidgets.QLabel(WidgetTuple3)
+        self.label_2.setObjectName("label_2")
+        self.horizontalLayout.addWidget(self.label_2)
+        self.lineEditVal1 = QtWidgets.QLineEdit(WidgetTuple3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal1.sizePolicy().hasHeightForWidth())
+        self.lineEditVal1.setSizePolicy(sizePolicy)
+        self.lineEditVal1.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal1.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal1.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal1.setObjectName("lineEditVal1")
+        self.horizontalLayout.addWidget(self.lineEditVal1)
+        self.label_4 = QtWidgets.QLabel(WidgetTuple3)
+        self.label_4.setObjectName("label_4")
+        self.horizontalLayout.addWidget(self.label_4)
+        self.lineEditVal2 = QtWidgets.QLineEdit(WidgetTuple3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal2.sizePolicy().hasHeightForWidth())
+        self.lineEditVal2.setSizePolicy(sizePolicy)
+        self.lineEditVal2.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal2.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal2.setFocusPolicy(QtCore.Qt.StrongFocus)
+        self.lineEditVal2.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal2.setObjectName("lineEditVal2")
+        self.horizontalLayout.addWidget(self.lineEditVal2)
+        self.label_3 = QtWidgets.QLabel(WidgetTuple3)
+        self.label_3.setObjectName("label_3")
+        self.horizontalLayout.addWidget(self.label_3)
+        self.lineEditVal3 = QtWidgets.QLineEdit(WidgetTuple3)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal3.sizePolicy().hasHeightForWidth())
+        self.lineEditVal3.setSizePolicy(sizePolicy)
+        self.lineEditVal3.setMinimumSize(QtCore.QSize(0, 25))
+        self.lineEditVal3.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal3.setFocusPolicy(QtCore.Qt.StrongFocus)
+        self.lineEditVal3.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal3.setObjectName("lineEditVal3")
+        self.horizontalLayout.addWidget(self.lineEditVal3)
+        self.label_5 = QtWidgets.QLabel(WidgetTuple3)
+        self.label_5.setObjectName("label_5")
+        self.horizontalLayout.addWidget(self.label_5)
+        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetTuple3)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout.addWidget(self.RBPoubelle)
+        self.verticalLayout.addLayout(self.horizontalLayout)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 13, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout.addItem(spacerItem3)
+        self.horizontalLayout_3.addLayout(self.verticalLayout)
+
+        self.retranslateUi(WidgetTuple3)
+        QtCore.QMetaObject.connectSlotsByName(WidgetTuple3)
+
+    def retranslateUi(self, WidgetTuple3):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetTuple3.setWindowTitle(_translate("WidgetTuple3", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetTuple3", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetTuple3", "..."))
+        self.label.setText(_translate("WidgetTuple3", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.label_2.setText(_translate("WidgetTuple3", "<html><head/><body><p><span style=\" font-size:14pt;\">(</span></p></body></html>"))
+        self.label_4.setText(_translate("WidgetTuple3", "<html><head/><body><p><span style=\" font-size:14pt;\">,</span></p></body></html>"))
+        self.label_3.setText(_translate("WidgetTuple3", "<html><head/><body><p><span style=\" font-size:14pt;\">,</span></p></body></html>"))
+        self.label_5.setText(_translate("WidgetTuple3", "<html><head/><body><p><span style=\" font-size:14pt;\">)</span></p></body></html>"))
+        self.RBPoubelle.setToolTip(_translate("WidgetTuple3", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetTuple3", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetTuple3 = QtWidgets.QWidget()
+    ui = Ui_WidgetTuple3()
+    ui.setupUi(WidgetTuple3)
+    WidgetTuple3.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetTuple3.ui b/UiQT5/desWidgetTuple3.ui
new file mode 100644 (file)
index 0000000..a31e9b5
--- /dev/null
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetTuple3</class>
+ <widget class="QWidget" name="WidgetTuple3">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1282</width>
+    <height>61</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_3">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>1</number>
+   </property>
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>1</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>5</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <item>
+        <widget class="QLabel" name="label_2">
+         <property name="text">
+          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;(&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLineEdit" name="lineEditVal1">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>805</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLabel" name="label_4">
+         <property name="text">
+          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLineEdit" name="lineEditVal2">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>805</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::StrongFocus</enum>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLabel" name="label_3">
+         <property name="text">
+          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLineEdit" name="lineEditVal3">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>805</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::StrongFocus</enum>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLabel" name="label_5">
+         <property name="text">
+          <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QToolButton" name="RBPoubelle">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Détruit le mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>13</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetUniqueSDCO.py b/UiQT5/desWidgetUniqueSDCO.py
new file mode 100644 (file)
index 0000000..055f552
--- /dev/null
@@ -0,0 +1,119 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetUniqueSDCO.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetUniqueSDCO(object):
+    def setupUi(self, WidgetUniqueSDCO):
+        WidgetUniqueSDCO.setObjectName("WidgetUniqueSDCO")
+        WidgetUniqueSDCO.resize(1069, 56)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetUniqueSDCO.sizePolicy().hasHeightForWidth())
+        WidgetUniqueSDCO.setSizePolicy(sizePolicy)
+        WidgetUniqueSDCO.setMinimumSize(QtCore.QSize(0, 0))
+        self.horizontalLayout = QtWidgets.QHBoxLayout(WidgetUniqueSDCO)
+        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+        self.horizontalLayout.setSpacing(1)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_2.setSpacing(0)
+        self.verticalLayout_2.setObjectName("verticalLayout_2")
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_3.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetUniqueSDCO)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(25, 25))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout_3.addWidget(self.RBValide)
+        self.verticalLayout_2.addLayout(self.horizontalLayout_3)
+        spacerItem1 = QtWidgets.QSpacerItem(20, 2, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_2.addItem(spacerItem1)
+        self.horizontalLayout.addLayout(self.verticalLayout_2)
+        self.label = MonLabelClic(WidgetUniqueSDCO)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 25))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setScaledContents(False)
+        self.label.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
+        self.label.setObjectName("label")
+        self.horizontalLayout.addWidget(self.label)
+        self.verticalLayout = QtWidgets.QVBoxLayout()
+        self.verticalLayout.setSpacing(0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.LESDCO = QtWidgets.QLineEdit(WidgetUniqueSDCO)
+        self.LESDCO.setMinimumSize(QtCore.QSize(0, 25))
+        self.LESDCO.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.LESDCO.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.LESDCO.setObjectName("LESDCO")
+        self.verticalLayout.addWidget(self.LESDCO)
+        self.label_2 = QtWidgets.QLabel(WidgetUniqueSDCO)
+        self.label_2.setObjectName("label_2")
+        self.verticalLayout.addWidget(self.label_2)
+        self.horizontalLayout.addLayout(self.verticalLayout)
+        spacerItem2 = QtWidgets.QSpacerItem(79, 17, QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem2)
+        self.verticalLayout_3 = QtWidgets.QVBoxLayout()
+        self.verticalLayout_3.setObjectName("verticalLayout_3")
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetUniqueSDCO)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 25))
+        self.RBPoubelle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon1)
+        self.RBPoubelle.setIconSize(QtCore.QSize(25, 25))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.verticalLayout_3.addWidget(self.RBPoubelle)
+        spacerItem3 = QtWidgets.QSpacerItem(20, 2, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
+        self.verticalLayout_3.addItem(spacerItem3)
+        self.horizontalLayout.addLayout(self.verticalLayout_3)
+
+        self.retranslateUi(WidgetUniqueSDCO)
+        QtCore.QMetaObject.connectSlotsByName(WidgetUniqueSDCO)
+
+    def retranslateUi(self, WidgetUniqueSDCO):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetUniqueSDCO.setWindowTitle(_translate("WidgetUniqueSDCO", "Form"))
+        self.RBValide.setToolTip(_translate("WidgetUniqueSDCO", "Affiche le rapport de validation du mot-clef"))
+        self.RBValide.setText(_translate("WidgetUniqueSDCO", "..."))
+        self.label.setText(_translate("WidgetUniqueSDCO", "<html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html>"))
+        self.label_2.setText(_translate("WidgetUniqueSDCO", "Attend un objet de type CO "))
+        self.RBPoubelle.setToolTip(_translate("WidgetUniqueSDCO", "Détruit le mot-clef"))
+        self.RBPoubelle.setText(_translate("WidgetUniqueSDCO", "..."))
+
+from monBoutonValide import MonBoutonValide
+from monLabelClic import MonLabelClic
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetUniqueSDCO = QtWidgets.QWidget()
+    ui = Ui_WidgetUniqueSDCO()
+    ui.setupUi(WidgetUniqueSDCO)
+    WidgetUniqueSDCO.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetUniqueSDCO.ui b/UiQT5/desWidgetUniqueSDCO.ui
new file mode 100644 (file)
index 0000000..178cfc0
--- /dev/null
@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetUniqueSDCO</class>
+ <widget class="QWidget" name="WidgetUniqueSDCO">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1069</width>
+    <height>56</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout">
+   <property name="spacing">
+    <number>1</number>
+   </property>
+   <property name="margin">
+    <number>0</number>
+   </property>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <layout class="QHBoxLayout" name="horizontalLayout_3">
+       <property name="spacing">
+        <number>0</number>
+       </property>
+       <property name="sizeConstraint">
+        <enum>QLayout::SetFixedSize</enum>
+       </property>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>21</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="MonBoutonValide" name="RBValide">
+         <property name="minimumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>21</width>
+           <height>25</height>
+          </size>
+         </property>
+         <property name="focusPolicy">
+          <enum>Qt::ClickFocus</enum>
+         </property>
+         <property name="toolTip">
+          <string>Affiche le rapport de validation du mot-clef</string>
+         </property>
+         <property name="styleSheet">
+          <string notr="true">border : 0px</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="icon">
+          <iconset>
+           <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+         </property>
+         <property name="iconSize">
+          <size>
+           <width>25</width>
+           <height>25</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <spacer name="verticalSpacer_2">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>2</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="MonLabelClic" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>25</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+     <property name="scaledContents">
+      <bool>false</bool>
+     </property>
+     <property name="alignment">
+      <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <widget class="QLineEdit" name="LESDCO">
+       <property name="minimumSize">
+        <size>
+         <width>0</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>805</width>
+         <height>16777215</height>
+        </size>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLabel" name="label_2">
+       <property name="text">
+        <string>Attend un objet de type CO </string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer name="horizontalSpacer_2">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::MinimumExpanding</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>79</width>
+       <height>17</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_3">
+     <item>
+      <widget class="QToolButton" name="RBPoubelle">
+       <property name="minimumSize">
+        <size>
+         <width>21</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>21</width>
+         <height>25</height>
+        </size>
+       </property>
+       <property name="focusPolicy">
+        <enum>Qt::ClickFocus</enum>
+       </property>
+       <property name="toolTip">
+        <string>Détruit le mot-clef</string>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>25</width>
+         <height>25</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>2</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+  <customwidget>
+   <class>MonLabelClic</class>
+   <extends>QLabel</extends>
+   <header>monLabelClic.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>LESDCO</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/desWidgetVide.py b/UiQT5/desWidgetVide.py
new file mode 100644 (file)
index 0000000..0ecb969
--- /dev/null
@@ -0,0 +1,140 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'desWidgetVide.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_WidgetVide(object):
+    def setupUi(self, WidgetVide):
+        WidgetVide.setObjectName("WidgetVide")
+        WidgetVide.resize(1069, 55)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(WidgetVide.sizePolicy().hasHeightForWidth())
+        WidgetVide.setSizePolicy(sizePolicy)
+        WidgetVide.setMinimumSize(QtCore.QSize(0, 0))
+        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(WidgetVide)
+        self.horizontalLayout_3.setContentsMargins(0, 2, 0, 0)
+        self.horizontalLayout_3.setSpacing(0)
+        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
+        self.horizontalLayout = QtWidgets.QHBoxLayout()
+        self.horizontalLayout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize)
+        self.horizontalLayout.setSpacing(0)
+        self.horizontalLayout.setObjectName("horizontalLayout")
+        spacerItem = QtWidgets.QSpacerItem(21, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout.addItem(spacerItem)
+        self.RBValide = MonBoutonValide(WidgetVide)
+        self.RBValide.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBValide.setMaximumSize(QtCore.QSize(21, 35))
+        self.RBValide.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBValide.setStyleSheet("border : 0px")
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/ast-green-ball.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBValide.setIcon(icon)
+        self.RBValide.setIconSize(QtCore.QSize(32, 32))
+        self.RBValide.setObjectName("RBValide")
+        self.horizontalLayout.addWidget(self.RBValide)
+        self.horizontalLayout_3.addLayout(self.horizontalLayout)
+        self.label = QtWidgets.QLabel(WidgetVide)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
+        self.label.setSizePolicy(sizePolicy)
+        self.label.setMinimumSize(QtCore.QSize(300, 24))
+        self.label.setMaximumSize(QtCore.QSize(178, 16777215))
+        self.label.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.label.setObjectName("label")
+        self.horizontalLayout_3.addWidget(self.label)
+        self.lineEditVal = QtWidgets.QLineEdit(WidgetVide)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(1)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.lineEditVal.sizePolicy().hasHeightForWidth())
+        self.lineEditVal.setSizePolicy(sizePolicy)
+        self.lineEditVal.setMinimumSize(QtCore.QSize(0, 32))
+        self.lineEditVal.setMaximumSize(QtCore.QSize(805, 16777215))
+        self.lineEditVal.setStyleSheet("background:rgb(235,235,235);\n"
+"border:0px;")
+        self.lineEditVal.setObjectName("lineEditVal")
+        self.horizontalLayout_3.addWidget(self.lineEditVal)
+        spacerItem1 = QtWidgets.QSpacerItem(79, 17, QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_3.addItem(spacerItem1)
+        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
+        self.horizontalLayout_2.setSpacing(0)
+        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+        self.RBSalome = QtWidgets.QToolButton(WidgetVide)
+        self.RBSalome.setMinimumSize(QtCore.QSize(25, 30))
+        self.RBSalome.setMaximumSize(QtCore.QSize(25, 30))
+        self.RBSalome.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBSalome.setStyleSheet("border : 0px")
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap("../Editeur/icons/flecheSalome.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBSalome.setIcon(icon1)
+        self.RBSalome.setIconSize(QtCore.QSize(32, 32))
+        self.RBSalome.setObjectName("RBSalome")
+        self.horizontalLayout_2.addWidget(self.RBSalome)
+        self.RBSalomeVue = QtWidgets.QToolButton(WidgetVide)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(self.RBSalomeVue.sizePolicy().hasHeightForWidth())
+        self.RBSalomeVue.setSizePolicy(sizePolicy)
+        self.RBSalomeVue.setMinimumSize(QtCore.QSize(25, 30))
+        self.RBSalomeVue.setMaximumSize(QtCore.QSize(25, 30))
+        self.RBSalomeVue.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBSalomeVue.setStyleSheet("border:0px")
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap("../Editeur/icons/icon_salome.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBSalomeVue.setIcon(icon2)
+        self.RBSalomeVue.setIconSize(QtCore.QSize(32, 32))
+        self.RBSalomeVue.setObjectName("RBSalomeVue")
+        self.horizontalLayout_2.addWidget(self.RBSalomeVue)
+        spacerItem2 = QtWidgets.QSpacerItem(13, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
+        self.horizontalLayout_2.addItem(spacerItem2)
+        self.RBPoubelle = QtWidgets.QToolButton(WidgetVide)
+        self.RBPoubelle.setMinimumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setMaximumSize(QtCore.QSize(21, 31))
+        self.RBPoubelle.setFocusPolicy(QtCore.Qt.ClickFocus)
+        self.RBPoubelle.setStyleSheet("border : 0px")
+        icon3 = QtGui.QIcon()
+        icon3.addPixmap(QtGui.QPixmap("../Editeur/icons/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.RBPoubelle.setIcon(icon3)
+        self.RBPoubelle.setIconSize(QtCore.QSize(21, 32))
+        self.RBPoubelle.setObjectName("RBPoubelle")
+        self.horizontalLayout_2.addWidget(self.RBPoubelle)
+        self.horizontalLayout_3.addLayout(self.horizontalLayout_2)
+
+        self.retranslateUi(WidgetVide)
+        QtCore.QMetaObject.connectSlotsByName(WidgetVide)
+        WidgetVide.setTabOrder(self.lineEditVal, self.RBSalome)
+        WidgetVide.setTabOrder(self.RBSalome, self.RBSalomeVue)
+        WidgetVide.setTabOrder(self.RBSalomeVue, self.RBValide)
+        WidgetVide.setTabOrder(self.RBValide, self.RBPoubelle)
+
+    def retranslateUi(self, WidgetVide):
+        _translate = QtCore.QCoreApplication.translate
+        WidgetVide.setWindowTitle(_translate("WidgetVide", "Form"))
+        self.RBValide.setText(_translate("WidgetVide", "..."))
+        self.label.setText(_translate("WidgetVide", "<html><head/><body><p><span style=\" color:#0055ff;\">Label</span></p></body></html>"))
+        self.lineEditVal.setText(_translate("WidgetVide", "Attend un objet de type XXXX. Il faut le créer"))
+        self.RBSalome.setText(_translate("WidgetVide", "..."))
+        self.RBSalomeVue.setText(_translate("WidgetVide", "..."))
+        self.RBPoubelle.setText(_translate("WidgetVide", "..."))
+
+from monBoutonValide import MonBoutonValide
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    WidgetVide = QtWidgets.QWidget()
+    ui = Ui_WidgetVide()
+    ui.setupUi(WidgetVide)
+    WidgetVide.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/desWidgetVide.ui b/UiQT5/desWidgetVide.ui
new file mode 100644 (file)
index 0000000..03a815f
--- /dev/null
@@ -0,0 +1,330 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WidgetVide</class>
+ <widget class="QWidget" name="WidgetVide">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1069</width>
+    <height>55</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout_3">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>2</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <property name="sizeConstraint">
+      <enum>QLayout::SetFixedSize</enum>
+     </property>
+     <item>
+      <spacer name="horizontalSpacer_3">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Fixed</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>21</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="MonBoutonValide" name="RBValide">
+       <property name="minimumSize">
+        <size>
+         <width>21</width>
+         <height>31</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>21</width>
+         <height>35</height>
+        </size>
+       </property>
+       <property name="focusPolicy">
+        <enum>Qt::ClickFocus</enum>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>32</width>
+         <height>32</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QLabel" name="label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>300</width>
+       <height>24</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>178</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="text">
+      <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0055ff;&quot;&gt;Label&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="lineEditVal">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+       <horstretch>1</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>32</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>805</width>
+       <height>16777215</height>
+      </size>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">background:rgb(235,235,235);
+border:0px;</string>
+     </property>
+     <property name="text">
+      <string>Attend un objet de type XXXX. Il faut le créer</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="horizontalSpacer_2">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::MinimumExpanding</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>79</width>
+       <height>17</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_2">
+     <property name="spacing">
+      <number>0</number>
+     </property>
+     <item>
+      <widget class="QToolButton" name="RBSalome">
+       <property name="minimumSize">
+        <size>
+         <width>25</width>
+         <height>30</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>25</width>
+         <height>30</height>
+        </size>
+       </property>
+       <property name="focusPolicy">
+        <enum>Qt::ClickFocus</enum>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/flecheSalome.png</normaloff>../Editeur/icons/flecheSalome.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>32</width>
+         <height>32</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QToolButton" name="RBSalomeVue">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>25</width>
+         <height>30</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>25</width>
+         <height>30</height>
+        </size>
+       </property>
+       <property name="focusPolicy">
+        <enum>Qt::ClickFocus</enum>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border:0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/icon_salome.png</normaloff>../Editeur/icons/icon_salome.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>32</width>
+         <height>32</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Fixed</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>13</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QToolButton" name="RBPoubelle">
+       <property name="minimumSize">
+        <size>
+         <width>21</width>
+         <height>31</height>
+        </size>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>21</width>
+         <height>31</height>
+        </size>
+       </property>
+       <property name="focusPolicy">
+        <enum>Qt::ClickFocus</enum>
+       </property>
+       <property name="styleSheet">
+        <string notr="true">border : 0px</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset>
+         <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>21</width>
+         <height>32</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>MonBoutonValide</class>
+   <extends>QToolButton</extends>
+   <header>monBoutonValide.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>lineEditVal</tabstop>
+  <tabstop>RBSalome</tabstop>
+  <tabstop>RBSalomeVue</tabstop>
+  <tabstop>RBValide</tabstop>
+  <tabstop>RBPoubelle</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/UiQT5/eficas_en.qm b/UiQT5/eficas_en.qm
new file mode 100644 (file)
index 0000000..885409e
Binary files /dev/null and b/UiQT5/eficas_en.qm differ
diff --git a/UiQT5/eficas_en.ts b/UiQT5/eficas_en.ts
new file mode 100644 (file)
index 0000000..e514c2e
--- /dev/null
@@ -0,0 +1,3948 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1" language="en">
+<context>
+    <name>@default</name>
+    <message>
+        <location filename="../../convert/convert_ini.py" line="81"/>
+        <source>lecture du fichier impossible :</source>
+        <translation>unable to read file :</translation>
+    </message>
+    <message>
+        <location filename="../../convert/convert_python.py" line="105"/>
+        <source>Impossible d&apos;ouvrir le fichier %s</source>
+        <translation>unable to open file %s</translation>
+    </message>
+    <message>
+        <location filename="../../convert/convert_python.py" line="116"/>
+        <source>Impossible de convertir le fichier Python qui doit contenir des erreurs.
+
+                                  On retourne le fichier non converti. Prevenir la maintenance.
+
+ %s</source>
+        <translation>Unable to translate the file. it probably contains mistake
+ask eficas team
+%s</translation>
+    </message>
+    <message>
+        <location filename="../../convert/convert_pyth.py" line="115"/>
+        <source>Format de sortie : %s, non supporte</source>
+        <translation>Unsupported format  %s</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue_initial.py" line="44"/>
+        <source>Impossible d&apos;ouvrir le fichier : %s</source>
+        <translation>unable to open file: %s</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="65"/>
+        <source>Erreur ! Erreur !</source>
+        <translation>Error!</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="92"/>
+        <source>Erreur rencontree dans recherche_enfants : %s</source>
+        <translation>Error in recherche_enfants : %s</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="102"/>
+        <source>Erreur dans la creation du mot-cle : %s</source>
+        <translation>Error when creating %s</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="191"/>
+        <source>Impossible d&apos;ouvrir le fichier : %s </source>
+        <translation>unable to open file : %s</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="208"/>
+        <source>le texte a analyser n&apos;est pas celui d&apos;une commande ou d&apos;un operateur : </source>
+        <translation>text is no eficas text:</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="216"/>
+        <source>Erreur dans la recherche  du nom de la commande : </source>
+        <translation>error when searching command&apos;s name :</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="219"/>
+        <source>Erreur dans la recherche des  args de la commande :</source>
+        <translation>error when searching argument&apos;s command :</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="238"/>
+        <source>Erreur dans la recherche du  nom de la commande : </source>
+        <translation>error when searching command&apos;s name :</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="241"/>
+        <source>Erreur dans la recherche des args de la commande : </source>
+        <translation>error when searching argument&apos;s command :</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/Objecttreeitem.py" line="304"/>
+        <source>%d n&apos;est pas un index valide pour append_brother</source>
+        <translation>%d is not a valid  index for append-brother</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="96"/>
+        <source>le fichier de commandes %s n&apos;existe pas</source>
+        <translation>commands file %s does not exist</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="104"/>
+        <source>un fichier de commandes doit etre defini avant une poursuite %s</source>
+        <translation>You have to define principal commands file before a secondary (poursuite) file %s</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="106"/>
+        <source>le fichier poursuite %s n&apos;existe pas</source>
+        <translation>the secondary (poursuite) file does not exist</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="117"/>
+        <source>include mal defini %s</source>
+        <translation>include is not correct %s</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="123"/>
+        <source>un fichier de commandes doit etre defini avant un include %s</source>
+        <translation>You have to define principal commands file before include %s</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="125"/>
+        <source>le fichier include %s n&apos;existe pas</source>
+        <translation>include file does not exist</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="154"/>
+        <source>jdc %(v_1)s, le fichier
+                                      de commandes %(v_2)s n&apos;existe pas</source>
+        <comment>v_1</comment>
+        <translation>jdc %(v_1)s : .comm  %(v_2)s does not exist</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="188"/>
+        <source> le fichier jdc %s n&apos;existe pas</source>
+        <translation>file %s does not exist</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="198"/>
+        <source> jdc %s manque option jdc dans section jdc</source>
+        <translation>jdc %s does not have jdc option in command line</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="218"/>
+        <source>%(v_1)s include %(v_2)s : %(v_3)s</source>
+        <comment>v_1</comment>
+        <translation>%(v_1)s include %(v_2)s : %(v_3)s</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="222"/>
+        <source>%(v_1)s fichier poursuite: %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation>%(v_1)ssecondary (poursuite) file  %(v_2)s </translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="229"/>
+        <source>nom etude : %s</source>
+        <translation>study&apos;s name : %s</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="236"/>
+        <source>utilisation : %prog [options]</source>
+        <translation>use : %prog[options]</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="238"/>
+        <source>nom du fichier de commandes</source>
+        <translation>principal .comm file&apos;s name</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="242"/>
+        <source>nom du fichier poursuite</source>
+        <translation>secondary (poursuite) file&apos;s name</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="246"/>
+        <source>numero d&apos;unite suivi du nom du fichier include</source>
+        <translation>unit number and include file&apos;s name</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="250"/>
+        <source>fichier decrivant une etude</source>
+        <translation>file containing a study</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="254"/>
+        <source>version de catalogue a utiliser</source>
+        <translation> catalog&apos;s version</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="257"/>
+        <source>nom du code a utiliser</source>
+        <translation>code&apos;s name</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="260"/>
+        <source>niveau de debug</source>
+        <translation>debug level</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="263"/>
+        <source>schema</source>
+        <translation>schema</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="298"/>
+        <source>Nombre incorrect d&apos;arguments</source>
+        <translation>incorrect number of arguments</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="296"/>
+        <source>Localisation specifiee pour l&apos;application.</source>
+        <translation>specified localization for the application.</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/utils.py" line="130"/>
+        <source>Impossible de transferer les fichiers requis dans : %s</source>
+        <translation>unable to transfer files to : %s</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCLIST.py" line="97"/>
+        <source>Erreur</source>
+        <translation>error</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/commande_comm.py" line="199"/>
+        <source>Erreurs fatales</source>
+        <translation>fatale error</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/commande_comm.py" line="202"/>
+        <source>Impossible reconstruire commande
+</source>
+        <translation>unable to construct command</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/commentaire.py" line="146"/>
+        <source>Objet commentaire non valorise</source>
+        <translation>comment object has no value</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/interpreteur_formule.py" line="110"/>
+        <source>Debut Fonction %s</source>
+        <translation>start function %s</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/interpreteur_formule.py" line="111"/>
+        <source>Fin Fonction %s</source>
+        <translation>end function %s</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/jdc_include.py" line="94"/>
+        <source>Nom de concept deja defini : %s</source>
+        <translation>Concept&apos;s name %s is already existing</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/mcnuplet.py" line="104"/>
+        <source>Longueur incorrecte</source>
+        <translation>incorrect length</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="65"/>
+        <source>L&apos;attribut &apos;min&apos; doit etre un entier : </source>
+        <translation>min must be an integer :</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="68"/>
+        <source>L&apos;attribut &apos;max&apos; doit etre un entier : </source>
+        <translation>max must be an integer :</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="70"/>
+        <source>Nombres d&apos;occurrence min et max invalides :</source>
+        <translation>min and max are invalid:</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="72"/>
+        <source>L&apos;attribut &apos;fr&apos; doit etre une chaine de caracteres</source>
+        <translation>&apos;fr&apos; must be a string</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="74"/>
+        <source>L&apos;attribut &apos;statut&apos; doit valoir &apos;o&apos;,&apos;f&apos;,&apos;c&apos; ou &apos;d&apos;</source>
+        <translation>values for statut arguments are : &apos;o&apos;,&apos;f&apos;,&apos;c&apos; or &apos;d&apos;</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="76"/>
+        <source>L&apos;attribut &apos;docu&apos; doit etre une chaine de caracteres</source>
+        <translation>docu must be a string</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="105"/>
+        <source>Fin </source>
+        <translation>end</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre_eval.py" line="149"/>
+        <source>Le parametre EVAL %s ne peut valoir None</source>
+        <translation>None is not a valid value for Eval parameter %s </translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre_eval.py" line="163"/>
+        <source>Pas de nom donne au parametre EVAL</source>
+        <translation>No name for parameter EVAL</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre_eval.py" line="166"/>
+        <source>Un nom de parametre ne peut depasser 8 caracteres</source>
+        <translation>parameter&apos;s name can not exceed 8 characters</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="159"/>
+        <source>Un concept de nom %s existe deja !</source>
+        <translation>Concept&apos;s name %s is already existing!</translation>
+    </message>
+    <message>
+        <location filename="../../generator/Formatage.py" line="129"/>
+        <source>ERREUR</source>
+        <translation>ERROR</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_asterv5.py" line="101"/>
+        <source>Format pas implemente : %s</source>
+        <translation>format : %s not implemented</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_asterv5.py" line="145"/>
+        <source>Type d&apos;objet non prevu : %s</source>
+        <translation>object type not expected : %s</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="256"/>
+        <source> ce groupe de maillage %s est associe a au moins un materiau  et au moins une source.</source>
+        <translation>mesh group %s is associated with at least one material and at least a source.</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="267"/>
+        <source>ce groupe de maillage %s  n&apos;est associe a aucun materiau ou source.</source>
+        <translation>mesh group %s is associated with no material or no source.</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="541"/>
+        <source>ATTENTION! Une source constante n&apos;est possible qu&apos;a frequence nulle en regime frequentiel</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_Creation.py" line="83"/>
+        <source>toutes les donnees ne sont pas connues</source>
+        <translation>all data are not available</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_file_from_template.py" line="59"/>
+        <source>Fichier patron %s n&apos;existe pas.</source>
+        <translation>pattern file %s does not exist.</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_pyth.py" line="100"/>
+        <source>Pas supporte</source>
+        <translation>not implemented</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_ini.py" line="105"/>
+        <source>Entite inconnue ou interdite :%s</source>
+        <translation>Unknown or unsupported entity : %s</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_ini.py" line="123"/>
+        <source>Entite inconnue ou interdite :%s. Elle est ignoree</source>
+        <translation>Unknown or unsupported entity : %s. ignored</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_ini.py" line="133"/>
+        <source>Les tuples ne sont pas supportes pour le format ini :%s </source>
+        <translation>Tuple are not allowed for format ini : %s</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_ini.py" line="139"/>
+        <source>Type de valeur non supportee par le format ini :%(nom)s
+%(exception)s</source>
+        <comment>nom</comment>
+        <translation>Unsupported type of value for .ini format %(nom)s
+%(exception)s</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_openturns.py" line="124"/>
+        <source>Il y a un pb a la Creation du XML</source>
+        <translation>problem when creating XML</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_openturns_study.py" line="127"/>
+        <source>Il y a un pb a la Creation du STD</source>
+        <translation>problem when creating STD</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_pyth.py" line="130"/>
+        <source>Entite inconnue ou interdite : %s. Elle est ignoree</source>
+        <translation>unkown ou unsupported entity : %s. ignored</translation>
+    </message>
+    <message>
+        <location filename="../../generator/OpenturnsXML.py" line="228"/>
+        <source>Tag %s non-defini. Ceci est un bogue interne. en informer les developpeurs.</source>
+        <translation>Tag %s not defined. Ask developpeurs team.</translation>
+    </message>
+    <message>
+        <location filename="../../generator/OpenturnsXML.py" line="240"/>
+        <source> Le mot-cle %s est obligatoire.</source>
+        <translation>mandatory keyword : %s.</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ASSD.py" line="29"/>
+        <source>concept %(inst_name)s de type %(class_name)s</source>
+        <comment>inst_name</comment>
+        <translation>concept %(inst_name)s of type  %(class_name)s</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="108"/>
+        <source>Un nom de concept doit etre un identificateur Python</source>
+        <translation>concept&apos;s name must be a python identifier</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="126"/>
+        <source>Concept existant</source>
+        <translation>allready existing concept</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="128"/>
+        <source>Operateur reentrant mais concept non existant</source>
+        <translation>operator &apos;reentrant&apos; but concept does not exist</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="140"/>
+        <source>Operateur reentrant et concept existant trouve</source>
+        <translation>Operator &apos;re-entrant&apos; and concept exists</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="142"/>
+        <source>Concept deja existant et de mauvais type</source>
+        <translation>already existing concept of not supported type</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="198"/>
+        <source>Nommage du concept refuse : un concept de meme nom existe deja</source>
+        <translation>Name is refused : already existing concept</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="52"/>
+        <source>Nommage du concept effectue</source>
+        <translation>Concept named</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="176"/>
+        <source>Nommage impossible %s</source>
+        <translation>unable to name %s</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="105"/>
+        <source>La liste des arguments d&apos;une formule doit etre entre parentheses : parenthese ouvrante manquante</source>
+        <translation>formula expects a list of arguments : no left parenthesis</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="107"/>
+        <source>La liste des arguments d&apos;une formule doit etre entre parentheses : parenthese fermante manquante</source>
+        <translation>formula expects a list of arguments : no right parenthes</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="152"/>
+        <source>Pas de nom donne a la FORMULE</source>
+        <translation>no name given</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="154"/>
+        <source>Un nom de FORMULE ne peut depasser 8 caracteres</source>
+        <translation>name too  long (8 characters max)</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="156"/>
+        <source>Un nom de FORMULE ne peut pas commencer par un chiffre</source>
+        <translation>name does not begin with a figure</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="173"/>
+        <source>Le type de la valeur retournee n&apos;est pas specifie</source>
+        <translation>no type is specified for the return value</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="175"/>
+        <source>Une formule ne peut retourner une valeur de type : %s</source>
+        <translation>impossible to return a value of type : %s</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_JDC.py" line="308"/>
+        <source>Impossible d&apos;ajouter la commande</source>
+        <translation>unable to add the keyword (commande)</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_JDC.py" line="314"/>
+        <source>Impossible d ajouter la commande</source>
+        <translation>unable to add the keyword (commande)</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_JDC.py" line="629"/>
+        <source>Pas implemente</source>
+        <translation>not implemented</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_JDC.py" line="724"/>
+        <source>Nom de concept deja defini </source>
+        <translation>already defined concept</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_JDC.py" line="899"/>
+        <source> Nom de concept deja  defini : </source>
+        <translation>already defined concept :</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_JDC.py" line="942"/>
+        <source>Impossible de trouver le fichier correspondant a l&apos;unite </source>
+        <translation>unable to find file corresponding to unit</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="725"/>
+        <source> n&apos;est pas un fichier existant</source>
+        <translation>is not an existing file</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="1107"/>
+        <source>Fichier invalide %s</source>
+        <translation>invalid file %s</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="559"/>
+        <source>Impossible de construire le jeu de commandes correspondant au fichier</source>
+        <translation>unable to create the jdc corresponding to the file</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="1057"/>
+        <source>Erreur lors de l&apos;evaluation du fichier inclus</source>
+        <translation>Error when reading the &apos;include&apos; file</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="1195"/>
+        <source>Ce fichier ne sera pas pris en compte
+ %s</source>
+        <translation>the file is ignored
+%s</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="735"/>
+        <source>Ce fichier ne sera pas pris en compte
+Le fichier associe n&apos;est pas defini</source>
+        <translation>the file is ignored : associated file is not defined</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="907"/>
+        <source>Le fichier n est pas defini</source>
+        <translation>file is not defined</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="944"/>
+        <source>le fichier doit contenir une unique variable de sortie</source>
+        <translation>file must declare a single output variable</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="990"/>
+        <source>Fichier invalide</source>
+        <translation>invalid file</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="993"/>
+        <source>Le contenu de ce fichier ne sera pas pris en compte
+ %s</source>
+        <translation>the file will be ignored :
+%s</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="1047"/>
+        <source>Le fichier INCLUDE n est pas defini</source>
+        <translation>include file is not defined</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="1057"/>
+        <source>Le contenu de ce fichier ne sera pas pris en compte
+</source>
+        <translation>file will be ignored
+</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="1195"/>
+        <source>Erreur lors de l&apos;evaluation du fichier poursuite</source>
+        <translation>Error when creating secondary (poursuite) file</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCCOMPO.py" line="224"/>
+        <source>L&apos;objet %(v_1)s ne peut  etre un fils de %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation>Object %(v_1)s can not be a child for %(v_2)s</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCCOMPO.py" line="253"/>
+        <source>L&apos;objet %s ne peut pas etre repete</source>
+        <translation>Object %s can not be repeated</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCFACT.py" line="50"/>
+        <source>Erreur - mclist inexistante : %s</source>
+        <translation>Error - mclist does not exist : %s</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCFACT.py" line="59"/>
+        <source>Erreur - mot cle facteur de nom : %s</source>
+        <translation>Error - keyword &quot;mot-clef facteur&quot; nammed : %s</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCLIST.py" line="94"/>
+        <source>traitement non-prevu</source>
+        <translation>unexpected task</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCLIST.py" line="97"/>
+        <source>L&apos;objet %s ne peut pas etre ajoute</source>
+        <translation>Object %s cannot be add</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCSIMP.py" line="258"/>
+        <source>None n&apos;est pas une valeur autorisee</source>
+        <translation>None is not a valid value</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCSIMP.py" line="490"/>
+        <source>un concept de meme nom existe deja</source>
+        <translation>concept already exists</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCSIMP.py" line="512"/>
+        <source>Concept cree</source>
+        <translation>concept created</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCSIMP.py" line="643"/>
+        <source>La matrice n&apos;est pas une matrice %(n_lign)d sur %(n_col)d</source>
+        <comment>n_lign</comment>
+        <translation>matrix is not a %(n_lign)d x %(n_col)d matrix</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compocomm.py" line="41"/>
+        <source>Decommenter</source>
+        <translation>uncomment</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compocomm.py" line="43"/>
+        <source>Decommente la commande </source>
+        <translation>uncomment the command</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compofact.py" line="133"/>
+        <source>Impossible de supprimer un mot-cle obligatoire </source>
+        <translation>mandatory keyword cannot be deleted</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compofact.py" line="136"/>
+        <source>Mot-cle %s supprime</source>
+        <translation>Keyword %s deleted</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compofact.py" line="141"/>
+        <source>Pb interne : impossible de supprimer ce mot-cle</source>
+        <translation>internal problem : unable to delete keyword</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compojdc.py" line="86"/>
+        <source>Commentaire supprime</source>
+        <translation>comment is deleted</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compojdc.py" line="88"/>
+        <source>Commande %s supprimee</source>
+        <translation>command %s is deleted</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compojdc.py" line="91"/>
+        <source>Pb interne : impossible de supprimer cet objet</source>
+        <translation>internal problem : unable to delete object</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compomacro.py" line="125"/>
+        <source>Le fichier de commande n&apos;a pas pu etre converti pour etre editable par Eficas
+
+</source>
+        <translation>unable to convert .comm file in order to open it with Eficas</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compomacro.py" line="157"/>
+        <source>Include vide</source>
+        <translation>include file is empty</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compomacro.py" line="157"/>
+        <source>L&apos;include doit etre correctement initialise pour etre visualise</source>
+        <translation>include file must be correct</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compomclist.py" line="223"/>
+        <source>Impossible de supprimer ce mot-clef</source>
+        <translation>unable to delete this keyword</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="67"/>
+        <source>View3D</source>
+        <translation>View3D</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="69"/>
+        <source>affiche dans Geom les elements de structure</source>
+        <translation>diplay SE in Geom</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="76"/>
+        <source>Graphique</source>
+        <translation>graphic</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="78"/>
+        <source>affiche la distribution </source>
+        <translation>display distribution</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="201"/>
+        <source>Impossible de supprimer un mot-clef obligatoire </source>
+        <translation>unable to delete a mandatory keyword</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="203"/>
+        <source>Mot-clef %s supprime </source>
+        <translation>Keyword %s is deleted</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compoparam.py" line="146"/>
+        <source>Definition d&apos;un parametre</source>
+        <translation>defines a parameter</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/configuration.py" line="156"/>
+        <source>Import du fichier de Configuration</source>
+        <translation>import configuration file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/configuration.py" line="156"/>
+        <source>Erreur a la lecture du fichier de configuration %s </source>
+        <translation>Error when reading configuration file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="196"/>
+        <source>Erreur fatale au chargement de %s</source>
+        <translation>fatal error when loading %s</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="197"/>
+        <source>Erreur fatale au chargement d&apos;un fichier</source>
+        <translation>Fatal error when loading file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="313"/>
+        <source>fichier modifie</source>
+        <translation>file updated </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="313"/>
+        <source>Attention! fichier change hors EFICAS</source>
+        <translation>Warning ! this file was modified outside Eficas</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="367"/>
+        <source>Type de fichier non reconnu</source>
+        <translation>unsupported file type</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="324"/>
+        <source>EFICAS ne sait pas ouvrir le type de fichier %s</source>
+        <translation>Eficas is not able to open this file&apos;s type : %s</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="367"/>
+        <source>EFICAS ne sait pas ouvrir ce type de fichier</source>
+        <translation>Eficas is not able to open this file&apos;s type</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="610"/>
+        <source>Copie impossible</source>
+        <translation>unable to copy</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="582"/>
+        <source>Veuillez selectionner un objet a copier</source>
+        <translation>you have to select an object to copy</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="587"/>
+        <source>Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne</source>
+        <translation>You have to select a single object : copy will be done after the selected node</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="610"/>
+        <source>Aucun Objet n a ete copie ou coupe</source>
+        <translation>No object was cut or copied</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="636"/>
+        <source>Copie refusee</source>
+        <translation>rejected copy</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="622"/>
+        <source>Eficas n a pas reussi a copier l objet</source>
+        <translation>Eficas cannot copy this object</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="636"/>
+        <source>Copie refusee pour ce type d objet</source>
+        <translation>Copy rejected : bad object type</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="648"/>
+        <source>Deplacement refuse</source>
+        <translation>move rejected</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="648"/>
+        <source>Deplacement refuse entre 2 fichiers. Seule la copie est autorisee </source>
+        <translation>move rejected. no move between two files : only copy is available</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="684"/>
+        <source>Copie impossible a cet endroit</source>
+        <translation>unable to copy here</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="684"/>
+        <source>Veuillez selectionner une commande, un parametre, un commentaire ou une macro</source>
+        <translation>select a command; a parameter, a comment or a macro</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="745"/>
+        <source>Choix d&apos;un fichier XML</source>
+        <translation>Choice of XML file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="66"/>
+        <source>Ouvrir Fichier</source>
+        <translation>Open file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1036"/>
+        <source>Erreur a la generation</source>
+        <translation>Error when generating</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1036"/>
+        <source>EFICAS ne sait pas convertir ce JDC</source>
+        <translation>Eficas is unable to convert JDC</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1040"/>
+        <source>Format %s non reconnu</source>
+        <translation> not supported format %s</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="895"/>
+        <source>Execution impossible </source>
+        <translation>Unable to execute</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="832"/>
+        <source>le JDC doit etre valide pour une execution MAP</source>
+        <translation>JDC has to be valid before run</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="835"/>
+        <source>le JDC doit contenir un et un seul composant</source>
+        <translation>JDC must contains a single componant</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="935"/>
+        <source>sauvegarde</source>
+        <translation>save</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="944"/>
+        <source>Sauvegarde du Fichier</source>
+        <translation>save file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="944"/>
+        <source>Le fichier &lt;b&gt;%s&lt;/b&gt; existe deja.</source>
+        <translation>file  &lt;b&gt;%s&lt;/b&gt; already exists.</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="944"/>
+        <source>&amp;Ecraser</source>
+        <translation>&amp;Replace</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1178"/>
+        <source>Donnez le nom du fichier correspondant a l unite logique </source>
+        <translation>Choose file corresponding to unit </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1181"/>
+        <source>Choix d&apos;un fichier de poursuite</source>
+        <translation>Choose poursuite file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1182"/>
+        <source>Le fichier %s contient une commande POURSUITE
+</source>
+        <translation>file %s contains a POURSUITE command</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereTraduction.py" line="37"/>
+        <source>Traduire Fichier</source>
+        <translation>file translation</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereTraduction.py" line="37"/>
+        <source>Fichiers JDC  (*.comm);;Tous les Fichiers (*)</source>
+        <translation>JDC files(*.comm);; All FIles(*)</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereTraduction.py" line="62"/>
+        <source>Fichier Traduit : %s
+
+</source>
+        <translation>Translated file : %s</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereTraduction.py" line="72"/>
+        <source>Pas de difference entre le fichier origine et le fichier traduit</source>
+        <translation>No difference between the primary file and the translated file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monChoixCata.py" line="42"/>
+        <source>%d versions du catalogue sont disponibles</source>
+        <translation>%d catalogs versions are available</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="115"/>
+        <source>&amp;Ok</source>
+        <translation>&amp;Ok</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="173"/>
+        <source>Entrez </source>
+        <translation>enter</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="119"/>
+        <source> valeurs </source>
+        <translation> values </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="174"/>
+        <source>Entrez entre </source>
+        <translation>enter between </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="174"/>
+        <source> et </source>
+        <translation> and </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="245"/>
+        <source>Selection</source>
+        <translation>selection</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpBase.py" line="86"/>
+        <source>Type de base inconnu</source>
+        <translation>unkown type</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="209"/>
+        <source>Visualisation Fichier </source>
+        <translation>view file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="209"/>
+        <source>Impossibilite d&apos;afficher le Fichier</source>
+        <translation>Unable to display file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="222"/>
+        <source>Sauvegarder Fichier</source>
+        <translation>save File</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="236"/>
+        <source>Fichier selectionne</source>
+        <translation>file selected</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpComplexe.py" line="116"/>
+        <source>expression valide</source>
+        <translation>valid expression</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpComplexe.py" line="122"/>
+        <source>expression invalide</source>
+        <translation>unvalid expression</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpComplexe.py" line="128"/>
+        <source>expression n est pas de la forme a+bj</source>
+        <translation>expression is not as a+bj</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpComplexe.py" line="140"/>
+        <source>entrer une seule valeur SVP</source>
+        <translation>Please, enter a single value</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpComplexe.py" line="158"/>
+        <source>saisir le type de complexe</source>
+        <translation>choose complex&apos;s type</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monViewTexte.py" line="69"/>
+        <source>Sauvegarder le fichier</source>
+        <translation>save file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monViewTexte.py" line="69"/>
+        <source>Le fichier &lt;b&gt;%(v_1)s&lt;/b&gt; n&apos;a pu etre sauvegarde. &lt;br&gt;Raison : %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation>file &lt;b&gt;%(v_1)s&lt;/b&gt; was not saved. Raison : %(v_2)s</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="78"/>
+        <source>&amp;Recents</source>
+        <translation>&amp;Recently Opened</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="147"/>
+        <source>Aide specifique </source>
+        <translation>code&apos;s help</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="189"/>
+        <source>Traduction</source>
+        <translation>translation</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="194"/>
+        <source>Options</source>
+        <translation>Options</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="273"/>
+        <source>TraduitV7V8</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="274"/>
+        <source>TraduitV8V9</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="275"/>
+        <source>TraduitV9V10</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="284"/>
+        <source>Acquiert Groupe Maille</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="289"/>
+        <source>Specificites Maille</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="409"/>
+        <source>version </source>
+        <translation>version</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="276"/>
+        <source> pour </source>
+        <translation> for </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="436"/>
+        <source>Aide Indisponible</source>
+        <translation>no help avalaible</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="450"/>
+        <source>Parametrage</source>
+        <translation>Options</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="443"/>
+        <source>Veuillez d abord choisir un code</source>
+        <translation>Choose a code</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="450"/>
+        <source>Pas de possibilite de personnalisation de la configuration </source>
+        <translation>no options avalaible for configuration</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="471"/>
+        <source>&amp;Effacer</source>
+        <translation>&amp;Delete</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtSaisie.py" line="98"/>
+        <source>Veuillez entrer le complexe sous forme aster ou sous forme python</source>
+        <translation>enter a complex</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="147"/>
+        <source>Import du catalogue</source>
+        <translation>Loading catalog</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="95"/>
+        <source>Pas de catalogue defini pour le code </source>
+        <translation>No catalog for this code</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="119"/>
+        <source>Aucun catalogue trouve</source>
+        <translation>No catalog</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="278"/>
+        <source> avec le catalogue </source>
+        <translation>with catalog  </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="147"/>
+        <source>Impossible d&apos;importer le catalogue </source>
+        <translation>unable to load catalog</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="268"/>
+        <source>Choix d une version du code </source>
+        <translation>Choose a version for </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="270"/>
+        <source>Choix d une version </source>
+        <translation>choose a version</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="219"/>
+        <source>Parametre</source>
+        <translation>parameter</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="37"/>
+        <source>Insere un parametre</source>
+        <translation>insert a parameter</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="115"/>
+        <source>item invalide</source>
+        <translation>invalid item</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="115"/>
+        <source>l item doit etre valide</source>
+        <translation>item must be valid</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="141"/>
+        <source>apres</source>
+        <translation>after</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="136"/>
+        <source>Insere un commentaire apres la commande </source>
+        <translation>insert a comment after the command</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="144"/>
+        <source>avant</source>
+        <translation>before</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="139"/>
+        <source>Insere un commentaire avant la commande </source>
+        <translation>insert a comment before the command</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="143"/>
+        <source>Insere un parametre apres la commande </source>
+        <translation>insert a parameter after the command</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="146"/>
+        <source>Insere un parametre avant la commande </source>
+        <translation>insert a parameter before the commande</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="148"/>
+        <source>Supprimer</source>
+        <translation>delete</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="150"/>
+        <source>supprime le mot clef </source>
+        <translation>delete keyword</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="151"/>
+        <source>Documentation</source>
+        <translation>documentation</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="153"/>
+        <source>documentation sur la commande </source>
+        <translation>command&apos;s documentation</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="183"/>
+        <source>Documentation Vide</source>
+        <translation>empty documentation</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="163"/>
+        <source>Aucune documentation n&apos;est associee a ce noeud</source>
+        <translation>no documentation is available for this node</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="170"/>
+        <source>impossible de trouver la commande  </source>
+        <translation>unable to find command</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="171"/>
+        <source>Lecteur PDF</source>
+        <translation>PDF reader</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="182"/>
+        <source>impossible d&apos;ouvrir </source>
+        <translation>unable to open</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="215"/>
+        <source>Commentaire</source>
+        <translation>Comment</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="232"/>
+        <source>ce noeud</source>
+        <translation>this node</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="234"/>
+        <source>commente le noeud </source>
+        <translation>comment this node</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="64"/>
+        <source>Fichiers JDC (*.comm);;Tous les Fichiers (*)</source>
+        <translation>JDC Files (*.comm);;All Files(*)</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="84"/>
+        <source>&amp;Quitter</source>
+        <translation>&amp;Exit</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="116"/>
+        <source>Quitter</source>
+        <translation>Exit</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="337"/>
+        <source>Fichier Duplique</source>
+        <translation>file is duplicated</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="337"/>
+        <source>Le fichier ne sera pas sauvegarde.</source>
+        <translation>File will not be saved.</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="349"/>
+        <source>&amp;Annuler</source>
+        <translation>&amp;Cancel</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="267"/>
+        <source>Fichier</source>
+        <translation>File</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="267"/>
+        <source>Le fichier &lt;b&gt;%s&lt;/b&gt; est deja ouvert.</source>
+        <translation>File  &lt;b&gt;%s&lt;/b&gt; is already open.</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="267"/>
+        <source>&amp;Duplication</source>
+        <translation>&amp;Duplication</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="267"/>
+        <source>&amp;Abort</source>
+        <translation>&amp;Abort</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="349"/>
+        <source>Fichier Modifie</source>
+        <translation>File is modified</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="349"/>
+        <source>Le fichier %s n a pas ete sauvegarde.</source>
+        <translation>file %s was not saved.</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="349"/>
+        <source>&amp;Sauvegarder</source>
+        <translation>&amp;Save</translation>
+    </message>
+    <message>
+        <location filename="../../convert/convert_pyth.py" line="109"/>
+        <source>Erreur a l&apos;evaluation :
+ %s</source>
+        <translation>Error when loadind :
+%s</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/utils.py" line="50"/>
+        <source>Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom</source>
+        <translation>File %s already exists : unable to create a directory with the same name</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/utils.py" line="56"/>
+        <source>Creation du repertoire %s impossible
+ Verifiez vos droits d&apos;acces</source>
+        <translation>Unable to create directory : check your access rights</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="266"/>
+        <source>localisation de l&apos;application, pour la traduction</source>
+        <translation>use for application translation</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="820"/>
+        <source>ERREUR! ce groupe de maille (%s) n&apos;a pas de prefixe valable</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="825"/>
+        <source>ERREUR! ce type de bloc (%s) n&apos;est pas valable</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/browser.py" line="435"/>
+        <source>  n&apos;est pas un index valide pour append_brother</source>
+        <translation>is not correct - no possible &quot;append_brother&quot;</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="114"/>
+        <source>Erreur interne</source>
+        <translation>Internal error</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="114"/>
+        <source>La PDF de la loi ne peut pas etre affichee.</source>
+        <translation>unable to display law&apos;s PDF.</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="746"/>
+        <source>Le fichier contient une commande MODEL
+</source>
+        <translation>file contains MODEL command </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="747"/>
+        <source>Donnez le nom du fichier XML qui contient la description des variables</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1176"/>
+        <source>Choix unite %d </source>
+        <translation>Choice for unit %d</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1179"/>
+        <source>Fichier pour unite </source>
+        <translation>File for unit </translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/interpreteur_formule.py" line="97"/>
+        <source>La formule passee a l&apos;interpreteur doit etre sous forme de tuple</source>
+        <translation>formula must be written as tuple</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="104"/>
+        <source>Debut </source>
+        <translation>Beginning</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre_eval.py" line="150"/>
+        <source>Le parametre EVAL ne peut valoir None</source>
+        <translation>None is not a valid value for EVAL</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre.py" line="188"/>
+        <source>Pas de nom donne au parametre </source>
+        <translation>No name given</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre.py" line="193"/>
+        <source>Le parametre %s ne peut valoir None</source>
+        <translation>None is an incorrect value for parameter %s</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_aplat.py" line="147"/>
+        <source>Format non implemente : %s</source>
+        <translation>Not implemented format</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_pyth.py" line="143"/>
+        <source>Type de valeur non supporte par le format pyth : n %(exception)s</source>
+        <comment>nom</comment>
+        <translation>unsupported type of value</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="138"/>
+        <source>Impossible de realiser la verification de la formule</source>
+        <translation>unable to verify formula</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="208"/>
+        <source>Pb interne : impossible de supprimer ce mot-clef</source>
+        <translation>internal problem : unable to delete keyword</translation>
+    </message>
+    <message>
+        <location filename="../../convert/parseur_python.py" line="499"/>
+        <source>Eficas ne peut pas traiter plusieurs instructions 
+                                                 sur la meme ligne : %s</source>
+        <translation>Eficas is not able to manage many instructions on a same line</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="209"/>
+        <source>le texte a analyser n&apos;est pas celui d&apos;une commande ou 
+                                         d&apos;un operateur : %s</source>
+        <translation>text is not valid for a command or a operaor</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="229"/>
+        <source>le texte a analyser n&apos;est pas celui d&apos;une commande connue : 
+                                        %(v_1)s %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation>text is not valid for command %(v_1)s %(v_2)s </translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="231"/>
+        <source>le texte a analyser n&apos;est pas celui d&apos;une commande connue : 
+                                         %(v_1)s %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation>text is not valid for command %(v_1)s %(v_2)s</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="149"/>
+        <source> jdc %(v_1)s manque 
+                                      fichier comm dans section %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation>file %(v_1)s need a .comm file in section %(v_2)s   </translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="170"/>
+        <source> jdc %(v_1)s 
+                                   fichier include %(v_2)s, %(v_3)s 
+                                   n&apos;existe pas</source>
+        <comment>v_1</comment>
+        <translation>file %(v_1)s need an include  file  %(v_2)s,%(v_3)s does not exist </translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="202"/>
+        <source> jdc %(v_1)s manque fichier comm 
+                                dans section %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation>file %(v_1)s need a .comm file in section %(v_2)s</translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="206"/>
+        <source>jdc %(v_1)s, le fichier de commandes 
+                                %(v_2)s n&apos;existe pas</source>
+        <comment>v_1</comment>
+        <translation>jdc%(v_1)s, .comm  %(v_2)s does not exist</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="482"/>
+        <source>ATTENTION! Une source constante 
+                                  n&apos;est possible qu&apos;a frequence nulle 
+                                  en regime frequentiel</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="491"/>
+        <source>ERREUR! Une forme de la source du 
+                               type WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue.</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="512"/>
+        <source>ATTENTION! Une source constante n&apos;est 
+                                  possible qu&apos;a frequence nulle en regime frequentiel</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="548"/>
+        <source>ERREUR! Une forme de la source du type 
+                               WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue.</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="817"/>
+        <source>ERREUR! ce groupe de maille (%s) n&apos;a pas de prefixe 
+                                indiquant le type de materiau ou de source associee</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="827"/>
+        <source>ERREUR! ce groupe de maille (%(nom)s) n&apos;a pas 
+                                        le prefixe correct pour etre associe a un type %(type_bloc)s</source>
+        <comment>nom</comment>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="485"/>
+        <source>
+   Include Invalide. 
+  ne sera pas pris en compte</source>
+        <translation>Invalid include file. text will not be included</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="167"/>
+        <source>Impossible de relire le fichier %s 
+ </source>
+        <translation>unable to read file</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="178"/>
+        <source>Le fichier include contient des erreurs </source>
+        <translation>include file contains errors</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compoparam.py" line="86"/>
+        <source>PARAMETRE</source>
+        <translation>PARAMETER</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1041"/>
+        <source>EFICAS ne sait pas convertir le JDC selon le format </source>
+        <translation>Eficas does not know how to convert data according to the defined format</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="871"/>
+        <source>le JDC doit etre valide pour une execution </source>
+        <translation>Before a run action, JDC must be valid</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="895"/>
+        <source>Sauvegarder SVP avant l&apos;execution </source>
+        <translation>Save before run action</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1020"/>
+        <source>Sauvegarde de l&apos;input impossible </source>
+        <translation>unable to save input file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1020"/>
+        <source>Un JdC valide est necessaire pour creer un .input</source>
+        <translation>file must be valid to create a .input file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="964"/>
+        <source>Choix du composant obligatoire</source>
+        <translation>You have to choose a component</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1177"/>
+        <source>Le fichier %s contient une commande INCLUDE 
+</source>
+        <translation>file %s contains an &quot;INCLUDE&quot; command</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1183"/>
+        <source>Donnez le nom du fichier dont vous 
+ voulez faire une poursuite</source>
+        <translation>Name the principal file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1311"/>
+        <source>Fichiers Med (*.med);;Tous les Fichiers (*)</source>
+        <translation>Med Files (*.med);;All Files(*)</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1314"/>
+        <source>Fichier Med</source>
+        <translation>Med File</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1314"/>
+        <source>Veuillez selectionner un fichier Med</source>
+        <translation>Choose a Med file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="165"/>
+        <source>reel</source>
+        <translation>float</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="166"/>
+        <source>entier</source>
+        <translation>integer</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="167"/>
+        <source>complexe</source>
+        <translation>complex</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="436"/>
+        <source>l&apos;aide n est pas installee </source>
+        <translation>Help is not available</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="291"/>
+        <source>Export Med vers Fichier </source>
+        <translation>export Med Mesh in a file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="291"/>
+        <source>Impossibilite d exporter le Fichier</source>
+        <translation>Unable to export file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monBoutonValide.py" line="43"/>
+        <source>objet valide</source>
+        <translation>valid object</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpTuple3.py" line="47"/>
+        <source>Valeur non modifiable</source>
+        <translation>value can not be changed</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetOptionnel.py" line="91"/>
+        <source>Options pour 
+</source>
+        <translation>Settings </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetPlusieursInto.py" line="172"/>
+        <source>Nombre minimal de valeurs : </source>
+        <translation>minimal number of values :</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetPlusieursInto.py" line="174"/>
+        <source>Nombre maximal de valeurs : </source>
+        <translation>Maximal number of values :</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpComplexe.py" line="84"/>
+        <source>l expression n est pas de la forme a+bj</source>
+        <translation>expression must be as a+bj</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/politiquesValidation.py" line="157"/>
+        <source>Valeur du mot-cle enregistree</source>
+        <translation>Value is recorded</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/politiquesValidation.py" line="162"/>
+        <source>Valeur du mot-cle non autorisee </source>
+        <translation>Value is not authorized</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="299"/>
+        <source>Fichier non encore nomme </source>
+        <translation>unnamed file</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="1"/>
+        <source>SOURCE</source>
+        <translation>SOURCE</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="2"/>
+        <source>EnveloppeConnexeInducteur</source>
+        <translation>Bounding_Box</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="3"/>
+        <source>EnveloppeConnexe2</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="4"/>
+        <source>VecteurDirecteur</source>
+        <translation>Direction_Vector</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="5"/>
+        <source>Centre</source>
+        <translation>Center<byte value="x9"/></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="6"/>
+        <source>SectionBobine</source>
+        <translation>Section</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="7"/>
+        <source>Amplitude</source>
+        <translation>Amplitude</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="8"/>
+        <source>NbdeTours</source>
+        <translation>NbTurns</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="9"/>
+        <source>CONDUCTEUR</source>
+        <translation>CONDUCTOR</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="10"/>
+        <source>Conductivite</source>
+        <translation>Conductivity</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="11"/>
+        <source>PermeabiliteRelative</source>
+        <translation>Relative_Permeability</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="12"/>
+        <source>NOCOND</source>
+        <translation>DIELECTRIC</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="13"/>
+        <source>VCUT</source>
+        <translation>CUT</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="14"/>
+        <source>Orientation</source>
+        <translation>Orientation</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="15"/>
+        <source>ZS</source>
+        <translation>ZS</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="16"/>
+        <source>PARAMETRES</source>
+        <translation>SETTINGS</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="5"/>
+        <source>RepCarmel</source>
+        <translation>Carmel_Directory</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="18"/>
+        <source>TypedeFormule</source>
+        <translation>Formula</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="19"/>
+        <source>Frequence</source>
+        <translation>Frequency</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="20"/>
+        <source>Nb_Max_Iterations</source>
+        <translation>Max_Nb_Iterations</translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="21"/>
+        <source>Erreur_Max</source>
+        <translation>Max_Error</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_python.py" line="112"/>
+        <source>Format non implemente </source>
+        <translation>non implemented format</translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_python.py" line="163"/>
+        <source>Type d&apos;objet non prevu</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereListe.py" line="193"/>
+        <source>Fichier de donnees</source>
+        <translation>data file</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereListe.py" line="193"/>
+        <source>Tous les  Fichiers (*)</source>
+        <translation>all files (*)</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetCB.py" line="51"/>
+        <source>Select</source>
+        <translation>select</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetPlusieursBase.py" line="226"/>
+        <source>nb min de valeurs : </source>
+        <translation>minimal number of values :</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetPlusieursBase.py" line="231"/>
+        <source>nb max de valeurs atteint</source>
+        <translation>maximum number of values</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="384"/>
+        <source>TraduitV10V11</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="387"/>
+        <source>TraduitV11V12</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="389"/>
+        <source>Sauve Format Ligne</source>
+        <translation>save file in line format</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtSaisie.py" line="138"/>
+        <source>Valeur du mot-clef enregistree</source>
+        <translation>value recorded</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtSaisie.py" line="142"/>
+        <source>Valeur du mot-clef non autorisee :</source>
+        <translation>unvalid value</translation>
+    </message>
+    <message>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="170"/>
+        <source>%s n&apos;est pas un fichier valide</source>
+        <translation>%s is not a valid file</translation>
+    </message>
+    <message>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1554"/>
+        <source>: verifie les types dans un tuple</source>
+        <translation>valids type in a tuple</translation>
+    </message>
+    <message>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1557"/>
+        <source>Les types entres ne sont pas permis</source>
+        <translation type="unfinished">unvalid type for values</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monFonctionPanel.py" line="62"/>
+        <source>La cardinalite n&apos;est pas correcte, la derniere valeur est ignoree</source>
+        <translation>unvalid multiplicity. last value will be ignored</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monFonctionPanel.py" line="110"/>
+        <source> n est pas un tuple de </source>
+        <translation>is not a tuple</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monFonctionPanel.py" line="112"/>
+        <source> valeurs</source>
+        <translation> values </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetCreeParam.py" line="96"/>
+        <source>Valeur incorrecte</source>
+        <translation>incorrect value</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetCreeParam.py" line="105"/>
+        <source> n est pas un identifiant correct
+ </source>
+        <translation>is not a valid name</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="78"/>
+        <source>Entrer un float SVP</source>
+        <translation>Float expected</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="83"/>
+        <source>Entrer un float inferieur a </source>
+        <translation>float lower than</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="88"/>
+        <source>Entrer un float superieur a </source>
+        <translation>float superior than</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="111"/>
+        <source>Mauvaise execution </source>
+        <translation>bad run</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="111"/>
+        <source>impossible d executer la methode </source>
+        <translation>unable to run method</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="135"/>
+        <source>Mauvaise Commande </source>
+        <translation>bad command</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="135"/>
+        <source>Aucune variable connue</source>
+        <translation>no possible variable </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="183"/>
+        <source>Mauvaise dimension de matrice</source>
+        <translation>bad matrix dimension</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="181"/>
+        <source>le nombre de ligne n est pas egal a </source>
+        <translation>number of lines is not </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="183"/>
+        <source>le nombre de colonne n est pas egal a </source>
+        <translation>number of columns is not</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="191"/>
+        <source>Mauvaise Valeur</source>
+        <translation>bad value</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="191"/>
+        <source>l element </source>
+        <translation>element</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="191"/>
+        <source>n est pas correct</source>
+        <translation>is not correct</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="94"/>
+        <source>Modification Impossible</source>
+        <translation>unable to modify</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="94"/>
+        <source>le parametre n&apos;est pas valide</source>
+        <translation>parameter is not valid</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="108"/>
+        <source> n est pas un identifiant correct</source>
+        <translation>is not a correct name</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="127"/>
+        <source>Valeur incorrecte: </source>
+        <translation>incorrect value :</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="130"/>
+        <source>Valeur incorrecte </source>
+        <translation>incorrect value</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="133"/>
+        <source>Valeur correcte </source>
+        <translation>valid value</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSDCOInto.py" line="77"/>
+        <source>impossible d&apos;evaluer : </source>
+        <translation>unable to evaluate :</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre_eval.py" line="170"/>
+        <source>Un concept de nom %s existe d&#xe9;j&#xe0; !</source>
+        <translation>already existing concept with name : %s !</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetCreeParam.py" line="109"/>
+        <source> existe deja
+ </source>
+        <translation>already exists</translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCSIMP.py" line="624"/>
+        <source>La matrice n&apos;a pas le bon entete</source>
+        <translation>header does not match with matrix</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/browser.py" line="463"/>
+        <source>le mot clef </source>
+        <translation>keyword </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/browser.py" line="455"/>
+        <source> doit etre insere avant </source>
+        <translation> has to be inserted before </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/browser.py" line="464"/>
+        <source>insertion impossible</source>
+        <translation>unable to insert keyword</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/browser.py" line="463"/>
+        <source> doit etre insere apres </source>
+        <translation> has to be inserted after </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetPlusieursTuple.py" line="244"/>
+        <source>Nb maximum de valeurs atteint</source>
+        <translation>Maximal number of values </translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereRegles.py" line="58"/>
+        <source>pas de regle de construction pour ce jeu de commandes</source>
+        <translation>No specific rules for building this dataset</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="260"/>
+        <source>Gestion Maillage</source>
+        <translation>Mesh Menu</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="401"/>
+        <source>Acquiert groupe mailles</source>
+        <translation>Read elements mesh</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="406"/>
+        <source>Acquisition Groupe Maille</source>
+        <translation>Read elements mesh</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="1"/>
+        <source>VERSION</source>
+        <translation>VERSION_EN</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="2"/>
+        <source>NUM</source>
+        <translation>NUMBER</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="3"/>
+        <source>FILETYPE</source>
+        <translation>FILETYPE</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="4"/>
+        <source>PARAMETERS</source>
+        <translation>Parametres</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="6"/>
+        <source>Fichier_maillage</source>
+        <translation>FichierMaillage</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="7"/>
+        <source>Echelle_du_maillage</source>
+        <translation>MeshScale</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="8"/>
+        <source>Formulation</source>
+        <translation>Fomulation</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="9"/>
+        <source>Timeproblem</source>
+        <translation>TimeProblem</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="10"/>
+        <source>spectral </source>
+        <translation>EssaiSpectral</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="11"/>
+        <source>Basis</source>
+        <translation>Basis</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="12"/>
+        <source>Fourier</source>
+        <translation>Fourier</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="13"/>
+        <source>Ordre</source>
+        <translation>Ordre</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="14"/>
+        <source>FREQUENCY</source>
+        <translation>Frequency</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="15"/>
+        <source>minimisation</source>
+        <translation>Minimisation</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="16"/>
+        <source>no</source>
+        <translation>no</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="17"/>
+        <source>yes</source>
+        <translation>yes</translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="18"/>
+        <source>nb_procs_para</source>
+        <translation>NbProcs</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="1"/>
+        <source>POLYMER</source>
+        <translation>Polymer_en_Anglais</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="2"/>
+        <source>MODEL_DATABASE</source>
+        <translation>MoDEL_DATa_Anglais</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="3"/>
+        <source>Stabilise</source>
+        <translation>Srabilise_Anglais</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="4"/>
+        <source>Non Stabilise</source>
+        <translation>Non Stabilise anglais</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="5"/>
+        <source>Local</source>
+        <translation>local_anglais</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="6"/>
+        <source>ESSAI_OPTION</source>
+        <translation>essai_option_anglais</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="7"/>
+        <source>MATERIEL</source>
+        <translation>mater_anglais</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="8"/>
+        <source>Cable</source>
+        <translation>cable_anglais</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="9"/>
+        <source>Peinture</source>
+        <translation>peinture_anglais</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="10"/>
+        <source>Tuyauterie</source>
+        <translation>tuyau_anglais</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="11"/>
+        <source>Materiau_De_Cable</source>
+        <translation>mat_cable_anglais</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="12"/>
+        <source>PE</source>
+        <translation>pe_anglais</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="13"/>
+        <source>EPDM</source>
+        <translation>epdm_anglais</translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="14"/>
+        <source>Modele</source>
+        <translation>modele_anglais</translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/commande_comm.py" line="62"/>
+        <source>Objet commande commentaris&#xe9; invalide</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ChoixCode</name>
+    <message>
+        <location filename="../../UiQT4/desChoixCode.ui" line="20"/>
+        <source>Choix du code</source>
+        <translation>Choose code</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCode.ui" line="38"/>
+        <source>Veuillez choisir un code :</source>
+        <translation>Choose code :</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCode.ui" line="91"/>
+        <source>&amp;Cancel</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCode.ui" line="126"/>
+        <source>Validate choice</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCode.ui" line="136"/>
+        <source>&amp;OK</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>ChoixCommandes</name>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="26"/>
+        <source>DMacro</source>
+        <translation>DMacro</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="89"/>
+        <source>Alphabetique</source>
+        <translation>alphabetic sort</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="109"/>
+        <source>Par Groupe</source>
+        <translation>Sort by group</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="79"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; text-decoration: underline;&quot;&gt;Affichage&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; text-decoration: underline;&quot;&gt;Order&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="86"/>
+        <source>affiche les commandes par ordre alphabetique</source>
+        <translation>display commands in alphabetic order</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="106"/>
+        <source>affiche les commandes selon les thèmes</source>
+        <translation>display commands by thema</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="99"/>
+        <source>Ordre de la modélisation</source>
+        <translation>ordered by modelisation</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="166"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Filtre Commande&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Filters Commands&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="188"/>
+        <source>filter commands</source>
+        <translation>filters commands</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="283"/>
+        <source>affiche les régles de validité</source>
+        <translation>display validity rules</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="289"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="306"/>
+        <source>Règles de construction</source>
+        <translation>Building Rules</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="203"/>
+        <source>Sensible à la casse</source>
+        <translation>case-sensitive</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="240"/>
+        <source>Effacer </source>
+        <translation>Clear</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="154"/>
+        <source>selectionne les mots qui CONTIENNENT l expression</source>
+        <translation>select words that CONTAINS the filter</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="231"/>
+        <source>ré-affiche toutes les commandes</source>
+        <translation>re-display the list of commands</translation>
+    </message>
+</context>
+<context>
+    <name>DChoixCata</name>
+    <message>
+        <location filename="../../UiQT4/desChoixCata.ui" line="14"/>
+        <source>Choix d&apos;une version du code Aster</source>
+        <translation>Choose a version for code Aster</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCata.ui" line="31"/>
+        <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;2 versions sont disponibles&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;p, li { white-space: pre-wrap; }&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;2 catalogs are available &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCata.ui" line="180"/>
+        <source>&amp;OK</source>
+        <translation>&amp;Ok</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCata.ui" line="135"/>
+        <source>&amp;Cancel</source>
+        <translation>&amp;Cancel</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCata.ui" line="170"/>
+        <source>Validate choice</source>
+        <translation>validate choice</translation>
+    </message>
+</context>
+<context>
+    <name>DSelVal</name>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desSelectVal.ui" line="20"/>
+        <source>Sélection de valeurs</source>
+        <translation>Values Selections</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desSelectVal.ui" line="72"/>
+        <source>Separateur</source>
+        <translation>marker</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desSelectVal.ui" line="114"/>
+        <source>espace</source>
+        <translation>space</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desSelectVal.ui" line="124"/>
+        <source>virgule</source>
+        <translation>comma</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desSelectVal.ui" line="131"/>
+        <source>point-virgule</source>
+        <translation>semi-colon</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desSelectVal.ui" line="238"/>
+        <source>Ajouter Selection</source>
+        <translation>add selected value</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desSelectVal.ui" line="207"/>
+        <source>Importer Tout</source>
+        <translation>imports all values</translation>
+    </message>
+</context>
+<context>
+    <name>DVisu</name>
+    <message>
+        <location filename="../../UiQT4/desVisu.ui" line="14"/>
+        <source>Visualisation Include Materiau</source>
+        <translation>View Include</translation>
+    </message>
+</context>
+<context>
+    <name>Eficas</name>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="20"/>
+        <source>MainWindow</source>
+        <translation>Main Window</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="132"/>
+        <source>&amp;Fichier</source>
+        <translation>&amp;File</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="173"/>
+        <source>&amp;Aide</source>
+        <translation>&amp;Help</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="187"/>
+        <source>toolBar</source>
+        <translation>toolBar</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="219"/>
+        <source>&amp;Nouveau</source>
+        <translation>&amp;New</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="222"/>
+        <source>Ctrl+N</source>
+        <translation>Ctrl+N</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="227"/>
+        <source>Nouvel Include</source>
+        <translation>New Include</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="245"/>
+        <source>&amp;Ouvrir</source>
+        <translation>&amp;Open</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="248"/>
+        <source>Ctrl+O</source>
+        <translation>Ctrl+O</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="258"/>
+        <source>Enregistrer</source>
+        <translation>Save</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="276"/>
+        <source>Enregistrer sous</source>
+        <translation>Save as</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="284"/>
+        <source>Fermer </source>
+        <translation>Close</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="287"/>
+        <source>Ctrl+W</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="292"/>
+        <source>Fermer tout</source>
+        <translation>Close all</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="302"/>
+        <source>Couper</source>
+        <translation>Cut</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="305"/>
+        <source>Ctrl+X</source>
+        <translation>Ctrl+X</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="318"/>
+        <source>Copier</source>
+        <translation>Copy</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="321"/>
+        <source>Ctrl+C</source>
+        <translation>Ctrl+C</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="334"/>
+        <source>Coller</source>
+        <translation>Paste</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="337"/>
+        <source>Ctrl+V</source>
+        <translation>Ctrl+V</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="345"/>
+        <source>Quitter</source>
+        <translation>Exit</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="348"/>
+        <source>Ctrl+Q</source>
+        <translation>Ctrl+Q</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="353"/>
+        <source>Rapport de Validation</source>
+        <translation>Validation Report</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="364"/>
+        <source>Fichier Source</source>
+        <translation>Source File</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/myMain.ui" line="369"/>
+        <source>Fichier Résultat</source>
+        <translation>Result File</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="266"/>
+        <source>Parametres Eficas</source>
+        <translation>Eficas Parameters</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="374"/>
+        <source>Lecteur documentation</source>
+        <translation>documentation reader</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="379"/>
+        <source>Eficas</source>
+        <translation>Eficas</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="384"/>
+        <source>Version</source>
+        <translation>Version</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="394"/>
+        <source>Supprimer</source>
+        <translation>Delete</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="418"/>
+        <source>Rechercher</source>
+        <translation>Find</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="421"/>
+        <source> Rechercher dans l&apos;arbre d&apos;etude</source>
+        <translation>Find in Data Tree</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="424"/>
+        <source>Ctrl+F</source>
+        <translation>Ctrl+F</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="432"/>
+        <source>Replier/Deplier</source>
+        <translation>Expand/Collapse</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="158"/>
+        <source>Execution</source>
+        <translation>Run</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="166"/>
+        <source>Execution </source>
+        <translation>Run</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="326"/>
+        <source>Patrons</source>
+        <translation>Patterns</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="114"/>
+        <source>Tab 1</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="148"/>
+        <source>&amp;Edition</source>
+        <translation>&amp;Edit</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/myMain.ui" line="161"/>
+        <source>&amp;JeuDeDonnées</source>
+        <translation>&amp;Data</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="230"/>
+        <source>Shift+I</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="261"/>
+        <source>Ctrl+S</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="279"/>
+        <source>Ctrl+Shift+S</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="356"/>
+        <source>Shift+V</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="399"/>
+        <source>Chercher Mot-Clef</source>
+        <translation> Find Keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="402"/>
+        <source> Rechercher dans le catalogue</source>
+        <translation>Find Keyword in Catalog</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="405"/>
+        <source>Shift+F</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="435"/>
+        <source>Shift+D</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="440"/>
+        <source>Commentaire</source>
+        <translation>Comment</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="443"/>
+        <source>Shift+C</source>
+        <translation></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/myMain.ui" line="452"/>
+        <source>Paramètres</source>
+        <translation>Parameters</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/myMain.ui" line="455"/>
+        <source>Gestion des paramètres</source>
+        <translation>Managing parameters</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="458"/>
+        <source>Shift+P</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="463"/>
+        <source>Parametre Eficas</source>
+        <translation>Eficas Settings</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="176"/>
+        <source>Save Run</source>
+        <translation>Save run</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="184"/>
+        <source>Run</source>
+        <translation>run</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="235"/>
+        <source>&amp;bad</source>
+        <translation></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/myMain.ui" line="468"/>
+        <source>Régles du JdC</source>
+        <translation>Rules for dataset</translation>
+    </message>
+</context>
+<context>
+    <name>JDCEditor</name>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="785"/>
+        <source>Save File</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="785"/>
+        <source>The file &lt;b&gt;%1&lt;/b&gt; could not be saved.&lt;br&gt;Reason: %2</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="930"/>
+        <source>JDC (*.comm);;All Files (*)</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="944"/>
+        <source>&amp;Abandonner</source>
+        <translation>&amp;Cancel</translation>
+    </message>
+</context>
+<context>
+    <name>Tuple2</name>
+    <message>
+        <location filename="../../UiQT4/Tuple2.ui" line="20"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/Tuple2.ui" line="41"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;(&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/Tuple2.ui" line="82"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/Tuple2.ui" line="118"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>Tuple3</name>
+    <message>
+        <location filename="../../UiQT4/Tuple3.ui" line="14"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/Tuple3.ui" line="26"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;(&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/Tuple3.ui" line="100"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/Tuple3.ui" line="136"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>Widget4a6RadioButton</name>
+    <message>
+        <location filename="../../UiQT4/desWidget4a6RadioButton.ui" line="97"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidget4a6RadioButton.ui" line="320"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidget4a6RadioButton.ui" line="32"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidget4a6RadioButton.ui" line="326"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidget4a6RadioButton.ui" line="158"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidget4a6RadioButton.ui" line="260"/>
+        <source>RadioButton</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetBloc</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetBloc.ui" line="14"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetCB</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetCB.ui" line="100"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>display validation report for the keyword</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCB.ui" line="261"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCB.ui" line="32"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCB.ui" line="267"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCB.ui" line="161"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetCommande</name>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="90"/>
+        <source>Affiche le rapport de validité de la commande</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="147"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;commande &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;command &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="176"/>
+        <source>Nom de l&apos;objet. Seuls, les objets valides peuvent être nommés</source>
+        <translation>Object Name. Only valid objects can be named </translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="240"/>
+        <source>Lance un script associé à la commande</source>
+        <translation>Run associated script</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="278"/>
+        <source>ouvre un navigateur sur l&apos;aide contextuelle</source>
+        <translation>open a browser to navigate to contextual help</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="316"/>
+        <source>affiche les régles de validité</source>
+        <translation>display validity rules</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="372"/>
+        <source>Détruit la commande</source>
+        <translation>Delete the command</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="422"/>
+        <source>Affiche les commandes possibles</source>
+        <translation>display allowed commands</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="431"/>
+        <source>&amp;Commandes</source>
+        <translation>&amp;Commands</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="528"/>
+        <source>Shift+A, Alt+A, Alt+A, Alt+A</source>
+        <translation>Shift+A, Alt+A, Alt+A, Alt+A</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="470"/>
+        <source>Affiche le formulaire de la commande précédente</source>
+        <translation>display previous command</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="516"/>
+        <source>Affiche le formulaire de la commande suivante</source>
+        <translation>display next command</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="26"/>
+        <source>DCommandeUnique</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="378"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="479"/>
+        <source>&lt;&lt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="525"/>
+        <source>&gt;&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="547"/>
+        <source>TextLabel</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetCommentaire</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="147"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;Commentaire&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;Comment&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="227"/>
+        <source>Affiche les commandes possibles</source>
+        <translation>display allowed commands</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="333"/>
+        <source>Shift+A, Alt+A, Alt+A, Alt+A</source>
+        <translation>Shift+A, Alt+A, Alt+A, Alt+A</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="182"/>
+        <source>Détruit le commentaire</source>
+        <translation>Delete the comment</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="236"/>
+        <source>&amp;Commandes</source>
+        <translation>&amp;Commands</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="275"/>
+        <source>Affiche le formulaire de la commande précédente</source>
+        <translation>display previous command</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="321"/>
+        <source>Affiche le formulaire de la commande suivante</source>
+        <translation>display next command</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="26"/>
+        <source>DCommandeUnique</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="188"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="284"/>
+        <source>&lt;&lt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="330"/>
+        <source>&gt;&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetDate</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetDate.ui" line="91"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for keyword</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetDate.ui" line="230"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetDate.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetDate.ui" line="236"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetDate.ui" line="152"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetFact</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetFact.ui" line="17"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetFact.ui" line="344"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetFact.ui" line="175"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;TextLabel&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetFactPlie</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetFactPlie.ui" line="142"/>
+        <source>TextLabel</source>
+        <translation>TextLabel</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetFactPlie.ui" line="14"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetFactPlie.ui" line="189"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetHeure</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="86"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for keyword</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="203"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="209"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="132"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="145"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetInformative</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetInformation.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetOptionnel</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetOptionnel.ui" line="69"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;commande &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;command &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetOptionnel.ui" line="26"/>
+        <source>WidgetOptionnel</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetParam</name>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetParam.ui" line="141"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#000000;&quot;&gt;Paramètre&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#000000;&quot;&gt;Parameter&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetParam.ui" line="176"/>
+        <source>Détruit le commentaire</source>
+        <translation>Delete the comment</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="460"/>
+        <source>Affiche les commandes possibles</source>
+        <translation>Display allowed commands</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="230"/>
+        <source>&amp;Commandes</source>
+        <translation>&amp;Commands</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="472"/>
+        <source>Shift+A, Alt+A, Alt+A, Alt+A</source>
+        <translation>Shift+A, Alt+A, Alt+A, Alt+A</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetParam.ui" line="269"/>
+        <source>Affiche le formulaire de la commande précédente</source>
+        <translation>Display previous command</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="315"/>
+        <source>Affiche le formulaire de la commande suivante</source>
+        <translation>Display next command</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="385"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Valeur: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Value: &lt;/p&gt;&lt;/body&gt;&lt;/html&lt;</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="425"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Nom: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Name: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="469"/>
+        <source>Verifie la valeur</source>
+        <translation>Valid the value</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="26"/>
+        <source>DCommandeUnique</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="182"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="278"/>
+        <source>&lt;&lt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="324"/>
+        <source>&gt;&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="487"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetPlusieursBase</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="116"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="386"/>
+        <source>Remonte la ligne</source>
+        <translation>up</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="425"/>
+        <source>Descend la ligne</source>
+        <translation>down</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="464"/>
+        <source>supprime une ligne</source>
+        <translation>deletes a line</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="503"/>
+        <source>Ajoute une ligne</source>
+        <translation>add a line</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="559"/>
+        <source>Montre l&apos;ensemble des valeurs</source>
+        <translation>display all the value</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="621"/>
+        <source>Sélectionne depuis Salome</source>
+        <translation>from salome</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="659"/>
+        <source>Visualise dans Salome</source>
+        <translation>Show in salome</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="717"/>
+        <source>Ouvre un fichier de sélection des valeurs</source>
+        <translation>Open a file for selection</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="772"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="778"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="182"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="78"/>
+        <source>permet de gérer la liste</source>
+        <translation type="unfinished">manage list</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="234"/>
+        <source>TextLabel</source>
+        <translation type="unfinished">TextLabel</translation>
+    </message>
+</context>
+<context>
+    <name>WidgetPlusieursInto</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursInto.ui" line="110"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursInto.ui" line="350"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursInto.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursInto.ui" line="356"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursInto.ui" line="252"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursInto.ui" line="72"/>
+        <source>permet de gérer la liste</source>
+        <translation type="unfinished">manage list</translation>
+    </message>
+</context>
+<context>
+    <name>WidgetPlusieursIntoOrdonne</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="110"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>display validity report for the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="228"/>
+        <source>TextLabel</source>
+        <translation>TextLabel</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="450"/>
+        <source>Remonte d&apos;une ligne</source>
+        <translation>Up</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="486"/>
+        <source>Descend d&apos;une ligne</source>
+        <translation>Down</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="522"/>
+        <source>Détruit une ligne</source>
+        <translation>Delete a line</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="557"/>
+        <source>ajoute une ligne</source>
+        <translation>add a line</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="607"/>
+        <source>visualise l&apos;ensemble des valeurs</source>
+        <translation>show all values</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="678"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="684"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="176"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="72"/>
+        <source>permet de gérer la liste</source>
+        <translation type="unfinished">manage list</translation>
+    </message>
+</context>
+<context>
+    <name>WidgetPlusieursPlie</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursPlie.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursPlie.ui" line="101"/>
+        <source>Affiche le rapport de validité du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursPlie.ui" line="273"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursPlie.ui" line="162"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursPlie.ui" line="66"/>
+        <source>permet de gérer la liste</source>
+        <translation>manage list</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursPlie.ui" line="267"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+</context>
+<context>
+    <name>WidgetPlusieursTuple</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="93"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="621"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="161"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="337"/>
+        <source>Remonte la ligne</source>
+        <translation>Up</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="376"/>
+        <source>Descend la ligne</source>
+        <translation>Down</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="415"/>
+        <source>supprime une ligne</source>
+        <translation>delete a line</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="454"/>
+        <source>Ajoute une ligne</source>
+        <translation>add a line</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="510"/>
+        <source>Montre l&apos;ensemble des valeurs</source>
+        <translation>show all values</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="560"/>
+        <source>Ouvre un fichier de sélection des valeurs</source>
+        <translation>import data from a file</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="615"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="213"/>
+        <source>TextLabel</source>
+        <translation type="unfinished">TextLabel</translation>
+    </message>
+</context>
+<context>
+    <name>WidgetRadioButton</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetRadioButton.ui" line="97"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetRadioButton.ui" line="283"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetRadioButton.ui" line="32"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetRadioButton.ui" line="289"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetRadioButton.ui" line="158"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetRadioButton.ui" line="251"/>
+        <source>RadioButton</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetSDCOInto</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="91"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="186"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Structures de données du type requis &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Objects with the recquired type&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="243"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;ou Nom du concept&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>or name the object</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="309"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="315"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="152"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetSimpBase</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBase.ui" line="97"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSimpBase.ui" line="251"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBase.ui" line="32"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBase.ui" line="257"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBase.ui" line="158"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetSimpBool</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="88"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="246"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="32"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="252"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="149"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="166"/>
+        <source>True</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="189"/>
+        <source>False</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetSimpComplexe</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="203"/>
+        <source>Complexe : a+bj</source>
+        <translation>Complex : a+bj</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="259"/>
+        <source>Réel/Imaginaire</source>
+        <translation>Real/Imaginary</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="266"/>
+        <source>Module/Phase</source>
+        <translation>Module/Phase</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="103"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="32"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="339"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="164"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="244"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;OU &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetSimpFichier</name>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="82"/>
+        <source>Affiche le rapport de validité du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="222"/>
+        <source>affiche l&apos;explorateur de fichier</source>
+        <translation>open file explorer</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="252"/>
+        <source>ouvre le fichier choisi</source>
+        <translation>Open the file</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="309"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="315"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="143"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetSimpTxt</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpTxt.ui" line="97"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSimpTxt.ui" line="251"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpTxt.ui" line="32"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpTxt.ui" line="257"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpTxt.ui" line="158"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetTuple2</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="94"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="288"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="294"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="155"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;(&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="212"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="248"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetTuple3</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="91"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="309"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="315"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="152"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="169"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;(&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="238"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="274"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetUniqueSDCO</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="82"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="181"/>
+        <source>Attend un objet de type CO </source>
+        <translation>expect a CO Object</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="223"/>
+        <source>Détruit le mot-clef</source>
+        <translation>Delete the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="229"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="143"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetVide</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetVide.ui" line="26"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetVide.ui" line="296"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetVide.ui" line="129"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0055ff;&quot;&gt;Label&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetVide.ui" line="158"/>
+        <source>Attend un objet de type XXXX. Il faut le créer</source>
+        <translation>object must be created</translation>
+    </message>
+</context>
+<context>
+    <name>baseWidget</name>
+    <message>
+        <location filename="../../UiQT4/desBaseWidget.ui" line="26"/>
+        <source>DMacro</source>
+        <translation>DMacro</translation>
+    </message>
+</context>
+<context>
+    <name>dView</name>
+    <message>
+        <location filename="../../UiQT4/desViewTexte.ui" line="13"/>
+        <source>Dialog</source>
+        <translation>Dialog</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desViewTexte.ui" line="35"/>
+        <source>Fermer</source>
+        <translation>Close</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desViewTexte.ui" line="42"/>
+        <source>Sauver</source>
+        <translation>Save</translation>
+    </message>
+</context>
+<context>
+    <name>desRecherche</name>
+    <message>
+        <location filename="../../UiQT4/desRecherche.ui" line="14"/>
+        <source>Rechercher dans le JDC</source>
+        <translation>Find in JDC</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desRecherche.ui" line="63"/>
+        <source>Suivant</source>
+        <translation>Next</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desRecherche.ui" line="17"/>
+        <source>Next</source>
+        <translation></translation>
+    </message>
+</context>
+<context encoding="UTF-8">
+    <name>desWidgetCreeParam</name>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCreeParam.ui" line="14"/>
+        <source>Gestion des Paramètres</source>
+        <translation>Parameters</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCreeParam.ui" line="153"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Nom: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>Name</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCreeParam.ui" line="180"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Valeur: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>Value</translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCreeParam.ui" line="208"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; text-decoration: underline;&quot;&gt;Créer un paramètre&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; text-decoration: underline;&quot;&gt;New Parameter&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+    </message>
+</context>
+<context>
+    <name>desWidgetMatrice</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="14"/>
+        <source>Dialog</source>
+        <translation>Dialog</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="70"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation>Display validity report for the keyword</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="76"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="108"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Met à jour l&apos;en-tête&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="146"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>self.appliEficas</name>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="750"/>
+        <source>Wrapper Files (*.xml);;All Files (*)</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="348"/>
+        <source>Noname</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>viewRegles</name>
+    <message>
+        <location filename="../../UiQT4/desViewRegles.ui" line="14"/>
+        <source>Dialog</source>
+        <translation>Dialog</translation>
+    </message>
+</context>
+</TS>
diff --git a/UiQT5/eficas_fr.qm b/UiQT5/eficas_fr.qm
new file mode 100644 (file)
index 0000000..9bfe425
Binary files /dev/null and b/UiQT5/eficas_fr.qm differ
diff --git a/UiQT5/eficas_fr.ts b/UiQT5/eficas_fr.ts
new file mode 100644 (file)
index 0000000..22d9c57
--- /dev/null
@@ -0,0 +1,4745 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS><TS version="1.1">
+  <context>
+    <name>@default</name>
+    <message>
+      <source>Values_Of_Tracers_In_The_Rain</source>
+      <translation>Valeurs_Des_Traceurs_Dans_La_Pluie</translation>
+    </message>
+    <message>
+      <source>Threshold_Depth_For_Receding_Procedure</source>
+      <translation>Profondeur_Limite_Pour_Procedure_De_Ressuyage</translation>
+    </message>
+    <message>
+      <source>Title</source>
+      <translation>Titre</translation>
+    </message>
+    <message>
+      <source>Spatial_Projection_Type</source>
+      <translation>Type_De_Projection_Spatiale</translation>
+    </message>
+    <message>
+      <source>Stochastic_Diffusion_Model</source>
+      <translation>Modele_De_Diffusion_Stochastique</translation>
+    </message>
+    <message>
+      <source>Drogues_File</source>
+      <translation>Fichier_Des_Flotteurs</translation>
+    </message>
+    <message>
+      <source>Origin_Coordinates</source>
+      <translation>Coordonnees_De_L'origine</translation>
+    </message>
+    <message>
+      <source>Thickness_Of_Algae</source>
+      <translation>Epaisseur_Des_Algues</translation>
+    </message>
+    <message>
+      <source>Velocities_Of_The_Sources_Along_X</source>
+      <translation>Vitesses_Des_Sources_Selon_X</translation>
+    </message>
+    <message>
+      <source>Velocities_Of_The_Sources_Along_Y</source>
+      <translation>Vitesses_Des_Sources_Selon_Y</translation>
+    </message>
+    <message>
+      <source>Finite_Volume_Scheme</source>
+      <translation>Schema_En_Volumes_Finis</translation>
+    </message>
+    <message>
+      <source>Density_Of_Algae</source>
+      <translation>Masse_Volumique_Des_Algues</translation>
+    </message>
+    <message>
+      <source>Geometry_File</source>
+      <translation>Fichier_De_Geometrie</translation>
+    </message>
+    <message>
+      <source>Turbulence_Model</source>
+      <translation>Modele_De_Turbulence</translation>
+    </message>
+    <message>
+      <source>Oil_Spill_Model</source>
+      <translation>Modele_De_Nappes_D'hydrocarbures</translation>
+    </message>
+    <message>
+      <source>Definition_Of_Zones</source>
+      <translation>Definition_De_Zones</translation>
+    </message>
+    <message>
+      <source>Rain_Or_Evaporation</source>
+      <translation>Pluie_Ou_Evaporation</translation>
+    </message>
+    <message>
+      <source>Sources_File</source>
+      <translation>Fichier_Des_Sources</translation>
+    </message>
+    <message>
+      <source>Friction_Coefficient</source>
+      <translation>Coefficient_De_Frottement</translation>
+    </message>
+    <message>
+      <source>Wind</source>
+      <translation>Vent</translation>
+    </message>
+    <message>
+      <source>Option_For_Tidal_Boundary_Conditions</source>
+      <translation>Option_Pour_Les_Conditions_Aux_Limites_De_Maree</translation>
+    </message>
+    <message>
+      <source>Coefficient_To_Calibrate_Tidal_Velocities</source>
+      <translation>Coefficient_De_Calage_Des_Vitesses_De_Courant</translation>
+    </message>
+    <message>
+      <source>Initial_Time_Set_To_Zero</source>
+      <translation>Remise_A_Zero_Du_Temps</translation>
+    </message>
+    <message>
+      <source>Maximum_Number_Of_Iterations_For_Diffusion_Of_Tracers</source>
+      <translation>Maximum_D'iterations_Pour_La_Diffusion_Des_Traceurs</translation>
+    </message>
+    <message>
+      <source>Binary_Results_File</source>
+      <translation>Fichier_De_Resultats_Binaire</translation>
+    </message>
+    <message>
+      <source>Number_Of_Drogues</source>
+      <translation>Nombre_De_Flotteurs</translation>
+    </message>
+    <message>
+      <source>Air_Pressure</source>
+      <translation>Pression_Atmospherique</translation>
+    </message>
+    <message>
+      <source>Mean_Depth_For_Linearization</source>
+      <translation>Profondeur_Moyenne_Pour_La_Linearisation</translation>
+    </message>
+    <message>
+      <source>Control_Of_Limits</source>
+      <translation>Controle_Des_Limites</translation>
+    </message>
+    <message>
+      <source>Free_Surface_Gradient_Compatibility</source>
+      <translation>Compatibilite_Du_Gradient_De_Surface_Libre</translation>
+    </message>
+    <message>
+      <source>Prescribed_Tracers_Values</source>
+      <translation>Valeurs_Imposees_Des_Traceurs</translation>
+    </message>
+    <message>
+      <source>defaut</source>
+      <translation>Saint-venant_Ef</translation>
+    </message>
+    <message>
+      <source>Velocity_Diffusivity</source>
+      <translation>Coefficient_De_Diffusion_Des_Vitesses</translation>
+    </message>
+    <message>
+      <source>Time_Step</source>
+      <translation>Pas_De_Temps</translation>
+    </message>
+    <message>
+      <source>Validation</source>
+      <translation>Validation</translation>
+    </message>
+    <message>
+      <source>Roughness_Coefficient_Of_Boundaries</source>
+      <translation>Coefficient_De_Rugosite_Des_Bords</translation>
+    </message>
+    <message>
+      <source>Density_Effects</source>
+      <translation>Effets_De_Densite</translation>
+    </message>
+    <message>
+      <source>Implicitation_Coefficient_Of_Tracers</source>
+      <translation>Coefficient_D'implicitation_Des_Traceurs</translation>
+    </message>
+    <message>
+      <source>Formatted_Results_File</source>
+      <translation>Fichier_De_Resultats_Formate</translation>
+    </message>
+    <message>
+      <source>Debugger</source>
+      <translation>Debugger</translation>
+    </message>
+    <message>
+      <source>Liquid_Boundaries_File</source>
+      <translation>Fichier_Des_Frontieres_Liquides</translation>
+    </message>
+    <message>
+      <source>Sections_Output_File</source>
+      <translation>Fichier_De_Sortie_Des_Sections_De_Controle</translation>
+    </message>
+    <message>
+      <source>Number_Of_Private_Arrays</source>
+      <translation>Nombre_De_Tableaux_Prives</translation>
+    </message>
+    <message>
+      <source>Coefficient_Of_Wind_Influence</source>
+      <translation>Coefficient_D'influence_Du_Vent</translation>
+    </message>
+    <message>
+      <source>Depth_In_Friction_Terms</source>
+      <translation>Hauteur_Dans_Les_Termes_De_Frottement</translation>
+    </message>
+    <message>
+      <source>Coefficient_To_Calibrate_Sea_Level</source>
+      <translation>Coefficient_De_Calage_Du_Niveau_De_Mer</translation>
+    </message>
+    <message>
+      <source>Variables_To_Be_Printed</source>
+      <translation>Variables_A_Imprimer</translation>
+    </message>
+    <message>
+      <source>Preconditioning</source>
+      <translation>Preconditionnement</translation>
+    </message>
+    <message>
+      <source>Cost_Function</source>
+      <translation>Fonction_Cout</translation>
+    </message>
+    <message>
+      <source>Type_Of_Sources</source>
+      <translation>Type_Des_Sources</translation>
+    </message>
+    <message>
+      <source>Tidal_Flats</source>
+      <translation>Bancs_Decouvrants</translation>
+    </message>
+    <message>
+      <source>Ascii_Database_For_Tide</source>
+      <translation>Base_Ascii_De_Donnees_De_Maree</translation>
+    </message>
+    <message>
+      <source>Original_Date_Of_Time</source>
+      <translation>Date_De_L'origine_Des_Temps</translation>
+    </message>
+    <message>
+      <source>Mean_Temperature</source>
+      <translation>Temperature_Moyenne</translation>
+    </message>
+    <message>
+      <source>Initial_Elevation</source>
+      <translation>Cote_Initiale</translation>
+    </message>
+    <message>
+      <source>Tubes_Data_File</source>
+      <translation>Fichier_De_Donnees_Des_Buses</translation>
+    </message>
+    <message>
+      <source>Boundary_Conditions_File</source>
+      <translation>Fichier_Des_Conditions_Aux_Limites</translation>
+    </message>
+    <message>
+      <source>Breach</source>
+      <translation>Breche</translation>
+    </message>
+    <message>
+      <source>Treatment_Of_The_Linear_System</source>
+      <translation>Traitement_Du_Systeme_Lineaire</translation>
+    </message>
+    <message>
+      <source>Prescribed_Elevations</source>
+      <translation>Cotes_Imposees</translation>
+    </message>
+    <message>
+      <source>List_Of_Points</source>
+      <translation>Liste_De_Points</translation>
+    </message>
+    <message>
+      <source>Listing_Printout_Period</source>
+      <translation>Periode_Pour_Les_Sorties_Listing</translation>
+    </message>
+    <message>
+      <source>Initial_Guess_For_H</source>
+      <translation>Ordre_Du_Tir_Initial_Pour_H</translation>
+    </message>
+    <message>
+      <source>Geometry_File_Format</source>
+      <translation>Format_Du_Fichier_De_Geometrie</translation>
+    </message>
+    <message>
+      <source>Coefficient_1_For_Law_Of_Tracers_Degradation</source>
+      <translation>Coefficient_1_De_La_Loi_De_Degradation_Des_Traceurs</translation>
+    </message>
+    <message>
+      <source>Number_Of_Lagrangian_Drifts</source>
+      <translation>Nombre_De_Derives_Lagrangiennes</translation>
+    </message>
+    <message>
+      <source>Weirs_Data_File</source>
+      <translation>Fichier_De_Donnees_Des_Seuils</translation>
+    </message>
+    <message>
+      <source>Rain_Or_Evaporation_In_Mm_Per_Day</source>
+      <translation>Pluie_Ou_Evaporation_En_Mm_Par_Jour</translation>
+    </message>
+    <message>
+      <source>Minor_Constituents_Inference</source>
+      <translation>Interpolation_De_Composantes_Mineures</translation>
+    </message>
+    <message>
+      <source>Maximum_Number_Of_Friction_Domains</source>
+      <translation>Nombre_Maximum_De_Domaines_De_Frottement</translation>
+    </message>
+    <message>
+      <source>Elements_Masked_By_User</source>
+      <translation>Elements_Masques_Par_L'utilisateur</translation>
+    </message>
+    <message>
+      <source>Control_Sections</source>
+      <translation>Sections_De_Controle</translation>
+    </message>
+    <message>
+      <source>Number_Of_Time_Steps</source>
+      <translation>Nombre_De_Pas_De_Temps</translation>
+    </message>
+    <message>
+      <source>Solver_Accuracy</source>
+      <translation>Precision_Du_Solveur</translation>
+    </message>
+    <message>
+      <source>Wave_Driven_Currents</source>
+      <translation>Courants_De_Houle</translation>
+    </message>
+    <message>
+      <source>Number_Of_Culverts</source>
+      <translation>Nombre_De_Siphons</translation>
+    </message>
+    <message>
+      <source>Equations</source>
+      <translation>Equations</translation>
+    </message>
+    <message>
+      <source>Maximum_Number_Of_Iterations_For_Identification</source>
+      <translation>Maximum_D'iterations_Pour_L'identification</translation>
+    </message>
+    <message>
+      <source>Coefficient_For_Diffusion_Of_Tracers</source>
+      <translation>Coefficient_De_Diffusion_Des_Traceurs</translation>
+    </message>
+    <message>
+      <source>Option_For_The_Diffusion_Of_Velocities</source>
+      <translation>Option_Pour_La_Diffusion_Des_Vitesses</translation>
+    </message>
+    <message>
+      <source>Coefficient_To_Calibrate_Tidal_Range</source>
+      <translation>Coefficient_De_Calage_Du_Marnage</translation>
+    </message>
+    <message>
+      <source>Binary_Data_File_1</source>
+      <translation>Fichier_De_Donnees_Binaire_1</translation>
+    </message>
+    <message>
+      <source>Binary_Data_File_2</source>
+      <translation>Fichier_De_Donnees_Binaire_2</translation>
+    </message>
+    <message>
+      <source>Solver</source>
+      <translation>Solveur</translation>
+    </message>
+    <message>
+      <source>Implicitation_For_Velocity</source>
+      <translation>Implicitation_Pour_La_Vitesse</translation>
+    </message>
+    <message>
+      <source>Longitude_Of_Origin_Point</source>
+      <translation>Longitude_Du_Point_Origine</translation>
+    </message>
+    <message>
+      <source>Original_Hour_Of_Time</source>
+      <translation>Heure_De_L'origine_Des_Temps</translation>
+    </message>
+    <message>
+      <source>Law_Of_Friction_On_Lateral_Boundaries</source>
+      <translation>Loi_De_Frottement_Sur_Les_Parois_Laterales</translation>
+    </message>
+    <message>
+      <source>Propagation</source>
+      <translation>Propagation</translation>
+    </message>
+    <message>
+      <source>Solver_For_Diffusion_Of_Tracers</source>
+      <translation>Solveur_Pour_La_Diffusion_Des_Traceurs</translation>
+    </message>
+    <message>
+      <source>Discretizations_In_Space</source>
+      <translation>Discretisations_En_Espace</translation>
+    </message>
+    <message>
+      <source>Solver_Option</source>
+      <translation>Option_Du_Solveur</translation>
+    </message>
+    <message>
+      <source>Advection_Of_H</source>
+      <translation>Convection_De_H</translation>
+    </message>
+    <message>
+      <source>Output_Of_Initial_Conditions</source>
+      <translation>Sortie_Des_Conditions_Initiales</translation>
+    </message>
+    <message>
+      <source>Record_Number_For_Restart</source>
+      <translation>Enregistrement_Pour_Suite_De_Calcul</translation>
+    </message>
+    <message>
+      <source>Accuracy_For_Diffusion_Of_Tracers</source>
+      <translation>Precision_Pour_La_Diffusion_Des_Traceurs</translation>
+    </message>
+    <message>
+      <source>Initial_Guess_For_U</source>
+      <translation>Ordre_Du_Tir_Initial_Pour_U</translation>
+    </message>
+    <message>
+      <source>Advection_Of_K_And_Epsilon</source>
+      <translation>Convection_De_K_Et_Epsilon</translation>
+    </message>
+    <message>
+      <source>Identification_Method</source>
+      <translation>Methode_D'identification</translation>
+    </message>
+    <message>
+      <source>Names_Of_Points</source>
+      <translation>Noms_Des_Points</translation>
+    </message>
+    <message>
+      <source>Zone_Number_In_Geographic_System</source>
+      <translation>Numero_De_Fuseau_Ou_Projection_Dans_Le_Systeme_Geographique</translation>
+    </message>
+    <message>
+      <source>Matrix_Storage</source>
+      <translation>Stockage_Des_Matrices</translation>
+    </message>
+    <message>
+      <source>Algae_Type</source>
+      <translation>Type_Des_Algues</translation>
+    </message>
+    <message>
+      <source>Water_Density</source>
+      <translation>Masse_Volumique_De_L'eau</translation>
+    </message>
+    <message>
+      <source>Newmark_Time_Integration_Coefficient</source>
+      <translation>Coefficient_D'integration_En_Temps_De_Newmark</translation>
+    </message>
+    <message>
+      <source>Friction_Data_File</source>
+      <translation>Fichier_De_Donnees_Pour_Le_Frottement</translation>
+    </message>
+    <message>
+      <source>Implicitation_For_Diffusion_Of_Velocity</source>
+      <translation>Implicitation_Pour_La_Diffusion_Des_Vitesses</translation>
+    </message>
+    <message>
+      <source>Limit_Values</source>
+      <translation>Valeurs_Limites</translation>
+    </message>
+    <message>
+      <source>Advection</source>
+      <translation>Convection</translation>
+    </message>
+    <message>
+      <source>Geographic_System</source>
+      <translation>Systeme_Geographique</translation>
+    </message>
+    <message>
+      <source>Results_File</source>
+      <translation>Fichier_Des_Resultats</translation>
+    </message>
+    <message>
+      <source>Algae_Transport_Model</source>
+      <translation>Modele_De_Transport_Des_Algues</translation>
+    </message>
+    <message>
+      <source>Treatment_Of_Negative_Depths</source>
+      <translation>Traitement_Des_Hauteurs_Negatives</translation>
+    </message>
+    <message>
+      <source>Ordinates_Of_Sources</source>
+      <translation>Ordonnees_Des_Sources</translation>
+    </message>
+    <message>
+      <source>Coriolis_Coefficient</source>
+      <translation>Coefficient_De_Coriolis</translation>
+    </message>
+    <message>
+      <source>Water_Discharge_Of_Sources</source>
+      <translation>Debits_Des_Sources</translation>
+    </message>
+    <message>
+      <source>Advection_Of_U_And_V</source>
+      <translation>Convection_De_U_Et_V</translation>
+    </message>
+    <message>
+      <source>Latitude_Of_Origin_Point</source>
+      <translation>Latitude_Du_Point_Origine</translation>
+    </message>
+    <message>
+      <source>Binary_Database_1_For_Tide</source>
+      <translation>Base_Binaire_1_De_Donnees_De_Maree</translation>
+    </message>
+    <message>
+      <source>Coriolis</source>
+      <translation>Coriolis</translation>
+    </message>
+    <message>
+      <source>Desired_Courant_Number</source>
+      <translation>Nombre_De_Courant_Souhaite</translation>
+    </message>
+    <message>
+      <source>Variables_For_Graphic_Printouts</source>
+      <translation>Variables_Pour_Les_Sorties_Graphiques</translation>
+    </message>
+    <message>
+      <source>Time_Range_For_Fourier_Analysis</source>
+      <translation>Bornes_En_Temps_Pour_L'analyse_De_Fourier</translation>
+    </message>
+    <message>
+      <source>Graphic_Printout_Period</source>
+      <translation>Periode_Pour_Les_Sorties_Graphiques</translation>
+    </message>
+    <message>
+      <source>Tide_Generating_Force</source>
+      <translation>Force_Generatrice_De_La_Maree</translation>
+    </message>
+    <message>
+      <source>Preconditioning_For_Diffusion_Of_Tracers</source>
+      <translation>Preconditionnement_Pour_La_Diffusion_Des_Traceurs</translation>
+    </message>
+    <message>
+      <source>Number_Of_Tubes</source>
+      <translation>Nombre_De_Buses</translation>
+    </message>
+    <message>
+      <source>Vertical_Structures</source>
+      <translation>Structures_Verticales</translation>
+    </message>
+    <message>
+      <source>Stop_If_A_Steady_State_Is_Reached</source>
+      <translation>Arret_Si_Un_Etat_Permanent_Est_Atteint</translation>
+    </message>
+    <message>
+      <source>Number_Of_Weirs</source>
+      <translation>Nombre_De_Seuils</translation>
+    </message>
+    <message>
+      <source>Listing_Printout</source>
+      <translation>Sortie_Listing</translation>
+    </message>
+    <message>
+      <source>Previous_Computation_File</source>
+      <translation>Fichier_Du_Calcul_Precedent</translation>
+    </message>
+    <message>
+      <source>Fortran_File</source>
+      <translation>Fichier_Fortran</translation>
+    </message>
+    <message>
+      <source>Sections_Input_File</source>
+      <translation>Fichier_Des_Sections_De_Controle</translation>
+    </message>
+    <message>
+      <source>Binary_Database_2_For_Tide</source>
+      <translation>Base_Binaire_2_De_Donnees_De_Maree</translation>
+    </message>
+    <message>
+      <source>Results_File_Format</source>
+      <translation>Format_Du_Fichier_Des_Resultats</translation>
+    </message>
+    <message>
+      <source>Accuracy_Of_K</source>
+      <translation>Precision_Sur_K</translation>
+    </message>
+    <message>
+      <source>Tidal_Model_File</source>
+      <translation>Fichier_Du_Modele_De_Maree</translation>
+    </message>
+    <message>
+      <source>Fourier_Analysis_Periods</source>
+      <translation>Periodes_D'analyse_De_Fourier</translation>
+    </message>
+    <message>
+      <source>H_Clipping</source>
+      <translation>Clipping_De_H</translation>
+    </message>
+    <message>
+      <source>Tolerances_For_Identification</source>
+      <translation>Precisions_Pour_L'identification</translation>
+    </message>
+    <message>
+      <source>Previous_Computation_File_Format</source>
+      <translation>Format_Du_Fichier_Du_Calcul_Precedent</translation>
+    </message>
+    <message>
+      <source>Prescribed_Flowrates</source>
+      <translation>Debits_Imposes</translation>
+    </message>
+    <message>
+      <source>Bottom_Topography_File</source>
+      <translation>Fichier_Des_Fonds</translation>
+    </message>
+    <message>
+      <source>Implicitation_For_Depth</source>
+      <translation>Implicitation_Pour_La_Hauteur</translation>
+    </message>
+    <message>
+      <source>Reference_File_Format</source>
+      <translation>Format_Du_Fichier_De_Reference</translation>
+    </message>
+    <message>
+      <source>Diffusion_Of_Tracers</source>
+      <translation>Diffusion_Des_Traceurs</translation>
+    </message>
+    <message>
+      <source>Formatted_Data_File_1</source>
+      <translation>Fichier_De_Donnees_Formate_1</translation>
+    </message>
+    <message>
+      <source>Formatted_Data_File_2</source>
+      <translation>Fichier_De_Donnees_Formate_2</translation>
+    </message>
+    <message>
+      <source>Computation_Continued</source>
+      <translation>Suite_De_Calcul</translation>
+    </message>
+    <message>
+      <source>Breaches_Data_File</source>
+      <translation>Fichier_De_Donnees_Des_Breches</translation>
+    </message>
+    <message>
+      <source>Diffusion_Of_Velocity</source>
+      <translation>Diffusion_Des_Vitesses</translation>
+    </message>
+    <message>
+      <source>Type_Of_Advection</source>
+      <translation>Forme_De_La_Convection</translation>
+    </message>
+    <message>
+      <source>Solver_Option_For_Tracers_Diffusion</source>
+      <translation>Option_Du_Solveur_Pour_La_Diffusion_Des_Traceurs</translation>
+    </message>
+    <message>
+      <source>Advection_Of_Tracers</source>
+      <translation>Convection_Des_Traceurs</translation>
+    </message>
+    <message>
+      <source>Printout_Period_For_Drogues</source>
+      <translation>Periode_Pour_Les_Sorties_De_Flotteurs</translation>
+    </message>
+    <message>
+      <source>Option_For_The_Treatment_Of_Tidal_Flats</source>
+      <translation>Option_De_Traitement_Des_Bancs_Decouvrants</translation>
+    </message>
+    <message>
+      <source>Physical_Characteristics_Of_The_Tsunami</source>
+      <translation>Parametres_Physiques_Du_Tsunami</translation>
+    </message>
+    <message>
+      <source>Maximum_Number_Of_Iterations_For_K_And_Epsilon</source>
+      <translation>Maximum_D'iterations_Pour_K_Et_Epsilon</translation>
+    </message>
+    <message>
+      <source>Tidal_Data_Base</source>
+      <translation>Base_De_Donnees_De_Maree</translation>
+    </message>
+    <message>
+      <source>Maximum_Number_Of_Iterations_For_Solver</source>
+      <translation>Maximum_D'iterations_Pour_Le_Solveur</translation>
+    </message>
+    <message>
+      <source>Number_Of_Tracers</source>
+      <translation>Nombre_De_Traceurs</translation>
+    </message>
+    <message>
+      <source>Threshold_Depth_For_Wind</source>
+      <translation>Profondeur_Limite_Pour_Le_Vent</translation>
+    </message>
+    <message>
+      <source>Gravity_Acceleration</source>
+      <translation>Acceleration_De_La_Pesanteur</translation>
+    </message>
+    <message>
+      <source>Option_For_Characteristics</source>
+      <translation>Option_Pour_Les_Caracteristiques</translation>
+    </message>
+    <message>
+      <source>Spacing_Of_Roughness_Elements</source>
+      <translation>Espacement_Des_Elements_De_Frottement</translation>
+    </message>
+    <message>
+      <source>Parallel_Processors</source>
+      <translation>Processeurs_Paralleles</translation>
+    </message>
+    <message>
+      <source>Harmonic_Constants_File</source>
+      <translation>Fichier_Des_Constantes_Harmoniques</translation>
+    </message>
+    <message>
+      <source>Spherical_Coordinates</source>
+      <translation>Coordonnees_Spheriques</translation>
+    </message>
+    <message>
+      <source>Parameter_Estimation</source>
+      <translation>Estimation_De_Parametre</translation>
+    </message>
+    <message>
+      <source>Linearized_Propagation</source>
+      <translation>Propagation_Linearisee</translation>
+    </message>
+    <message>
+      <source>Accuracy_Of_Epsilon</source>
+      <translation>Precision_Sur_Epsilon</translation>
+    </message>
+    <message>
+      <source>Diameter_Of_Roughness_Elements</source>
+      <translation>Diametre_Des_Elements_De_Frottement</translation>
+    </message>
+    <message>
+      <source>Number_Of_First_Time_Step_For_Graphic_Printouts</source>
+      <translation>Numero_Du_Premier_Pas_De_Temps_Pour_Les_Sorties_Graphiques</translation>
+    </message>
+    <message>
+      <source>Threshold_For_Negative_Depths</source>
+      <translation>Seuil_Pour_Les_Profondeurs_Negatives</translation>
+    </message>
+    <message>
+      <source>Wind_Velocity_Along_X</source>
+      <translation>Vitesse_Du_Vent_Suivant_X</translation>
+    </message>
+    <message>
+      <source>Wind_Velocity_Along_Y</source>
+      <translation>Vitesse_Du_Vent_Suivant_Y</translation>
+    </message>
+    <message>
+      <source>Information_About_Solver</source>
+      <translation>Informations_Sur_Le_Solveur</translation>
+    </message>
+    <message>
+      <source>Initial_Conditions</source>
+      <translation>Conditions_Initiales</translation>
+    </message>
+    <message>
+      <source>Culvert_Data_File</source>
+      <translation>Fichier_De_Donnees_Des_Siphons</translation>
+    </message>
+    <message>
+      <source>Maximum_Number_Of_Iterations_For_Advection_Schemes</source>
+      <translation>Maximum_D'iterations_Pour_Les_Schemas_De_Convection</translation>
+    </message>
+    <message>
+      <source>Turbulence_Model_For_Solid_Boundaries</source>
+      <translation>Regime_De_Turbulence_Pour_Les_Parois</translation>
+    </message>
+    <message>
+      <source>Continuity_Correction</source>
+      <translation>Correction_De_Continuite</translation>
+    </message>
+    <message>
+      <source>Law_Of_Bottom_Friction</source>
+      <translation>Loi_De_Frottement_Sur_Le_Fond</translation>
+    </message>
+    <message>
+      <source>Option_For_Tsunami_Generation</source>
+      <translation>Option_Pour_La_Generation_De_Tsunami</translation>
+    </message>
+    <message>
+      <source>Type_Of_Weirs</source>
+      <translation>Type_Des_Seuils</translation>
+    </message>
+    <message>
+      <source>Record_Number_In_Wave_File</source>
+      <translation>Numero_De_L'enregistrement_Dans_Le_Fichier_De_Houle</translation>
+    </message>
+    <message>
+      <source>Abscissae_Of_Sources</source>
+      <translation>Abscisses_Des_Sources</translation>
+    </message>
+    <message>
+      <source>Values_Of_The_Tracers_At_The_Sources</source>
+      <translation>Valeurs_Des_Traceurs_Des_Sources</translation>
+    </message>
+    <message>
+      <source>Treatment_Of_Fluxes_At_The_Boundaries</source>
+      <translation>Traitement_Des_Flux_Aux_Frontieres</translation>
+    </message>
+    <message>
+      <source>Printing_Cumulated_Flowrates</source>
+      <translation>Impression_Du_Cumul_Des_Flux</translation>
+    </message>
+    <message>
+      <source>Compatible_Computation_Of_Fluxes</source>
+      <translation>Calcul_Compatible_Des_Flux</translation>
+    </message>
+    <message>
+      <source>Bottom_Smoothings</source>
+      <translation>Lissages_Du_Fond</translation>
+    </message>
+    <message>
+      <source>Initial_Depth</source>
+      <translation>Hauteur_Initiale</translation>
+    </message>
+    <message>
+      <source>Minimum_Value_Of_Depth</source>
+      <translation>Valeur_Minimum_De_H</translation>
+    </message>
+    <message>
+      <source>Option_For_The_Diffusion_Of_Tracers</source>
+      <translation>Option_Pour_La_Diffusion_Des_Traceurs</translation>
+    </message>
+    <message>
+      <source>Duration</source>
+      <translation>Duree_Du_Calcul</translation>
+    </message>
+    <message>
+      <source>Stop_Criteria</source>
+      <translation>Criteres_D'arret</translation>
+    </message>
+    <message>
+      <source>Prescribed_Velocities</source>
+      <translation>Vitesses_Imposees</translation>
+    </message>
+    <message>
+      <source>Initial_Values_Of_Tracers</source>
+      <translation>Valeurs_Initiales_Des_Traceurs</translation>
+    </message>
+    <message>
+      <source>Reference_File</source>
+      <translation>Fichier_De_Reference</translation>
+    </message>
+    <message>
+        <location filename="../../convert/convert_ini.py" line="81"/>
+        <source>lecture du fichier impossible :</source>
+        <translation type="unfinished"> unable to read file</translation>
+    </message>
+    <message>
+        <location filename="../../convert/convert_python.py" line="105"/>
+        <source>Impossible d&apos;ouvrir le fichier %s</source>
+        <translation type="unfinished"> unable to read file</translation>
+    </message>
+    <message>
+        <location filename="../../convert/convert_pyth.py" line="115"/>
+        <source>Format de sortie : %s, non supporte</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue_initial.py" line="44"/>
+        <source>Impossible d&apos;ouvrir le fichier : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../convert/convert_pyth.py" line="109"/>
+        <source>Erreur a l&apos;evaluation :
+ %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="65"/>
+        <source>Erreur ! Erreur !</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="92"/>
+        <source>Erreur rencontree dans recherche_enfants : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="102"/>
+        <source>Erreur dans la creation du mot-cle : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="191"/>
+        <source>Impossible d&apos;ouvrir le fichier : %s </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="208"/>
+        <source>le texte a analyser n&apos;est pas celui d&apos;une commande ou d&apos;un operateur : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="216"/>
+        <source>Erreur dans la recherche  du nom de la commande : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="219"/>
+        <source>Erreur dans la recherche des  args de la commande :</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="238"/>
+        <source>Erreur dans la recherche du  nom de la commande : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="241"/>
+        <source>Erreur dans la recherche des args de la commande : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/Objecttreeitem.py" line="304"/>
+        <source>%d n&apos;est pas un index valide pour append_brother</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="96"/>
+        <source>le fichier de commandes %s n&apos;existe pas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="104"/>
+        <source>un fichier de commandes doit etre defini avant une poursuite %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="106"/>
+        <source>le fichier poursuite %s n&apos;existe pas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="117"/>
+        <source>include mal defini %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="123"/>
+        <source>un fichier de commandes doit etre defini avant un include %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="125"/>
+        <source>le fichier include %s n&apos;existe pas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="188"/>
+        <source> le fichier jdc %s n&apos;existe pas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="198"/>
+        <source> jdc %s manque option jdc dans section jdc</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="218"/>
+        <source>%(v_1)s include %(v_2)s : %(v_3)s</source>
+        <comment>v_1</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="222"/>
+        <source>%(v_1)s fichier poursuite: %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="229"/>
+        <source>nom etude : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="236"/>
+        <source>utilisation : %prog [options]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="238"/>
+        <source>nom du fichier de commandes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="242"/>
+        <source>nom du fichier poursuite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="246"/>
+        <source>numero d&apos;unite suivi du nom du fichier include</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="250"/>
+        <source>fichier decrivant une etude</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="254"/>
+        <source>version de catalogue a utiliser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="257"/>
+        <source>nom du code a utiliser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="260"/>
+        <source>niveau de debug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="263"/>
+        <source>schema</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="266"/>
+        <source>localisation de l&apos;application, pour la traduction</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="298"/>
+        <source>Nombre incorrect d&apos;arguments</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="296"/>
+        <source>Localisation specifiee pour l&apos;application.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/utils.py" line="50"/>
+        <source>Un fichier de nom %s existe deja : impossible de creer un repertoire de meme nom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/utils.py" line="56"/>
+        <source>Creation du repertoire %s impossible
+ Verifiez vos droits d&apos;acces</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/utils.py" line="130"/>
+        <source>Impossible de transferer les fichiers requis dans : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCLIST.py" line="97"/>
+        <source>Erreur</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/commande_comm.py" line="199"/>
+        <source>Erreurs fatales</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/commande_comm.py" line="202"/>
+        <source>Impossible reconstruire commande
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/commentaire.py" line="146"/>
+        <source>Objet commentaire non valorise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/interpreteur_formule.py" line="110"/>
+        <source>Debut Fonction %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/interpreteur_formule.py" line="111"/>
+        <source>Fin Fonction %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/jdc_include.py" line="94"/>
+        <source>Nom de concept deja defini : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/mcnuplet.py" line="104"/>
+        <source>Longueur incorrecte</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="65"/>
+        <source>L&apos;attribut &apos;min&apos; doit etre un entier : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="68"/>
+        <source>L&apos;attribut &apos;max&apos; doit etre un entier : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="70"/>
+        <source>Nombres d&apos;occurrence min et max invalides :</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="72"/>
+        <source>L&apos;attribut &apos;fr&apos; doit etre une chaine de caracteres</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="74"/>
+        <source>L&apos;attribut &apos;statut&apos; doit valoir &apos;o&apos;,&apos;f&apos;,&apos;c&apos; ou &apos;d&apos;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="76"/>
+        <source>L&apos;attribut &apos;docu&apos; doit etre une chaine de caracteres</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="105"/>
+        <source>Fin </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre_eval.py" line="149"/>
+        <source>Le parametre EVAL %s ne peut valoir None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre_eval.py" line="150"/>
+        <source>Le parametre EVAL ne peut valoir None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre_eval.py" line="163"/>
+        <source>Pas de nom donne au parametre EVAL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre_eval.py" line="166"/>
+        <source>Un nom de parametre ne peut depasser 8 caracteres</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/Formatage.py" line="129"/>
+        <source>ERREUR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_asterv5.py" line="101"/>
+        <source>Format pas implemente : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_asterv5.py" line="145"/>
+        <source>Type d&apos;objet non prevu : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="256"/>
+        <source> ce groupe de maillage %s est associe a au moins un materiau  et au moins une source.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="267"/>
+        <source>ce groupe de maillage %s  n&apos;est associe a aucun materiau ou source.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="541"/>
+        <source>ATTENTION! Une source constante n&apos;est possible qu&apos;a frequence nulle en regime frequentiel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="820"/>
+        <source>ERREUR! ce groupe de maille (%s) n&apos;a pas de prefixe valable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="825"/>
+        <source>ERREUR! ce type de bloc (%s) n&apos;est pas valable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_Creation.py" line="83"/>
+        <source>toutes les donnees ne sont pas connues</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_file_from_template.py" line="59"/>
+        <source>Fichier patron %s n&apos;existe pas.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_pyth.py" line="100"/>
+        <source>Pas supporte</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_ini.py" line="105"/>
+        <source>Entite inconnue ou interdite :%s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_ini.py" line="123"/>
+        <source>Entite inconnue ou interdite :%s. Elle est ignoree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_ini.py" line="133"/>
+        <source>Les tuples ne sont pas supportes pour le format ini :%s </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_ini.py" line="139"/>
+        <source>Type de valeur non supportee par le format ini :%(nom)s
+%(exception)s</source>
+        <comment>nom</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_openturns.py" line="124"/>
+        <source>Il y a un pb a la Creation du XML</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_openturns_study.py" line="127"/>
+        <source>Il y a un pb a la Creation du STD</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_pyth.py" line="130"/>
+        <source>Entite inconnue ou interdite : %s. Elle est ignoree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_pyth.py" line="143"/>
+        <source>Type de valeur non supporte par le format pyth : n %(exception)s</source>
+        <comment>nom</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/OpenturnsXML.py" line="228"/>
+        <source>Tag %s non-defini. Ceci est un bogue interne. en informer les developpeurs.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/OpenturnsXML.py" line="240"/>
+        <source> Le mot-cle %s est obligatoire.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ASSD.py" line="29"/>
+        <source>concept %(inst_name)s de type %(class_name)s</source>
+        <comment>inst_name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="108"/>
+        <source>Un nom de concept doit etre un identificateur Python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="126"/>
+        <source>Concept existant</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="128"/>
+        <source>Operateur reentrant mais concept non existant</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="140"/>
+        <source>Operateur reentrant et concept existant trouve</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="142"/>
+        <source>Concept deja existant et de mauvais type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="198"/>
+        <source>Nommage du concept refuse : un concept de meme nom existe deja</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="52"/>
+        <source>Nommage du concept effectue</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="176"/>
+        <source>Nommage impossible %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="105"/>
+        <source>La liste des arguments d&apos;une formule doit etre entre parentheses : parenthese ouvrante manquante</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="107"/>
+        <source>La liste des arguments d&apos;une formule doit etre entre parentheses : parenthese fermante manquante</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="152"/>
+        <source>Pas de nom donne a la FORMULE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="154"/>
+        <source>Un nom de FORMULE ne peut depasser 8 caracteres</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="156"/>
+        <source>Un nom de FORMULE ne peut pas commencer par un chiffre</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="173"/>
+        <source>Le type de la valeur retournee n&apos;est pas specifie</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="175"/>
+        <source>Une formule ne peut retourner une valeur de type : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_JDC.py" line="308"/>
+        <source>Impossible d&apos;ajouter la commande</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_JDC.py" line="314"/>
+        <source>Impossible d ajouter la commande</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_JDC.py" line="629"/>
+        <source>Pas implemente</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_JDC.py" line="724"/>
+        <source>Nom de concept deja defini </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_JDC.py" line="899"/>
+        <source> Nom de concept deja  defini : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_JDC.py" line="942"/>
+        <source>Impossible de trouver le fichier correspondant a l&apos;unite </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="725"/>
+        <source> n&apos;est pas un fichier existant</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="1107"/>
+        <source>Fichier invalide %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="559"/>
+        <source>Impossible de construire le jeu de commandes correspondant au fichier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="1057"/>
+        <source>Erreur lors de l&apos;evaluation du fichier inclus</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="1195"/>
+        <source>Ce fichier ne sera pas pris en compte
+ %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="735"/>
+        <source>Ce fichier ne sera pas pris en compte
+Le fichier associe n&apos;est pas defini</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="907"/>
+        <source>Le fichier n est pas defini</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="944"/>
+        <source>le fichier doit contenir une unique variable de sortie</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="990"/>
+        <source>Fichier invalide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="993"/>
+        <source>Le contenu de ce fichier ne sera pas pris en compte
+ %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="1047"/>
+        <source>Le fichier INCLUDE n est pas defini</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="1057"/>
+        <source>Le contenu de ce fichier ne sera pas pris en compte
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="1195"/>
+        <source>Erreur lors de l&apos;evaluation du fichier poursuite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCCOMPO.py" line="224"/>
+        <source>L&apos;objet %(v_1)s ne peut  etre un fils de %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCCOMPO.py" line="253"/>
+        <source>L&apos;objet %s ne peut pas etre repete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCFACT.py" line="50"/>
+        <source>Erreur - mclist inexistante : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCFACT.py" line="59"/>
+        <source>Erreur - mot cle facteur de nom : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCLIST.py" line="94"/>
+        <source>traitement non-prevu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCLIST.py" line="97"/>
+        <source>L&apos;objet %s ne peut pas etre ajoute</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCSIMP.py" line="258"/>
+        <source>None n&apos;est pas une valeur autorisee</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCSIMP.py" line="490"/>
+        <source>un concept de meme nom existe deja</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCSIMP.py" line="512"/>
+        <source>Concept cree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCSIMP.py" line="643"/>
+        <source>La matrice n&apos;est pas une matrice %(n_lign)d sur %(n_col)d</source>
+        <comment>n_lign</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="167"/>
+        <source>Impossible de relire le fichier %s 
+ </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MACRO_ETAPE.py" line="178"/>
+        <source>Le fichier include contient des erreurs </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/browser.py" line="435"/>
+        <source>  n&apos;est pas un index valide pour append_brother</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compocomm.py" line="41"/>
+        <source>Decommenter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compocomm.py" line="43"/>
+        <source>Decommente la commande </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compofact.py" line="133"/>
+        <source>Impossible de supprimer un mot-cle obligatoire </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compofact.py" line="136"/>
+        <source>Mot-cle %s supprime</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compofact.py" line="141"/>
+        <source>Pb interne : impossible de supprimer ce mot-cle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compojdc.py" line="86"/>
+        <source>Commentaire supprime</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compojdc.py" line="88"/>
+        <source>Commande %s supprimee</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compojdc.py" line="91"/>
+        <source>Pb interne : impossible de supprimer cet objet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compomacro.py" line="125"/>
+        <source>Le fichier de commande n&apos;a pas pu etre converti pour etre editable par Eficas
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compomacro.py" line="157"/>
+        <source>Include vide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compomacro.py" line="157"/>
+        <source>L&apos;include doit etre correctement initialise pour etre visualise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compomclist.py" line="223"/>
+        <source>Impossible de supprimer ce mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="67"/>
+        <source>View3D</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="69"/>
+        <source>affiche dans Geom les elements de structure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="76"/>
+        <source>Graphique</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="78"/>
+        <source>affiche la distribution </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="114"/>
+        <source>Erreur interne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="114"/>
+        <source>La PDF de la loi ne peut pas etre affichee.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="349"/>
+        <source>&amp;Annuler</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="201"/>
+        <source>Impossible de supprimer un mot-clef obligatoire </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="203"/>
+        <source>Mot-clef %s supprime </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compooper.py" line="208"/>
+        <source>Pb interne : impossible de supprimer ce mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compoparam.py" line="146"/>
+        <source>Definition d&apos;un parametre</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/configuration.py" line="156"/>
+        <source>Import du fichier de Configuration</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/configuration.py" line="156"/>
+        <source>Erreur a la lecture du fichier de configuration %s </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="196"/>
+        <source>Erreur fatale au chargement de %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="197"/>
+        <source>Erreur fatale au chargement d&apos;un fichier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="313"/>
+        <source>fichier modifie</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="313"/>
+        <source>Attention! fichier change hors EFICAS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="367"/>
+        <source>Type de fichier non reconnu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="324"/>
+        <source>EFICAS ne sait pas ouvrir le type de fichier %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="367"/>
+        <source>EFICAS ne sait pas ouvrir ce type de fichier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="610"/>
+        <source>Copie impossible</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="582"/>
+        <source>Veuillez selectionner un objet a copier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="587"/>
+        <source>Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="610"/>
+        <source>Aucun Objet n a ete copie ou coupe</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="636"/>
+        <source>Copie refusee</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="622"/>
+        <source>Eficas n a pas reussi a copier l objet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="636"/>
+        <source>Copie refusee pour ce type d objet</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="648"/>
+        <source>Deplacement refuse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="648"/>
+        <source>Deplacement refuse entre 2 fichiers. Seule la copie est autorisee </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="684"/>
+        <source>Copie impossible a cet endroit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="684"/>
+        <source>Veuillez selectionner une commande, un parametre, un commentaire ou une macro</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="745"/>
+        <source>Choix d&apos;un fichier XML</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="746"/>
+        <source>Le fichier contient une commande MODEL
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="747"/>
+        <source>Donnez le nom du fichier XML qui contient la description des variables</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="66"/>
+        <source>Ouvrir Fichier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1036"/>
+        <source>Erreur a la generation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1036"/>
+        <source>EFICAS ne sait pas convertir ce JDC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1040"/>
+        <source>Format %s non reconnu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1041"/>
+        <source>EFICAS ne sait pas convertir le JDC selon le format </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="895"/>
+        <source>Execution impossible </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="832"/>
+        <source>le JDC doit etre valide pour une execution MAP</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="835"/>
+        <source>le JDC doit contenir un et un seul composant</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="871"/>
+        <source>le JDC doit etre valide pour une execution </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="895"/>
+        <source>Sauvegarder SVP avant l&apos;execution </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="935"/>
+        <source>sauvegarde</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="944"/>
+        <source>Sauvegarde du Fichier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="944"/>
+        <source>Le fichier &lt;b&gt;%s&lt;/b&gt; existe deja.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="944"/>
+        <source>&amp;Ecraser</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1020"/>
+        <source>Sauvegarde de l&apos;input impossible </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1020"/>
+        <source>Un JdC valide est necessaire pour creer un .input</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="964"/>
+        <source>Choix du composant obligatoire</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1176"/>
+        <source>Choix unite %d </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1177"/>
+        <source>Le fichier %s contient une commande INCLUDE 
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1178"/>
+        <source>Donnez le nom du fichier correspondant a l unite logique </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1179"/>
+        <source>Fichier pour unite </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1181"/>
+        <source>Choix d&apos;un fichier de poursuite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1182"/>
+        <source>Le fichier %s contient une commande POURSUITE
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1183"/>
+        <source>Donnez le nom du fichier dont vous 
+ voulez faire une poursuite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1311"/>
+        <source>Fichiers Med (*.med);;Tous les Fichiers (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1314"/>
+        <source>Fichier Med</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="1314"/>
+        <source>Veuillez selectionner un fichier Med</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="165"/>
+        <source>reel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="166"/>
+        <source>entier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="167"/>
+        <source>complexe</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="173"/>
+        <source>Entrez </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="174"/>
+        <source>Entrez entre </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="174"/>
+        <source> et </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpBase.py" line="86"/>
+        <source>Type de base inconnu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="436"/>
+        <source>Aide Indisponible</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="436"/>
+        <source>l&apos;aide n est pas installee </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="209"/>
+        <source>Visualisation Fichier </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="209"/>
+        <source>Impossibilite d&apos;afficher le Fichier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="222"/>
+        <source>Sauvegarder Fichier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="236"/>
+        <source>Fichier selectionne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="245"/>
+        <source>Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="291"/>
+        <source>Export Med vers Fichier </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereIcones.py" line="291"/>
+        <source>Impossibilite d exporter le Fichier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereTraduction.py" line="37"/>
+        <source>Traduire Fichier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereTraduction.py" line="37"/>
+        <source>Fichiers JDC  (*.comm);;Tous les Fichiers (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereTraduction.py" line="62"/>
+        <source>Fichier Traduit : %s
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereTraduction.py" line="72"/>
+        <source>Pas de difference entre le fichier origine et le fichier traduit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monBoutonValide.py" line="43"/>
+        <source>objet valide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monChoixCata.py" line="42"/>
+        <source>%d versions du catalogue sont disponibles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monViewTexte.py" line="69"/>
+        <source>Sauvegarder le fichier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monViewTexte.py" line="69"/>
+        <source>Le fichier &lt;b&gt;%(v_1)s&lt;/b&gt; n&apos;a pu etre sauvegarde. &lt;br&gt;Raison : %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetOptionnel.py" line="91"/>
+        <source>Options pour 
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/feuille.py" line="119"/>
+        <source> valeurs </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetPlusieursInto.py" line="172"/>
+        <source>Nombre minimal de valeurs : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetPlusieursInto.py" line="174"/>
+        <source>Nombre maximal de valeurs : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpComplexe.py" line="116"/>
+        <source>expression valide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpComplexe.py" line="122"/>
+        <source>expression invalide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpComplexe.py" line="84"/>
+        <source>l expression n est pas de la forme a+bj</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpComplexe.py" line="128"/>
+        <source>expression n est pas de la forme a+bj</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpComplexe.py" line="140"/>
+        <source>entrer une seule valeur SVP</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpComplexe.py" line="158"/>
+        <source>saisir le type de complexe</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/politiquesValidation.py" line="157"/>
+        <source>Valeur du mot-cle enregistree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/politiquesValidation.py" line="162"/>
+        <source>Valeur du mot-cle non autorisee </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="78"/>
+        <source>&amp;Recents</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="147"/>
+        <source>Aide specifique </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="194"/>
+        <source>Options</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="189"/>
+        <source>Traduction</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="273"/>
+        <source>TraduitV7V8</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="274"/>
+        <source>TraduitV8V9</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="275"/>
+        <source>TraduitV9V10</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="284"/>
+        <source>Acquiert Groupe Maille</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="289"/>
+        <source>Specificites Maille</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="409"/>
+        <source>version </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="276"/>
+        <source> pour </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="450"/>
+        <source>Parametrage</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="443"/>
+        <source>Veuillez d abord choisir un code</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="450"/>
+        <source>Pas de possibilite de personnalisation de la configuration </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="471"/>
+        <source>&amp;Effacer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtSaisie.py" line="98"/>
+        <source>Veuillez entrer le complexe sous forme aster ou sous forme python</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="147"/>
+        <source>Import du catalogue</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="95"/>
+        <source>Pas de catalogue defini pour le code </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="119"/>
+        <source>Aucun catalogue trouve</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="147"/>
+        <source>Impossible d&apos;importer le catalogue </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="278"/>
+        <source> avec le catalogue </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="268"/>
+        <source>Choix d une version du code </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/readercata.py" line="270"/>
+        <source>Choix d une version </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="219"/>
+        <source>Parametre</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="37"/>
+        <source>Insere un parametre</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="115"/>
+        <source>item invalide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="115"/>
+        <source>l item doit etre valide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="115"/>
+        <source>&amp;Ok</source>
+        <translation type="unfinished">&amp;Ok</translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="141"/>
+        <source>apres</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="136"/>
+        <source>Insere un commentaire apres la commande </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="144"/>
+        <source>avant</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="139"/>
+        <source>Insere un commentaire avant la commande </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="143"/>
+        <source>Insere un parametre apres la commande </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="146"/>
+        <source>Insere un parametre avant la commande </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="148"/>
+        <source>Supprimer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="150"/>
+        <source>supprime le mot clef </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="151"/>
+        <source>Documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="153"/>
+        <source>documentation sur la commande </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="183"/>
+        <source>Documentation Vide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="163"/>
+        <source>Aucune documentation n&apos;est associee a ce noeud</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="170"/>
+        <source>impossible de trouver la commande  </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="171"/>
+        <source>Lecteur PDF</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="182"/>
+        <source>impossible d&apos;ouvrir </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="215"/>
+        <source>Commentaire</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="232"/>
+        <source>ce noeud</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/typeNode.py" line="234"/>
+        <source>commente le noeud </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="64"/>
+        <source>Fichiers JDC (*.comm);;Tous les Fichiers (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="84"/>
+        <source>&amp;Quitter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="116"/>
+        <source>Quitter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="337"/>
+        <source>Fichier Duplique</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="337"/>
+        <source>Le fichier ne sera pas sauvegarde.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="267"/>
+        <source>Fichier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="267"/>
+        <source>Le fichier &lt;b&gt;%s&lt;/b&gt; est deja ouvert.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="267"/>
+        <source>&amp;Duplication</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="267"/>
+        <source>&amp;Abort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="349"/>
+        <source>Fichier Modifie</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="349"/>
+        <source>Le fichier %s n a pas ete sauvegarde.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="349"/>
+        <source>&amp;Sauvegarder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="1"/>
+        <source>SOURCE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="2"/>
+        <source>EnveloppeConnexeInducteur</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="3"/>
+        <source>EnveloppeConnexe2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="4"/>
+        <source>VecteurDirecteur</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="5"/>
+        <source>Centre</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="6"/>
+        <source>SectionBobine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="7"/>
+        <source>Amplitude</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="8"/>
+        <source>NbdeTours</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="9"/>
+        <source>CONDUCTEUR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="10"/>
+        <source>Conductivite</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="11"/>
+        <source>PermeabiliteRelative</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="12"/>
+        <source>NOCOND</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="13"/>
+        <source>VCUT</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="14"/>
+        <source>Orientation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="15"/>
+        <source>ZS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="16"/>
+        <source>PARAMETRES</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="5"/>
+        <source>RepCarmel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="18"/>
+        <source>TypedeFormule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="19"/>
+        <source>Frequence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="20"/>
+        <source>Nb_Max_Iterations</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../CarmelCND/PourTraductionCarmel.py" line="21"/>
+        <source>Erreur_Max</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/compoparam.py" line="86"/>
+        <source>PARAMETRE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSimpTuple3.py" line="47"/>
+        <source>Valeur non modifiable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_python.py" line="112"/>
+        <source>Format non implemente </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_python.py" line="163"/>
+        <source>Type d&apos;objet non prevu</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetCB.py" line="51"/>
+        <source>Select</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="389"/>
+        <source>Sauve Format Ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="170"/>
+        <source>%s n&apos;est pas un fichier valide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereListe.py" line="193"/>
+        <source>Fichier de donnees</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereListe.py" line="193"/>
+        <source>Tous les  Fichiers (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetPlusieursBase.py" line="226"/>
+        <source>nb min de valeurs : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetPlusieursBase.py" line="231"/>
+        <source>nb max de valeurs atteint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="384"/>
+        <source>TraduitV10V11</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="387"/>
+        <source>TraduitV11V12</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtSaisie.py" line="138"/>
+        <source>Valeur du mot-clef enregistree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtSaisie.py" line="142"/>
+        <source>Valeur du mot-clef non autorisee :</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre_eval.py" line="170"/>
+        <source>Un concept de nom %s existe d&#xe9;j&#xe0; !</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monFonctionPanel.py" line="62"/>
+        <source>La cardinalite n&apos;est pas correcte, la derniere valeur est ignoree</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monFonctionPanel.py" line="110"/>
+        <source> n est pas un tuple de </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monFonctionPanel.py" line="112"/>
+        <source> valeurs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetCreeParam.py" line="96"/>
+        <source>Valeur incorrecte</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetCreeParam.py" line="105"/>
+        <source> n est pas un identifiant correct
+ </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="78"/>
+        <source>Entrer un float SVP</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="83"/>
+        <source>Entrer un float inferieur a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="88"/>
+        <source>Entrer un float superieur a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="111"/>
+        <source>Mauvaise execution </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="111"/>
+        <source>impossible d executer la methode </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="135"/>
+        <source>Mauvaise Commande </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="135"/>
+        <source>Aucune variable connue</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="183"/>
+        <source>Mauvaise dimension de matrice</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="181"/>
+        <source>le nombre de ligne n est pas egal a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="183"/>
+        <source>le nombre de colonne n est pas egal a </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="191"/>
+        <source>Mauvaise Valeur</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="191"/>
+        <source>l element </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetMatrice.py" line="191"/>
+        <source>n est pas correct</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="94"/>
+        <source>Modification Impossible</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="94"/>
+        <source>le parametre n&apos;est pas valide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="108"/>
+        <source> n est pas un identifiant correct</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="127"/>
+        <source>Valeur incorrecte: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="130"/>
+        <source>Valeur incorrecte </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetParam.py" line="133"/>
+        <source>Valeur correcte </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetSDCOInto.py" line="77"/>
+        <source>impossible d&apos;evaluer : </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/interpreteur_formule.py" line="97"/>
+        <source>La formule passee a l&apos;interpreteur doit etre sous forme de tuple</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/nuplet.py" line="104"/>
+        <source>Debut </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre.py" line="188"/>
+        <source>Pas de nom donne au parametre </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/parametre.py" line="193"/>
+        <source>Le parametre %s ne peut valoir None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_aplat.py" line="147"/>
+        <source>Format non implemente : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="138"/>
+        <source>Impossible de realiser la verification de la formule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_FORM_ETAPE.py" line="159"/>
+        <source>Un concept de nom %s existe deja !</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetCreeParam.py" line="109"/>
+        <source> existe deja
+ </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="299"/>
+        <source>Fichier non encore nomme </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_MCSIMP.py" line="624"/>
+        <source>La matrice n&apos;a pas le bon entete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/browser.py" line="463"/>
+        <source>le mot clef </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/browser.py" line="455"/>
+        <source> doit etre insere avant </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/browser.py" line="464"/>
+        <source>insertion impossible</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/browser.py" line="463"/>
+        <source> doit etre insere apres </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/monWidgetPlusieursTuple.py" line="244"/>
+        <source>Nb maximum de valeurs atteint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/gereRegles.py" line="58"/>
+        <source>pas de regle de construction pour ce jeu de commandes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="260"/>
+        <source>Gestion Maillage</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="401"/>
+        <source>Acquiert groupe mailles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="406"/>
+        <source>Acquisition Groupe Maille</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="1"/>
+        <source>VERSION</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="2"/>
+        <source>NUM</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="3"/>
+        <source>FILETYPE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="4"/>
+        <source>PARAMETERS</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="6"/>
+        <source>Fichier_maillage</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="7"/>
+        <source>Echelle_du_maillage</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="8"/>
+        <source>Formulation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="9"/>
+        <source>Timeproblem</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="10"/>
+        <source>spectral </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="11"/>
+        <source>Basis</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="12"/>
+        <source>Fourier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="13"/>
+        <source>Ordre</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="14"/>
+        <source>FREQUENCY</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="15"/>
+        <source>minimisation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="16"/>
+        <source>no</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="17"/>
+        <source>yes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Carmel3D/PourTraduction.py" line="18"/>
+        <source>nb_procs_para</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="1"/>
+        <source>POLYMER</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="2"/>
+        <source>MODEL_DATABASE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="3"/>
+        <source>Stabilise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="4"/>
+        <source>Non Stabilise</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="5"/>
+        <source>Local</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="6"/>
+        <source>ESSAI_OPTION</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="7"/>
+        <source>MATERIEL</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="8"/>
+        <source>Cable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="9"/>
+        <source>Peinture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="10"/>
+        <source>Tuyauterie</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="11"/>
+        <source>Materiau_De_Cable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="12"/>
+        <source>PE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="13"/>
+        <source>EPDM</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../monCode/EssaiTraduction.py" line="14"/>
+        <source>Modele</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../convert/convert_python.py" line="116"/>
+        <source>Impossible de convertir le fichier Python qui doit contenir des erreurs.
+
+                                  On retourne le fichier non converti. Prevenir la maintenance.
+
+ %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../convert/parseur_python.py" line="499"/>
+        <source>Eficas ne peut pas traiter plusieurs instructions 
+                                                 sur la meme ligne : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="209"/>
+        <source>le texte a analyser n&apos;est pas celui d&apos;une commande ou 
+                                         d&apos;un operateur : %s</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="229"/>
+        <source>le texte a analyser n&apos;est pas celui d&apos;une commande connue : 
+                                        %(v_1)s %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/analyse_catalogue.py" line="231"/>
+        <source>le texte a analyser n&apos;est pas celui d&apos;une commande connue : 
+                                         %(v_1)s %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="149"/>
+        <source> jdc %(v_1)s manque 
+                                      fichier comm dans section %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="154"/>
+        <source>jdc %(v_1)s, le fichier
+                                      de commandes %(v_2)s n&apos;existe pas</source>
+        <comment>v_1</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="170"/>
+        <source> jdc %(v_1)s 
+                                   fichier include %(v_2)s, %(v_3)s 
+                                   n&apos;existe pas</source>
+        <comment>v_1</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="202"/>
+        <source> jdc %(v_1)s manque fichier comm 
+                                dans section %(v_2)s</source>
+        <comment>v_1</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Editeur/session.py" line="206"/>
+        <source>jdc %(v_1)s, le fichier de commandes 
+                                %(v_2)s n&apos;existe pas</source>
+        <comment>v_1</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Extensions/commande_comm.py" line="62"/>
+        <source>Objet commande commentaris&#xe9; invalide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="482"/>
+        <source>ATTENTION! Une source constante 
+                                  n&apos;est possible qu&apos;a frequence nulle 
+                                  en regime frequentiel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="491"/>
+        <source>ERREUR! Une forme de la source du 
+                               type WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="512"/>
+        <source>ATTENTION! Une source constante n&apos;est 
+                                  possible qu&apos;a frequence nulle en regime frequentiel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="548"/>
+        <source>ERREUR! Une forme de la source du type 
+                               WAVEFORM_CONSTANT ou WAVEFORM_SINUS est attendue.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="817"/>
+        <source>ERREUR! ce groupe de maille (%s) n&apos;a pas de prefixe 
+                                indiquant le type de materiau ou de source associee</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../generator/generator_CARMEL3D.py" line="827"/>
+        <source>ERREUR! ce groupe de maille (%(nom)s) n&apos;a pas 
+                                        le prefixe correct pour etre associe a un type %(type_bloc)s</source>
+        <comment>nom</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Ihm/I_ETAPE.py" line="485"/>
+        <source>
+   Include Invalide. 
+  ne sera pas pris en compte</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1554"/>
+        <source>: verifie les types dans un tuple</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../Noyau/N_VALIDATOR.py" line="1557"/>
+        <source>Les types entres ne sont pas permis</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ChoixCode</name>
+    <message>
+        <location filename="../../UiQT4/desChoixCode.ui" line="20"/>
+        <source>Choix du code</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCode.ui" line="38"/>
+        <source>Veuillez choisir un code :</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCode.ui" line="91"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCode.ui" line="126"/>
+        <source>Validate choice</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCode.ui" line="136"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ChoixCommandes</name>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="26"/>
+        <source>DMacro</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="79"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; text-decoration: underline;&quot;&gt;Affichage&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="86"/>
+        <source>affiche les commandes par ordre alphabetique</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="89"/>
+        <source>Alphabetique</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="106"/>
+        <source>affiche les commandes selon les thèmes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="99"/>
+        <source>Ordre de la modélisation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="109"/>
+        <source>Par Groupe</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="166"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;Filtre Commande&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="188"/>
+        <source>filter commands</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="283"/>
+        <source>affiche les régles de validité</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="289"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="306"/>
+        <source>Règles de construction</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="203"/>
+        <source>Sensible à la casse</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="240"/>
+        <source>Effacer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="154"/>
+        <source>selectionne les mots qui CONTIENNENT l expression</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desChoixCommandes.ui" line="231"/>
+        <source>ré-affiche toutes les commandes</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>DChoixCata</name>
+    <message>
+        <location filename="../../UiQT4/desChoixCata.ui" line="14"/>
+        <source>Choix d&apos;une version du code Aster</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCata.ui" line="31"/>
+        <source>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Sans Serif&apos;; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;2 versions sont disponibles&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCata.ui" line="135"/>
+        <source>&amp;Cancel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCata.ui" line="170"/>
+        <source>Validate choice</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desChoixCata.ui" line="180"/>
+        <source>&amp;OK</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>DSelVal</name>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desSelectVal.ui" line="20"/>
+        <source>Sélection de valeurs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desSelectVal.ui" line="72"/>
+        <source>Separateur</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desSelectVal.ui" line="114"/>
+        <source>espace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desSelectVal.ui" line="124"/>
+        <source>virgule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desSelectVal.ui" line="131"/>
+        <source>point-virgule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desSelectVal.ui" line="238"/>
+        <source>Ajouter Selection</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desSelectVal.ui" line="207"/>
+        <source>Importer Tout</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>DVisu</name>
+    <message>
+        <location filename="../../UiQT4/desVisu.ui" line="14"/>
+        <source>Visualisation Include Materiau</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>Eficas</name>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="20"/>
+        <source>MainWindow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="132"/>
+        <source>&amp;Fichier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="173"/>
+        <source>&amp;Aide</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="187"/>
+        <source>toolBar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="219"/>
+        <source>&amp;Nouveau</source>
+        <translation>ME VOILA</translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="222"/>
+        <source>Ctrl+N</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="227"/>
+        <source>Nouvel Include</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="245"/>
+        <source>&amp;Ouvrir</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="248"/>
+        <source>Ctrl+O</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="258"/>
+        <source>Enregistrer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="276"/>
+        <source>Enregistrer sous</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="284"/>
+        <source>Fermer </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="287"/>
+        <source>Ctrl+W</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="292"/>
+        <source>Fermer tout</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="302"/>
+        <source>Couper</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="305"/>
+        <source>Ctrl+X</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="318"/>
+        <source>Copier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="321"/>
+        <source>Ctrl+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="334"/>
+        <source>Coller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="337"/>
+        <source>Ctrl+V</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="345"/>
+        <source>Quitter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="348"/>
+        <source>Ctrl+Q</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="353"/>
+        <source>Rapport de Validation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="364"/>
+        <source>Fichier Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/myMain.ui" line="369"/>
+        <source>Fichier Résultat</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="266"/>
+        <source>Parametres Eficas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="374"/>
+        <source>Lecteur documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="379"/>
+        <source>Eficas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="384"/>
+        <source>Version</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="394"/>
+        <source>Supprimer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="418"/>
+        <source>Rechercher</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="421"/>
+        <source> Rechercher dans l&apos;arbre d&apos;etude</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="424"/>
+        <source>Ctrl+F</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="432"/>
+        <source>Replier/Deplier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="114"/>
+        <source>Tab 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="148"/>
+        <source>&amp;Edition</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/myMain.ui" line="161"/>
+        <source>&amp;JeuDeDonnées</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="230"/>
+        <source>Shift+I</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="261"/>
+        <source>Ctrl+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="279"/>
+        <source>Ctrl+Shift+S</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="356"/>
+        <source>Shift+V</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="399"/>
+        <source>Chercher Mot-Clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="402"/>
+        <source> Rechercher dans le catalogue</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="405"/>
+        <source>Shift+F</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="435"/>
+        <source>Shift+D</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="440"/>
+        <source>Commentaire</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="443"/>
+        <source>Shift+C</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/myMain.ui" line="452"/>
+        <source>Paramètres</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/myMain.ui" line="455"/>
+        <source>Gestion des paramètres</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="458"/>
+        <source>Shift+P</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="463"/>
+        <source>Parametre Eficas</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="158"/>
+        <source>Execution</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="166"/>
+        <source>Execution </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="176"/>
+        <source>Save Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas_with_log.py" line="326"/>
+        <source>Patrons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/qtEficas.py" line="184"/>
+        <source>Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/myMain.ui" line="235"/>
+        <source>&amp;bad</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/myMain.ui" line="468"/>
+        <source>Régles du JdC</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>JDCEditor</name>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="785"/>
+        <source>Save File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="785"/>
+        <source>The file &lt;b&gt;%1&lt;/b&gt; could not be saved.&lt;br&gt;Reason: %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="930"/>
+        <source>JDC (*.comm);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="944"/>
+        <source>&amp;Abandonner</source>
+        <translation type="unfinished">&amp;Abandonner</translation>
+    </message>
+</context>
+<context>
+    <name>Tuple2</name>
+    <message>
+        <location filename="../../UiQT4/Tuple2.ui" line="20"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/Tuple2.ui" line="41"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;(&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/Tuple2.ui" line="82"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/Tuple2.ui" line="118"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>Tuple3</name>
+    <message>
+        <location filename="../../UiQT4/Tuple3.ui" line="14"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/Tuple3.ui" line="26"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;(&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/Tuple3.ui" line="100"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/Tuple3.ui" line="136"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>Widget4a6RadioButton</name>
+    <message>
+        <location filename="../../UiQT4/desWidget4a6RadioButton.ui" line="32"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidget4a6RadioButton.ui" line="97"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidget4a6RadioButton.ui" line="326"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidget4a6RadioButton.ui" line="158"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidget4a6RadioButton.ui" line="260"/>
+        <source>RadioButton</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidget4a6RadioButton.ui" line="320"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetBloc</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetBloc.ui" line="14"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetCB</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetCB.ui" line="32"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCB.ui" line="100"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCB.ui" line="267"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCB.ui" line="161"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCB.ui" line="261"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetCommande</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="26"/>
+        <source>DCommandeUnique</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="90"/>
+        <source>Affiche le rapport de validité de la commande</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="378"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="147"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;commande &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="176"/>
+        <source>Nom de l&apos;objet. Seuls, les objets valides peuvent être nommés</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="240"/>
+        <source>Lance un script associé à la commande</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="278"/>
+        <source>ouvre un navigateur sur l&apos;aide contextuelle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="316"/>
+        <source>affiche les régles de validité</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="372"/>
+        <source>Détruit la commande</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="422"/>
+        <source>Affiche les commandes possibles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="431"/>
+        <source>&amp;Commandes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="528"/>
+        <source>Shift+A, Alt+A, Alt+A, Alt+A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="470"/>
+        <source>Affiche le formulaire de la commande précédente</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="479"/>
+        <source>&lt;&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="516"/>
+        <source>Affiche le formulaire de la commande suivante</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="525"/>
+        <source>&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommande.ui" line="547"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetCommentaire</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="26"/>
+        <source>DCommandeUnique</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="188"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="147"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;Commentaire&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="182"/>
+        <source>Détruit le commentaire</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="227"/>
+        <source>Affiche les commandes possibles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="236"/>
+        <source>&amp;Commandes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="333"/>
+        <source>Shift+A, Alt+A, Alt+A, Alt+A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="275"/>
+        <source>Affiche le formulaire de la commande précédente</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="284"/>
+        <source>&lt;&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="321"/>
+        <source>Affiche le formulaire de la commande suivante</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCommentaire.ui" line="330"/>
+        <source>&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetDate</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetDate.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetDate.ui" line="91"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetDate.ui" line="236"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetDate.ui" line="152"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetDate.ui" line="230"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetFact</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetFact.ui" line="17"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetFact.ui" line="344"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetFact.ui" line="175"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;TextLabel&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetFactPlie</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetFactPlie.ui" line="14"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetFactPlie.ui" line="189"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetFactPlie.ui" line="142"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetHeure</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="86"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="209"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="132"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="145"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetHeure.ui" line="203"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetInformative</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetInformation.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetOptionnel</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetOptionnel.ui" line="26"/>
+        <source>WidgetOptionnel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetOptionnel.ui" line="69"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0000ff;&quot;&gt;commande &lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetParam</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="26"/>
+        <source>DCommandeUnique</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="182"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetParam.ui" line="141"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#000000;&quot;&gt;Paramètre&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetParam.ui" line="176"/>
+        <source>Détruit le commentaire</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="460"/>
+        <source>Affiche les commandes possibles</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="230"/>
+        <source>&amp;Commandes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="472"/>
+        <source>Shift+A, Alt+A, Alt+A, Alt+A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetParam.ui" line="269"/>
+        <source>Affiche le formulaire de la commande précédente</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="278"/>
+        <source>&lt;&lt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="315"/>
+        <source>Affiche le formulaire de la commande suivante</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="324"/>
+        <source>&gt;&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="385"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Valeur: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="425"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Nom: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="469"/>
+        <source>Verifie la valeur</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetParam.ui" line="487"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetPlusieursBase</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="116"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="778"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="182"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="386"/>
+        <source>Remonte la ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="425"/>
+        <source>Descend la ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="464"/>
+        <source>supprime une ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="503"/>
+        <source>Ajoute une ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="559"/>
+        <source>Montre l&apos;ensemble des valeurs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="621"/>
+        <source>Sélectionne depuis Salome</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="659"/>
+        <source>Visualise dans Salome</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="717"/>
+        <source>Ouvre un fichier de sélection des valeurs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="772"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="78"/>
+        <source>permet de gérer la liste</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursBase.ui" line="234"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetPlusieursInto</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursInto.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursInto.ui" line="110"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursInto.ui" line="356"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursInto.ui" line="252"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursInto.ui" line="350"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursInto.ui" line="72"/>
+        <source>permet de gérer la liste</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetPlusieursIntoOrdonne</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="110"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="684"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="176"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="228"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="450"/>
+        <source>Remonte d&apos;une ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="486"/>
+        <source>Descend d&apos;une ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="522"/>
+        <source>Détruit une ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="557"/>
+        <source>ajoute une ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="607"/>
+        <source>visualise l&apos;ensemble des valeurs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="678"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursIntoOrdonne.ui" line="72"/>
+        <source>permet de gérer la liste</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetPlusieursPlie</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursPlie.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursPlie.ui" line="101"/>
+        <source>Affiche le rapport de validité du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursPlie.ui" line="273"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursPlie.ui" line="162"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursPlie.ui" line="66"/>
+        <source>permet de gérer la liste</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursPlie.ui" line="267"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetPlusieursTuple</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="93"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="621"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="161"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="337"/>
+        <source>Remonte la ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="376"/>
+        <source>Descend la ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="415"/>
+        <source>supprime une ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="454"/>
+        <source>Ajoute une ligne</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="510"/>
+        <source>Montre l&apos;ensemble des valeurs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="560"/>
+        <source>Ouvre un fichier de sélection des valeurs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="615"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetPlusieursTuple.ui" line="213"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetRadioButton</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetRadioButton.ui" line="32"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetRadioButton.ui" line="97"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetRadioButton.ui" line="289"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetRadioButton.ui" line="158"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetRadioButton.ui" line="251"/>
+        <source>RadioButton</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetRadioButton.ui" line="283"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetSDCOInto</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="91"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="315"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="152"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="186"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Structures de données du type requis &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="243"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;ou Nom du concept&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSDCOInto.ui" line="309"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetSimpBase</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBase.ui" line="32"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBase.ui" line="97"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBase.ui" line="257"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBase.ui" line="158"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSimpBase.ui" line="251"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetSimpBool</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="32"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="88"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="252"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="149"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="166"/>
+        <source>True</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="189"/>
+        <source>False</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSimpBool.ui" line="246"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetSimpComplexe</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="32"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="103"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="339"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="164"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="203"/>
+        <source>Complexe : a+bj</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="244"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;OU &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="259"/>
+        <source>Réel/Imaginaire</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpComplexe.ui" line="266"/>
+        <source>Module/Phase</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetSimpFichier</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="82"/>
+        <source>Affiche le rapport de validité du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="315"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="143"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="222"/>
+        <source>affiche l&apos;explorateur de fichier</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="252"/>
+        <source>ouvre le fichier choisi</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSimpFichier.ui" line="309"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetSimpTxt</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpTxt.ui" line="32"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpTxt.ui" line="97"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpTxt.ui" line="257"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetSimpTxt.ui" line="158"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetSimpTxt.ui" line="251"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetTuple2</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="94"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="294"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="155"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="174"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;(&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="212"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="248"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetTuple2.ui" line="288"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetTuple3</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="91"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="315"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="152"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="169"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;(&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="238"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;,&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="274"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetTuple3.ui" line="309"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetUniqueSDCO</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="82"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="229"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="143"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="181"/>
+        <source>Attend un objet de type CO </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetUniqueSDCO.ui" line="223"/>
+        <source>Détruit le mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>WidgetVide</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetVide.ui" line="26"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetVide.ui" line="296"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetVide.ui" line="129"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#0055ff;&quot;&gt;Label&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetVide.ui" line="158"/>
+        <source>Attend un objet de type XXXX. Il faut le créer</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>baseWidget</name>
+    <message>
+        <location filename="../../UiQT4/desBaseWidget.ui" line="26"/>
+        <source>DMacro</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>dView</name>
+    <message>
+        <location filename="../../UiQT4/desViewTexte.ui" line="13"/>
+        <source>Dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desViewTexte.ui" line="35"/>
+        <source>Fermer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desViewTexte.ui" line="42"/>
+        <source>Sauver</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>desRecherche</name>
+    <message>
+        <location filename="../../UiQT4/desRecherche.ui" line="14"/>
+        <source>Rechercher dans le JDC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desRecherche.ui" line="17"/>
+        <source>Next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desRecherche.ui" line="63"/>
+        <source>Suivant</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context encoding="UTF-8">
+    <name>desWidgetCreeParam</name>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCreeParam.ui" line="14"/>
+        <source>Gestion des Paramètres</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCreeParam.ui" line="153"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Nom: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetCreeParam.ui" line="180"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Valeur: &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetCreeParam.ui" line="208"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; text-decoration: underline;&quot;&gt;Créer un paramètre&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>desWidgetMatrice</name>
+    <message>
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="14"/>
+        <source>Dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="70"/>
+        <source>Affiche le rapport de validation du mot-clef</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="76"/>
+        <source>...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message encoding="UTF-8">
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="108"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Met à jour l&apos;en-tête&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../UiQT4/desWidgetMatrice.ui" line="146"/>
+        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;aaa&lt;/p&gt;&lt;p&gt;dqsklmdqm&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>self.appliEficas</name>
+    <message>
+        <location filename="../../InterfaceQT4/editor.py" line="750"/>
+        <source>Wrapper Files (*.xml);;All Files (*)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../InterfaceQT4/viewManager.py" line="348"/>
+        <source>Noname</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>viewRegles</name>
+    <message>
+        <location filename="../../UiQT4/desViewRegles.ui" line="14"/>
+        <source>Dialog</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+</TS>
diff --git a/UiQT5/makefile b/UiQT5/makefile
new file mode 100644 (file)
index 0000000..c7a1146
--- /dev/null
@@ -0,0 +1,33 @@
+PYUIC = pyuic5
+QTRELEASE = lrelease
+.PHONY : all
+.SUFFIXES : .ui .py .ts .qm
+
+
+PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCode.py desChoixCommandes.py desRecherche.py \
+       desSelectVal.py desViewTexte.py desViewRegles.py desVisu.py desWidgetCreeParam.py desWidgetCommande.py \
+       desWidgetOptionnel.py desWidgetOptionnelMC.py Tuple2.py Tuple3.py  \
+       desWidgetBloc.py desWidgetCB.py desWidgetCommentaire.py desWidgetDate.py \
+       desWidgetFact.py desWidgetFactPlie.py desWidgetHeure.py desWidgetInformation.py \
+        desWidgetInactif.py \
+       desWidgetMatrice.py desWidgetParam.py desWidgetPlusieursBase.py desWidgetPlusieursInto.py \
+       desWidgetPlusieursIntoOrdonne.py desWidgetPlusieursTuple.py desWidgetRadioButton.py \
+       desWidget4a6RadioButton.py desWidgetSimpBase.py desWidgetSDCOInto.py desWidgetSimpBool.py \
+        desWidgetSimpSalome.py \
+       desWidgetSimpComplexe.py desWidgetSimpFichier.py desWidgetSimpTxt.py desWidgetTuple2.py \
+       desWidgetTuple3.py desWidgetVide.py desWidgetUniqueSDCO.py desWidgetPlusieursPlie.py
+
+
+
+QM_FILES=eficas_en.qm 
+
+%.py:%.ui
+       ${PYUIC} -x -o $@ $<
+
+%.qm:%.ts
+       ${QTRELEASE}  -qm $@ $<
+
+all : $(PY_FILES) $(QM_FILES)
+clean :
+       -rm -rf $(PY_FILES) *.pyc
+
diff --git a/UiQT5/myMain.py b/UiQT5/myMain.py
new file mode 100644 (file)
index 0000000..3a4fffa
--- /dev/null
@@ -0,0 +1,294 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'myMain.ui'
+#
+# Created by: PyQt5 UI code generator 5.5.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt5 import QtCore, QtGui, QtWidgets
+
+class Ui_Eficas(object):
+    def setupUi(self, Eficas):
+        Eficas.setObjectName("Eficas")
+        Eficas.resize(1676, 811)
+        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
+        sizePolicy.setHorizontalStretch(0)
+        sizePolicy.setVerticalStretch(0)
+        sizePolicy.setHeightForWidth(Eficas.sizePolicy().hasHeightForWidth())
+        Eficas.setSizePolicy(sizePolicy)
+        Eficas.setStyleSheet("/* QMenuBar {\n"
+"     background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,\n"
+"                                       stop:0 rgb(226,255,253), stop:1 rgb(191,237,255));\n"
+" }*/\n"
+"\n"
+"QMenuBar {\n"
+"     background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,\n"
+"                                       stop:0 rgb(164,165,178), stop:1 rgb(55,66,126));\n"
+" }\n"
+" QMenuBar::item {\n"
+"     spacing: 3px; /* spacing between menu bar items */\n"
+"     color: white;\n"
+"     padding: 1px 4px;\n"
+"     background: transparent;\n"
+"     border-radius: 4px;\n"
+" }\n"
+"\n"
+" QMenuBar::item:selected { /* when selected using mouse or keyboard */\n"
+"     background: #a8a8a8;\n"
+" }\n"
+"\n"
+" QMenuBar::item:pressed {\n"
+"     background: #888888;\n"
+" }\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"\n"
+"")
+        self.centralwidget = QtWidgets.QWidget(Eficas)
+        self.centralwidget.setStyleSheet("QComboBox{combobox-popup:0;}")
+        self.centralwidget.setObjectName("centralwidget")
+        self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
+        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
+        self.verticalLayout.setSpacing(0)
+        self.verticalLayout.setObjectName("verticalLayout")
+        self.frameEntete = QtWidgets.QFrame(self.centralwidget)
+        self.frameEntete.setMinimumSize(QtCore.QSize(0, 61))
+        self.frameEntete.setMaximumSize(QtCore.QSize(16777215, 61))
+        self.frameEntete.setStyleSheet("/*background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,\n"
+"                                stop:0 rgb(218,229,248), stop:1 rgb(9,86,109));*/\n"
+"/*background-color:rgb(208,225,238)*/")
+        self.frameEntete.setFrameShape(QtWidgets.QFrame.NoFrame)
+        self.frameEntete.setFrameShadow(QtWidgets.QFrame.Raised)
+        self.frameEntete.setLineWidth(2)
+        self.frameEntete.setObjectName("frameEntete")
+        self.verticalLayout.addWidget(self.frameEntete)
+        self.myQtab = QtWidgets.QTabWidget(self.centralwidget)
+        self.myQtab.setStyleSheet("background-color:rgb(224,223,222)")
+        self.myQtab.setTabPosition(QtWidgets.QTabWidget.North)
+        self.myQtab.setTabsClosable(True)
+        self.myQtab.setObjectName("myQtab")
+        self.tab_3 = QtWidgets.QWidget()
+        self.tab_3.setObjectName("tab_3")
+        self.myQtab.addTab(self.tab_3, "")
+        self.verticalLayout.addWidget(self.myQtab)
+        Eficas.setCentralWidget(self.centralwidget)
+        self.menubar = QtWidgets.QMenuBar(Eficas)
+        self.menubar.setGeometry(QtCore.QRect(0, 0, 1676, 30))
+        self.menubar.setObjectName("menubar")
+        self.menuFichier = QtWidgets.QMenu(self.menubar)
+        self.menuFichier.setObjectName("menuFichier")
+        self.menuEdition = QtWidgets.QMenu(self.menubar)
+        self.menuEdition.setObjectName("menuEdition")
+        self.menuJdC = QtWidgets.QMenu(self.menubar)
+        self.menuJdC.setObjectName("menuJdC")
+        self.menuAide = QtWidgets.QMenu(self.menubar)
+        self.menuAide.setObjectName("menuAide")
+        Eficas.setMenuBar(self.menubar)
+        self.statusbar = QtWidgets.QStatusBar(Eficas)
+        self.statusbar.setObjectName("statusbar")
+        Eficas.setStatusBar(self.statusbar)
+        self.toolBar = QtWidgets.QToolBar(Eficas)
+        self.toolBar.setIconSize(QtCore.QSize(36, 36))
+        self.toolBar.setObjectName("toolBar")
+        Eficas.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
+        self.action_Nouveau = QtWidgets.QAction(Eficas)
+        icon = QtGui.QIcon.fromTheme("document-new")
+        self.action_Nouveau.setIcon(icon)
+        self.action_Nouveau.setObjectName("action_Nouveau")
+        self.actionNouvel_Include = QtWidgets.QAction(Eficas)
+        self.actionNouvel_Include.setObjectName("actionNouvel_Include")
+        self.actionARemplacer = QtWidgets.QAction(Eficas)
+        self.actionARemplacer.setObjectName("actionARemplacer")
+        self.actionOuvrir = QtWidgets.QAction(Eficas)
+        icon = QtGui.QIcon.fromTheme("document-open")
+        self.actionOuvrir.setIcon(icon)
+        self.actionOuvrir.setObjectName("actionOuvrir")
+        self.actionEnregistrer = QtWidgets.QAction(Eficas)
+        icon = QtGui.QIcon.fromTheme("document-save")
+        self.actionEnregistrer.setIcon(icon)
+        self.actionEnregistrer.setObjectName("actionEnregistrer")
+        self.actionParametres_Eficas = QtWidgets.QAction(Eficas)
+        self.actionParametres_Eficas.setObjectName("actionParametres_Eficas")
+        self.actionEnregistrer_sous = QtWidgets.QAction(Eficas)
+        icon = QtGui.QIcon.fromTheme("document-save-as")
+        self.actionEnregistrer_sous.setIcon(icon)
+        self.actionEnregistrer_sous.setObjectName("actionEnregistrer_sous")
+        self.actionFermer = QtWidgets.QAction(Eficas)
+        self.actionFermer.setObjectName("actionFermer")
+        self.actionFermer_tout = QtWidgets.QAction(Eficas)
+        self.actionFermer_tout.setObjectName("actionFermer_tout")
+        self.actionCouper = QtWidgets.QAction(Eficas)
+        icon = QtGui.QIcon.fromTheme("edit-cut")
+        self.actionCouper.setIcon(icon)
+        self.actionCouper.setShortcutContext(QtCore.Qt.ApplicationShortcut)
+        self.actionCouper.setObjectName("actionCouper")
+        self.actionCopier = QtWidgets.QAction(Eficas)
+        icon = QtGui.QIcon.fromTheme("edit-copy")
+        self.actionCopier.setIcon(icon)
+        self.actionCopier.setShortcutContext(QtCore.Qt.ApplicationShortcut)
+        self.actionCopier.setObjectName("actionCopier")
+        self.actionColler = QtWidgets.QAction(Eficas)
+        icon = QtGui.QIcon.fromTheme("edit-paste")
+        self.actionColler.setIcon(icon)
+        self.actionColler.setShortcutContext(QtCore.Qt.ApplicationShortcut)
+        self.actionColler.setObjectName("actionColler")
+        self.actionQuitter = QtWidgets.QAction(Eficas)
+        self.actionQuitter.setObjectName("actionQuitter")
+        self.actionRapport_de_Validation = QtWidgets.QAction(Eficas)
+        self.actionRapport_de_Validation.setAutoRepeat(False)
+        self.actionRapport_de_Validation.setObjectName("actionRapport_de_Validation")
+        self.actionFichier_Source = QtWidgets.QAction(Eficas)
+        self.actionFichier_Source.setObjectName("actionFichier_Source")
+        self.actionFichier_Resultat = QtWidgets.QAction(Eficas)
+        self.actionFichier_Resultat.setObjectName("actionFichier_Resultat")
+        self.actionLecteur_Pdf = QtWidgets.QAction(Eficas)
+        self.actionLecteur_Pdf.setObjectName("actionLecteur_Pdf")
+        self.actionEficas = QtWidgets.QAction(Eficas)
+        self.actionEficas.setObjectName("actionEficas")
+        self.actionVersion = QtWidgets.QAction(Eficas)
+        self.actionVersion.setObjectName("actionVersion")
+        self.actionSupprimer = QtWidgets.QAction(Eficas)
+        icon = QtGui.QIcon.fromTheme("edit-delete")
+        self.actionSupprimer.setIcon(icon)
+        self.actionSupprimer.setObjectName("actionSupprimer")
+        self.actionRechercherDsCatalogue = QtWidgets.QAction(Eficas)
+        self.actionRechercherDsCatalogue.setShortcutContext(QtCore.Qt.ApplicationShortcut)
+        self.actionRechercherDsCatalogue.setObjectName("actionRechercherDsCatalogue")
+        self.actionRechercher = QtWidgets.QAction(Eficas)
+        icon = QtGui.QIcon.fromTheme("edit-find")
+        self.actionRechercher.setIcon(icon)
+        self.actionRechercher.setShortcutContext(QtCore.Qt.ApplicationShortcut)
+        self.actionRechercher.setObjectName("actionRechercher")
+        self.actionDeplier_replier = QtWidgets.QAction(Eficas)
+        self.actionDeplier_replier.setObjectName("actionDeplier_replier")
+        self.actionCommentaire = QtWidgets.QAction(Eficas)
+        self.actionCommentaire.setObjectName("actionCommentaire")
+        self.actionParametres = QtWidgets.QAction(Eficas)
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap("../Editeur/icons/parametres.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.actionParametres.setIcon(icon)
+        self.actionParametres.setObjectName("actionParametres")
+        self.actionParametre_Eficas = QtWidgets.QAction(Eficas)
+        self.actionParametre_Eficas.setObjectName("actionParametre_Eficas")
+        self.actionRegles_du_JdC = QtWidgets.QAction(Eficas)
+        self.actionRegles_du_JdC.setObjectName("actionRegles_du_JdC")
+        self.menuFichier.addAction(self.action_Nouveau)
+        self.menuFichier.addAction(self.actionNouvel_Include)
+        self.menuFichier.addAction(self.actionOuvrir)
+        self.menuFichier.addAction(self.actionARemplacer)
+        self.menuFichier.addSeparator()
+        self.menuFichier.addAction(self.actionEnregistrer)
+        self.menuFichier.addAction(self.actionEnregistrer_sous)
+        self.menuFichier.addAction(self.actionFermer)
+        self.menuFichier.addAction(self.actionFermer_tout)
+        self.menuFichier.addSeparator()
+        self.menuFichier.addAction(self.actionQuitter)
+        self.menuEdition.addAction(self.actionCouper)
+        self.menuEdition.addAction(self.actionCopier)
+        self.menuEdition.addAction(self.actionColler)
+        self.menuEdition.addAction(self.actionSupprimer)
+        self.menuEdition.addSeparator()
+        self.menuEdition.addAction(self.actionRechercher)
+        self.menuEdition.addAction(self.actionRechercherDsCatalogue)
+        self.menuEdition.addAction(self.actionDeplier_replier)
+        self.menuJdC.addAction(self.actionRapport_de_Validation)
+        self.menuJdC.addAction(self.actionRegles_du_JdC)
+        self.menuJdC.addAction(self.actionFichier_Source)
+        self.menuJdC.addAction(self.actionFichier_Resultat)
+        self.menuJdC.addSeparator()
+        self.menuJdC.addAction(self.actionCommentaire)
+        self.menuJdC.addAction(self.actionParametres)
+        self.menuAide.addAction(self.actionEficas)
+        self.menuAide.addAction(self.actionParametres_Eficas)
+        self.menuAide.addAction(self.actionVersion)
+        self.menubar.addAction(self.menuFichier.menuAction())
+        self.menubar.addAction(self.menuEdition.menuAction())
+        self.menubar.addAction(self.menuJdC.menuAction())
+        self.menubar.addAction(self.menuAide.menuAction())
+        self.toolBar.addAction(self.action_Nouveau)
+        self.toolBar.addAction(self.actionOuvrir)
+        self.toolBar.addAction(self.actionEnregistrer)
+        self.toolBar.addSeparator()
+        self.toolBar.addAction(self.actionCopier)
+        self.toolBar.addAction(self.actionColler)
+        self.toolBar.addAction(self.actionSupprimer)
+        self.toolBar.addAction(self.actionCouper)
+        self.toolBar.addSeparator()
+        self.toolBar.addAction(self.actionParametres)
+
+        self.retranslateUi(Eficas)
+        self.myQtab.setCurrentIndex(0)
+        QtCore.QMetaObject.connectSlotsByName(Eficas)
+
+    def retranslateUi(self, Eficas):
+        _translate = QtCore.QCoreApplication.translate
+        Eficas.setWindowTitle(_translate("Eficas", "MainWindow"))
+        self.myQtab.setTabText(self.myQtab.indexOf(self.tab_3), _translate("Eficas", "Tab 1"))
+        self.menuFichier.setTitle(_translate("Eficas", "&Fichier"))
+        self.menuEdition.setTitle(_translate("Eficas", "&Edition"))
+        self.menuJdC.setTitle(_translate("Eficas", "&JeuDeDonnées"))
+        self.menuAide.setTitle(_translate("Eficas", "&Aide"))
+        self.toolBar.setWindowTitle(_translate("Eficas", "toolBar"))
+        self.action_Nouveau.setText(_translate("Eficas", "&Nouveau"))
+        self.action_Nouveau.setShortcut(_translate("Eficas", "Ctrl+N"))
+        self.actionNouvel_Include.setText(_translate("Eficas", "Nouvel Include"))
+        self.actionNouvel_Include.setShortcut(_translate("Eficas", "Shift+I"))
+        self.actionARemplacer.setText(_translate("Eficas", "&bad"))
+        self.actionOuvrir.setText(_translate("Eficas", "&Ouvrir"))
+        self.actionOuvrir.setShortcut(_translate("Eficas", "Ctrl+O"))
+        self.actionEnregistrer.setText(_translate("Eficas", "Enregistrer"))
+        self.actionEnregistrer.setShortcut(_translate("Eficas", "Ctrl+S"))
+        self.actionParametres_Eficas.setText(_translate("Eficas", "Parametres Eficas"))
+        self.actionEnregistrer_sous.setText(_translate("Eficas", "Enregistrer sous"))
+        self.actionEnregistrer_sous.setShortcut(_translate("Eficas", "Ctrl+Shift+S"))
+        self.actionFermer.setText(_translate("Eficas", "Fermer "))
+        self.actionFermer.setShortcut(_translate("Eficas", "Ctrl+W"))
+        self.actionFermer_tout.setText(_translate("Eficas", "Fermer tout"))
+        self.actionCouper.setText(_translate("Eficas", "Couper"))
+        self.actionCouper.setShortcut(_translate("Eficas", "Ctrl+X"))
+        self.actionCopier.setText(_translate("Eficas", "Copier"))
+        self.actionCopier.setShortcut(_translate("Eficas", "Ctrl+C"))
+        self.actionColler.setText(_translate("Eficas", "Coller"))
+        self.actionColler.setShortcut(_translate("Eficas", "Ctrl+V"))
+        self.actionQuitter.setText(_translate("Eficas", "Quitter"))
+        self.actionQuitter.setShortcut(_translate("Eficas", "Ctrl+Q"))
+        self.actionRapport_de_Validation.setText(_translate("Eficas", "Rapport de Validation"))
+        self.actionRapport_de_Validation.setShortcut(_translate("Eficas", "Shift+V"))
+        self.actionFichier_Source.setText(_translate("Eficas", "Fichier Source"))
+        self.actionFichier_Resultat.setText(_translate("Eficas", "Fichier Résultat"))
+        self.actionLecteur_Pdf.setText(_translate("Eficas", "Lecteur documentation"))
+        self.actionEficas.setText(_translate("Eficas", "Eficas"))
+        self.actionVersion.setText(_translate("Eficas", "Version"))
+        self.actionSupprimer.setText(_translate("Eficas", "Supprimer"))
+        self.actionRechercherDsCatalogue.setText(_translate("Eficas", "Chercher Mot-Clef"))
+        self.actionRechercherDsCatalogue.setToolTip(_translate("Eficas", " Rechercher dans le catalogue"))
+        self.actionRechercherDsCatalogue.setShortcut(_translate("Eficas", "Shift+F"))
+        self.actionRechercher.setText(_translate("Eficas", "Rechercher"))
+        self.actionRechercher.setToolTip(_translate("Eficas", " Rechercher dans l\'arbre d\'etude"))
+        self.actionRechercher.setShortcut(_translate("Eficas", "Ctrl+F"))
+        self.actionDeplier_replier.setText(_translate("Eficas", "Replier/Deplier"))
+        self.actionDeplier_replier.setShortcut(_translate("Eficas", "Shift+D"))
+        self.actionCommentaire.setText(_translate("Eficas", "Commentaire"))
+        self.actionCommentaire.setShortcut(_translate("Eficas", "Shift+C"))
+        self.actionParametres.setText(_translate("Eficas", "Paramètres"))
+        self.actionParametres.setToolTip(_translate("Eficas", "Gestion des paramètres"))
+        self.actionParametres.setShortcut(_translate("Eficas", "Shift+P"))
+        self.actionParametre_Eficas.setText(_translate("Eficas", "Parametre Eficas"))
+        self.actionRegles_du_JdC.setText(_translate("Eficas", "Régles du JdC"))
+
+
+if __name__ == "__main__":
+    import sys
+    app = QtWidgets.QApplication(sys.argv)
+    Eficas = QtWidgets.QMainWindow()
+    ui = Ui_Eficas()
+    ui.setupUi(Eficas)
+    Eficas.show()
+    sys.exit(app.exec_())
+
diff --git a/UiQT5/myMain.ui b/UiQT5/myMain.ui
new file mode 100644 (file)
index 0000000..04f25f7
--- /dev/null
@@ -0,0 +1,474 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Eficas</class>
+ <widget class="QMainWindow" name="Eficas">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1676</width>
+    <height>811</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle">
+   <string>MainWindow</string>
+  </property>
+  <property name="styleSheet">
+   <string notr="true">/* QMenuBar {
+     background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
+                                       stop:0 rgb(226,255,253), stop:1 rgb(191,237,255));
+ }*/
+
+QMenuBar {
+     background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
+                                       stop:0 rgb(164,165,178), stop:1 rgb(55,66,126));
+ }
+ QMenuBar::item {
+     spacing: 3px; /* spacing between menu bar items */
+     color: white;
+     padding: 1px 4px;
+     background: transparent;
+     border-radius: 4px;
+ }
+
+ QMenuBar::item:selected { /* when selected using mouse or keyboard */
+     background: #a8a8a8;
+ }
+
+ QMenuBar::item:pressed {
+     background: #888888;
+ }
+
+
+
+
+
+
+
+
+</string>
+  </property>
+  <widget class="QWidget" name="centralwidget">
+   <property name="styleSheet">
+    <string notr="true">QComboBox{combobox-popup:0;}</string>
+   </property>
+   <layout class="QVBoxLayout" name="verticalLayout">
+    <property name="spacing">
+     <number>0</number>
+    </property>
+    <property name="margin">
+     <number>0</number>
+    </property>
+    <item>
+     <widget class="QFrame" name="frameEntete">
+      <property name="minimumSize">
+       <size>
+        <width>0</width>
+        <height>61</height>
+       </size>
+      </property>
+      <property name="maximumSize">
+       <size>
+        <width>16777215</width>
+        <height>61</height>
+       </size>
+      </property>
+      <property name="styleSheet">
+       <string notr="true">/*background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
+                                stop:0 rgb(218,229,248), stop:1 rgb(9,86,109));*/
+/*background-color:rgb(208,225,238)*/</string>
+      </property>
+      <property name="frameShape">
+       <enum>QFrame::NoFrame</enum>
+      </property>
+      <property name="frameShadow">
+       <enum>QFrame::Raised</enum>
+      </property>
+      <property name="lineWidth">
+       <number>2</number>
+      </property>
+     </widget>
+    </item>
+    <item>
+     <widget class="QTabWidget" name="myQtab">
+      <property name="styleSheet">
+       <string notr="true">background-color:rgb(224,223,222)</string>
+      </property>
+      <property name="tabPosition">
+       <enum>QTabWidget::North</enum>
+      </property>
+      <property name="currentIndex">
+       <number>0</number>
+      </property>
+      <property name="tabsClosable">
+       <bool>true</bool>
+      </property>
+      <widget class="QWidget" name="tab_3">
+       <attribute name="title">
+        <string>Tab 1</string>
+       </attribute>
+      </widget>
+     </widget>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QMenuBar" name="menubar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>1676</width>
+     <height>30</height>
+    </rect>
+   </property>
+   <widget class="QMenu" name="menuFichier">
+    <property name="title">
+     <string>&amp;Fichier</string>
+    </property>
+    <addaction name="action_Nouveau"/>
+    <addaction name="actionNouvel_Include"/>
+    <addaction name="actionOuvrir"/>
+    <addaction name="actionARemplacer"/>
+    <addaction name="separator"/>
+    <addaction name="actionEnregistrer"/>
+    <addaction name="actionEnregistrer_sous"/>
+    <addaction name="actionFermer"/>
+    <addaction name="actionFermer_tout"/>
+    <addaction name="separator"/>
+    <addaction name="actionQuitter"/>
+   </widget>
+   <widget class="QMenu" name="menuEdition">
+    <property name="title">
+     <string>&amp;Edition</string>
+    </property>
+    <addaction name="actionCouper"/>
+    <addaction name="actionCopier"/>
+    <addaction name="actionColler"/>
+    <addaction name="actionSupprimer"/>
+    <addaction name="separator"/>
+    <addaction name="actionRechercher"/>
+    <addaction name="actionRechercherDsCatalogue"/>
+    <addaction name="actionDeplier_replier"/>
+   </widget>
+   <widget class="QMenu" name="menuJdC">
+    <property name="title">
+     <string>&amp;JeuDeDonnées</string>
+    </property>
+    <addaction name="actionRapport_de_Validation"/>
+    <addaction name="actionRegles_du_JdC"/>
+    <addaction name="actionFichier_Source"/>
+    <addaction name="actionFichier_Resultat"/>
+    <addaction name="separator"/>
+    <addaction name="actionCommentaire"/>
+    <addaction name="actionParametres"/>
+   </widget>
+   <widget class="QMenu" name="menuAide">
+    <property name="title">
+     <string>&amp;Aide</string>
+    </property>
+    <addaction name="actionEficas"/>
+    <addaction name="actionParametres_Eficas"/>
+    <addaction name="actionVersion"/>
+   </widget>
+   <addaction name="menuFichier"/>
+   <addaction name="menuEdition"/>
+   <addaction name="menuJdC"/>
+   <addaction name="menuAide"/>
+  </widget>
+  <widget class="QStatusBar" name="statusbar"/>
+  <widget class="QToolBar" name="toolBar">
+   <property name="windowTitle">
+    <string>toolBar</string>
+   </property>
+   <property name="iconSize">
+    <size>
+     <width>36</width>
+     <height>36</height>
+    </size>
+   </property>
+   <attribute name="toolBarArea">
+    <enum>TopToolBarArea</enum>
+   </attribute>
+   <attribute name="toolBarBreak">
+    <bool>false</bool>
+   </attribute>
+   <addaction name="action_Nouveau"/>
+   <addaction name="actionOuvrir"/>
+   <addaction name="actionEnregistrer"/>
+   <addaction name="separator"/>
+   <addaction name="actionCopier"/>
+   <addaction name="actionColler"/>
+   <addaction name="actionSupprimer"/>
+   <addaction name="actionCouper"/>
+   <addaction name="separator"/>
+   <addaction name="actionParametres"/>
+  </widget>
+  <action name="action_Nouveau">
+   <property name="icon">
+    <iconset theme="document-new">
+     <normaloff/>
+    </iconset>
+   </property>
+   <property name="text">
+    <string>&amp;Nouveau</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+N</string>
+   </property>
+  </action>
+  <action name="actionNouvel_Include">
+   <property name="text">
+    <string>Nouvel Include</string>
+   </property>
+   <property name="shortcut">
+    <string>Shift+I</string>
+   </property>
+  </action>
+  <action name="actionARemplacer">
+   <property name="text">
+    <string>&amp;bad</string>
+   </property>
+  </action>
+  <action name="actionOuvrir">
+   <property name="icon">
+    <iconset theme="document-open">
+     <normaloff/>
+    </iconset>
+   </property>
+   <property name="text">
+    <string>&amp;Ouvrir</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+O</string>
+   </property>
+  </action>
+  <action name="actionEnregistrer">
+   <property name="icon">
+    <iconset theme="document-save">
+     <normaloff/>
+    </iconset>
+   </property>
+   <property name="text">
+    <string>Enregistrer</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+S</string>
+   </property>
+  </action>
+  <action name="actionParametres_Eficas">
+   <property name="text">
+    <string>Parametres Eficas</string>
+   </property>
+  </action>
+  <action name="actionEnregistrer_sous">
+   <property name="icon">
+    <iconset theme="document-save-as">
+     <normaloff/>
+    </iconset>
+   </property>
+   <property name="text">
+    <string>Enregistrer sous</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+Shift+S</string>
+   </property>
+  </action>
+  <action name="actionFermer">
+   <property name="text">
+    <string>Fermer </string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+W</string>
+   </property>
+  </action>
+  <action name="actionFermer_tout">
+   <property name="text">
+    <string>Fermer tout</string>
+   </property>
+  </action>
+  <action name="actionCouper">
+   <property name="icon">
+    <iconset theme="edit-cut">
+     <normaloff/>
+    </iconset>
+   </property>
+   <property name="text">
+    <string>Couper</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+X</string>
+   </property>
+   <property name="shortcutContext">
+    <enum>Qt::ApplicationShortcut</enum>
+   </property>
+  </action>
+  <action name="actionCopier">
+   <property name="icon">
+    <iconset theme="edit-copy">
+     <normaloff/>
+    </iconset>
+   </property>
+   <property name="text">
+    <string>Copier</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+C</string>
+   </property>
+   <property name="shortcutContext">
+    <enum>Qt::ApplicationShortcut</enum>
+   </property>
+  </action>
+  <action name="actionColler">
+   <property name="icon">
+    <iconset theme="edit-paste">
+     <normaloff/>
+    </iconset>
+   </property>
+   <property name="text">
+    <string>Coller</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+V</string>
+   </property>
+   <property name="shortcutContext">
+    <enum>Qt::ApplicationShortcut</enum>
+   </property>
+  </action>
+  <action name="actionQuitter">
+   <property name="text">
+    <string>Quitter</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+Q</string>
+   </property>
+  </action>
+  <action name="actionRapport_de_Validation">
+   <property name="text">
+    <string>Rapport de Validation</string>
+   </property>
+   <property name="shortcut">
+    <string>Shift+V</string>
+   </property>
+   <property name="autoRepeat">
+    <bool>false</bool>
+   </property>
+  </action>
+  <action name="actionFichier_Source">
+   <property name="text">
+    <string>Fichier Source</string>
+   </property>
+  </action>
+  <action name="actionFichier_Resultat">
+   <property name="text">
+    <string>Fichier Résultat</string>
+   </property>
+  </action>
+  <action name="actionLecteur_Pdf">
+   <property name="text">
+    <string>Lecteur documentation</string>
+   </property>
+  </action>
+  <action name="actionEficas">
+   <property name="text">
+    <string>Eficas</string>
+   </property>
+  </action>
+  <action name="actionVersion">
+   <property name="text">
+    <string>Version</string>
+   </property>
+  </action>
+  <action name="actionSupprimer">
+   <property name="icon">
+    <iconset theme="edit-delete">
+     <normaloff/>
+    </iconset>
+   </property>
+   <property name="text">
+    <string>Supprimer</string>
+   </property>
+  </action>
+  <action name="actionRechercherDsCatalogue">
+   <property name="text">
+    <string>Chercher Mot-Clef</string>
+   </property>
+   <property name="toolTip">
+    <string> Rechercher dans le catalogue</string>
+   </property>
+   <property name="shortcut">
+    <string>Shift+F</string>
+   </property>
+   <property name="shortcutContext">
+    <enum>Qt::ApplicationShortcut</enum>
+   </property>
+  </action>
+  <action name="actionRechercher">
+   <property name="icon">
+    <iconset theme="edit-find">
+     <normaloff/>
+    </iconset>
+   </property>
+   <property name="text">
+    <string>Rechercher</string>
+   </property>
+   <property name="toolTip">
+    <string> Rechercher dans l'arbre d'etude</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+F</string>
+   </property>
+   <property name="shortcutContext">
+    <enum>Qt::ApplicationShortcut</enum>
+   </property>
+  </action>
+  <action name="actionDeplier_replier">
+   <property name="text">
+    <string>Replier/Deplier</string>
+   </property>
+   <property name="shortcut">
+    <string>Shift+D</string>
+   </property>
+  </action>
+  <action name="actionCommentaire">
+   <property name="text">
+    <string>Commentaire</string>
+   </property>
+   <property name="shortcut">
+    <string>Shift+C</string>
+   </property>
+  </action>
+  <action name="actionParametres">
+   <property name="icon">
+    <iconset>
+     <normaloff>../Editeur/icons/parametres.png</normaloff>../Editeur/icons/parametres.png</iconset>
+   </property>
+   <property name="text">
+    <string>Paramètres</string>
+   </property>
+   <property name="toolTip">
+    <string>Gestion des paramètres</string>
+   </property>
+   <property name="shortcut">
+    <string>Shift+P</string>
+   </property>
+  </action>
+  <action name="actionParametre_Eficas">
+   <property name="text">
+    <string>Parametre Eficas</string>
+   </property>
+  </action>
+  <action name="actionRegles_du_JdC">
+   <property name="text">
+    <string>Régles du JdC</string>
+   </property>
+  </action>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>