]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
Add type 'Repertoire'
authorRenaud Barate <renaud.barate@edf.fr>
Fri, 20 Jan 2012 10:22:02 +0000 (10:22 +0000)
committerRenaud Barate <renaud.barate@edf.fr>
Fri, 20 Jan 2012 10:22:02 +0000 (10:22 +0000)
Ihm/I_MCSIMP.py
InterfaceQT4/monUniqueBasePanel.py
Noyau/N_VALIDATOR.py
UiQT4/desUniqueBase.ui

index 614d41ce02e3ee183159150463964d2ba1f5de47..896e384af80c4a5fa3ce87699e0091f36463e605 100644 (file)
@@ -582,7 +582,7 @@ class MCSIMP(I_OBJECT.OBJECT):
           valid=1
       except ValError,e:
           #traceback.print_exc()
-          comment=str(e)
+          comment=unicode(e)
           valid=0
       return valid,comment
 
index 0897dca38342027c372629d0f083a70d9c49ddee..3f2e60dfd5f371a1eb0ca823afef48b3ac159db7 100644 (file)
@@ -79,6 +79,7 @@ class MonUniqueBasePanel(DUnBase,QTPanel,SaisieValeur):
         self.connect(self.BSalome,SIGNAL("pressed()"),self.BSalomePressed)
         self.connect(self.BView2D,SIGNAL("clicked()"),self.BView2DPressed)
         self.connect(self.BFichier,SIGNAL("clicked()"),self.BFichierPressed)
+        self.connect(self.BRepertoire,SIGNAL("clicked()"),self.BRepertoirePressed)
 
 
   def detruitBouton(self):
@@ -86,10 +87,15 @@ class MonUniqueBasePanel(DUnBase,QTPanel,SaisieValeur):
         self.BSalome.setIcon(icon)
         mc = self.node.item.get_definition()
         #if ( (self.node.item.get_nom() != "FileName" ) and ( mc.type[0]!="Fichier")) :
-        if mc.type[0]!="Fichier" and mc.type[0]!="FichierNoAbs":
+        if mc.type[0] == "Fichier" or mc.type[0] == "FichierNoAbs":
+           self.bParametres.close()
+           self.BRepertoire.close()
+        elif mc.type[0] == "Repertoire":
+           self.bParametres.close()
            self.BFichier.close()
         else :
-          self.bParametres.close()
+           self.BFichier.close()
+           self.BRepertoire.close()
         type = mc.type[0]
         # TODO: Use type properties instead of hard-coded "grno" and "grma" type check
         enable_salome_selection = self.editor.salome and \
@@ -132,7 +138,8 @@ class MonUniqueBasePanel(DUnBase,QTPanel,SaisieValeur):
                   'I'   : "Un entier est attendu",
                   'Matrice' : 'Une Matrice est attendue',
                   'Fichier' : 'Un fichier est attendu',
-                  'FichierNoAbs' : 'Un fichier est attendu'}
+                  'FichierNoAbs' : 'Un fichier est attendu',
+                  'Repertoire' : u'Un répertoire est attendu'}
       mctype = mc.type[0]
 
       if type(mctype) == types.ClassType:
@@ -180,7 +187,16 @@ class MonUniqueBasePanel(DUnBase,QTPanel,SaisieValeur):
          elif hasattr(self, "BSelectInFile"):
              self.BSelectInFile.setVisible(0)
 
-          
+  def BRepertoirePressed(self):
+      directory = QFileDialog.getExistingDirectory(self.appliEficas,
+            directory = self.appliEficas.CONFIGURATION.savedir,
+            options = QFileDialog.ShowDirsOnly)
+
+      if not directory.isNull():
+         absdir = os.path.abspath(unicode(directory))
+         self.appliEficas.CONFIGURATION.savedir = os.path.dirname(absdir)
+         self.lineEditVal.setText(directory)
+
   def BSelectInFilePressed(self):
       from monSelectImage import MonSelectImage
       MonSelectImage(file=self.image,parent=self).show()
index 7c8420a261c392379902194451b7229bae4552bf..1ec334a34b4b8447f4ea5f00373f8ac47598df3c 100644 (file)
@@ -139,6 +139,12 @@ class TypeProtocol(PProtocol):
                  if (len(typ) > 2 and typ[2] == "Sauvegarde") or isinstance(obj, type("")):
                      return obj
                  else : raise ValError("%s n'est pas un fichier valide" % repr(obj))
+            elif type_permis == 'Repertoire':
+                import os
+                if os.path.isdir(obj):
+                    return obj
+                else:
+                    raise ValError(u"%s n'est pas un répertoire valide" % repr(obj))
             elif type(type_permis) == types.ClassType or isinstance(type_permis,type):
                 try:
                     if self.is_object_from(obj,type_permis): return obj
index 5f3936adfbefe13b9ad134a687f4ec1563bd4a7e..f00fb15c1a8415a0aad8c510628aba37cacfa6f4 100644 (file)
            </property>
           </widget>
          </item>
+         <item row="2" column="2">
+          <widget class="QPushButton" name="BRepertoire">
+           <property name="text">
+            <string>Répertoire</string>
+           </property>
+          </widget>
+         </item>
         </layout>
        </item>
        <item row="2" column="0">