Salome HOME
Retablissement de la selection lors de l'activation du module
[modules/adao.git] / src / daSalome / daGUI / daGuiImpl / adaoCase.py
index ddb1b8d945d8c755b3a3da50661eb73eec6d43ef..ca2e2c00068a094fde008999e078f59cdb826877 100644 (file)
@@ -1,4 +1,4 @@
-# -*- coding: iso-8859-1 -*-
+# -*- coding: utf-8 -*-
 #  Copyright (C) 2010 EDF R&D
 #
 #  This library is free software; you can redistribute it and/or
@@ -26,28 +26,28 @@ import SalomePyQt
 class AdaoCase:
 
   def __init__(self):
-    self.__name = "new_case"
-    self.__filename = ""
-    self.__yacs_filename = ""
 
-  def get_name(self):
-    return self.__name
+    self.name = "not yet defined"           # Name of the case
 
-  def set_name(self, name):
-    self.__name = str(name)
+    self.filename = "not yet defined"       # Python filename generated by Eficas
+    self.yacs_filename = "not yet defined"  # Yacs schema filename
 
-  def get_filename(self):
-    return self.__filename
+    self.salome_study_id = -1               # Study of the case
+    self.salome_study_item = None           # Study item object
 
-  def set_filename(self, name):
-    self.__filename = str(name)
+    self.eficas_editor = None               # Editor object from Eficas
+
+  def isOk(self):
+    if self.eficas_editor.jdc:
+      return self.eficas_editor.jdc.isvalid()
+    return False
 
   def createYACSFile(self):
     rtn = ""
-    if (self.__filename == ""):
+    if (self.filename == ""):
       return "You need to save your case to export it"
 
-    filename = self.__filename[:self.__filename.rfind(".")] + '.py'
+    filename = self.filename[:self.filename.rfind(".")] + '.py'
     if not os.path.exists(filename):
       msg =  "Cannot find the py file for YACS generation \n"
       msg += "Is your case correct ? \n"
@@ -59,11 +59,11 @@ class AdaoCase:
 
     adao_path = os.environ["ADAO_ROOT_DIR"]
     adao_exe = adao_path + "/bin/salome/AdaoYacsSchemaCreator.py"
-    self.__yacs_filename = self.__filename[:self.__filename.rfind(".")] + '.xml'
-    args = [adao_exe, filename, self.__yacs_filename]
+    self.yacs_filename = self.filename[:self.filename.rfind(".")] + '.xml'
+    args = ["python", adao_exe, filename, self.yacs_filename]
     p = subprocess.Popen(args)
     (stdoutdata, stderrdata) = p.communicate()
-    if not os.path.exists(self.__yacs_filename):
+    if not os.path.exists(self.yacs_filename):
       msg  = "An error occured during the execution of AdaoYacsSchemaCreator.py \n"
       msg += "See erros details in your terminal \n"
       return msg
@@ -78,10 +78,9 @@ class AdaoCase:
     try:
       import libYACS_Swig
       yacs_swig = libYACS_Swig.YACS_Swig()
-      yacs_swig.loadSchema(self.__yacs_filename)
+      yacs_swig.loadSchema(self.yacs_filename)
     except:
       msg =  "Please install YACS module, error was: \n"
       msg += traceback.format_exc()
       return msg
     return rtn
-