]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
*** empty log message ***
authorPascale Noyret <pascale.noyret@edf.fr>
Tue, 12 May 2009 15:21:56 +0000 (15:21 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Tue, 12 May 2009 15:21:56 +0000 (15:21 +0000)
18 files changed:
Editeur/comploader.py
Editeur/import_code.py
Editeur/listePatrons.py
InterfaceQT4/editor.py
InterfaceQT4/eficas_go.py
InterfaceQT4/qtCommun.py
InterfaceQT4/qtEficas.py
InterfaceQT4/readercata.py
Sous_epaisseur/SEP_Cata_V0.py [new file with mode: 0644]
Sous_epaisseur/__init__.py [new file with mode: 0644]
Sous_epaisseur/catalogues_sep.ini [new file with mode: 0644]
Sous_epaisseur/configuration.py [new file with mode: 0644]
Sous_epaisseur/editeur.ini [new file with mode: 0644]
Sous_epaisseur/prefs.py [new file with mode: 0644]
Sous_epaisseur/properties.py [new file with mode: 0644]
Sous_epaisseur/qtEficas_SEP.py [new file with mode: 0755]
Sous_epaisseur/sdistSEP.py [new file with mode: 0644]
Sous_epaisseur/style.py [new file with mode: 0644]

index df7bebfb1be152ad264f3074e717c89b8af70d8e..ba43dbfbc72858afef46d00a11856fbf9d0d2f3b 100644 (file)
@@ -49,10 +49,10 @@ def charger_composants(Ihm="TK"):
        repertoire=reper+"/../InterfaceTK"
        package="InterfaceTK"
     else :
-       #repertoire=reper+"/../InterfaceQT4"
-       #package="InterfaceQT4"
-       repertoire=reper+"/../InterfaceQT"
-       package="InterfaceQT"
+       repertoire=reper+"/../InterfaceQT4"
+       package="InterfaceQT4"
+       #repertoire=reper+"/../InterfaceQT"
+       #package="InterfaceQT"
     listfich=glob.glob(os.path.join(repertoire, "compo*.py"))
     for fichier in listfich:
         m= os.path.basename(fichier)[:-3]
index ce04c848319879699e25f981386517e25fc27b02..75960c111dab5b975ea9ccf0409556fd64c5f49e 100644 (file)
 import sys
 import os
 
+print dir()
 import prefs
 
 INSTALLDIR=prefs.INSTALLDIR
 sys.path.append(INSTALLDIR)
-#sys.path.append(INSTALLDIR+"/UiQT4")
-#sys.path.append(INSTALLDIR+"/InterfaceQT4")
-sys.path.append(INSTALLDIR+"/Ui")
-sys.path.append(INSTALLDIR+"/InterfaceQT")
+sys.path.append(INSTALLDIR+"/UiQT4")
+sys.path.append(INSTALLDIR+"/InterfaceQT4")
+#sys.path.append(INSTALLDIR+"/Ui")
+#sys.path.append(INSTALLDIR+"/InterfaceQT")
 sys.path.append(INSTALLDIR+"/Editeur")
 
 # Ce chemin permet d'importer les modules Noyau et Validation
index f6a8a97732107542a6dbac21b76dc965f8f649f8..19f81ef5dab846f045fe36c241e9c4c6a2e413cd 100644 (file)
@@ -5,7 +5,8 @@ sous_menus={"ASTER" : {0:{"3D":"3D.comm"},1:{"poutre":"pou.comm"},2:{"salome":"s
            "OPENTURNS_STUDY" : {0:{"Anne":"Std.comm"}},
             "OPENTURNS_WRAPPER" : {0:{"Anne":"wrapper_exemple.comm"}},
            "HOMARD" : {},
-           "CUVE2DG" : {}
+           "CUVE2DG" : {},
+            'SEP' : {}
            }
 
 class listePatrons :
index 0c16754b1741502542a4788b34e5a7e8cfe75072..57071890ccb53c40719f7fb3050a988ebcc3d5a0 100644 (file)
@@ -480,8 +480,6 @@ class JDCEditor(QSplitter):
       if generator.plugins.has_key(format):
          # Le generateur existe on l'utilise
          self.generator=generator.plugins[format]()
-         print format
-         print self.generator
          jdc_formate=self.generator.gener(self.jdc,format='beautifie')
          if not self.generator.cr.estvide():            
             self.affiche_infos("Erreur à la generation")
@@ -572,16 +570,17 @@ class JDCEditor(QSplitter):
             except :
                pass
 
-            try : 
-               file_homard = fn[:fn.rfind(".")] + '.conf_homard'
-               self.jdc_homard=self.generator.get_homard()
-               self.jdc_homard=""
-               f=open(file_homard,'w')
-               for ligne in self.jdc_homard:
-                  f.write(ligne)
-                  f.write('\n')
-               f.close()
-            except :
+               
+            #try : 
+            if 1 :
+               self.tubePy=self.generator.getTubePy()
+               fileTube = '/tmp/tube.py'
+               if self.tubePy != '' :
+                  f=open(fileTube,'w')
+                  f.write(self.tubePy)
+                  f.close()
+            #except :
+            else :
                pass
 
             if self.salome : 
index e79bea8b0439c9ab756fe213a5b6b4d36aa51d46..d4e0c6f19c2d5e9636f895562438b61d872a60b7 100644 (file)
@@ -42,7 +42,27 @@ def lance_eficas(code=None,fichier=None):
     Eficas=Appli(code=code)
     Eficas.show()
 
-
     res=app.exec_()
     sys.exit(res)
 
+
+def lance_eficas_ssIhm(code=None,fichier=None):
+    """
+        Lance l'appli EFICAS pour trouver les noms des groupes
+    """
+    # Analyse des arguments de la ligne de commande
+    options=session.parse(sys.argv)
+    code=options.code
+
+    app = QApplication(sys.argv)
+    Eficas=Appli(code=code)
+
+    from ssIhm  import QWParentSSIhm
+    parent=QWParentSSIhm(code,Eficas,'v9.4')
+
+    from readercata import READERCATA
+    readercata = READERCATA( parent, Eficas )
+   
+    from editor import JDCEditor
+    monEditeur=JDCEditor(Eficas,"/home/noyret/Eficas_Aster/zz.comm")
+    print monEditeur.jdc.cherche_Groupes()
index 8134c46260cdf45d8dff2c27935401bbc0b9e27b..b317169efc452d8ccd2a73edc63a714187bb5ab0 100644 (file)
@@ -137,7 +137,7 @@ class QTPanelTBW2(QTPanel):
         self.node      = node
         self.BuildLBNouvCommande()
         self.NbRecherches = 0
-       if racine == 1 :
+        if racine == 1 :
            self.AppelleBuildLBRegles()
         else :
            self.connect(self.TWChoix, SIGNAL("currentChanged(QWidget *)"), self.handleCurrentChanged)
index 5ff8180e66593e07932680c3e50d565e75ba3a25..b60eac1a90b84ac9666c54e4b68623184152c09a 100644 (file)
@@ -24,6 +24,7 @@ class Appli(Ui_Eficas,QMainWindow):
         self.salome=salome
         self.format_fichier="python"   #par defaut
        self.top = self #(pour CONFIGURATION)
+        self.QWParent=None #(Pour lancement sans IHM)
 
         #PN pour Salome ( on passe d un code a l autre)
         if salome :
index 3f32b3c64936d5e73001e1c3fa6b9a2480d7cc21..a35dce25095c39f09e0be86efb1994f9c16d2d53 100644 (file)
@@ -91,7 +91,7 @@ class READERCATA:
           lab+=QString(" avec le catalogue ")
           lab+=self.version_code
           try :
-          # souci pour les includes
+          # souci pour les includes et sans Ihm
               self.appliEficas.setWindowTitle(lab)
           except :
               pass
diff --git a/Sous_epaisseur/SEP_Cata_V0.py b/Sous_epaisseur/SEP_Cata_V0.py
new file mode 100644 (file)
index 0000000..5058d07
--- /dev/null
@@ -0,0 +1,33 @@
+## -*- coding: utf-8 -*-
+#
+## --------------------------------------------------
+## debut entete
+## --------------------------------------------------
+#
+from Accas import *
+#
+#CONTEXT.debug = 1
+JdC = JDC_CATA ( code = 'SEP',
+                 execmodul = None,
+                # regles = ( AU_MOINS_UN ( 'M_TUBE','MAILLAGE_COUDE','CHARGE_LIMITE ), ),
+                 regles = ( AU_MOINS_UN ( 'M_TUBE',), ),
+                 ) # Fin JDC_CATA
+#
+
+M_TUBE= MACRO (nom       = 'M_TUBE',
+              op        = None,
+              sd_prod   = None,
+              reentrant = 'n',
+              UIinfo    = {"groupes":("Outils métier",)},
+              fr        = "Parametres pour Le tube  ",
+              dir_name  = SIMP(statut='o', typ='TXM',),
+              methode   = SIMP(statut='o', typ='TXM',into=('generatrices','tortue',),),
+              PARA_GEOM = FACT( statut='o',
+                               max=1,
+                               r_ext=SIMP(statut='o', typ='R', defaut=228.6,val_min=100,val_max=300),
+                               unite=SIMP(statut='o', typ='TXM', defaut='mm',into=('mm',),),
+                               ep_nominale=SIMP(statut='o', typ='R', defaut=22.000),   
+                               ),
+)
+
+
diff --git a/Sous_epaisseur/__init__.py b/Sous_epaisseur/__init__.py
new file mode 100644 (file)
index 0000000..40a96af
--- /dev/null
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/Sous_epaisseur/catalogues_sep.ini b/Sous_epaisseur/catalogues_sep.ini
new file mode 100644 (file)
index 0000000..73053bc
--- /dev/null
@@ -0,0 +1,9 @@
+# Choix des catalogues
+import os
+#rep_cata=os.path.dirname(os.path.abspath(__file__))
+rep_cata=os.getcwd()
+
+catalogues = (
+  ('SEP','V0',os.path.join(rep_cata,'SEP_Cata_V0.py'),'SEP','SEP'),
+)
+
diff --git a/Sous_epaisseur/configuration.py b/Sous_epaisseur/configuration.py
new file mode 100644 (file)
index 0000000..def14dc
--- /dev/null
@@ -0,0 +1,193 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+"""
+    Ce module sert pour charger les paramètres de configuration d'EFICAS
+"""
+# Modules Python
+import os, sys, string, types, re
+import traceback
+from PyQt4.QtGui  import *
+
+# Modules Eficas
+from Editeur import utils
+
+class CONFIG:
+
+  #-----------------------------------
+  def __init__(self,appli,repIni):
+  #-----------------------------------
+
+  # Classe de base permettant de lire, afficher
+  # et sauvegarder les fichiers utilisateurs 
+  # On a deux directories : la directory generale (Repertoire d instal + Nom du code
+  #                       Par exemple : ~/Install_Eficas/EficasV1_14/Openturns_Wrapper
+  # et la directorie de l utilisateur 
+  #                      HOME/.Eficas_SousEp
+  # Le fichier prefs.py va etre lu dans la directory generale puis surcharge eventuellement 
+  # par celui de l utilisateur
+  # le fichier de catalogue va etre lu dans la directory de l utilisateur s il exite
+  # dans le fichier general sinon
+      self.appli   = appli  
+      self.code    = appli.code
+      self.salome  = appli.salome
+      self.repIni = repIni
+      self.fic_prefs ="prefs.py"
+
+      if self.appli: 
+         self.parent=appli.top
+         #self.appli.format_fichier="openturns_study"
+      else:         self.parent=None
+
+
+      self.labels=("rep_user","INSTALLDIR","path_doc","exec_acrobat","rep_cata","initialdir","savedir")
+
+      # Valeurs par defaut
+      self.rep_user     = os.path.join(os.environ['HOME'],'.Eficas_SousEp')
+      self.initialdir   = self.rep_user
+      self.path_doc     = self.rep_user
+      self.savedir      = self.rep_user
+      self.exec_acrobat = self.rep_user
+      #Lecture des fichiers utilisateurs
+      self.lecture_fichier_ini_standard()
+      self.lecture_fichier_ini_utilisateur()
+      self.lecture_catalogues()
+
+  #--------------------------------------
+  def lecture_fichier_ini_standard(self):
+  #--------------------------------------
+  # Verifie l'existence du fichier "standard"
+  # appelle la lecture de ce fichier
+      self.fic_ini = os.path.join(self.repIni,self.fic_prefs)
+      if not os.path.isfile(self.fic_ini):
+          QMessageBox.critical( None, "Import du fichier de Configuration", 
+                               "Erreur à la lecture du fichier de configuration "+self.fic_ini+".py" )
+          sys.exit(0)
+      import prefs
+      for k in self.labels :
+         try :
+            valeur=getattr(prefs,k)
+            setattr(self,k,valeur)
+         except :
+            pass
+              
+
+  #--------------------------------------
+  def lecture_fichier_ini_utilisateur(self):
+  #--------------------------------------
+  # Surcharge les paramètres standards par les paramètres utilisateur s'ils existent
+      self.fic_ini_utilisateur = os.path.join(self.rep_user,self.fic_prefs)
+      #if not os.path.isfile(self.fic_ini_utilisateur+".py"):
+      if not os.path.isfile(self.fic_ini_utilisateur):
+        return
+      from utils import read_file
+      txt = utils.read_file(self.fic_ini_utilisateur)
+      from styles import style
+      d=locals()
+      try:
+         exec txt in d
+      except :
+         l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
+         QMessageBox.critical( None, "Import du fichier de Configuration", 
+                       "Erreur à la lecture du fichier de configuration " + self.fic_ini_utilisateur )
+         sys.exit(0)
+      for k in self.labels :
+         try :
+            setattr(self,k,d[k])
+         except :
+            pass
+
+
+
+  #--------------------------------------
+  def lecture_catalogues(self):
+  #--------------------------------------
+      rep_mat=" " # Compatbilite Aster
+      fic_cata  ="catalogues_sep.ini"
+      fic_ini = os.path.join(self.repIni,fic_cata)
+      fic_user= os.path.join(self.rep_user,fic_cata)
+      if  os.path.isfile(fic_user):
+          fichier = fic_user
+      else  :
+          fichier = fic_ini
+          if not os.path.isfile(fic_ini) :
+             QMessageBox.critical( None, "Erreur a l'import du fichier des Catalogues", 
+                       "Le fichier de configuration des catalogues "+fic_ini+" n a pas été trouvé" )
+             sys.exit(0)
+
+      print fic_cata
+      from utils import read_file
+      txt = utils.read_file(fichier)
+      d=locals()
+      try:
+         exec txt in d
+         self.catalogues=d["catalogues"]
+      except :
+         l=traceback.format_exception(sys.exc_info()[0],sys.exc_info()[1],sys.exc_info()[2])
+         QMessageBox.critical( None, "Import du fichier de Configuration", 
+                       "Erreur à la lecture du fichier de configuration " + fichier )
+         sys.exit(0)
+
+
+
+  #--------------------------------------
+  def save_params(self):
+  #--------------------------------------
+  # sauvegarde
+  # les nouveaux paramètres dans le fichier de configuration utilisateur
+  #
+       print "a ecrire PNPNPN"
+#      l_param=('exec_acrobat', 'repIni','catalogues','rep_travail','rep_mat','path_doc')
+#      texte=""
+#      for clef in l_param :
+#          if hasattr(self,clef):
+#             valeur=getattr(self,clef)
+#             texte= texte + clef+"    = " + repr(valeur) +"\n"
+#
+#
+#      # recuperation des repertoires materiaux
+#      try :
+#          for item in self.catalogues :
+#              try :
+#                  (code,version,cata,format,defaut)=item
+#              except :
+#                  (code,version,cata,format)=item
+#              codeSansPoint=re.sub("\.","",version)
+#              chaine="rep_mat_"+codeSansPoint
+#              if hasattr(self,chaine):
+#                 valeur=getattr(self,chaine)
+#                 texte= texte + chaine+"      = '" + str(valeur) +"'\n"
+#      except :
+#             pass
+#
+#      f=open(self.fic_ini_utilisateur,'w+')
+#      f.write(texte) 
+#      f.close()
+#
+
+
+def make_config(appli,rep):
+    return CONFIG(appli,rep)
+
+def make_config_style(appli,rep):
+    return None
+
+
diff --git a/Sous_epaisseur/editeur.ini b/Sous_epaisseur/editeur.ini
new file mode 100644 (file)
index 0000000..2e57ce3
--- /dev/null
@@ -0,0 +1,44 @@
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+
+import os
+
+from Sous_epaisseur import prefs
+
+rep_cata = os.path.join(prefs.REPINI,'Cata')
+print rep_cata
+
+# Accès à la documentation Aster
+path_doc              = os.path.join(rep_cata,'..','Doc')
+exec_acrobat    =       "acroread"
+# Utilisateur/Développeur
+isdeveloppeur   =       "NON"
+path_cata_dev   =       "/tmp/cata"
+# Répertoire temporaire
+rep_travail     =   "/tmp"
+# Répertoire initial
+initialdir=os.curdir
+
+# Choix des catalogues
+
+catalogues = (
+              ('Sous_epaisseur','v1.0',os.path.join(rep_cata,'cataSEP01'),'python'),
+             )
+
diff --git a/Sous_epaisseur/prefs.py b/Sous_epaisseur/prefs.py
new file mode 100644 (file)
index 0000000..c29caf8
--- /dev/null
@@ -0,0 +1,65 @@
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+
+import os,sys
+
+# REPINI sert à localiser le fichier editeur.ini
+# Obligatoire
+REPINI=os.path.dirname(os.path.abspath(__file__))
+repIni=REPINI
+
+# INSTALLDIR sert à localiser l'installation d'Eficas
+# Obligatoire
+INSTALLDIR=os.path.join(REPINI,'..')
+
+# CODE_PATH sert à localiser Noyau et Validation éventuellement
+# non contenus dans la distribution EFICAS
+# Par défaut on utilise les modules de INSTALLDIR
+# Peut valoir None (defaut)
+CODE_PATH = None
+
+# la variable code donne le nom du code a selectionner
+code="SEP" 
+
+# lang indique la langue utilisée pour les chaines d'aide : fr ou ang
+lang='fr'
+
+# Codage des strings qui accepte les accents (en remplacement de 'ascii')
+encoding='iso-8859-1'
+
+
+EditeurDir=INSTALLDIR+"/Editeur"
+sys.path[:0]=[INSTALLDIR]
+
+ICONDIR=os.path.join(INSTALLDIR,'Editeur','icons')
+
+# Preference
+if os.name == 'nt':
+   userprefs = os.sep.join( [ os.environ['HOMEDRIVE'], os.environ['HOMEPATH'], 'Eficas_install', 'prefs.py' ])
+else :
+   userprefs=os.path.expanduser("~/.Eficas_SEP/prefs.py")
+
+if os.path.isfile(userprefs):
+   try:
+      execfile(userprefs)
+   except:
+      pass
+
diff --git a/Sous_epaisseur/properties.py b/Sous_epaisseur/properties.py
new file mode 100644 (file)
index 0000000..fc860fa
--- /dev/null
@@ -0,0 +1,24 @@
+#@ MODIF properties Accas DATE 11/06/2008 AUTEUR aster M.ADMINISTRATEUR
+# RESPONSABLE D6BHHHH J-P.LEFEBVRE
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
+# (AT YOUR OPTION) ANY LATER VERSION.                                 
+#
+# THIS PROGRAM 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    
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
+# ======================================================================
+#     IDENTIFICATION DU GESTIONNAIRE DE COMMANDE ACCAS A PARTIR
+#     DE LA VERSION DU CODE_ASTER ASSOCIE
+#----------------------------------------------------------------------
+version = "9.3.0"
+date = "11/06/2008"
+exploit = False
diff --git a/Sous_epaisseur/qtEficas_SEP.py b/Sous_epaisseur/qtEficas_SEP.py
new file mode 100755 (executable)
index 0000000..815529e
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM 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
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+#
+#
+# ======================================================================
+
+"""
+   Ce module sert à lancer EFICAS configuré pour Code_Aster
+"""
+# Modules Python
+
+# Modules Eficas
+import prefs
+from InterfaceQT4 import eficas_go
+#from InterfaceQT import eficas_go
+
+eficas_go.lance_eficas(code=prefs.code)
diff --git a/Sous_epaisseur/sdistSEP.py b/Sous_epaisseur/sdistSEP.py
new file mode 100644 (file)
index 0000000..9dec6f1
--- /dev/null
@@ -0,0 +1,99 @@
+# -*- coding: utf-8 -*-
+"""
+     Ce module sert à construire les distributions d'EFICAS pour SEP
+     en fonction du tag CVS courant
+     Les distributions sont :
+      - un tar.gz pour UNIX ne contenant pas mxTextTools
+     L'utilisation de ce module est la suivante :
+      1- Se mettre dans un répertoire de travail
+      2- Configurer son environnement pour utiliser le référentiel CVS EFICAS
+      3- Exporter les sources d'EficasV1 par la commande :
+            cvs export -r TAG -d Eficas_export EficasV1
+         ou TAG est le tag CVS de la version que l'on veut distribuer (par exemple V1_1p1)
+      5- Aller dans le répertoire Eficas_export
+      6- Executer le script sdist.py
+             python sdist.py
+         Ce qui a pour effet de creer un repertoire dist contenant la distribution
+         et de la copier dans le répertoire indiqué par dir_download s'il est accessible
+
+"""
+import os,shutil,glob,sys
+import types
+
+nom_distrib="QTEficasSEP_V1_0"
+path_distrib=os.path.join("dist",nom_distrib)
+dir_download= "/home/eficas/WWW/telechargement/eficas"
+
+def main():
+   if os.path.isdir('dist'):shutil.rmtree('dist')
+
+   copyfiles('.',path_distrib,['LICENSE.TERMS','INSTALL','NEWS'])
+
+   copyfiles('../Editeur',os.path.join(path_distrib,'Editeur'),['*.py','faqs.txt'])
+   copyfiles('../InterfaceQT4',os.path.join(path_distrib,'InterfaceQT'),['*.py','faqs.txt'])
+   copyfiles('../UiQT4',os.path.join(path_distrib,'Ui'),['*.ui','makefile'])
+   copyfiles('../SEP',os.path.join(path_distrib,'Openturns'),['*.py','*.ini'])
+   copyfiles('../Ihm',os.path.join(path_distrib,'Ihm'),['*.py'])
+   copyfiles('../Extensions',os.path.join(path_distrib,'Extensions'),['*.py'])
+   copyfiles('../Misc',os.path.join(path_distrib,'Misc'),['*.py'])
+   copyfiles('../Accas',os.path.join(path_distrib,'Accas'),['*.py'])
+   copyfiles('../Accas',os.path.join(path_distrib,'Noyau'),['*.py'])
+   copyfiles('../Accas',os.path.join(path_distrib,'Validation'),['*.py'])
+   # AIDE
+   copyfiles('../AIDE',os.path.join(path_distrib,'AIDE'),['*.py'])
+   copyfiles('../AIDE/fichiers',os.path.join(path_distrib,'AIDE','fichiers'),['*'])
+   copyfiles('.',os.path.join(path_distrib,'AIDE','fichiers'),['INSTALL','NEWS'])
+   copyfiles('../Editeur',os.path.join(path_distrib,'AIDE','fichiers'),['faqs.txt'])
+   #                           ______________________
+
+   copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py'])
+   copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py'])
+   copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif'])
+   copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.png'])
+   copyfiles('../Editeur/Patrons/',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*'])
+
+   copyfiles('../Noyau',os.path.join(path_distrib,'Noyau'),['*.py'])
+   copyfiles('../Validation',os.path.join(path_distrib,'Validation'),['*.py'])
+
+   
+   tarball= maketarball('dist',nom_distrib,nom_distrib)
+   try:
+      shutil.copy(tarball,dir_download)
+   except:
+      print "Repertoire de download inconnu : ",dir_download
+
+
+
+def make_dir(dir_cible):
+   if type(dir_cible) is not types.StringType:
+      raise "make_dir : dir_cible doit etre une string (%s)" % `dir_cible`
+   head,tail=os.path.split(dir_cible)
+   tails=[tail]
+   while head and tail and not os.path.isdir(head):
+      head,tail=os.path.split(head)
+      tails.insert(0, tail)
+
+   for d in tails:
+      head = os.path.join(head, d)
+      if not os.path.isdir(head):os.mkdir(head)
+
+
+def copyfiles(dir_origin,dir_cible,listfiles):
+   if not os.path.isdir(dir_cible):make_dir(dir_cible)
+   for glob_files in listfiles:
+      for file in glob.glob(os.path.join(dir_origin,glob_files)):
+         shutil.copy(file,dir_cible)
+
+
+def maketarball(dir_trav,dir_cible,nom_tar):
+   prev=os.getcwd()
+   print prev
+   os.chdir(dir_trav)
+   os.system("tar -cf "+nom_tar+".tar "+dir_cible)
+   os.system("gzip -f9 "+nom_tar+".tar ")
+   os.chdir(prev)
+   return os.path.join(dir_trav,nom_tar+".tar.gz")
+
+
+main()
+
diff --git a/Sous_epaisseur/style.py b/Sous_epaisseur/style.py
new file mode 100644 (file)
index 0000000..d485572
--- /dev/null
@@ -0,0 +1,66 @@
+# -*- coding: utf-8 -*-
+"""
+Pour modifier le style d'EFICAS  il faut ajouter un fichier style.py qui contiendra les
+informations sur le style voulu dans son repertoire Eficas_install.
+
+La methode la plus simple consiste à modifier directement les attributs de l'objet style dans le 
+fichier style.py d'Eficas_install. Exemple::
+
+    style.background='yellow'
+
+pour modifier la couleur du background.
+
+Il existe une autre méthode qui peut être utilisée quand on veut modifier plusieurs propriétés à la fois.
+
+Le fichier style.py doit définir une nouvelle classe qui dérive de la classe de base STYLE avec des attributs
+de classe qui définiront le nouveau style (par exemple, si on veut modifier le background)::
+
+   class STYLE(STYLE):
+       background='yellow'
+
+Il faut ensuite instancier cette classe, dans ce meme fichier, en donnant le nom style à l'objet cree::
+
+   style=STYLE()
+
+Tous les attributs de classe possibles sont visibles dans le module Editeur/basestyle.py::
+
+    background='gray90'
+    foreground='black'
+    entry_background='white'
+    list_background='white'
+    list_select_background='#00008b'
+    list_select_foreground='grey'
+    tooltip_background="yellow"
+
+    standard = ("Helvetica",12)
+    standard_italique = ("Helvetica",12,'italic')
+    standard_gras = ("Helvetica",12,'bold')
+    standard_gras_souligne = ("Helvetica",12,'bold','underline')
+
+    canvas = ('Helvetica',10)
+    canvas_italique = ('Helvetica',10,'italic')
+    canvas_gras = ("Helvetica",10,'bold')
+    canvas_gras_italique = ("Helvetica",12,'bold','italic')
+
+    standard12 = ("Helvetica",14)
+    standard12_gras = ("Helvetica",14,'bold')
+    standard12_gras_italique = ( "Helvetica",14,'bold','italic')
+
+
+Le fichier style.py contenu dans le répertoire Aster permet de spécifier des propriétés globales pour une installation.
+Les modifications de style contenues dans ce fichier et dans le fichier style.py d'Eficas_install
+sont prises en compte dans cet ordre.
+"""
+
+p1=10
+p2=14
+f1="Helvetica"
+
+style.background='gray90'
+style.foreground='black'
+style.standard = (f1,p1)
+style.standard_italique = (f1,p1,'italic')
+style.standard_gras = (f1,p1,'bold')
+style.canvas_italique = (f1,p1,'italic')
+style.canvas_gras = (f1,p1,'bold')
+style.statusfont = (f1,p2)