Salome HOME
Tout ok sauf la gestion de la duplication...
[modules/adao.git] / src / daSalome / daGUI / daEficasWrapper / datassimEficasWrapper.py
index 01a6f6468d9814cba83ce2d0992eaad58041f72b..9f27c153a14677abfe1e91ab674d1ee78044e4ab 100644 (file)
@@ -36,6 +36,7 @@ class DatassimEficasWrapper(EficasWrapper):
 
     __myCallbackId = {}
     __close_editor = None
+    __file_open_name = ""
 
     def __init__(self, parent, code="DATASSIM"):
         EficasWrapper.__init__(self, parent, code)
@@ -74,14 +75,45 @@ class DatassimEficasWrapper(EficasWrapper):
         CaseName = self.viewmanager.myQtab.tabText(index)
         return CaseName
       else:
-        CaseName = self.__close_editor.fichier.split('/')[-1]
+        CaseName = str(self.__close_editor.fichier.split('/')[-1])
         return CaseName
 
+    def getFileCaseName(self):
+      if self.__close_editor is None:
+        index = self.viewmanager.myQtab.currentIndex()
+        editor = self.viewmanager.dict_editors[index]
+        return editor.fichier
+      else:
+        return self.__close_editor.fichier
+
+    def Openfile(self, filename):
+      self.viewmanager.handleOpen(fichier=filename)
+
+    def handleOpenRecent(self):
+      """
+      @overload
+      """
+      idx = self.sender()
+      fichier = self.ficRecents[idx]
+      self.__file_open_name = fichier
+      self.notifyObserver(EficasEvent.EVENT_TYPES.OPEN)
+      self.__file_open_name = ""
+
     def fileOpen(self):
         """
         @overload
         """
-        QtGui.QMessageBox.warning( self, "Alerte", "You cannot Open a Case into Eficas window when you are using Datassim SALOME module")
+        fichier = QtGui.QFileDialog.getOpenFileName(self,
+                                                    self.trUtf8('Ouvrir Fichier'),
+                                                    self.CONFIGURATION.savedir,
+                                                    self.trUtf8('JDC Files (*.comm);;''All Files (*)'))
+        if fichier.isNull(): return
+        self.__file_open_name = fichier
+        self.notifyObserver(EficasEvent.EVENT_TYPES.OPEN)
+        self.__file_open_name = ""
+
+    def getOpenFileName(self):
+      return str(self.__file_open_name)
 
     def fileClose(self):
         """
@@ -108,5 +140,9 @@ class DatassimEficasWrapper(EficasWrapper):
       """
       while len(self.viewmanager.dict_editors) > 0:
         self.viewmanager.myQtab.setCurrentIndex(0)
-        res = self.fileClose()
-        if res==2 : return res   # l utilsateur a annule
+        if self.viewmanager.myQtab.currentIndex() == 0:
+          res = self.fileClose()
+          if res==2 : return res   # l utilsateur a annule
+        else:
+          return 0
+