From 8146e7e3b2c1f7cf0a9d545e7be4f3713c981380 Mon Sep 17 00:00:00 2001 From: prascle <> Date: Fri, 9 Jan 2009 13:06:10 +0000 Subject: [PATCH] copy V4_1_0_maintenance - V4_1_4rc2 on trunk --- adm_local/unix/config_files/check_pal.m4 | 2 +- adm_local/unix/make_commence.in | 19 +- build_configure | 1 + configure.in | 316 ++++++++++++++++++ configure.in.base | 4 +- src/EFICASGUI/EFICASGUI.py | 19 +- src/EFICASGUI/eficasSalome.py | 389 +++++++++++------------ src/STUDY/EficasStudy.py | 12 +- 8 files changed, 527 insertions(+), 235 deletions(-) create mode 100644 configure.in diff --git a/adm_local/unix/config_files/check_pal.m4 b/adm_local/unix/config_files/check_pal.m4 index d4a2e8e6..1a4c55c6 100644 --- a/adm_local/unix/config_files/check_pal.m4 +++ b/adm_local/unix/config_files/check_pal.m4 @@ -27,7 +27,7 @@ if test "x$PAL_DIR" = "x" ; then fi fi -if test -f ${PAL_DIR}/bin/salome/runAppli ; then +if test -f ${PAL_DIR}/bin/salome/testAppli ; then pal_ok=yes AC_MSG_RESULT(Using Pal module distribution in ${PAL_DIR}) diff --git a/adm_local/unix/make_commence.in b/adm_local/unix/make_commence.in index a7820679..9408f4fc 100644 --- a/adm_local/unix/make_commence.in +++ b/adm_local/unix/make_commence.in @@ -208,22 +208,25 @@ $(top_srcdir)/configure: $(top_srcdir)/configure.in $(top_srcdir)/aclocal.m4 $(top_srcdir)/configure.in: $(top_srcdir)/configure.in.base cd $(top_srcdir) && ./build_configure -ACLOCAL_SRC = \ -ac_cxx_bool.m4 check_corba.m4 \ -ac_cxx_depend_flag.m4 check_hdf5.m4 enable_pthreads.m4 \ +ACLOCAL_SRC_DEPREC = \ +ac_cxx_bool.m4 ac_cxx_typename.m4 check_pthreads.m4 \ ac_cxx_mutable.m4 check_mico.m4 libtool.m4 \ -ac_cxx_namespaces.m4 check_omniorb.m4 pyembed.m4 \ -ac_cxx_partial_specialization.m4 python.m4 \ -ac_cxx_typename.m4 check_pthreads.m4 check_cas.m4 \ -ac_cc_warnings.m4 check_boost.m4 check_swig.m4 +ac_cxx_partial_specialization.m4 ac_cc_warnings.m4 +ACLOCAL_SRC = \ +check_corba.m4 python.m4 \ +ac_cxx_depend_flag.m4 check_hdf5.m4 enable_pthreads.m4 \ +ac_cxx_namespaces.m4 check_omniorb.m4 pyembed.m4 \ +check_cas.m4 check_boost.m4 check_swig.m4 ACLOCAL_GUI = \ check_vtk.m4 check_opengl.m4 check_qt.m4 \ check_GUI.m4 check_corba_in_GUI.m4 $(top_srcdir)/aclocal.m4: $(ACLOCAL_SRC:%=@KERNEL_ROOT_DIR@/salome_adm/unix/config_files/%) \ + $(ACLOCAL_SRC_DEPREC:%=@KERNEL_ROOT_DIR@/salome_adm/unix/config_files/DEPRECATED/%) \ $(ACLOCAL_GUI:%=@GUI_ROOT_DIR@/adm_local/unix/config_files/%) cd $(top_srcdir) ; aclocal -I adm_local/unix/config_files \ -I @KERNEL_ROOT_DIR@/salome_adm/unix/config_files \ - -I @GUI_ROOT_DIR@/adm_local/unix/config_files + -I @KERNEL_ROOT_DIR@/salome_adm/unix/config_files/DEPRECATED \ + -I @GUI_ROOT_DIR@/adm_local/unix/config_files diff --git a/build_configure b/build_configure index 884dc60e..ad372268 100755 --- a/build_configure +++ b/build_configure @@ -210,6 +210,7 @@ fi aclocal -I adm_local/unix/config_files \ -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \ + -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files/DEPRECATED \ -I ${GUI_ROOT_DIR}/adm_local/unix/config_files if autoconf diff --git a/configure.in b/configure.in new file mode 100644 index 00000000..67eb32c3 --- /dev/null +++ b/configure.in @@ -0,0 +1,316 @@ +# +# PLEASE DO NOT MODIFY configure.in FILE +# +# ALL CHANGES WILL BE DISCARDED BY THE NEXT +# build_configure COMMAND +# +# CHANGES MUST BE MADE IN configure.in.base FILE +# +# +# Author : Marc Tajchman (CEA) +# Date : 28/06/2001 +# Modified by : Patrick GOLDBRONN (CEA) +# Modified by : Marc Tajchman (CEA) +# +# Created from configure.in.base +# + +AC_INIT(src) +AC_CONFIG_AUX_DIR(${KERNEL_ROOT_DIR}/salome_adm/unix/config_files/DEPRECATED) +AC_CANONICAL_HOST + +PACKAGE=salome +AC_SUBST(PACKAGE) + +VERSION=3.2.3 +XVERSION=0x030203 +AC_SUBST(VERSION) +AC_SUBST(XVERSION) + +# set up MODULE_NAME variable for dynamic construction of directories (resources, etc.) +MODULE_NAME=eficas +AC_SUBST(MODULE_NAME) + +dnl +dnl Initialize source and build root directories +dnl + +ROOT_BUILDDIR=`pwd` +ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"` +cd $ROOT_SRCDIR +ROOT_SRCDIR=`pwd` +cd $ROOT_BUILDDIR + +AC_SUBST(ROOT_SRCDIR) +AC_SUBST(ROOT_BUILDDIR) + +echo +echo Source root directory : $ROOT_SRCDIR +echo Build root directory : $ROOT_BUILDDIR +echo +echo + +if test -z "$AR"; then + AC_CHECK_PROGS(AR,ar xar,:,$PATH) +fi +AC_SUBST(AR) + +dnl Export the AR macro so that it will be placed in the libtool file +dnl correctly. +export AR + +echo +echo --------------------------------------------- +echo testing make +echo --------------------------------------------- +echo + +AC_PROG_MAKE_SET +AC_PROG_INSTALL +dnl +dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques ! + +AC_ENABLE_DEBUG(yes) +AC_DISABLE_PRODUCTION + +echo --------------------------------------------- +echo testing libtool +echo --------------------------------------------- + +dnl first, we set static to no! +dnl if we want it, use --enable-static +AC_ENABLE_STATIC(no) + +AC_LIBTOOL_DLOPEN +AC_PROG_LIBTOOL + +dnl Fix up the INSTALL macro if it s a relative path. We want the +dnl full-path to the binary instead. +case "$INSTALL" in + *install-sh*) + INSTALL='\${KERNEL_ROOT_DIR}'/salome_adm/unix/config_files/DEPRECATED/install-sh + ;; +esac + +echo +echo --------------------------------------------- +echo testing python +echo --------------------------------------------- +echo + +CHECK_PYTHON + +echo +echo --------------------------------------------- +echo testing omniORB +echo --------------------------------------------- +echo + +CHECK_OMNIORB + +echo +echo --------------------------------------------- +echo default ORB : omniORB +echo --------------------------------------------- +echo + +DEFAULT_ORB=omniORB +CHECK_CORBA + +AC_SUBST_FILE(CORBA) +corba=make_$ORB +CORBA=adm_local/unix/$corba + + +echo +echo --------------------------------------------- +echo Testing pyqt +echo --------------------------------------------- +echo + +CHECK_PYQT + +echo +echo --------------------------------------------- +echo Testing Kernel +echo --------------------------------------------- +echo + +CHECK_KERNEL + +echo +echo --------------------------------------------- +echo Testing GUI +echo --------------------------------------------- +echo + +CHECK_SALOME_GUI + +echo +echo --------------------------------------------- +echo testing msg2qm +echo --------------------------------------------- +echo + +CHECK_MSG2QM + +echo +echo --------------------------------------------- +echo Testing Pal +echo --------------------------------------------- +echo + +CHECK_PAL + +echo +echo --------------------------------------------- +echo Testing Visu +echo --------------------------------------------- +echo + +CHECK_VISU +echo +echo --------------------------------------------- +echo Summary +echo --------------------------------------------- +echo + +echo Configure +variables="python_ok threads_ok OpenGL_ok qt_ok omniORB_ok Kernel_ok SalomeGUI_ok msg2qm_ok" + +for var in $variables +do + printf " %10s : " `echo \$var | sed -e "s,_ok,,"` + eval echo \$$var +done + +echo +echo "Default ORB : $DEFAULT_ORB" +echo + +echo +echo --------------------------------------------- +echo RunTime Dependencies +echo --------------------------------------------- +echo +variables="Visu_ok pal_ok" + +for var in $variables +do + printf " %10s : " `echo \$var | sed -e "s,_ok,,"` + eval echo \$$var +done + + + +dnl generals files which could be included in every makefile + +AC_SUBST_FILE(COMMENCE) COMMENCE=adm_local/unix/make_commence +AC_SUBST_FILE(CONCLUDE) CONCLUDE=salome_adm/unix/make_conclude +AC_SUBST_FILE(MODULE) MODULE=salome_adm/unix/make_module + +dnl les dependences +AC_SUBST_FILE(DEPEND) DEPEND=salome_adm/unix/depend + +dnl We don t need to say when we re entering directories if we re using +dnl GNU make becuase make does it for us. +if test "X$GMAKE" = "Xyes"; then + AC_SUBST(SETX) SETX=":" +else + AC_SUBST(SETX) SETX="set -x" +fi + +# make other build directories +for rep in salome_adm adm_local doc bin/salome include/salome lib/salome share/salome/resources/${MODULE_NAME} share/salome/doc idl +do +# if test ! -d $rep ; then +# eval mkdir $rep +# fi + $INSTALL -d $rep +done + +echo +echo --------------------------------------------- +echo copying resource files, shell scripts, and +echo xml files +echo --------------------------------------------- +echo + + +dnl copy resources directories + +#for i in `find $ROOT_SRCDIR -name 'resources' -print` +#do +# local_res=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"` +# local_res_dir=`echo $local_res | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"` +# mkdir -p $local_res_dir +# cd $local_res_dir +# ln -fs $i +# echo $local_res +# cd $ROOT_BUILDDIR +#done + +dnl copy shells and utilities contained in the bin directory +dnl excluding .in files (treated in AC-OUTPUT below) and CVS +dnl directory + +cd bin +for i in $ROOT_SRCDIR/bin/* +do + local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"` + case "$local_bin" in + *.in | *~) ;; + ./bin/CVS) ;; + *) ln -fs $i; echo $local_bin ;; + esac +done +cd $ROOT_BUILDDIR + +AC_SUBST_FILE(ENVSCRIPT) ENVSCRIPT=salome_adm/unix/envScript + +dnl copy xml files to the build tree (lib directory) +dnl pourquoi ???? + +#cd lib +#for i in `find $ROOT_SRCDIR -name "*.xml" -print` +#do +# ln -fs $i +# echo `echo $i | sed -e "s,$ROOT_SRCDIR,.,"` +#done +#cd $ROOT_BUILDDIR + + +echo +echo --------------------------------------------- +echo generating Makefiles and configure files +echo --------------------------------------------- +echo + +AC_OUTPUT_COMMANDS([ \ + chmod +x ./bin/* \ +]) + +## do not delete this line + +ln -fs ${KERNEL_ROOT_DIR}/salome_adm ${ROOT_SRCDIR} + +AC_OUTPUT([ \ + ./salome_adm/unix/SALOMEconfig.h \ + ./salome_adm/unix/F77config.h \ + ./salome_adm/unix/sstream \ + ./salome_adm/unix/depend \ + ./adm_local/unix/make_omniorb \ + ./salome_adm/unix/envScript \ + ./adm_local/unix/make_commence \ + ./salome_adm/unix/make_conclude \ + ./salome_adm/unix/make_module \ + ./Makefile \ + ./doc/Makefile \ + ./idl/Makefile \ + ./src/Makefile \ + ./src/CONFIG/Makefile \ + ./src/EFICAS/Makefile \ + ./src/EFICASGUI/Makefile \ + ./src/STUDY/Makefile \ +]) + diff --git a/configure.in.base b/configure.in.base index ff85c761..41efeccf 100644 --- a/configure.in.base +++ b/configure.in.base @@ -16,7 +16,7 @@ # AC_INIT(src) -AC_CONFIG_AUX_DIR(${KERNEL_ROOT_DIR}/salome_adm/unix/config_files) +AC_CONFIG_AUX_DIR(${KERNEL_ROOT_DIR}/salome_adm/unix/config_files/DEPRECATED) AC_CANONICAL_HOST PACKAGE=salome @@ -88,7 +88,7 @@ dnl Fix up the INSTALL macro if it s a relative path. We want the dnl full-path to the binary instead. case "$INSTALL" in *install-sh*) - INSTALL='\${KERNEL_ROOT_DIR}'/salome_adm/unix/config_files/install-sh + INSTALL='\${KERNEL_ROOT_DIR}'/salome_adm/unix/config_files/DEPRECATED/install-sh ;; esac diff --git a/src/EFICASGUI/EFICASGUI.py b/src/EFICASGUI/EFICASGUI.py index 220ebcd4..901b4a6c 100644 --- a/src/EFICASGUI/EFICASGUI.py +++ b/src/EFICASGUI/EFICASGUI.py @@ -16,8 +16,6 @@ desktop=None # ----------------------------------------------------------------------------- import notifqt -#import Tkinter -#root.withdraw() def g(): print "lastWindowClosed()" @@ -46,17 +44,11 @@ print "EFicasGUI :: :::::::::::::::::::::::::::::::::::::::::::::::::::::" #En V2, si on n'implémente pas cette méthode, le composant fonctionne #correctement. Un message "Attribute Error" apparait dans la trace. def setWorkSpace(workSpace): - #print "EficasGUI --- setWorkSpace" global WORKSPACE - #print workSpace WORKSPACE=workSpace - #print "WORKSPACE: ",WORKSPACE # le desktop desktop=sgPyQt.getDesktop() - # creation d'une message box - #qt.QMessageBox.information(d,"titre","message") - # recuperation du workspace ws=sgPyQt.getMainFrame() #print ws @@ -158,15 +150,11 @@ import eficasSalome def runEficas(): print "-------------------------EFICASGUI::runEficas-------------------------" print currentStudyId - #eficasSalome.runEficas("ASTER",studyId=currentStudyId) - #ws = sgPyQt.getMainFrame() - #desktop=sgPyQt.getDesktop() eficasSalome.runEficas( "ASTER" ) def runEficaspourHomard(): print "runEficas" - #eficasSalome.runEficas("HOMARD") desktop=sgPyQt.getDesktop() eficasSalome.runEficas( "HOMARD" ) @@ -186,8 +174,6 @@ def runEficasFichier(version=None): code = None a=salome.sg.getAllSelected() if len(a) == 1: - #studyManager.palStudy.setCurrentStudyID( currentStudyId ) - #boo,attr=aGuiDS.getExternalFileAttribute("FICHIER_EFICAS_ASTER",a[0]) selectedEntry = a[0] aType, aValue = studyManager.palStudy.getTypeAndValue( selectedEntry ) @@ -231,10 +217,7 @@ dict_command={ 4046:runEficaspourHomard, 4047:runEficaspourOpenturns, 9042:runEficasFichier, - 9043:runEficasFichierV8, + 9043:runEficasFichier, 9044:runEficasFichierV9, } - - - diff --git a/src/EFICASGUI/eficasSalome.py b/src/EFICASGUI/eficasSalome.py index 6bbde018..422fe38d 100644 --- a/src/EFICASGUI/eficasSalome.py +++ b/src/EFICASGUI/eficasSalome.py @@ -1,9 +1,8 @@ # -*- coding: utf-8 -*- from Logger import ExtLogger +logger=ExtLogger( "EFICAS_SRC.EFICASGUI.eficasSalome.py" ) -import qt -import notifqt # ----------------------------------------------------------------------------- import sys, os, re,types @@ -25,41 +24,51 @@ def exit(ier): import eficasConfig -sys.path[:0]=[os.path.join( eficasConfig.eficasPath,'Aster'), - os.path.join( eficasConfig.eficasPath,'Homard'), - os.path.join( eficasConfig.eficasPath,'InterfaceTK'), - os.path.join( eficasConfig.eficasPath,'Editeur'), - eficasConfig.eficasPath, - ] +# __GBO__ lignes de path ajoutées pour accéder aux packages python du +# logiciel Eficas. Le package Aster est ajouté explicitement pour +# accéder au module prefs.py. A FAIRE: il convient plutôt de packager +# Eficas pour que le chargement de prefs puisse se faire sans cette +# adaptation (ex: faire un prefs.py chapeau qui aiguille entre les +# prefs spécifiques Aster ou Openturn). +sys.path[:0]=[eficasConfig.eficasPath, + os.path.join( eficasConfig.eficasPath,'Aster') + ] + +#sys.path[:0]=[os.path.join( eficasConfig.eficasPath,'Aster'), +# os.path.join( eficasConfig.eficasPath,'Homard'), +# # __GBO__ os.path.join( eficasConfig.eficasPath,'InterfaceQT'), +# os.path.join( eficasConfig.eficasPath,'Openturns'), +# os.path.join( eficasConfig.eficasPath,'Editeur'), +# eficasConfig.eficasPath, +# ] -import Tkinter # mode de lancement Eficas ASTER = "ASTER" HOMARD = "HOMARD" +OPENTURNS = "OPENTURNS" import Editeur -try : - from Editeur import eficas - from Editeur import splash -except : - from InterfaceTK import eficas - from InterfaceTK import splash +import qt +from InterfaceQT import qtEficas import salome import meshGui -import visuDriver import PALGUI_API -import studyManager -#from qxembed import QXEmbed +# __MEM_GBO: Pour mémoire, on préfère importer visuDriver après +# studyManager car le premier dépend du second. Cependant, le problème +# est résolu à sa source: le fichier visuDriver importe le +# studyManager. Ainsi, il n'est plus nécessaire de se préoccuper +# explicitement de l'ordre des import. +import studyManager +import visuDriver import SalomePyQt - from SelectMainShapeDiag_ui import SelectMainShapeDiag from SelectMeshDiag_ui import SelectMeshDiag @@ -67,24 +76,24 @@ from SelectMeshDiag_ui import SelectMeshDiag # message utilisateur msgWarning = "Attention" -msgMainShapeSelection = "On travaille sur la géométrie principale : " -msgSubShapeBadMainShape = "La sélection géométrique SALOME ne correspond pas à une sous-géométrie de la géométrie principale : " -msgMeshGroupBadMainShape = "Le groupe de maillage sélectionné dans SALOME ne référence pas la bonne géométrie principale : " -msgIncompleteSelection = "Tous les éléments de la sélection SALOME n'ont pu étre ajoutée" -msgUnAuthorizedSelecion = "Sélection SALOME non authorisé. Autorisé : sous-géométrie, groupe de maille" -msgErrorAddJdcInSalome = "Erreur dans l'export du fichier de commande dans l'arbre d'étude Salome" -msgErrorDisplayShape = "Erreur dans l'affichage de la forme géométrique sélectionnée" -msgErrorDisplayMeshGroup = "Erreur dans l'affichage du groupe de maillage sélectionné" -msgErrorNeedSubShape = "Sélection d'un élément sous géométrique seulement" - - -msgErrorGroupMaSelection = "Sélection GROUP_MA ne peut pas prendre un point ou un noeud" +msgMainShapeSelection = "On travaille sur la géométrie principale : " +msgSubShapeBadMainShape = "La sélection géométrique SALOME ne correspond pas à une sous-géométrie de la géométrie principale : " +msgMeshGroupBadMainShape = "Le groupe de maillage sélectionné dans SALOME ne référence pas la bonne géométrie principale : " +msgIncompleteSelection = "Tous les éléments de la sélection SALOME n'ont pu étre ajoutée" +msgUnAuthorizedSelecion = "Sélection SALOME non authorisé. Autorisé : sous-géométrie, groupe de maille" +msgErrorAddJdcInSalome = "Erreur dans l'export du fichier de commande dans l'arbre d'étude Salome" +msgErrorDisplayShape = "Erreur dans l'affichage de la forme géométrique sélectionnée" +msgErrorDisplayMeshGroup = "Erreur dans l'affichage du groupe de maillage sélectionné" +msgErrorNeedSubShape = "Sélection d'un élément sous géométrique seulement" + + +msgErrorGroupMaSelection = "Sélection GROUP_MA ne peut pas prendre un point ou un noeud" msgWarningGroupNoSelection = "Attention, GROUP_NO devrait prendre un point ou un noeud" -# couleur pour visualisation des géometrie CS_CBO +# couleur pour visualisation des géometrie CS_CBO COLORS = ( studyManager.RED, studyManager.GREEN, studyManager.BLUE, @@ -164,14 +173,12 @@ class SelectMeshDiagImpl( SelectMeshDiag ): - -#class MyEficas( Tkinter.Toplevel, eficas.EFICAS, QXEmbed ): -class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): +class MyEficas( qtEficas.Appli ): """ Classe de lancement du logiciel EFICAS dans SALOME. - Cette classe spécialise le logiciel Eficas par l'ajout de: - a)la création de groupes de mailles dans le composant SMESH de SALOME - b)la visualisation d'éléments géométrique dans le coposant GEOM de SALOME par sélection dans EFICAS + Cette classe spécialise le logiciel Eficas par l'ajout de: + a)la création de groupes de mailles dans le composant SMESH de SALOME + b)la visualisation d'éléments géométrique dans le coposant GEOM de SALOME par sélection dans EFICAS """ def __init__( self, parent, code = None, fichier = None, module = studyManager.SEficas, version=None): """ @@ -182,13 +189,11 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): @type code: string - @param code: catalogue à lancer ( ASTER, HOMARD ). optionnel ( défaut = ASTER ). + @param code: catalogue à lancer ( ASTER, HOMARD OPENTURNS ). optionnel ( défaut = ASTER ). @type fichier: string - @param fichier: chemin absolu du fichier eficas à ouvrir à dès le lancement. optionnel + @param fichier: chemin absolu du fichier eficas à ouvrir à dès le lancement. optionnel """ - #QXEmbed.__init__( self, parent, "", qt.Qt.WDestructiveClose | qt.Qt.WStyle_Customize | qt.Qt.WStyle_StaysOnTop ) - Tkinter.Toplevel.__init__( self ) if Editeur.__dict__.has_key( 'session' ): from Editeur import session @@ -197,86 +202,53 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): if fichier: eficasArg += [ fichier ] if version: + print version eficasArg += [ "-c", version ] + else : + print "noversion" session.parse( eficasArg ) + qtEficas.Appli.__init__( self,code=code,salome=1,parent=parent) - #---------------------------------------- initialisation EFICAS -------------------------- - splash.init_splash( self, code = code, titre = "Lancement d'EFICAS pour %s" %code ) - splash._splash.configure( text="Chargement d'EFICAS en cours.\n Veuillez patienter ..." ) - # différence eficas 1.7 et 1.8 - - # compatibilite 1.12 - V112=0 - try : - from Editeur import appli - V112=1 - except : - pass - - if V112 : - eficas.EFICAS.__init__( self, self, code = code ) - else : - eficas.EFICAS.__init__( self, self, code = code , salome = 1) - - - #--------------------------------------------------------------------------------------------- - - - """ - #------ embarcation dans une fenêtre qt pour mise au premier plan --- - #embedded = QXEmbed( parent, "", qt.Qt.WDestructiveClose | qt.Qt.WStyle_Customize | qt.Qt.WStyle_StaysOnTop ) - embedded = QXEmbed( parent, "" ) - #embedded.initialize() - embedded.show() - embedded.embedTk( self.winfo_id() ) - size = embedded.sizeHint() - #print 'CS_pbruno size (%s, %s )'%( size.width(), size.height () ) - embedded.resize( size.width(), size.height () ) - embedded.setWFlags( qt.Qt.WDestructiveClose | qt.Qt.WStyle_Customize | qt.Qt.WStyle_StaysOnTop ) - #--------------------------------------------------------------------------------------------- - """ - - #--------------- spécialisation EFICAS dans SALOME ------------------- + #--------------- spécialisation EFICAS dans SALOME ------------------- self.parent = parent - self.salome = True #active les parties de code spécifique dans Salome( pour le logiciel Eficas ) - self.module = module #indique sous quel module dans l'arbre d'étude ajouter le JDC. + self.salome = True #active les parties de code spécifique dans Salome( pour le logiciel Eficas ) + self.module = module #indique sous quel module dans l'arbre d'étude ajouter le JDC. - # donnée pour la création de groupe de maille - self.mainShapeNames = {} #dictionnaire pour gérer les multiples fichiers possibles ouverts par - self.mainShapeEntries = {} #eficas ( clé = identifiant du JDC ), une mainshape par fichier ouvert. - self.subShapes = {} #dictionnaire des sous-géométrie de la géométrie principale ( clé = entry, valeur = name ) + # donnée pour la création de groupe de maille + self.mainShapeNames = {} #dictionnaire pour gérer les multiples fichiers possibles ouverts par + self.mainShapeEntries = {} #eficas ( clé = identifiant du JDC ), une mainshape par fichier ouvert. + self.subShapes = {} #dictionnaire des sous-géométrie de la géométrie principale ( clé = entry, valeur = name ) #---------------------------------------------------------------------- # visualisation groupes de mailles - self.workingMesh = {} #dictionnaire clé = identifiant JDC / valeur = entry Mesh + self.workingMesh = {} #dictionnaire clé = identifiant JDC / valeur = entry Mesh #---------------------------------------------------------------------- - self.icolor = 0 # compteur pour mémoriser la couleur courante + self.icolor = 0 # compteur pour mémoriser la couleur courante + self.show() - def quit(self): - global appli - appli = None - self.destroy() - - def destroy(self): + def closeEvent(self,event): + import InterfaceQT.readercata + if hasattr(InterfaceQT.readercata,'reader') : + del InterfaceQT.readercata.reader global appli appli = None - Tkinter.Toplevel.destroy(self) - + event.accept() + def __studySync( self ): """ - IMPORTANT( à appeler préalablement à chaque appel du gestionnaire d'étude ) : spécifique au lancement de Eficas dans Salome, - permet au gestionnaire d'étude ( studyManager.palStudy ) de pointer sur la bonne étude. + IMPORTANT( à appeler préalablement à chaque appel du gestionnaire d'étude ) : spécifique au lancement de Eficas dans Salome, + permet au gestionnaire d'étude ( studyManager.palStudy ) de pointer sur la bonne étude. - Un retour à False indique qu'il n'y a aucune étude active, dans ce cas ne faire aucune opération avec le gestionnaire d'étude( + Un retour à False indique qu'il n'y a aucune étude active, dans ce cas ne faire aucune opération avec le gestionnaire d'étude( gros plantage sinon ) """ activeStudyId = salome.sg.getActiveStudyId() - if activeStudyId == 0: # pas d'étude active + if activeStudyId == 0: # pas d'étude active return False if activeStudyId != salome.myStudyId: @@ -287,12 +259,12 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): def __createOCCView( self ): """ - Création vue Occ + Création vue Occ """ #salome.salome_init() import iparameters - # On détermine le nombre de GUI states déjà présents dans l'arbre d'étude + # On détermine le nombre de GUI states déjà présents dans l'arbre d'étude GUIStateID = 1 ipar = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", GUIStateID)) @@ -324,7 +296,7 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): def __selectWorkingMesh( self, meshGroupEntries ): """ - Sélection intéractive du maillage sur lequel on travail + Sélection intéractive du maillage sur lequel on travail """ selMeshEntry, keep = None, False diag = SelectMeshDiagImpl( meshGroupEntries, self.parent ) @@ -335,9 +307,9 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): - def __selectMainShape( self, groupeMaNamesIn, groupeNoNamesIn, jdcID ): + def __selectMainShape( self, groupeMaNamesIn, groupeNoNamesIn, editor ): """ - Sélection intéractive de la main shape + Sélection intéractive de la main shape """ groupeMaNamesOut, groupeNoNamesOut = [], [] selectedMainShape = None @@ -369,9 +341,9 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): else: selectedMainShape = mainShapeEntries[0] - self.mainShapeEntries[ jdcID ] = selectedMainShape + self.mainShapeEntries[ editor ] = selectedMainShape - # filtre sur la main shape sélectionnée + # filtre sur la main shape sélectionnée for name in groupeMaNamesIn: try: if selectedMainShape in mainShapes[ name ] : @@ -391,13 +363,13 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): - def __selectShape( self, jdcID, selectedEntry, kwType = None ): + def __selectShape( self, editor, selectedEntry, kwType = None ): """ - sélection sous-géométrie dans Salome: - -test1) si c'est un élément sous-géométrique . - -test2) si appartient à la géométrie principale. + sélection sous-géométrie dans Salome: + -test1) si c'est un élément sous-géométrique . + -test2) si appartient à la géométrie principale. - met à jours la liste self.subShapes si test ok + met à jours la liste self.subShapes si test ok """ name, msgError = '','' @@ -412,17 +384,17 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): name, msgError = '', msgErrorGroupMaSelection return name, msgError - if not self.mainShapeEntries.has_key( jdcID ): - self.mainShapeEntries[ jdcID ] = selectedMainShapeEntry + if not self.mainShapeEntries.has_key( editor ): + self.mainShapeEntries[ editor ] = selectedMainShapeEntry name = studyManager.palStudy.getName( selectedMainShapeEntry ) msgError = msgMainShapeSelection + name - if selectedMainShapeEntry == self.mainShapeEntries[ jdcID ]: + if selectedMainShapeEntry == self.mainShapeEntries[ editor ]: name = studyManager.palStudy.getName( selectedEntry ) self.subShapes[ selectedEntry ] = name else: - if not self.mainShapeNames.has_key( jdcID ): - self.mainShapeNames[ jdcID ] = studyManager.palStudy.getName( self.mainShapeEntries[ jdcID ] ) - msgError = msgSubShapeBadMainShape + self.mainShapeNames[ jdcID ] + if not self.mainShapeNames.has_key( editor ): + self.mainShapeNames[ editor ] = studyManager.palStudy.getName( self.mainShapeEntries[ editor ] ) + msgError = msgSubShapeBadMainShape + self.mainShapeNames[ editor ] else: name, msgError = '', msgErrorNeedSubShape @@ -430,11 +402,11 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): - def __selectMeshGroup( self, jdcID, selectedEntry, kwType = None ): + def __selectMeshGroup( self, editor, selectedEntry, kwType = None ): """ - sélection groupe de maille dans Salome: + sélection groupe de maille dans Salome: -test 1) si c'est un groupe de maille - -test 2) si le maillage fait référence à la géométrie principale + -test 2) si le maillage fait référence à la géométrie principale """ name, msgError = '','' @@ -451,20 +423,20 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): selectedMainShapeEntry = studyManager.palStudy.getShapeFromMesh( selectedMeshEntry ) if selectedMainShapeEntry: #test 2) - if not self.mainShapeEntries.has_key( jdcID ): - self.mainShapeEntries[ jdcID ] = selectedMainShapeEntry + if not self.mainShapeEntries.has_key( editor ): + self.mainShapeEntries[ editor ] = selectedMainShapeEntry name = studyManager.palStudy.getName( selectedMainShapeEntry ) msgError = msgMainShapeSelection + name - if selectedMainShapeEntry == self.mainShapeEntries[ jdcID ]: + if selectedMainShapeEntry == self.mainShapeEntries[ editor ]: name = studyManager.palStudy.getName( selectedEntry ) #ok test 2) else: - if not self.mainShapeNames.has_key( jdcID ): - self.mainShapeNames[ jdcID ] = studyManager.palStudy.getName( - self.mainShapeEntries[ jdcID ] ) - msgError = msgMeshGroupBadMainShape + self.mainShapeNames[ jdcID ] + if not self.mainShapeNames.has_key( editor ): + self.mainShapeNames[ editor ] = studyManager.palStudy.getName( + self.mainShapeEntries[ editor ] ) + msgError = msgMeshGroupBadMainShape + self.mainShapeNames[ editor ] else: - # on authorise quand même les groupes de maillage ne faisant - # pas référence à une géométrie principale (dixit CS_CBO ) + # on authorise quand même les groupes de maillage ne faisant + # pas référence à une géométrie principale (dixit CS_CBO ) name = studyManager.palStudy.getName( selectedEntry ) return name, msgError @@ -472,27 +444,27 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): - def __updateSubShapes( self, jdcID, groupeNames ): + def __updateSubShapes( self, editor, groupeNames ): """ - mise à jours de la liste self.subShapes à partir de la liste des noms de groupe fourni en entré + mise à jours de la liste self.subShapes à partir de la liste des noms de groupe fourni en entré """ for name in groupeNames: entries = studyManager.palStudy.getEntriesFromName( studyManager.SGeom, name ) for entry in entries: if not self.subShapes.has_key( entry ): - ok, msgError = self.__selectShape( jdcID, entry ) # filtre + ok, msgError = self.__selectShape( editor, entry ) # filtre if ok: self.subShapes[ entry ] = name def __getAllGroupeMa(self, item ): """ - Récupère tous les GROUPE_MA dans le JDC courant + Récupère tous les GROUPE_MA dans le JDC courant """ groupMa = () try: + #if 1 : itemName = item.get_nom() if 'GROUP_MA' in itemName: - #print 'CS_pbruno itemName',itemName itemValue = item.get_valeur() if type( itemValue ) == str: groupMa += ( itemValue , ) @@ -501,13 +473,26 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): elif type( itemValue ) == list: groupMa += tuple(itemValue) elif type( itemValue ) == types.InstanceType and itemValue.has_key('GROUP_MA'): - # pour créer le groupe de mailles dans DEFI_GROUP> CREA_GROUP_MA> GROUP_MA + # pour créer le groupe de mailles dans DEFI_GROUP> CREA_GROUP_MA> GROUP_MA groupMa += ( itemValue['GROUP_MA'], ) + else : + # sert pour DEFI_GROUP_MA / UNION + mc=item.get_definition() + if type( mc ) == types.InstanceType : + children = item._GetSubList() + for child in children: + try : + if 'grma' in repr(child.get_definition().type[0]) : + val=tuple(child.get_valeur()) + groupMa += val + except : + pass else: children = item._GetSubList() for child in children: groupMa += self.__getAllGroupeMa( child ) except: + #else : # traitement des MCLIST Pour CREA_GROUP_MA try: itemName = item.get_nom() @@ -522,7 +507,7 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): def __getAllGroupeNo(self, item ): """ - Récupère tous les GROUPE_NO dans le JDC courant + Récupère tous les GROUPE_NO dans le JDC courant """ groupNo = () try: @@ -536,7 +521,7 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): elif type( itemValue ) == list: groupNo += tuple(itemValue) elif type( itemValue ) == types.InstanceType and itemValue.has_key('GROUP_NO'): - # pour créer le groupe de Noeuds dans DEFI_GROUP> CREA_GROUP_NO> GROUP_NO + # pour créer le groupe de Noeuds dans DEFI_GROUP> CREA_GROUP_NO> GROUP_NO groupNo += ( itemValue['GROUP_NO'], ) else: children = item._GetSubList() @@ -556,29 +541,28 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): #----------------------- LISTE DES NOUVEAUX CAS D'UTILISATIONS ----------- - def selectGroupFromSalome( self, kwType = None): + def selectGroupFromSalome( self, kwType = None, editor=None): """ - Sélection d'élément(s) d'une géométrie ( sub-shape ) ou d'élément(s) de maillage ( groupe de maille) à partir de l'arbre salome + Sélection d'élément(s) d'une géométrie ( sub-shape ) ou d'élément(s) de maillage ( groupe de maille) à partir de l'arbre salome retourne ( la liste des noms des groupes, message d'erreur ) - Note: Appelé par EFICAS lorsqu'on clique sur le bouton ajouter à la liste du panel AFF_CHAR_MECA + Note: Appelé par EFICAS lorsqu'on clique sur le bouton ajouter à la liste du panel AFF_CHAR_MECA """ names, msg = [], '' try: + self.editor=editor atLeastOneStudy = self.__studySync() if not atLeastOneStudy: return names, msg - # récupère toutes les sélections de l'utilsateur dans l'arbre Salome + # récupère toutes les sélections de l'utilsateur dans l'arbre Salome entries = salome.sg.getAllSelected() nbEntries = len( entries ) if nbEntries >= 1: -# jdcID = self.bureau.nb.getcurselection() - jdcID = self.bureau.JDCDisplay_courant for entry in entries: - if studyManager.palStudy.isMeshGroup( entry ): #sélection d'un groupe de maille - name, msg = self.__selectMeshGroup( jdcID, entry, kwType ) - elif studyManager.palStudy.isShape( entry ): #sélection d'une sous-géométrie - name, msg = self.__selectShape( jdcID, entry, kwType ) + if studyManager.palStudy.isMeshGroup( entry ): #sélection d'un groupe de maille + name, msg = self.__selectMeshGroup( editor, entry, kwType ) + elif studyManager.palStudy.isShape( entry ): #sélection d'une sous-géométrie + name, msg = self.__selectShape( editor, entry, kwType ) else: name, msg = '', msgUnAuthorizedSelecion if name: @@ -586,41 +570,49 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): if names and len( names ) < nbEntries: msg = msgIncompleteSelection - salome.sg.EraseAll() except: - logger.debug(50*'=') + logger.debug("selectGroupFromSalome: An error occurs") return names, msg def addJdcInSalome( self, jdcPath ): """ - Ajoute le Jeu De Commande ASTER ou HOMARD dans l'arbre d'étude Salome dans la rubrique EFICAS + Ajoute le Jeu De Commande ASTER ou HOMARD dans l'arbre d'étude Salome dans la rubrique EFICAS """ ok, msgError = False, msgErrorAddJdcInSalome - try: + #try: + if 1: atLeastOneStudy = self.__studySync() if not atLeastOneStudy: return ok, msgError - fileType = { 'ASTER': studyManager.FICHIER_EFICAS_ASTER, - 'HOMARD': studyManager.FICHIER_EFICAS_HOMARD } + fileType = { 'ASTER' : studyManager.FICHIER_EFICAS_ASTER, + 'HOMARD' : studyManager.FICHIER_EFICAS_HOMARD , + 'OPENTURNS': studyManager.FICHIER_EFICAS_OPENTURNS} - folderName = { 'ASTER': 'AsterFiles', - 'HOMARD': 'HomardFiles' } + folderName = { 'ASTER' : 'AsterFiles', + 'HOMARD' : 'HomardFiles' , + 'OPENTURNS': 'OpenturnsFiles'} + + folderType = { 'ASTER': studyManager.ASTER_FILE_FOLDER, + 'HOMARD': studyManager.ASTER_FILE_FOLDER, + 'OPENTURNS': studyManager.OPENTURNS_FILE_FOLDER + } + moduleEntry = studyManager.palStudy.addComponent(self.module) itemName = re.split("/",jdcPath)[-1] fatherEntry = studyManager.palStudy.addItem( moduleEntry, - itemName = folderName[self.bureau.code], + itemName = folderName[self.code], itemIcon = "ICON_COMM_FOLDER", - itemType = studyManager.ASTER_FILE_FOLDER, + itemType = folderType[self.code], bDoublonCheck = True ) commEntry = studyManager.palStudy.addItem( fatherEntry , itemName = itemName, - itemType = fileType[ self.bureau.code ], + itemType = fileType[ self.code ], itemValue = jdcPath, itemComment = str( jdcPath ), itemIcon = "ICON_COMM_FILE", @@ -629,45 +621,41 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): print 'addJdcInSalome commEntry->', commEntry if commEntry: ok, msgError = True, '' - except: + #except: logger.debug(50*'=') return ok, msgError - def createOrUpdateMesh( self ): + def createOrUpdateMesh( self, editor ): """ Ouverture d'une boite de dialogue : Creation de groupes de mailles dans un maillage existant ou un nouveau maillage. - Note: Appelé par EFICAS à la sauvegarde du JDC. + Note: Appelé par EFICAS à la sauvegarde du JDC. """ try: atLeastOneStudy = self.__studySync() if not atLeastOneStudy: return -# jdcID = self.bureau.nb.getcurselection() - jdcID = self.bureau.JDCDisplay_courant - - groupeMaNames = self.__getAllGroupeMa( self.bureau.JDCDisplay_courant.tree.item ) - groupeNoNames = self.__getAllGroupeNo( self.bureau.JDCDisplay_courant.tree.item ) + groupeMaNames = self.__getAllGroupeMa( editor.tree.item ) + groupeNoNames = self.__getAllGroupeNo( editor.tree.item ) # on elimine les doublons de la liste groupeMaNames = dict.fromkeys(groupeMaNames).keys() groupeNoNames = dict.fromkeys(groupeNoNames).keys() - print 'CS_pbruno createOrUpdateMesh groupeMaNames', groupeMaNames - print 'CS_pbruno createOrUpdateMesh groupeNoNames', groupeNoNames + #print 'CS_pbruno createOrUpdateMesh groupeNoNames', groupeNoNames - # mise à jours de la liste des sous-géométrie ( self.subShapes ) - if not self.mainShapeEntries.has_key( jdcID ): - # l'utilisateur n'a sélectionné aucune sous-géométrie et donc pas de géométrie principale - groupeMaNames, groupeNoNames = self.__selectMainShape( groupeMaNames, groupeNoNames, jdcID ) + # mise à jours de la liste des sous-géométrie ( self.subShapes ) + if not self.mainShapeEntries.has_key( editor ): + # l'utilisateur n'a sélectionné aucune sous-géométrie et donc pas de géométrie principale + groupeMaNames, groupeNoNames = self.__selectMainShape( groupeMaNames, groupeNoNames, editor ) if groupeMaNames or groupeNoNames: print 'CS_pbruno createOrUpdateMesh groupeMaNames', groupeMaNames print 'CS_pbruno createOrUpdateMesh groupeNoNames', groupeNoNames - self.__updateSubShapes( jdcID, groupeMaNames + groupeNoNames ) + self.__updateSubShapes( editor, groupeMaNames + groupeNoNames ) - # recupération des identifiants( entries ) associés aux noms des groupes + # recupération des identifiants( entries ) associés aux noms des groupes groupeMaEntries = [] groupeNoEntries = [] @@ -679,7 +667,7 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): if groupeMaEntries or groupeNoEntries: diag = meshGui.MeshUpdateDialogImpl( - self.mainShapeEntries[jdcID], + self.mainShapeEntries[editor], groupeMaEntries, groupeNoEntries, studyManager.palStudy, @@ -700,7 +688,7 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): ok, msgError = False, '' try: sg = salome.ImportComponentGUI('SMESH') - currentjdcID = self.bureau.nb.getcurselection() + currentjdcID = self.editor.nb.getcurselection() meshGroupEntries = [] selMeshEntry = None selMeshGroupEntry = None @@ -717,12 +705,12 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): if len(meshGroupEntries)>1: # choix d'un maillage - if not self.workingMesh.has_key(currentjdcID): # aucun maillage de défini par défaut encore + if not self.workingMesh.has_key(currentjdcID): # aucun maillage de défini par défaut encore #selMeshEntry = "0:1:3:5" #CS_pbruno todo : choix maillage + test si c un maillage selMeshEntry, keep = self.__selectWorkingMesh(meshGroupEntries) if keep: self.workingMesh[currentjdcID] = selMeshEntry - else: # déja un de défini par défaut + else: # déja un de défini par défaut selMeshEntry = self.workingMesh[currentjdcID] # le groupe de maille est il ds ce maillage? @@ -737,7 +725,7 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): # on affiche le groupe ds la vue VTK if selMeshGroupEntry: - #CS_pbruno: marche QUE si le module SMESH est activé + #CS_pbruno: marche QUE si le module SMESH est activé myComponent = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH") SCom = studyManager.palStudy._myStudy.FindComponent("SMESH") studyManager.palStudy._myBuilder.LoadWith( SCom , myComponent ) @@ -753,7 +741,7 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): def displayShape( self, shapeName ): """ - visualisation géométrie de nom shapeName dans salome + visualisation géométrie de nom shapeName dans salome """ ok, msgError = False, '' try: @@ -796,7 +784,6 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): initialdir = fichier) f=open(sauvegarde,'w+') for unite in dico.keys(): - print unite type=dico[unite][0] fic=dico[unite][1:] ligne="fort."+str(unite)+" "+type+" "+fic @@ -804,14 +791,13 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): f.close() self.rangeInStudy(sauvegarde) print "===============================" - print "fin crreConfigTxt" """ - pass #CS_pbruno à implémenter + pass #CS_pbruno à implémenter def buildCabriGeom( self, name, **param ): """ - visualisation dans GEOM d'une géométrie CABRI + visualisation dans GEOM d'une géométrie CABRI """ import cabri qt.QApplication.setOverrideCursor( qt.QCursor.waitCursor ) @@ -819,24 +805,28 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): qt.QApplication.restoreOverrideCursor() - + #------------------------------------------------------------------------------------------------------- # Pilotage de la Visu des elements de structures # + def envoievisu(self,liste_commandes): - #try: - if ( 1 == 1 ): + import traceback + try: atLeastOneStudy = self.__studySync() if not atLeastOneStudy: return + logger.debug(10*'#'+":envoievisu: creating a visuDriver instance") monDriver=visuDriver.visuDriver(studyManager.palStudy,liste_commandes) + + logger.debug(10*'#'+":envoievisu: analyse visu commandes using the visuDriver "+str(monDriver)) monId = monDriver.analyse() + logger.debug(10*'#'+":envoievisu: display the structural elements using PALGUI") PALGUI_API.displaySE(monId) - - else: - #except: - print "boum dans envoievisu" + except: + traceback.print_exc() + logger.debug(10*'#'+":pb dans envoievisu") @@ -844,9 +834,17 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ): # Point d'entree lancement EFICAS # def runEficas( code="ASTER", fichier=None, module = studyManager.SEficas, version=None ): + logger.debug(10*'#'+":runEficas: START") global appli + logger.debug(10*'#'+":runEficas: code="+str(code)) + logger.debug(10*'#'+":runEficas: fichier="+str(fichier)) + logger.debug(10*'#'+":runEficas: module="+str(module)) + logger.debug(10*'#'+":runEficas: version="+str(version)) + if not appli: #une seul instance possible! appli = MyEficas( SalomePyQt.SalomePyQt().getDesktop(), code = code, fichier = fichier, module = module, version=version ) + logger.debug(10*'#'+":runEficas: END") + @@ -866,19 +864,10 @@ def runAster(parent = SalomePyQt.SalomePyQt().getDesktop(), palStudyManager = st appli = MyEficas( parent, palStudyManager, code = code, fichier = fichier ) """ - - -# Init globale du module -root = Tkinter.Tk() -root.withdraw() - - appli = None -logger=ExtLogger( "eficasSalome.py" ) - diff --git a/src/STUDY/EficasStudy.py b/src/STUDY/EficasStudy.py index 24615463..eedfcbee 100644 --- a/src/STUDY/EficasStudy.py +++ b/src/STUDY/EficasStudy.py @@ -374,23 +374,23 @@ class SalomeStudy( salomedsgui.guiDS ): if self.isMainShape( mainShapeEntry ): mainShapeSO = salome.IDToSObject( mainShapeEntry ) SObjectList = self._myStudy.FindDependances( mainShapeSO ) - print '#### mainShapeSO=%s , SObjectList = %s'%( mainShapeSO, SObjectList ) + #print '#### mainShapeSO=%s , SObjectList = %s'%( mainShapeSO, SObjectList ) if SObjectList: #Ok, il y a des objet référençant la mainShape for SObject in SObjectList: # Recherche du type de chacun des objets SFatherComponent = SObject.GetFatherComponent() - print '#### SFatherComponent = %s'%SFatherComponent + #print '#### SFatherComponent = %s'%SFatherComponent if SFatherComponent.GetName() == SMesh: #Ok, l'objet est un objet du composant 'Mesh' SFather = SObject.GetFather() - print '#### SFather= %s'%SFather + #print '#### SFather= %s'%SFather ##CorbaObject = SFather.GetObject() FatherEntry = SFather.GetID() CorbaObject = self.__getCORBAObject( FatherEntry ) - print '#### CorbaObject = %s'%CorbaObject + #print '#### CorbaObject = %s'%CorbaObject MeshObject = CorbaObject ._narrow( SMESH.SMESH_Mesh ) - print '#### MeshObject = %s'%MeshObject + #print '#### MeshObject = %s'%MeshObject if MeshObject : #Ok, l'objet est un objet 'maillage' MeshObjectEntry = self.__getEntry( MeshObject ) - print '#### MeshObjectEntry = %s'%MeshObjectEntry + #print '#### MeshObjectEntry = %s'%MeshObjectEntry if MeshObjectEntry: result.append( MeshObjectEntry ) # On l'ajoute ds la liste résultat! else: # c'est pas une mainShape ! -- 2.30.2