Salome HOME
ajout du choix du code pour eficas multi
authorpascale.noyret <pascale.noyret@edf.fr>
Mon, 17 Aug 2015 10:37:29 +0000 (12:37 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Mon, 17 Aug 2015 10:37:29 +0000 (12:37 +0200)
InterfaceQT4/monChoixCode.py [new file with mode: 0644]
UiQT4/CMakeLists.txt
UiQT4/desChoixCode.ui [new file with mode: 0644]
UiQT4/makefile

diff --git a/InterfaceQT4/monChoixCode.py b/InterfaceQT4/monChoixCode.py
new file mode 100644 (file)
index 0000000..fcd1985
--- /dev/null
@@ -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()
index 2bb2bd3cb2aea923ecb98951f449053e5b81c515..fcb4b2e7119e93f2d959c59dadb64cf1b4fc6d01 100644 (file)
@@ -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 (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>
index 8b27256c2eee00ac1a6a400fb46f6ebdc54c3b7c..016b7e4961f6f5989de93f79bdf4fc7137d3206f 100644 (file)
@@ -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 \