X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2Feditor.py;h=346d877913147e5adaeef30f04e3a4702ca9b376;hb=39b7b166eb606b80c9ac427811651b20db79bde2;hp=2104e6baed5d7b48dce87619a633c252b94fd987;hpb=b2ab08fd7617bc1919416221b7032890e7fcc78a;p=tools%2Feficas.git
diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py
old mode 100644
new mode 100755
index 2104e6ba..346d8779
--- a/InterfaceQT4/editor.py
+++ b/InterfaceQT4/editor.py
@@ -20,10 +20,17 @@
import types,sys,os, re
import subprocess
import traceback
-from PyQt4 import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+
+from determine import monEnvQT5
+if monEnvQT5:
+ from PyQt5.QtWidgets import QWidget, QMessageBox, QFileDialog, QApplication, QSplitter
+ from PyQt5.QtGui import QPalette
+ from PyQt5.QtCore import QProcess, QFileInfo, QTimer, Qt, QDir, QSize
+else :
+ from PyQt4.QtGui import *
+ from PyQt4.QtCore import *
import time
+import pdb
from datetime import date
from Extensions.i18n import tr
@@ -36,15 +43,16 @@ from Editeur import comploader
from Editeur import Objecttreeitem
from desBaseWidget import Ui_baseWidget
from monViewTexte import ViewText
-from monWidgetParam import MonWidgetParam
+from monWidgetCreeParam import MonWidgetCreeParam
import browser
import readercata
DictExtensions= {"MAP" : ".map"}
+
-class JDCEditor(Ui_baseWidget,QtGui.QWidget):
+class JDCEditor(Ui_baseWidget,QWidget):
# ----------------------------------------- #
"""
Editeur de jdc
@@ -53,13 +61,15 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
def __init__ (self,appli,fichier = None, jdc = None, QWParent=None, units = None, include=0 , vm=None):
#----------------------------------------------------------------------------------------------------------#
- self.a=0
- QtGui.QWidget.__init__(self,None)
+ QWidget.__init__(self,None)
+ self.i=0
self.setupUi(self)
- self.monOptionnel=None
+ self.inhibeSplitter=0
+ self.widgetOptionnel=None
self.fenetreCentraleAffichee=None
self.dejaDansPlieTout=False
self.afficheCommandesPliees = True
+ self.listeDesListesOuvertes=set()
self.appliEficas = appli
self.appli = appli #---- attendu par IHM
self.vm = vm
@@ -67,6 +77,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
self.jdc = jdc
self.first = True
self.QWParent = QWParent
+ self.couleur = Qt.black
if appli != None :
self.salome = self.appliEficas.salome
@@ -76,15 +87,21 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
# ces attributs sont mis a jour par definitCode appelee par newEditor
self.code = self.appliEficas.CONFIGURATION.code
+ # tres vite a cause du tag. doit etre pase dans CONFIGURATION
+
+ self.afficheListesPliees=False
+ if self.code == "ASTER" or self.code == "monCode" : self.afficheListesPliees =True
+
+ self.mode_nouv_commande=self.appliEficas.CONFIGURATION.mode_nouv_commande
+ self.affiche=self.appliEficas.CONFIGURATION.affiche
+ #if self.code in ['MAP','CARMELCND','PSEN'] : self.afficheCommandesPliees=False
if self.code in ['MAP','CARMELCND'] : self.afficheCommandesPliees=False
- self.affiche_alpha=1
if self.code in ['MAP',] :
self.widgetTree.close()
self.widgetTree=None
self.appliEficas.resize(1440,self.appliEficas.height())
- self.affiche_alpha=0
else :
- self.appliEficas.resize(2000,self.appliEficas.height())
+ self.appliEficas.resize(1800,self.appliEficas.height())
self.version_code = session.d_env.cata
@@ -95,10 +112,14 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
self.readercata=self.appliEficas.readercata
if self.readercata.fic_cata == None : return #Sortie Salome
self.titre=self.readercata.titre
+ self.Ordre_Des_Commandes=self.readercata.Ordre_Des_Commandes
+ self.Classement_Commandes_Ds_Arbre=self.readercata.Classement_Commandes_Ds_Arbre
self.format = self.appliEficas.format_fichier
self.dict_reels={}
+ self.splitterSizes = [320,1320,320]
+ self.oldSizeWidgetOptionnel = 320
self.liste_simp_reel=[]
self.ihm="QT"
@@ -117,6 +138,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
try:
self.CONFIGURATION.convert_module
+ print self.CONFIGURATION.convert_module
_module = __import__(self.CONFIGURATION.convert_module)
info = _module.entryPoint()
convert.plugins.addEntryPoint(info)
@@ -147,7 +169,6 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
#------- construction du jdc --------------
jdc_item = None
- self.mode_nouv_commande=self.readercata.mode_nouv_commande
self.nouveau=0
if self.fichier is not None: # fichier jdc fourni
@@ -176,13 +197,14 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
if self.jdc:
self.jdc.appli = self
self.jdc.lang = self.appli.langue
+ self.jdc.aReafficher=False
txt_exception = None
if not jdc:
self.jdc.analyse()
txt_exception = self.jdc.cr.get_mess_exception()
if txt_exception:
self.jdc = None
- qApp.restoreOverrideCursor()
+ QApplication.restoreOverrideCursor()
self.affiche_infos(tr("Erreur fatale au chargement de %s",str(fichier)),Qt.red)
if (self.appliEficas.ssIhm == False) : QMessageBox.critical( self, tr("Erreur fatale au chargement d'un fichier"), txt_exception)
else:
@@ -191,13 +213,30 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
if (not self.jdc.isvalid()) and (not self.nouveau) and (self.appliEficas.ssIhm == False):
self.viewJdcRapport()
- # if self.code=="TELEMAC" : print "kkkkkkkk"
- if jdc_item:
+ if jdc_item and self.appliEficas.ssIhm==False:
self.tree = browser.JDCTree( jdc_item, self )
- self.jdc.aReafficher=False
self.appliEficas.construitMenu()
+ self.saveSplitterSizes()
+ #if monEnvQT5:
+ # self.splitter./s
+ #else :
+
+
+ #-------------------# Pour execution avec output et error dans le bash
+ def runPSEN(self):
+ #-------------------#
+ if self.modified or self.fichier==None : self.saveFile()
+
+ #lancement avec le .bat
+ path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','PSEN_Eficas','PSEN'))
+ WrapperFilePath = os.path.join(path1, 'PSSEWrapper.py')
+ import subprocess
+ p = subprocess.Popen(['python',WrapperFilePath])
+ (out,err)=p.communicate()
+ print out
+ print err
#--------------------------------#
def _newJDC( self ,units = None):
@@ -212,6 +251,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
if self.code == "CARMELCND" : texte=self._newJDCCND()
if self.code == "ZCRACKS" : texte=self._newZCRACKS()
if self.code == "TELEMAC" : texte=self._newTELEMAC()
+ if self.code == "PSEN" : texte = self._newPSEN()
# texte=self.newTexteCND
jdc=self.readercata.cata[0].JdC( procedure =texte,
@@ -369,9 +409,13 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
f=open(nomFichier,'w')
f.write(txt)
f.close()
- self.connect(self.monExe, SIGNAL("readyReadStandardOutput()"), self.readFromStdOut )
- self.connect(self.monExe, SIGNAL("readyReadStandardError()"), self.readFromStdErr )
- exe='sh /tmp/test.sh'
+ if monEnvQT5 :
+ self.monExe.readyReadStandardOutput.connect( self.readFromStdOut)
+ self.monExe.readyReadStandardError.connect( self.readFromStdErr)
+ else :
+ self.connect(self.monExe, SIGNAL("readyReadStandardOutput()"), self.readFromStdOutQT4 )
+ self.connect(self.monExe, SIGNAL("readyReadStandardError()"), self.readFromStdErrQT4 )
+ exe='sh ' + nomFichier
self.monExe.start(exe)
self.monExe.closeWriteChannel()
self.w.exec_()
@@ -381,12 +425,19 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
except :
pass
-
def readFromStdErr(self):
+ a=self.monExe.readAllStandardError()
+ self.w.view.append(str(a.data(),len(a)))
+
+ def readFromStdErr(self) :
+ a=self.monExe.readAllStandardOutput()
+ self.w.view.append(str(a.data(),len(a)))
+
+ def readFromStdErrQT4(self):
a=self.monExe.readAllStandardError()
self.w.view.append(QString.fromUtf8(a.data(),len(a))) ;
- def readFromStdOut(self) :
+ def readFromStdOutQT4(self) :
a=self.monExe.readAllStandardOutput()
self.w.view.append(QString.fromUtf8(a.data(),len(a))) ;
@@ -395,7 +446,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
#-----------------------#
def gestionParam(self):
#-----------------------#
- w = MonWidgetParam( self)
+ w = MonWidgetCreeParam( self)
w.show()
#-----------------------#
@@ -416,8 +467,16 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
def viewJdcRapport(self):
#-----------------------#
strRapport = unicode( self.jdc.report() )
+ # on ajoute les regles
+
self._viewText(strRapport, "JDC_RAPPORT")
+ #-----------------------#
+ def viewJdcRegles(self):
+ #-----------------------#
+ if self.tree :self.tree.AppelleBuildLBRegles()
+
+
#----------------#
def closeIt(self):
#----------------#
@@ -433,10 +492,10 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
#----------------------------------------------#
if self.sb:
mapalette=self.sb.palette()
- from PyQt4.QtGui import QPalette
mapalette.setColor( QPalette.WindowText, couleur )
self.sb.setPalette( mapalette );
- self.sb.showMessage(QString.fromUtf8(message))#,2000)
+ self.sb.showMessage(message,4000)
+ self.couleur=couleur
#------------------------------#
def affiche_alerte(self,titre,message):
@@ -444,6 +503,17 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
# appele par I_MACRO_ETAPE
QMessageBox.information( self, titre, message)
+ #-----------------------------------#
+ def affiche_commentaire(self,message):
+ #-----------------------------------#
+ self.labelCommentaire.setText(message)
+ QTimer.singleShot(6000, self.rendInvisible)
+
+ #----------------------#
+ def rendInvisible(self):
+ #----------------------#
+ self.labelCommentaire.setText("")
+
#-------------------#
def init_modif(self):
#-------------------#
@@ -484,7 +554,6 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
#---------------------#
def handleDeplier(self):
#---------------------#
- print "je passe ici"
if self.tree == None : return
#self.tree.collapseAll()
if self.deplier :
@@ -555,11 +624,13 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
indexNoeudOuColler=0
pos='before'
else :
- indexNoeudOuColler=noeudOuColler.treeParent.children.index(noeudOuColler)
+ #indexNoeudOuColler=noeudOuColler.treeParent.children.index(noeudOuColler)
+ indexNoeudOuColler=self.getTreeIndex(noeudOuColler)
try :
noeudACopier=self.QWParent.noeud_a_editer[0]
- indexNoeudACopier=noeudACopier.treeParent.children.index(noeudACopier)
+ #indexNoeudACopier=noeudACopier.treeParent.children.index(noeudACopier)
+ indexNoeudACopier=self.getTreeIndex(noeudACopier)
except :
QMessageBox.information( self, tr("Copie impossible"), tr("Aucun Objet n a ete copie ou coupe"))
return
@@ -601,7 +672,8 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
#if 1:
try :
- indexNoeudACopier=noeudACopier.treeParent.children.index(noeudACopier)
+ # indexNoeudACopier=noeudACopier.treeParent.children.index(noeudACopier)
+ indexNoeudACopier=self.getTreeIndex(noeudACopier)
noeudACopier.treeParent.item.deplaceEntite(indexNoeudACopier,indexNoeudOuColler,pos)
noeudACopier.treeParent.build_children()
@@ -701,7 +773,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
fichier = QFileDialog.getOpenFileName(self.appliEficas,
tr('Ouvrir Fichier'),
self.appliEficas.CONFIGURATION.savedir,
- self.appliEficas.trUtf8('Wrapper Files (*.xml);;''All Files (*)'))
+ tr('Wrapper Files (*.xml);;''All Files (*)'))
return fichier
#--------------------------------------------------#
@@ -710,7 +782,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
"""
Public slot to write the text to a file.
- @param fn filename to write to (string or QString)
+ @param fn filename to write to string
@return flag indicating success
"""
@@ -733,9 +805,8 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
f.close()
return 1
except IOError, why:
- QMessageBox.critical(self, self.trUtf8('Save File'),
- self.trUtf8('The file %1 could not be saved.
Reason: %2')
- .arg(unicode(fn)).arg(str(why)))
+ QMessageBox.critical(self, tr('Sauvegarde du Fichier'),
+ tr('Le fichier')+str(fn) + tr('n a pas pu etre sauvegarde : ') + str(why))
return 0
#-----------------------------------------------------------#
@@ -743,6 +814,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
#-----------------------------------------------------------#
if self.code == "MAP" and not(generator.plugins.has_key(format)): format = "MAP"
if generator.plugins.has_key(format):
+
# Le generateur existe on l'utilise
self.generator=generator.plugins[format]()
try :
@@ -806,11 +878,11 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
#textePython="ls -l"
self._viewTextExecute( textePython,"map_run",".sh")
- try:
- commande="rm "+self.fichierMapInput
- os.system(commande)
- except :
- pass
+ #try:
+ # commande="rm "+self.fichierMapInput
+ # os.system(commande)
+ #except :
+ # pass
except Exception, e:
print traceback.print_exc()
@@ -875,9 +947,9 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
#-----------------------------------------------------#
if DictExtensions.has_key(self.appli.code) :
chaine1="JDC (*"+DictExtensions[self.appli.code]+");;"
- extensions= self.trUtf8(chaine1+ "All Files (*)")
+ extensions= tr(chaine1+ "All Files (*)")
else :
- extensions= self.trUtf8("JDC (*.comm);;" "All Files (*)")
+ extensions= tr("JDC (*.comm);;" "All Files (*)")
if self.appli.code == "MAP" :
extensions = extensions + ";; Run (*.input);;"
@@ -886,16 +958,27 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
tr("sauvegarde"), path,
extensions,None,
QFileDialog.DontConfirmOverwrite)
- if fn.isNull(): return (0, None)
+ if fn == None : return (0, None)
+ if monEnvQT5 : fn=fn[0]
+ if fn=='': return (0, None)
+
ext = QFileInfo(fn).suffix()
- if ext.isEmpty(): fn.append(extension)
+ if ext == '': fn+=extension
if QFileInfo(fn).exists():
- abort = QMessageBox.warning(self,
+ if monEnvQT5 :
+ msgBox = QMessageBox(self)
+ msgBox.setWindowTitle(tr("Sauvegarde du Fichier"))
+ msgBox.setText(tr("Le fichier %s existe deja.", unicode(fn)))
+ msgBox.addButton(tr("&Ecraser"),0)
+ msgBox.addButton(tr("&Abandonner"),1)
+ abort=msgBox.exec_()
+ else :
+ abort = QMessageBox.warning(self,
tr("Sauvegarde du Fichier"),
tr("Le fichier %s existe deja.",str(fn)),
tr("&Ecraser"),
- self.trUtf8("&Abandonner"))
+ tr("&Abandonner"))
if abort == 1 : return (0, "")
return (1,fn)
@@ -916,7 +999,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
)
return
if hasattr(self.CONFIGURATION, "savedir"): path=self.CONFIGURATION.savedir
- else : path=os.environ['HOME']
+ else : path='C:/'
monNomFichier=""
if self.fichier is not None and self.fichier != "" :
@@ -936,15 +1019,19 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
for b in c.children():
if isinstance(b,QPushButton):
avant=b.text()
- if avant.toLatin1()=="&Open":
- b.setText("Save")
- mesFiltres=QStringList()
- mesFiltres << "input Map (*.input)" << "All Files (*)"
+ if (not monEnvQT5) and avant.toLatin1()=="&Open": b.setText("Save")
+ if monEnvQT5 and avant=="&Open": b.setText("Save")
+ if monEnvQT5 :
+ mesFiltres= "input Map (*.input);;All Files (*)"
+ else :
+ mesFiltres=QStringList()
+ mesFiltres << "input Map (*.input)" << "All Files (*)"
monDialog.setNameFilters(mesFiltres)
if monNomFichier!="" : monDialog.selectFile(monNomFichier)
BOk=monDialog.exec_()
if BOk==0: return
- fn=str(monDialog.selectedFiles()[0].toLatin1())
+ if monEnvQT5 : fn=str(monDialog.selectedFiles()[0])
+ else : fn=str(monDialog.selectedFiles()[0].toLatin1())
if fn == "" or fn == None : return
if not fn.endswith(".input"):
fn += ".input"
@@ -960,6 +1047,41 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
(output, err) = p.communicate()
+ #-----------------#
+ def saveRunPSEN(self):
+ #-----------------#
+ print "saveRunPSEN"
+ self.saveFile()
+ return
+ if not(self.jdc.isvalid()):
+ QMessageBox.critical( self, tr( "Sauvegarde de l'input impossible "),
+ tr("Un JdC valide est necessaire pour creer un .input")
+ )
+ return
+
+ print generator.plugins.has_key(self.format)
+ if generator.plugins.has_key(self.format):
+ # Le generateur existe on l'utilise
+ self.generator=generator.plugins[self.format]()
+ try :
+ self.generator.gener(self.jdc)
+ self.generator.writeDefault('')
+ except ValueError,e:
+ QMessageBox.critical(self, tr("Erreur a la generation"),str(e))
+ if not self.generator.cr.estvide():
+ self.affiche_infos(tr("Erreur a la generation"),Qt.red)
+ QMessageBox.critical( self, tr("Erreur a la generation"),tr("EFICAS ne sait pas convertir ce JDC"))
+ return ""
+ else:
+ # Il n'existe pas c'est une erreur
+ self.affiche_infos(tr("Format %s non reconnu" , self.format),Qt.red)
+ QMessageBox.critical( self, "Format non reconnu" ,tr("EFICAS ne sait pas convertir le JDC selon le format "+ self.format))
+ return ""
+ print "HELLO"
+
+
+
+
#-----------------------------------------#
def cherche_Groupes(self):
#-----------------------------------------#
@@ -1004,7 +1126,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
the name of the saved file
"""
- #self.modified=1
+ self.modified=1
if not self.modified and not saveas:
return (0, None) # do nothing if text wasn't changed
@@ -1017,18 +1139,18 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
newName = None
fn = self.fichier
if self.fichier is None or saveas:
- if path is None:
- path=self.CONFIGURATION.savedir
+ if path is None: path=self.CONFIGURATION.savedir
bOK, fn=self.determineNomFichier(path,extension)
if bOK == 0 : return (0, None)
if fn == None : return (0, None)
- if fn.isNull(): return (0, None)
+ if fn== '' : return (0, None)
ulfile = os.path.abspath(unicode(fn))
self.appliEficas.CONFIGURATION.savedir=os.path.split(ulfile)[0]
- fn = unicode(QDir.convertSeparators(fn))
+ fn = unicode(QDir.toNativeSeparators(fn))
newName = fn
+
if not (self.writeFile(fn,formatLigne=formatLigne)): return (0, None)
self.fichier = fn
self.modified = False
@@ -1043,6 +1165,8 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
if self.jdc.isvalid() != 0 and hasattr(self.generator, "writeDefault"):
self.generator.writeDefault(fn)
+ if self.code=="TELEMAC" and hasattr(self.generator, "writeDefault"):
+ self.generator.writeDefault(fn)
if self.salome :
self.appliEficas.addJdcInSalome( self.fichier)
@@ -1096,14 +1220,15 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
texte = tr("Le fichier %s contient une commande POURSUITE\n", fic_origine)
texte = texte+tr('Donnez le nom du fichier dont vous \n voulez faire une poursuite')
- QMessageBox.information( self, titre,QString.fromUtf8(texte))
+ QMessageBox.information( self, titre,texte)
fn = QFileDialog.getOpenFileName(self.appliEficas,
titre,
self.appliEficas.CONFIGURATION.savedir)
- if fn.isNull():
# ce retour est impose par le get_file d'I_JDC
- return None," "
+ if fn== '' : return None," "
+ if not fn : return (0, " ")
+ if monEnvQT5 : fn=fn[0]
ulfile = os.path.abspath(unicode(fn))
self.appliEficas.CONFIGURATION.savedir=os.path.split(ulfile)[0]
@@ -1200,7 +1325,15 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
#---------------------------#
def _newTELEMAC(self):
#---------------------------#
- texte="INITIALIZATION();INITIAL_STATE();BOUNDARY_CONDITIONS();NUMERICAL_PARAMETERS();PHYSICAL_PARAMETERS()"
+ texte="INITIALIZATION();BOUNDARY_CONDITIONS();GENERAL_PARAMETERS();PHYSICAL_PARAMETERS();NUMERICAL_PARAMETERS();"
+ #texte=""
+ return texte
+
+ #---------------------------#
+ def _newPSEN(self):
+ #---------------------------#
+ texte="DIRECTORY() ; PSSE_PARAMETERS() ; SIMULATION() ; sansnom=DISTRIBUTION() ; sansnom=DISTRIBUTION() ; CORRELATION() ;"
+ #texte=""
return texte
#---------------------------#
@@ -1223,7 +1356,8 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
QSfichier = QFileDialog.getOpenFileName(self.appliEficas,
caption='Fichier Med',
filter=extensions)
- self.fichierMED=str(QSfichier.toLatin1())
+ if monEnvQT5 : QSfichier=QSfichier[0]
+ self.fichierMED=QSfichier
from acquiertGroupes import getGroupes
erreur,self.listeGroupes,self.nomMaillage,self.dicoCoord=getGroupes(self.fichierMED)
if erreur != "" : print "a traiter"
@@ -1252,7 +1386,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
#---------------------------#
QSfichier=self.openfile.selectedFiles()[0]
- self.fichierMED=str(QSfichier.toLatin1())
+ self.fichierMED=str(QSfichier)
from acquiertGroupes import getGroupes
erreur,self.listeGroupes,self.nomMaillage=getGroupes(self.fichierMED)
if erreur != "" : print "a traiter"
@@ -1265,6 +1399,80 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
self.nomMaillage="A_partir_de_SMESH"
self.openfile.close()
+ #-------------------------------------
+ def saveSplitterSizes(self,event=None):
+ #------------------------------------
+ if self.inhibeSplitter : return
+ if not hasattr(self,'splitter') : return
+ if self.splitterSizes[2] != 0 : self.oldSizeWidgetOptionnel = self.splitterSizes[2]
+ # print self.splitterSizes
+ #print self.splitter.sizes()
+ # PNPNPNPN parfoir self.splitter.sizes() a une longueur de 4...
+ nbAGarder=len(self.splitter.sizes())
+ if nbAGarder > 3 : nbAGarder=3
+ for i in range(nbAGarder):
+ self.splitterSizes[i] = self.splitter.sizes()[i]
+ self.splitter.widget(i).resizeEvent=self.saveSplitterSizes
+
+
+ #-----------------------------------------
+ def restoreSplitterSizes(self,nbWigdet=3):
+ #----------------------------------------
+ self.inhibeSplitter = 1
+ self.i+=1
+ if not(hasattr(self,'splitter')) : return
+ newSizes=self.splitterSizes[:nbWigdet]
+ self.splitter.setSizes(newSizes)
+ self.inhibeSplitter = 0
+
+ #------------------------
+ def fermeOptionnel(self):
+ #------------------------
+ if self.widgetOptionnel == None : return
+
+ self.inhibeSplitter=1
+ self.splitterSizes[1] = self.splitterSizes[1] + self.splitterSizes[2]
+ if self.splitterSizes[2]!=0 : self.oldSizeWidgetOptionnel = self.splitterSizes[2]
+ self.splitterSizes[2]=0
+
+ self.widgetOptionnel.setParent(None)
+ self.widgetOptionnel.close()
+ self.widgetOptionnel.deleteLater()
+ self.widgetOptionnel=None
+ self.inhibeSplitter=0
+ self.restoreSplitterSizes(2)
+
+ #------------------------
+ def ajoutOptionnel(self):
+ #------------------------
+ #print "ajoutOptionnel"
+ #print self.splitterSizes
+ self.splitterSizes[2] = self.oldSizeWidgetOptionnel
+ self.splitterSizes[1] = self.splitterSizes[1] - self.splitterSizes[2]
+ self.inhibeSplitter=0
+ self.restoreSplitterSizes(3)
+
+
+ #-----------------------------
+ def getTreeIndex(self,noeud):
+ #----------------------------
+ indexNoeud=-1
+ if noeud in noeud.treeParent.children :
+ indexNoeud=noeud.treeParent.children.index(noeud)
+ else :
+ if hasattr(noeud,'vraiParent') :
+ noeudVrai = noeud
+ noeudVraiParent = noeud.vraiParent
+ while noeudVraiParent != noeud.treeParent and hasattr(noeudVraiParent,'vraiParent') :
+ noeudVrai = noeudVraiParent
+ noeudVraiParent = noeudVraiParent.vraiParent
+ pass
+ if noeudVraiParent == noeud.treeParent :
+ indexNoeud=noeud.treeParent.children.index(noeudVrai)
+ pass
+ pass
+ pass
+ return indexNoeud
if __name__ == "__main__":
self.code='ASTER'