Salome HOME
Merge branch 'V7_dev'
authorvsr <vsr@opencascade.com>
Thu, 24 Mar 2016 13:01:26 +0000 (16:01 +0300)
committervsr <vsr@opencascade.com>
Thu, 24 Mar 2016 13:01:26 +0000 (16:01 +0300)
23 files changed:
1  2 
CMakeLists.txt
src/SMESHGUI/CMakeLists.txt
src/SMESHGUI/SMESHGUI_ComputeDlg.cxx
src/SMESHGUI/SMESHGUI_MeshInfo.cxx
src/SMESH_I/SMESH_Gen_i.cxx
src/StdMeshersGUI/CMakeLists.txt
src/Tools/MGCleanerPlug/CMakeLists.txt
src/Tools/MGCleanerPlug/MGCleanerMonPlugDialog.py
src/Tools/MGCleanerPlug/MGCleanerMonViewText.py
src/Tools/MGCleanerPlug/MGCleanerplug_plugin.py
src/Tools/MeshCut/CMakeLists.txt
src/Tools/MeshCut/meshcut_plugin.py
src/Tools/Verima/Gui/CMakeLists.txt
src/Tools/YamsPlug/CMakeLists.txt
src/Tools/YamsPlug/monViewText.py
src/Tools/YamsPlug/monYamsPlugDialog.py
src/Tools/YamsPlug/yamsplug_plugin.py
src/Tools/blocFissure/ihm/CMakeLists.txt
src/Tools/blocFissure/ihm/fissureCoude_plugin.py
src/Tools/padder/spadderpy/gui/CMakeLists.txt
src/Tools/padder/spadderpy/gui/inputdialog.py
src/Tools/padder/spadderpy/gui/plugindialog.py
src/Tools/padder/spadderpy/plugin/spadderPlugin.py

diff --combined CMakeLists.txt
index 1cbe7da47ef081cdd050553b6b5085f3ccde015b,89369d158267843fcd3dde3d126ec43d28fdce9e..d5381f6a1a62a2d168cf13f8b2d03d398423e24f
@@@ -1,4 -1,4 +1,4 @@@
- # Copyright (C) 2012-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+ # Copyright (C) 2012-2016  CEA/DEN, EDF R&D, OPEN CASCADE
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -27,9 -27,9 +27,9 @@@ CMAKE_POLICY(SET CMP0003 NEW
  # Project name, upper case
  STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC)
  
 -SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7)
 -SET(${PROJECT_NAME_UC}_MINOR_VERSION 7)
 -SET(${PROJECT_NAME_UC}_PATCH_VERSION 1)
 +SET(${PROJECT_NAME_UC}_MAJOR_VERSION 8)
 +SET(${PROJECT_NAME_UC}_MINOR_VERSION 0)
 +SET(${PROJECT_NAME_UC}_PATCH_VERSION 0)
  SET(${PROJECT_NAME_UC}_VERSION
    ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION})
  SET(${PROJECT_NAME_UC}_VERSION_DEV 1)
@@@ -87,7 -87,8 +87,8 @@@ MARK_AS_ADVANCED(SALOME_BUILD_GUI SALOM
  
  # Various
  # Python
- FIND_PACKAGE(SalomePython REQUIRED)
+ FIND_PACKAGE(SalomePythonInterp REQUIRED)
+ FIND_PACKAGE(SalomePythonLibs REQUIRED)
  # PThread
  FIND_PACKAGE(SalomePThread REQUIRED)
  # SWIG
@@@ -127,20 -128,12 +128,20 @@@ IF(SALOME_BUILD_GUI
      ##
      ## Prerequisites From GUI:
      ##
 -    # Qt4
 -    FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui QtXml)
 +    # Qt
 +    IF(NOT SALOME_GUI_BUILD_WITH_QT5)
 +      FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui QtXml)
 +    ELSE()
 +      FIND_PACKAGE(SalomeQt5 REQUIRED)
 +    ENDIF()
      # SIP
 -    FIND_PACKAGE(SalomeSIP REQUIRED)  # should come after Python and before PyQt4
 -    # PyQt4
 -    FIND_PACKAGE(SalomePyQt4 REQUIRED)
 +    FIND_PACKAGE(SalomeSIP REQUIRED)  # should come after Python and before PyQt5
 +    # PyQt
 +    IF (NOT SALOME_GUI_BUILD_WITH_QT5)
 +      FIND_PACKAGE(SalomePyQt4 REQUIRED)
 +    ELSE()
 +      FIND_PACKAGE(SalomePyQt5 REQUIRED)
 +    ENDIF()
      # Qwt
      FIND_PACKAGE(SalomeQwt REQUIRED)
    ELSE(EXISTS ${GUI_ROOT_DIR})
index c996fc99f51d6d55091aac5031a7f650a84a9c1f,023ddaa9239bbca18f9b8f77adf0c8e81ee822df..b3acd18ac98e08c4d317cf1d817b222180475513
@@@ -1,4 -1,4 +1,4 @@@
- # Copyright (C) 2012-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+ # Copyright (C) 2012-2016  CEA/DEN, EDF R&D, OPEN CASCADE
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -17,7 -17,7 +17,7 @@@
  # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
  #
  
 -INCLUDE(UseQt4Ext)
 +INCLUDE(UseQtExt)
  
  # --- options ---
  # additional include directories
@@@ -173,7 -173,7 +173,7 @@@ SET(SMESH_HEADERS ${_moc_HEADERS} ${_ot
  # --- sources ---
  
  # sources / moc wrappings
 -QT4_WRAP_CPP(_moc_SOURCES ${_moc_HEADERS})
 +QT_WRAP_MOC(_moc_SOURCES ${_moc_HEADERS})
  
  # sources / static
  SET(_other_SOURCES
@@@ -278,4 -278,4 +278,4 @@@ INSTALL(TARGETS SMESH EXPORT ${PROJECT_
  
  INSTALL(FILES ${SMESH_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
  
 -QT4_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_SMESH_INSTALL_RES_DATA}")
 +QT_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_SMESH_INSTALL_RES_DATA}")
index e9bb818eb27cf38333f0d18fb47c18feed80bb7a,05858cc14f52ccf143550222729f6f915ce00326..1e8e270de676ac257cd39b9bd4c8bbde6c57c46a
@@@ -1,4 -1,4 +1,4 @@@
- // Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+ // Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
  //
  // This library is free software; you can redistribute it and/or
  // modify it under the terms of the GNU Lesser General Public
@@@ -575,11 -575,7 +575,11 @@@ QFrame* SMESHGUI_ComputeDlg::createMain
    myTable->hideColumn( COL_PUBLISHED );
    myTable->hideColumn( COL_SHAPEID );
    myTable->hideColumn( COL_BAD_MESH );
 +#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
    myTable->horizontalHeader()->setResizeMode( COL_ERROR, QHeaderView::Interactive );
 +#else
 +  myTable->horizontalHeader()->setSectionResizeMode( COL_ERROR, QHeaderView::Interactive );
 +#endif
    myTable->setWordWrap( true );
    myTable->horizontalHeader()->setStretchLastSection( true );
    myTable->setMinimumWidth( 500 );
index 01109621e5cc4919c5ab401e675b1de5df76f56c,1a55c37c1e4f13b3e958584df7fd3ea4ca3debc3..d6603652ecd29a8b75e243cff4c3986cf9814de3
@@@ -1,4 -1,4 +1,4 @@@
- // Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+ // Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
  //
  // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
  // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@@ -1650,11 -1650,7 +1650,11 @@@ SMESHGUI_TreeElemInfo::SMESHGUI_TreeEle
    myInfo->setColumnCount( 2 );
    myInfo->setHeaderLabels( QStringList() << tr( "PROPERTY" ) << tr( "VALUE" ) );
    myInfo->header()->setStretchLastSection( true );
 +#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
    myInfo->header()->setResizeMode( 0, QHeaderView::ResizeToContents );
 +#else
 +  myInfo->header()->setSectionResizeMode( 0, QHeaderView::ResizeToContents );
 +#endif
    myInfo->setItemDelegate( new ItemDelegate( myInfo ) );
    QVBoxLayout* l = new QVBoxLayout( frame() );
    l->setMargin( 0 );
@@@ -2324,6 -2320,7 +2324,7 @@@ GrpComputor::GrpComputor( SMESH::SMESH_
  void GrpComputor::compute()
  {
    if ( !CORBA::is_nil( myGroup ) && myItem ) {
+     SUIT_OverrideCursor wc;
      QTreeWidgetItem* item = myItem;
      myItem = 0;
      int nb = myToComputeSize ? myGroup->Size() : myGroup->GetNumberOfNodes();
@@@ -2346,11 -2343,7 +2347,11 @@@ SMESHGUI_AddInfo::SMESHGUI_AddInfo( QWi
  {
    setColumnCount( 2 );
    header()->setStretchLastSection( true );
 +#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
    header()->setResizeMode( 0, QHeaderView::ResizeToContents );
 +#else
 +  header()->setSectionResizeMode( 0, QHeaderView::ResizeToContents );
 +#endif
    header()->hide();
  }
  
index e92dc458a9e526bc9ceae3b7ad6dc27add66337d,24cc1967e24e32ca730da5da7fea3fd68e668c1a..204466afefea833d8bb90b3bfd220ad675a54b84
@@@ -1,4 -1,4 +1,4 @@@
- // Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+ // Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
  //
  // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
  // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@@ -4896,7 -4896,7 +4896,7 @@@ bool SMESH_Gen_i::LoadASCII( SALOMEDS::
    _CORBA_Octet* buffer = new _CORBA_Octet[real_size];
    char tmp[3];
    tmp[2]='\0';
 -  uint c = -1;
 +  unsigned int c = -1;
    for ( int i = 0; i < real_size; i++ )
    {
      memcpy( &(tmp[0]), &(theStream[i*3+1]), 2 );
index e922c84b08e7aa88141706aa41fd799ec150d00c,f4beaf1aff652705606d7b77d3732123597152e2..1b390d361f1d5083aaa92e7b755d231b327f5e5b
@@@ -1,4 -1,4 +1,4 @@@
- # Copyright (C) 2012-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+ # Copyright (C) 2012-2016  CEA/DEN, EDF R&D, OPEN CASCADE
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -17,7 -17,7 +17,7 @@@
  # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
  #
  
 -INCLUDE(UseQt4Ext)
 +INCLUDE(UseQtExt)
  
  # --- options ---
  # additional include directories
@@@ -101,7 -101,7 +101,7 @@@ SET(StdMeshersGUI_HEADERS ${_moc_HEADER
  # --- sources ---
  
  # sources / moc wrappings
 -QT4_WRAP_CPP(_moc_SOURCES ${_moc_HEADERS})
 +QT_WRAP_MOC(_moc_SOURCES ${_moc_HEADERS})
  
  # sources / static
  SET(_other_SOURCES
@@@ -145,4 -145,4 +145,4 @@@ TARGET_LINK_LIBRARIES(StdMeshersGUI ${_
  INSTALL(TARGETS StdMeshersGUI EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
  
  INSTALL(FILES ${StdMeshersGUI_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})
 -QT4_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_SMESH_INSTALL_RES_DATA}")
 +QT_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_SMESH_INSTALL_RES_DATA}")
index 319d8425d6838b714abcbc1e9a8b0dcfe6d0c2eb,0750bc3f2554220084174991a2716dd987b65f01..50a2d05c94f9c374e55212421bfd2265eacfa91e
@@@ -1,4 -1,4 +1,4 @@@
- # Copyright (C) 2013-2015  EDF R&D
+ # Copyright (C) 2013-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -20,7 -20,7 +20,7 @@@ IF(SALOME_BUILD_DOC
    ADD_SUBDIRECTORY(doc)
  ENDIF(SALOME_BUILD_DOC)
  
 -INCLUDE(UsePyQt4)
 +INCLUDE(UsePyQt)
  
  # --- scripts ---
  
@@@ -40,7 -40,7 +40,7 @@@ SET(_pyuic_file
  )
  
  # scripts / pyuic wrappings
 -PYQT4_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
 +PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
  
  # --- rules ---
  
index 122bb455876949c0c0b73c1075038d4f9d3ed92e,b51f9ebc64394eb74578b7da7c8237590f2b7d83..d96c8b1a48ba96dc5f586d4dc49c740ba7f410d4
@@@ -1,5 -1,5 +1,5 @@@
  # -*- coding: utf-8 -*-
- # Copyright (C) 2013-2015  EDF R&D
+ # Copyright (C) 2013-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
  # Modules Eficas
  
  import os, subprocess
+ import tempfile
  from MGCleanerPlugDialog_ui import Ui_MGCleanerPlugDialog
  from MGCleanerMonViewText import MGCleanerMonViewText
 -from PyQt4.QtGui import *
 -from PyQt4.QtCore import *
 +from qtsalome import *
  
  
  class MGCleanerMonPlugDialog(Ui_MGCleanerPlugDialog,QWidget):
      self.clean()
  
    def connecterSignaux(self) :
 -    self.connect(self.PB_Cancel,SIGNAL("clicked()"),self.PBCancelPressed)
 -    self.connect(self.PB_Default,SIGNAL("clicked()"),self.clean)
 -    self.connect(self.PB_Help,SIGNAL("clicked()"),self.PBHelpPressed)
 -    self.connect(self.PB_OK,SIGNAL("clicked()"),self.PBOKPressed)
 +    self.PB_Cancel.clicked.connect(self.PBCancelPressed)
 +    self.PB_Default.clicked.connect(self.clean)
 +    self.PB_Help.clicked.connect(self.PBHelpPressed)
 +    self.PB_OK.clicked.connect(self.PBOKPressed)
      
 -    self.connect(self.PB_Load,SIGNAL("clicked()"),self.PBLoadPressed)
 -    self.connect(self.PB_Save,SIGNAL("clicked()"),self.PBSavePressed)
 -    self.connect(self.PB_LoadHyp,SIGNAL("clicked()"),self.PBLoadHypPressed)
 -    self.connect(self.PB_SaveHyp,SIGNAL("clicked()"),self.PBSaveHypPressed)
 +    self.PB_Load.clicked.connect(self.PBLoadPressed)
 +    self.PB_Save.clicked.connect(self.PBSavePressed)
 +    self.PB_LoadHyp.clicked.connect(self.PBLoadHypPressed)
 +    self.PB_SaveHyp.clicked.connect(self.PBSaveHypPressed)
      
 -    self.connect(self.PB_MeshFile,SIGNAL("clicked()"),self.PBMeshFilePressed)
 -    self.connect(self.PB_MeshSmesh,SIGNAL("clicked()"),self.PBMeshSmeshPressed)
 -    self.connect(self.LE_MeshSmesh,SIGNAL("returnPressed()"),self.meshSmeshNameChanged)
 -    self.connect(self.PB_ParamsFileExplorer,SIGNAL("clicked()"),self.setParamsFileName)
 -    self.connect(self.LE_MeshFile,SIGNAL("returnPressed()"),self.meshFileNameChanged)
 -    self.connect(self.LE_ParamsFile,SIGNAL("returnPressed()"),self.paramsFileNameChanged)
 +    self.PB_MeshFile.clicked.connect(self.PBMeshFilePressed)
 +    self.PB_MeshSmesh.clicked.connect(self.PBMeshSmeshPressed)
 +    self.LE_MeshSmesh.returnPressed.connect(self.meshSmeshNameChanged)
 +    self.PB_ParamsFileExplorer.clicked.connect(self.setParamsFileName)
 +    self.LE_MeshFile.returnPressed.connect(self.meshFileNameChanged)
 +    self.LE_ParamsFile.returnPressed.connect(self.paramsFileNameChanged)
  
      #QtCore.QObject.connect(self.checkBox, QtCore.SIGNAL("stateChanged(int)"), self.change) 
 -    self.connect(self.CB_FillHoles,SIGNAL("stateChanged(int)"),self.SP_MinHoleSize.setEnabled)
 -    self.connect(self.CB_ComputedToleranceDisplacement,SIGNAL("stateChanged(int)"),self.SP_ToleranceDisplacement.setDisabled)
 -    self.connect(self.CB_ComputedResolutionLength,SIGNAL("stateChanged(int)"),self.SP_ResolutionLength.setDisabled)
 -    self.connect(self.CB_ComputedOverlapDistance,SIGNAL("stateChanged(int)"),self.SP_OverlapDistance.setDisabled)
 +    self.CB_FillHoles.stateChanged[int].connect(self.SP_MinHoleSize.setEnabled)
 +    self.CB_ComputedToleranceDisplacement.stateChanged[int].connect(self.SP_ToleranceDisplacement.setDisabled)
 +    self.CB_ComputedResolutionLength.stateChanged[int].connect(self.SP_ResolutionLength.setDisabled)
 +    self.CB_ComputedOverlapDistance.stateChanged[int].connect(self.SP_OverlapDistance.setDisabled)
  
    def PBHelpPressed(self):
      import SalomePyQt
      if fd.exec_():
        infile = fd.selectedFiles()[0]
        self.LE_MeshFile.setText(infile)
 -      self.fichierIn=infile.toLatin1()
 +      self.fichierIn=unicode(infile).encode("latin-1")
        self.MeshIn=""
        self.LE_MeshSmesh.setText("")
  
      if fd.exec_():
        infile = fd.selectedFiles()[0]
        self.LE_ParamsFile.setText(infile)
 -      self.paramsFile=infile.toLatin1()
 +      self.paramsFile=unicode(infile).encode("latin-1")
  
    def meshFileNameChanged(self):
      self.fichierIn=str(self.LE_MeshFile.text())
      self.fichierIn=""
  
    def prepareFichier(self):
-     self.fichierIn="/tmp/ForMGCleaner_"+str(self.num)+".mesh"
+     self.fichierIn=tempfile.mktemp(suffix=".mesh",prefix="ForMGCleaner_")
+     if os.path.exists(self.fichierIn):
+         os.remove(self.fichierIn)
      self.__selectedMesh.ExportGMF(self.__selectedMesh, self.fichierIn, True)
  
    def PrepareLigneCommande(self):
@@@ -594,9 -598,10 +597,9 @@@ def TEST_standalone()
  #
  def TEST_MGCleanerMonPlugDialog():
    import sys
 -  from PyQt4.QtGui import QApplication
 -  from PyQt4.QtCore import QObject, SIGNAL, SLOT
 +  from qtsalome import QApplication
    app = QApplication(sys.argv)
 -  QObject.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()"))
 +  app.lastWindowClosed.connect(app.quit)
  
    dlg=MGCleanerMonPlugDialog()
    dlg.show()
index 81a2c26a825038d139a3e0900b521ebda0d58d52,e4030cc4443127f611517c2ca610582eb373e8f6..a8dafeed46c1e4f8ce3403ba9ccbd6048676bf98
@@@ -1,5 -1,5 +1,5 @@@
  # -*- coding: utf-8 -*-
- # Copyright (C) 2013-2015  EDF R&D
+ # Copyright (C) 2013-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
  #
  
  # Modules Python
- import string,types,os
+ import string,types,os,sys
+ import tempfile
  import traceback
  
 -from PyQt4 import *
 -from PyQt4.QtGui import *
 -from PyQt4.QtCore import *
 +from qtsalome import *
  
  # Import des panels
  
@@@ -37,28 -40,51 +38,51 @@@ class MGCleanerMonViewText(Ui_ViewExe, 
          self.setupUi(self)
          self.resize( QSize(1000,600).expandedTo(self.minimumSizeHint()) )
          #self.connect( self.PB_Ok,SIGNAL("clicked()"), self, SLOT("close()") )
 -        self.connect( self.PB_Ok,SIGNAL("clicked()"), self.theClose )
 -        self.connect( self.PB_Save,SIGNAL("clicked()"), self.saveFile )
 +        self.PB_Ok.clicked.connect( self.theClose )
 +        self.PB_Save.clicked.connect( self.saveFile )
          self.PB_Save.setToolTip("Save trace in log file")
          self.PB_Ok.setToolTip("Close view")
          self.monExe=QProcess(self)
  
 -        self.connect(self.monExe, SIGNAL("readyReadStandardOutput()"), self.readFromStdOut )
 -        self.connect(self.monExe, SIGNAL("readyReadStandardError()"), self.readFromStdErr )
 +        self.monExe.readyReadStandardOutput.connect( self.readFromStdOut )
 +        self.monExe.readyReadStandardError.connect( self.readFromStdErr )
        
          # Je n arrive pas a utiliser le setEnvironment du QProcess
          # fonctionne hors Salome mais pas dans Salome ???
          cmds=''
+         '''
+         try :
+           LICENCE_FILE=os.environ["DISTENE_LICENCE_FILE_FOR_MGCLEANER"]
+         except:
+           LICENCE_FILE=''
+         try :
+           PATH=os.environ["DISTENE_PATH_FOR_MGCLEANER"]
+         except:
+           PATH=''
+         if LICENCE_FILE != '': 
+           cmds+='source '+LICENCE_FILE+'\n'
+         else:
+           cmds+="# $DISTENE_LICENCE_FILE_FOR_MGCLEANER NOT SET\n"
+         if PATH != '': 
+           cmds+='export PATH='+PATH+':$PATH\n'
+         else:
+           cmds+="# $DISTENE_PATH_FOR_MGCLEANER NOT SET\n"
+         #cmds+='env\n'
          cmds+='rm -f '+self.parent().fichierOut+'\n'
+         '''
          cmds+=txt+'\n'
          cmds+='echo END_OF_MGCleaner\n'
-         pid=self.monExe.pid()
-         nomFichier='/tmp/MGCleaner_'+str(pid)+'.sh'
+         ext=''
+         if sys.platform == "win32":
+             ext = '.bat'
+         else:
+             ext = '.sh'
+         nomFichier=tempfile.mktemp(suffix=ext,prefix="MGCleaner_")
          f=open(nomFichier,'w')
          f.write(cmds)
          f.close()
  
-         maBidouille='sh ' + nomFichier
+         maBidouille=nomFichier
          self.monExe.start(maBidouille)
          self.monExe.closeWriteChannel()
          self.enregistreResultatsDone=False
  
      def readFromStdErr(self):
          a=self.monExe.readAllStandardError()
 -        self.TB_Exe.append(QString.fromUtf8(a.data(),len(a)))
 +        self.TB_Exe.append(unicode(a.data()))
  
      def readFromStdOut(self) :
          a=self.monExe.readAllStandardOutput()
 -        aa=QString.fromUtf8(a.data(),len(a))
 +        aa=unicode(a.data())
          self.TB_Exe.append(aa)
          if "END_OF_MGCleaner" in aa:
            self.parent().enregistreResultat()
index d17bd64abf6b139fac8c72299f6bf9cc51caaad4,9b356cece2abef1579bc11519c99dc05f4684426..f1132f396de88c97b4860043c76372f138b80dad
@@@ -1,5 -1,5 +1,5 @@@
  # -*- coding: utf-8 -*-
- # Copyright (C) 2013-2015  EDF R&D
+ # Copyright (C) 2013-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -30,7 -30,10 +30,7 @@@ def MGCleanerLct(context)
    import os
    import subprocess
    import tempfile
 -  from PyQt4 import QtCore
 -  from PyQt4 import QtGui
 -  from PyQt4.QtGui import QFileDialog
 -  from PyQt4.QtGui import QMessageBox
 +  from qtsalome import QFileDialog, QMessageBox
    
    #prior test to avoid unnecessary user GUI work with ending crash
    try :
index aede4aa299f411e0e82545f41c3c40c81be20c60,1744653857192edbba54859751a8bfa65b0c64d2..2125c0be1148379f53dceef605f0ff0e29f558d5
@@@ -1,4 -1,4 +1,4 @@@
- # Copyright (C) 2012-2015  EDF R&D
+ # Copyright (C) 2012-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -18,7 -18,7 +18,7 @@@
  #
  
  IF(SALOME_BUILD_GUI)
 -  INCLUDE(UsePyQt4)
 +  INCLUDE(UsePyQt)
  ENDIF(SALOME_BUILD_GUI)
  
  # --- options ---
@@@ -69,7 -69,7 +69,7 @@@ IF(SALOME_BUILD_GUI
    )
  
    # scripts / pyuic wrappings
 -  PYQT4_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
 +  PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
  
  ENDIF(SALOME_BUILD_GUI)
  
index dba9226c9149153cbb6cc8b8a60d368bdc78fe35,31793818bb8bc993052ab097a6c921f23eedfb40..c5abe768acb477e58d2a1bd835d11b71f7347623
@@@ -1,4 -1,4 +1,4 @@@
- # Copyright (C) 2006-2015  EDF R&D
+ # Copyright (C) 2006-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -29,20 -29,26 +29,20 @@@ def MeshCut(context)
    import os
    import subprocess
    import tempfile
 -  from PyQt4 import QtCore
 -  from PyQt4 import QtGui
 -  from PyQt4.QtGui import QFileDialog
 -  from PyQt4.QtGui import QMessageBox
 +  from qtsalome import QFileDialog, QMessageBox, QDialog
    from MeshCutDialog_ui import Ui_Dialog
    
 -  class CutDialog(QtGui.QDialog):
 +  class CutDialog(QDialog):
      
      def __init__(self):
 -      QtGui.QDialog.__init__(self)
 +      QDialog.__init__(self)
        # Set up the user interface from Designer.
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        # Connect up the buttons.
 -      self.connect(self.ui.pb_origMeshFile, QtCore.SIGNAL("clicked()"),
 -                   self.setInputFile)
 -      self.connect(self.ui.pb_cutMeshFile, QtCore.SIGNAL("clicked()"),
 -                   self.setOutputFile)
 -      self.connect(self.ui.pb_help, QtCore.SIGNAL("clicked()"),
 -                   self.helpMessage)
 +      self.ui.pb_origMeshFile.clicked.connect(self.setInputFile)
 +      self.ui.pb_cutMeshFile.clicked.connect(self.setOutputFile)
 +      self.ui.pb_help.clicked.connect(self.helpMessage)
        pass
      
      def setInputFile(self):
@@@ -50,7 -56,7 +50,7 @@@
        if fd.exec_():
          infile = fd.selectedFiles()[0]
          self.ui.le_origMeshFile.setText(infile)
 -        insplit = os.path.splitext(infile.toLocal8Bit().data())
 +        insplit = os.path.splitext(unicode(infile).encode())
          outfile = insplit[0] + '_cut' + insplit[1]
          self.ui.le_cutMeshFile.setText(outfile)
        pass
@@@ -97,11 -103,11 +97,11 @@@ and T the tolerance
      if result:
        # dialog accepted
        args = ['MeshCut']
 -      args += [window.ui.le_origMeshFile.text().toLocal8Bit().data()]
 -      args += [window.ui.le_cutMeshFile.text().toLocal8Bit().data()]
 -      args += [window.ui.le_outMeshName.text().toLocal8Bit().data()]
 -      args += [window.ui.le_groupAbove.text().toLocal8Bit().data()]
 -      args += [window.ui.le_groupBelow.text().toLocal8Bit().data()]
 +      args += [unicode(window.ui.le_origMeshFile.text()).encode()]
 +      args += [unicode(window.ui.le_cutMeshFile.text()).encode()]
 +      args += [unicode(window.ui.le_outMeshName.text()).encode()]
 +      args += [unicode(window.ui.le_groupAbove.text()).encode()]
 +      args += [unicode(window.ui.le_groupBelow.text()).encode()]
        args += [str(window.ui.dsb_normX.value())]
        args += [str(window.ui.dsb_normY.value())]
        args += [str(window.ui.dsb_normZ.value())]
index 1e1dde46bda7baf241729631809df27ab47bca8a,5f5d9ab4fc293b4fc1fc2ccc46f6f6e0df5dee0e..07c0275a1dedd07d5b0518c9b03f107e2527874c
@@@ -1,4 -1,4 +1,4 @@@
- # Copyright (C) 2012-2015  EDF R&D
+ # Copyright (C) 2012-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -17,7 -17,7 +17,7 @@@
  # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
  #
  
 -INCLUDE(UsePyQt4)
 +INCLUDE(UsePyQt)
  
  # --- scripts ---
  
@@@ -44,7 -44,7 +44,7 @@@ SET(_pyuic_file
  )
  
  # scripts / pyuic wrappings
 -PYQT4_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
 +PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
  
  # --- rules ---
  
index 76dbc842b28a3feef151982e98685326f77f80df,0a09c679a612e50bc9928dd8e799ffe26ce9ef2b..29e6fc99fa22a46d41adc98466990fe8a0e2b108
@@@ -1,4 -1,4 +1,4 @@@
- # Copyright (C) 2012-2015  EDF R&D
+ # Copyright (C) 2012-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -21,7 -21,7 +21,7 @@@ IF(SALOME_BUILD_DOC
    ADD_SUBDIRECTORY(doc)
  ENDIF(SALOME_BUILD_DOC)
  
 -INCLUDE(UsePyQt4)
 +INCLUDE(UsePyQt)
  
  # --- scripts ---
  
@@@ -41,7 -41,7 +41,7 @@@ SET(_pyuic_file
  )
  
  # scripts / pyuic wrappings
 -PYQT4_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
 +PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
  
  # --- rules ---
  
index 478e1833d0b0f4d46f3125283b552a6b65d163a2,7d02228e4334a8942ce0421099e2d840105830ef..38aeed49bbd1e1e52d3bce8e27191a3d6b41b402
@@@ -1,5 -1,5 +1,5 @@@
  # -*- coding: utf-8 -*-
- # Copyright (C) 2007-2015  EDF R&D
+ # Copyright (C) 2007-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
  #
  
  # Modules Python
- import string,types,os
+ import string,types,os, sys
  import traceback
+ import tempfile
  
 -from PyQt4 import *
 -from PyQt4.QtGui import *
 -from PyQt4.QtCore import *
 +from qtsalome import *
  
  # Import des panels
  
@@@ -36,27 -39,36 +37,36 @@@ class MonViewText(Ui_ViewExe, QDialog)
          QDialog.__init__(self,parent)
          self.setupUi(self)
          self.resize( QSize(1000,600).expandedTo(self.minimumSizeHint()) )
 -        #self.connect( self.PB_Ok,SIGNAL("clicked()"), self, SLOT("close()") )
 -        self.connect( self.PB_Ok,SIGNAL("clicked()"), self.theClose )
 -        self.connect( self.PB_Save,SIGNAL("clicked()"), self.saveFile )
 +        # self.PB_Ok.clicked.connect(self.close)
 +        self.PB_Ok.clicked.connect( self.theClose )
 +        self.PB_Save.clicked.connect( self.saveFile )
          self.monExe=QProcess(self)
  
 -        self.connect(self.monExe, SIGNAL("readyReadStandardOutput()"), self.readFromStdOut )
 -        self.connect(self.monExe, SIGNAL("readyReadStandardError()"), self.readFromStdErr )
 +        self.monExe.readyReadStandardOutput.connect( self.readFromStdOut )
 +        self.monExe.readyReadStandardError.connect( self.readFromStdErr )
        
          # Je n arrive pas a utiliser le setEnvironment du QProcess
          # fonctionne hors Salome mais pas dans Salome ???
          cmds=''
-         cmds+='rm -f '+self.parent().fichierOut+'\n'
+         #cmds+='#! /usr/bin/env python\n'
+         #cmds+='# -*- coding: utf-8 -*-\n'
          cmds+=txt+'\n'
-         cmds+='echo END_OF_Yams\n'
-         pid=self.monExe.pid()
-         nomFichier='/tmp/Yams_'+str(pid)+'.sh'
+         cmds+='echo "END_OF_Yams"\n'
+         if os.path.exists(self.parent().fichierOut):
+             os.remove(self.parent().fichierOut)
+         ext=''
+         if sys.platform == "win32":
+             ext = '.bat'
+         else:
+             ext = '.sh'
+         nomFichier=tempfile.mktemp(suffix=ext,prefix='Yams_')
          f=open(nomFichier,'w')
          f.write(cmds)
          f.close()
  
-         maBidouille='sh  ' + nomFichier
+         maBidouille=nomFichier
          self.monExe.start(maBidouille)
          self.monExe.closeWriteChannel()
          self.enregistreResultatsDone=False
@@@ -65,7 -77,7 +75,7 @@@
      def saveFile(self):
          #recuperation du nom du fichier
          savedir=os.environ['HOME']
 -        fn = QFileDialog.getSaveFileName(None, self.trUtf8("Save File"),savedir)
 +        fn = QFileDialog.getSaveFileName(None,"Save File",savedir)
          if fn.isNull() : return
          ulfile = os.path.abspath(unicode(fn))
          try:
             f.write(str(self.TB_Exe.toPlainText()))
             f.close()
          except IOError, why:
 -           QMessageBox.critical(self, self.trUtf8('Save File'),
 -                self.trUtf8('The file <b>%1</b> could not be saved.<br>Reason: %2')
 -                    .arg(unicode(fn)).arg(str(why)))
 +           QMessageBox.critical(self, 'Save File',
 +              'The file <b>%1</b> could not be saved.<br>Reason: %2'%(unicode(fn), str(why)))
  
      def readFromStdErr(self):
          a=self.monExe.readAllStandardError()
 -        self.TB_Exe.append(QString.fromUtf8(a.data(),len(a)))
 +        self.TB_Exe.append(unicode(a.data().encode()))
  
      def readFromStdOut(self) :
          a=self.monExe.readAllStandardOutput()
 -        aa=QString.fromUtf8(a.data(),len(a))
 +        aa=unicode(a.data(),len(a))
          self.TB_Exe.append(aa)
          if "END_OF_Yams" in aa:
            self.parent().enregistreResultat()
index 27953a1b8968fe15e4007df1d617fe3845393d70,37a15f6cc591b6ded93d34d83430cbd8253c8c4c..17f2dd640bdc390aaaea6f8fca2f4deaf71f46dd
@@@ -1,5 -1,5 +1,5 @@@
  # -*- coding: utf-8 -*-
- # Copyright (C) 2007-2015  EDF R&D
+ # Copyright (C) 2007-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
  # Modules Eficas
  
  import os, subprocess
+ import tempfile
  from YamsPlugDialog_ui import Ui_YamsPlugDialog
  from monViewText import MonViewText
 -from PyQt4.QtGui import *
 -from PyQt4.QtCore import *
 -
 +from qtsalome import *
  
  class MonYamsPlugDialog(Ui_YamsPlugDialog,QWidget):
    """
      self.clean()
  
    def connecterSignaux(self) :
 -    self.connect(self.PB_Cancel,SIGNAL("clicked()"),self.PBCancelPressed)
 -    self.connect(self.PB_Default,SIGNAL("clicked()"),self.clean)
 -    self.connect(self.PB_Help,SIGNAL("clicked()"),self.PBHelpPressed)
 -    self.connect(self.PB_OK,SIGNAL("clicked()"),self.PBOKPressed)
 +    self.PB_Cancel.clicked.connect(self.PBCancelPressed)
 +    self.PB_Default.clicked.connect(self.clean)
 +    self.PB_Help.clicked.connect(self.PBHelpPressed)
 +    self.PB_OK.clicked.connect(self.PBOKPressed)
      
 -    self.connect(self.PB_Load,SIGNAL("clicked()"),self.PBLoadPressed)
 -    self.connect(self.PB_Save,SIGNAL("clicked()"),self.PBSavePressed)
 -    self.connect(self.PB_LoadHyp,SIGNAL("clicked()"),self.PBLoadHypPressed)
 -    self.connect(self.PB_SaveHyp,SIGNAL("clicked()"),self.PBSaveHypPressed)
 +    self.PB_Load.clicked.connect(self.PBLoadPressed)
 +    self.PB_Save.clicked.connect(self.PBSavePressed)
 +    self.PB_LoadHyp.clicked.connect(self.PBLoadHypPressed)
 +    self.PB_SaveHyp.clicked.connect(self.PBSaveHypPressed)
      
 -    self.connect(self.PB_MeshFile,SIGNAL("clicked()"),self.PBMeshFilePressed)
 -    self.connect(self.PB_MeshSmesh,SIGNAL("clicked()"),self.PBMeshSmeshPressed)
 -    self.connect(self.LE_MeshSmesh,SIGNAL("returnPressed()"),self.meshSmeshNameChanged)
 -    self.connect(self.PB_ParamsFileExplorer,SIGNAL("clicked()"),self.setParamsFileName)
 -    self.connect(self.LE_MeshFile,SIGNAL("returnPressed()"),self.meshFileNameChanged)
 -    self.connect(self.LE_ParamsFile,SIGNAL("returnPressed()"),self.paramsFileNameChanged)
 +    self.PB_MeshFile.clicked.connect(self.PBMeshFilePressed)
 +    self.PB_MeshSmesh.clicked.connect(self.PBMeshSmeshPressed)
 +    self.LE_MeshSmesh.returnPressed.connect(self.meshSmeshNameChanged)
 +    self.PB_ParamsFileExplorer.clicked.connect(self.setParamsFileName)
 +    self.LE_MeshFile.returnPressed.connect(self.meshFileNameChanged)
 +    self.LE_ParamsFile.returnPressed.connect(self.paramsFileNameChanged)
  
    def PBHelpPressed(self):
      import SalomePyQt
      if fd.exec_():
        infile = fd.selectedFiles()[0]
        self.LE_MeshFile.setText(infile)
 -      self.fichierIn=infile.toLatin1()
 +      self.fichierIn=unicode(infile).encode("latin-1")
        self.MeshIn=""
        self.LE_MeshSmesh.setText("")
  
      if fd.exec_():
        infile = fd.selectedFiles()[0]
        self.LE_ParamsFile.setText(infile)
 -      self.paramsFile=infile.toLatin1()
 +      self.paramsFile=unicode(infile).encode("latin-1")
  
    def meshFileNameChanged(self):
      self.fichierIn=str(self.LE_MeshFile.text())
      self.fichierIn=""
  
    def prepareFichier(self):
-     self.fichierIn="/tmp/ForSurfOpt_"+str(self.num)+".meshb"
+     self.fichierIn=tempfile.mktemp(suffix=".meshb",prefix="ForSurfOpt_")
+     if os.path.exists(self.fichierIn):
+         os.remove(self.fichierIn)
      self.__selectedMesh.ExportGMF(self.__selectedMesh, self.fichierIn, True)
  
    def PrepareLigneCommande(self):
        except:
          pass
        
 -    style = self.style.toLatin1()
 +    style = unicode(self.style).encode("latin-1")
      # Translation of old Yams options to new MG-SurfOpt options
      if   style == "0" :
        self.commande+= " --optimisation only"
@@@ -538,9 -543,10 +541,9 @@@ def getDialog()
  #
  def TEST_MonYamsPlugDialog():
    import sys
 -  from PyQt4.QtGui import QApplication
 -  from PyQt4.QtCore import QObject, SIGNAL, SLOT
 +  from qtsalome import QApplication
    app = QApplication(sys.argv)
 -  QObject.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()"))
 +  app.lastWindowClosed.connect(app.quit)
  
    dlg=MonYamsPlugDialog()
    dlg.show()
index d502effc87129e1606a19bb865d0f09755b5390c,eacfb695d52aad650dfd22259b57da1bff7c3c8d..4a7259ad8f2eef2dc85ebe1cd034dae342153f27
@@@ -1,5 -1,5 +1,5 @@@
  # -*- coding: utf-8 -*-
- # Copyright (C) 2006-2015  EDF R&D
+ # Copyright (C) 2006-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -30,7 -30,10 +30,7 @@@ def YamsLct(context)
    import os
    import subprocess
    import tempfile
 -  from PyQt4 import QtCore
 -  from PyQt4 import QtGui
 -  from PyQt4.QtGui import QFileDialog
 -  from PyQt4.QtGui import QMessageBox
 +  from qtsalome import QFileDialog, QMessageBox
    
    #prior test to avoid unnecessary user GUI work with ending crash
    try :
index ebdf0c16e9f98e179e22aa18680340f98c1b76ef,cc3a73979a99f67d91b980d0fd72dc4cf1c6147e..5ba2e6075ca790cd28984c20ab01e4f419cbf039
@@@ -1,4 -1,4 +1,4 @@@
- # Copyright (C) 2012-2015  EDF R&D
+ # Copyright (C) 2012-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -17,7 -17,7 +17,7 @@@
  # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
  #
  
 -INCLUDE(UsePyQt4)
 +INCLUDE(UsePyQt)
  
  # --- scripts ---
  
@@@ -26,6 -26,7 +26,7 @@@ SET(plugin_SCRIPT
    __init__.py
    fissureCoude_ihm.py
    fissureCoude_plugin.py
+   fissureGenerale_plugin.py
    dialogFissureCoude.dic
  )
  
@@@ -38,10 -39,10 +39,10 @@@ SET(_pyuic_file
  )
  
  # scripts / pyuic wrappings
 -PYQT4_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
 +PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
  
  # --- rules ---
  
  SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/blocFissure/ihm)
  
 -SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/blocFissure/ihm)
 +SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/blocFissure/ihm)
index 0d56f689a1b58238718ea6e7940e9f8417599f09,8b92b65e4be2962cc453d3b1c338cafadff53fac..30936d50cbabb3a66f838cac69da3373cd34aa4f
@@@ -1,11 -1,11 +1,11 @@@
  # -*- coding: utf-8 -*-
  
- # Copyright (C) 2006-2015  EDF R&D
+ # Copyright (C) 2006-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
  # License as published by the Free Software Foundation; either
- # version 2.1 of the License.
+ # version 2.1 of the License, or (at your option) any later version.
  #
  # This library is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  import sys, traceback
  import math
  from blocFissure import gmu
- from blocFissure.gmu import initLog
- #initLog.setDebug()
- initLog.setVerbose()
- from blocFissure.gmu import geomsmesh
- from blocFissure.gmu.casStandard import casStandard
- from blocFissure.ihm.fissureCoude_ihm import fissureCoude_ihm
  
  def fissureCoudeDlg(context):
    # get context study, studyId, salomeGui
    import os
    #import subprocess
    #import tempfile
 -  from PyQt4 import QtCore
 -  from PyQt4 import QtGui
 -  from PyQt4.QtGui import QFileDialog
 -  from PyQt4.QtGui import QMessageBox
 -  from PyQt4.QtGui import QPalette
 -  from PyQt4.QtGui import QColor
 +  from qtsalome import QFileDialog, QMessageBox, QPalette, QColor, QDialog
    from fissureCoude_ui import Ui_Dialog
    
 -  class fissureCoudeDialog(QtGui.QDialog):
 +  class fissureCoudeDialog(QDialog):
      
      def __init__(self):
 -      QtGui.QDialog.__init__(self)
 +      QDialog.__init__(self)
        # Set up the user interface from Designer.
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.lb_calcul.hide()
        
        # Connect up the buttons.
 -      self.connect(self.ui.pb_valPrec, QtCore.SIGNAL("clicked()"),
 -                   self.readValPrec)
 -      self.connect(self.ui.pb_reset, QtCore.SIGNAL("clicked()"),
 -                   self.resetVal)
 -      self.connect(self.ui.pb_recharger, QtCore.SIGNAL("clicked()"),
 -                   self.recharger)
 -      self.connect(self.ui.pb_sauver, QtCore.SIGNAL("clicked()"),
 -                   self.sauver)
 -      self.disconnect(self.ui.buttonBox, QtCore.SIGNAL("accepted()"), self.accept)
 -      self.connect(self.ui.buttonBox, QtCore.SIGNAL("accepted()"),
 -                   self.execute)
 +      self.ui.pb_valPrec.clicked.connect(self.readValPrec)
 +      self.ui.pb_reset.clicked.connect(self.resetVal)
 +      self.ui.pb_recharger.clicked.connect(self.recharger)
 +      self.ui.pb_sauver.clicked.connect(self.sauver)
 +      self.ui.buttonBox.accepted.disconnect(self.accept)
 +      self.ui.buttonBox.accepted.connect(self.execute)
      
      def initDefaut(self):
        self.defaut = dict(
        return self.NOK
  
      def execute(self):
+       from blocFissure.gmu import initLog
+       #initLog.setDebug()
+       initLog.setVerbose() # don't set the level too early, to be able to modify it
+       from blocFissure.gmu import geomsmesh
+       from blocFissure.gmu.casStandard import casStandard
+       from blocFissure.ihm.fissureCoude_ihm import fissureCoude_ihm
+       
        dico = self.creeDico()
        NOK = self.testval(dico)
        if not(NOK):
index 15c812f968cb986f7bc88bae07e48beaba9b2f49,70f65f0243195d50a0f8f888ad94301f4cb38d99..8bffecdc766415a586c836bca184b524dc36a55a
@@@ -1,4 -1,4 +1,4 @@@
- # Copyright (C) 2012-2015  EDF R&D
+ # Copyright (C) 2012-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -17,7 -17,7 +17,7 @@@
  # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
  #
  
 -INCLUDE(UsePyQt4)
 +INCLUDE(UsePyQt)
  
  # --- scripts ---
  
@@@ -52,7 -52,7 +52,7 @@@ SET(_pyuic_file
  )
  
  # scripts / pyuic wrappings
 -PYQT4_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
 +PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
  
  # --- rules ---
  SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui)
index b106c15815fbadf55658570b274193cbab385901,355d1233c9c6e291c8f848d6fc3c623f1dce6e20..376a90039291f4cfd258687f099285b9b8a7c4db
@@@ -1,5 -1,5 +1,5 @@@
  # -*- coding: iso-8859-1 -*-
- # Copyright (C) 2011-2015  EDF R&D
+ # Copyright (C) 2011-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -30,7 -30,8 +30,7 @@@ from salome.smesh.smeshstudytools impor
  
  from omniORB import CORBA
  
 -from PyQt4.QtCore import QObject, SIGNAL, SLOT
 -from PyQt4.QtGui import QIcon, QStandardItemModel, QStandardItem, QMessageBox
 +from qtsalome import QIcon, QStandardItemModel, QStandardItem, QMessageBox, pyqtSignal
  
  from inputframe_ui import Ui_InputFrame
  from inputdata import InputData
@@@ -41,8 -42,6 +41,8 @@@ GROUPNAME_MAXLENGTH=
  class InputDialog(GenericDialog):
  
      TBL_HEADER_LABEL=["Input Mesh", "Output group name"]
 +    
 +    inputValidated = pyqtSignal()
  
      def __init__(self, parent=None, name="InputDialog", modal=0):
          """
          # The click on btnSmeshObject (signal clicked() emitted by the
          # button btnSmeshObject) is connected to the slot
          # onSelectSmeshObject, etc ...
 -        self.connect(self.__ui.btnSmeshObject, SIGNAL('clicked()'), self.onSelectSmeshObject )
 -        self.connect(self.__ui.btnAddInput,    SIGNAL('clicked()'), self.onAddInput )
 -        self.connect(self.__ui.btnDeleteInput, SIGNAL('clicked()'), self.onDeleteInput )
 +        self.__ui.btnSmeshObject.clicked.connect( self.onSelectSmeshObject )
 +        self.__ui.btnAddInput.clicked.connect( self.onAddInput )
 +        self.__ui.btnDeleteInput.clicked.connect(  self.onDeleteInput )
  
          # Set up the model of the Qt table list
          self.__inputModel = QStandardItemModel(0,2)
          # been validated so that it can process the event
          GenericDialog.accept(self)
          if self.wasOk():
 -            self.emit(SIGNAL('inputValidated()'))
 +            self.inputValidated.emit()
  
      def onSelectSmeshObject(self):
          '''
          creates a new entry in the list of input data, or updates this
          entry if it already exists.
          """
 -        meshName   = str(self.__ui.txtSmeshObject.text().trimmed())
 +        meshName   = str(self.__ui.txtSmeshObject.text()).strip()
          meshObject = self.__selectedMesh
          meshType   = self.__ui.cmbMeshType.currentIndex()
 -        groupName  = str(self.__ui.txtGroupName.text().trimmed())
 +        groupName  = str(self.__ui.txtGroupName.text()).strip()
  
          self.__addInputInGui(meshName, meshObject, meshType, groupName)
          self.__addInputInMap(meshName, meshObject, meshType, groupName)
  #
  def TEST_InputDialog():
      import sys
 -    from PyQt4.QtCore import QObject, SIGNAL, SLOT
 -    from PyQt4.QtGui import QApplication
 +    from qtsalome import QApplication
      app = QApplication(sys.argv)
 -    QObject.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()"))
 +    app.lastWindowClosed.connect( app.quit )
  
      dlg=InputDialog()
      dlg.displayAndWait()
  
  def TEST_InputDialog_setData():
      import sys
 -    from PyQt4.QtCore import QObject, SIGNAL, SLOT
 -    from PyQt4.QtGui import QApplication
 +    from qtsalome import QApplication
      app = QApplication(sys.argv)
 -    QObject.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()"))
 +    app.lastWindowClosed.connect( app.quit )
  
      dlg=InputDialog()
  
index 20ad1b8c5d6cb12901f683d1e5f901e1f2c8f47b,6acec908b49e28fc2bd2fc8916e23cb8d433998e..056c8d871fe42cefd5d21551f074b45f87c017f0
@@@ -1,5 -1,5 +1,5 @@@
  # -*- coding: iso-8859-1 -*-
- # Copyright (C) 2011-2015  EDF R&D
+ # Copyright (C) 2011-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -20,7 -20,8 +20,7 @@@
  # Author : Guillaume Boulant (EDF)
  #
  
 -from PyQt4.QtGui import QDialog, QIcon
 -from PyQt4.QtCore import QObject, SIGNAL, SLOT, Qt
 +from qtsalome import QDialog, QIcon, Qt
  
  from plugindialog_ui import Ui_PluginDialog
  from inputdialog import InputDialog
@@@ -86,11 -87,11 +86,11 @@@ class PluginDialog(QDialog)
          self.__ui.btnClear.setIcon(icon)
  
          # Then, we can connect the slot to there associated button event
 -        self.connect(self.__ui.btnInput,       SIGNAL('clicked()'), self.onInput )
 -        self.connect(self.__ui.btnCompute,     SIGNAL('clicked()'), self.onCompute )
 -        self.connect(self.__ui.btnRefresh,     SIGNAL('clicked()'), self.onRefresh )
 -        self.connect(self.__ui.btnPublish,     SIGNAL('clicked()'), self.onPublish )
 -        self.connect(self.__ui.btnClear,       SIGNAL('clicked()'), self.onClear )
 +      self.__ui.btnInput.clicked.connect( self.onInput )
 +        self.__ui.btnCompute.clicked.connect( self.onCompute )
 +        self.__ui.btnRefresh.clicked.connect( self.onRefresh )
 +        self.__ui.btnPublish.clicked.connect( self.onPublish )
 +        self.__ui.btnClear.clicked.connect( self.onClear )
  
          self.clear()
  
                  self.__inputDialog.windowFlags() | Qt.WindowStaysOnTopHint)
              # The signal inputValidated emited from inputDialog is
              # connected to the slot function onProcessInput:
 -            self.connect(self.__inputDialog, SIGNAL('inputValidated()'), self.onProcessInput)
 +          self.__inputDialog.inputValidated.connect( self.onProcessInput )
              
          else:
              self.__ui.frameInput.setVisible(True)
@@@ -392,9 -393,10 +392,9 @@@ def getDialog()
  #
  def TEST_PluginDialog():
      import sys
 -    from PyQt4.QtGui import QApplication
 -    from PyQt4.QtCore import QObject, SIGNAL, SLOT
 +    from qtsalome import QApplication
      app = QApplication(sys.argv)
 -    QObject.connect(app, SIGNAL("lastWindowClosed()"), app, SLOT("quit()"))
 +    app.lastWindowClosed.connect( app.quit )
  
      dlg=PluginDialog()
      dlg.exec_()
index a421d8157a43a2d999c12a64c00164a2bfa9fcd4,0c935f86618f5d491fb75999b93b74e5e3776ac8..e9f8fa12e7fc88da76f641f2cca3515b21186974
@@@ -1,5 -1,5 +1,5 @@@
  # -*- coding: iso-8859-1 -*-
- # Copyright (C) 2011-2015  EDF R&D
+ # Copyright (C) 2011-2016  EDF R&D
  #
  # This library is free software; you can redistribute it and/or
  # modify it under the terms of the GNU Lesser General Public
@@@ -26,7 -26,7 +26,7 @@@ def runSpadderPlugin(context)
      try:
          dialog=plugindialog.getDialog()
      except UiException, err:
 -        from PyQt4.QtGui import QMessageBox
 +        from qtsalome import QMessageBox
          QMessageBox.critical(None,"An error occurs during PADDER configuration",
                               err.getUIMessage())
          return