--- /dev/null
+# -*- 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()
--- /dev/null
+<?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>&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>&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>