From: pascale.noyret Date: Mon, 17 Aug 2015 10:37:29 +0000 (+0200) Subject: ajout du choix du code pour eficas multi X-Git-Tag: V_77_PSEN~14 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=eb90576eb3c9f187d3c66ba0c72f5be39851e2d3;p=tools%2Feficas.git ajout du choix du code pour eficas multi --- diff --git a/InterfaceQT4/monChoixCode.py b/InterfaceQT4/monChoixCode.py new file mode 100644 index 00000000..fcd19856 --- /dev/null +++ b/InterfaceQT4/monChoixCode.py @@ -0,0 +1,115 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# Modules Python +# Modules Eficas + +import os,sys,re +from desChoixCode import Ui_ChoixCode +from PyQt4.QtGui import * +from PyQt4.QtCore import * + + +# Import des panels + +class MonChoixCode(Ui_ChoixCode,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, parentAppli=None): + QDialog.__init__(self,parentAppli) + self.setModal(True) + self.setupUi(self) + 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) + + def sortie(self): + QDialog.reject(self) + + def verifieInstall(self): + self.groupCodes=QButtonGroup(self.groupBox) + vars=os.environ.items() + listeCode=('Aster','Adao','Carmel3D','CarmelCND','CF','MAP','MT','PSEN','Telemac','ZCracks',) + i=1 + for code in listeCode: + nom='rB_'+code + dirCode=os.path.abspath(os.path.join(os.path.abspath(__file__),'../..',code)) + try : + l=os.listdir(dirCode) + bouton=QRadioButton(self) + bouton.setMinimumSize(QSize(0, 30)) + bouton.setText(code) + bouton.setGeometry(QRect(10,20+30*i, 300, 30)) + bouton.show() + self.groupCodes.addButton(bouton) + i=i+1 + except : + clef="PREFS_CATA_"+code + try : + repIntegrateur=os.path.abspath(os.environ[clef]) + l=os.listdir(repIntegrateur) + bouton=QRadioButton(self) + bouton.setGeometry(QRect(10,20+30*i, 300, 30)) + bouton.setMinimumSize(QSize(0, 30)) + bouton.setText(code) + bouton.show() + i=i+1 + self.groupCodes.addButton(bouton) + except : + pass + listeCodesIntegrateur=[] + for k,v in vars: + if re.search('^PREFS_CATA_',k) != None and k[11:] not in listeCode: + listeCodesIntegrateur.append(k[11:]) + for code in listeCodesIntegrateur: + try : + clef="PREFS_CATA_"+code + repIntegrateur=os.path.abspath(os.environ[clef]) + l=os.listdir(repIntegrateur) + bouton=QRadioButton(self) + bouton.setGeometry(QRect(10,20+30*i, 300, 30)) + i=i+1 + bouton.setMinimumSize(QSize(0, 30)) + bouton.setText(code) + bouton.show() + self.groupCodes.addButton(bouton) + except : + pass + self.parentAppli.ListeCode=self.parentAppli.ListeCode+listeCodesIntegrateur + + def choisitCode(self): + bouton=self.groupCodes.checkedButton() + code=str(bouton.text()) + codeUpper=code.upper() + self.parentAppli.code=codeUpper + try : + dirCode=os.path.abspath(os.path.join(os.path.abspath(__file__),'../..',code)) + l=os.listdir(dirCode) + sys.path.insert(0,dirCode) + except : + clef="PREFS_CATA_"+code + repIntegrateur=os.path.abspath(os.environ[clef]) + l=os.listdir(repIntegrateur) + sys.path.insert(0,repIntegrateur) + self.close() diff --git a/UiQT4/CMakeLists.txt b/UiQT4/CMakeLists.txt index 2bb2bd3c..fcb4b2e7 100644 --- a/UiQT4/CMakeLists.txt +++ b/UiQT4/CMakeLists.txt @@ -34,6 +34,7 @@ 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 ) diff --git a/UiQT4/desChoixCode.ui b/UiQT4/desChoixCode.ui new file mode 100644 index 00000000..33ea0f8b --- /dev/null +++ b/UiQT4/desChoixCode.ui @@ -0,0 +1,155 @@ + + + ChoixCode + + + + 0 + 0 + 555 + 332 + + + + + 0 + 0 + + + + Choix du code + + + + + + + 0 + 0 + + + + + 0 + 30 + + + + Veuillez choisir un code : + + + + + + + + 0 + 0 + + + + + + + + + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 140 + 40 + + + + + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + &Cancel + + + + + + true + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 40 + 20 + + + + + + + + + 140 + 40 + + + + Validate choice + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + + &OK + + + + + + true + + + true + + + + + + + + + + diff --git a/UiQT4/makefile b/UiQT4/makefile index 8b27256c..016b7e49 100644 --- a/UiQT4/makefile +++ b/UiQT4/makefile @@ -4,7 +4,7 @@ QTRELEASE = lrelease-qt4 .SUFFIXES : .ui .py .ts .qm -PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCommandes.py desRecherche.py \ +PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCode.py desChoixCommandes.py desRecherche.py \ desSelectVal.py desViewTexte.py desVisu.py desWidgetCreeParam.py desWidgetCommande.py \ desWidgetOptionnel.py Tuple2.py Tuple3.py \ desWidgetBloc.py desWidgetCB.py desWidgetCommentaire.py desWidgetDate.py \