from determine import monEnvQT5
if monEnvQT5:
- from PyQt5.QtWidgets import QWidget, QMessageBox, QFileDialog, QApplication
+ from PyQt5.QtWidgets import QWidget, QMessageBox, QFileDialog, QApplication, QSplitter
from PyQt5.QtGui import QPalette
- from PyQt5.QtCore import QProcess, QFileInfo, QTimer, Qt
+ from PyQt5.QtCore import QProcess, QFileInfo, QTimer, Qt, QDir, QSize
else :
from PyQt4.QtGui import *
from PyQt4.QtCore import *
DictExtensions= {"MAP" : ".map"}
+
class JDCEditor(Ui_baseWidget,QWidget):
#----------------------------------------------------------------------------------------------------------#
QWidget.__init__(self,None)
+ self.i=0
self.setupUi(self)
+ self.inhibeSplitter=0
self.widgetOptionnel=None
self.fenetreCentraleAffichee=None
self.dejaDansPlieTout=False
self.widgetTree=None
self.appliEficas.resize(1440,self.appliEficas.height())
else :
- self.appliEficas.resize(2000,self.appliEficas.height())
+ self.appliEficas.resize(1800,self.appliEficas.height())
self.version_code = session.d_env.cata
self.format = self.appliEficas.format_fichier
self.dict_reels={}
+ self.splitterSizes = [320,1320,320]
+ self.oldSizeWidgetOptionnel = 320
self.liste_simp_reel=[]
self.ihm="QT"
- if jdc_item:
+ if jdc_item and self.appliEficas.ssIhm==False:
self.tree = browser.JDCTree( jdc_item, self )
self.appliEficas.construitMenu()
- self.splitterSizes = []
-
+ self.saveSplitterSizes()
+ #if monEnvQT5:
+ # self.splitter./s
+ #else :
#-------------------# Pour execution avec output et error dans le bash
if (self.QWParent.edit != "couper"):
try:
if noeudOuColler == self.tree.racine :
- print 1
child=noeudOuColler.doPastePremier(noeudACopier)
else :
- print 2
child=noeudACopier.doPaste(noeudOuColler,pos)
if child==None or child==0:
QMessageBox.critical( self,tr( "Copie refusee"),tr('Eficas n a pas reussi a copier l objet'))
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 <b>%s</b> 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 <b>%s</b> existe deja.",str(fn)),
tr("&Ecraser"),
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 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)
self.appliEficas.CONFIGURATION.savedir)
# ce retour est impose par le get_file d'I_JDC
- if fn.isNull(): return None," "
+ if fn== '' : return None," "
if not fn : return (0, " ")
if monEnvQT5 : fn=fn[0]
self.nomMaillage="A_partir_de_SMESH"
self.openfile.close()
- #-----------------------------
- def saveSplitterSizes(self):
- #----------------------------
- if self.splitter != None :
- self.splitterSizes = self.splitter.sizes()
-
+ #-------------------------------------
+ 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 restoreSplitterSizes(self):
- #----------------------------
- if hasattr(self,'splitterSizes') :
- lenSizes = len(self.splitterSizes)
- if lenSizes > 0 :
- if self.splitter != None and self.splitter.count() >= lenSizes :
- newSizes = self.splitter.sizes()
- newSizes[:len(self.splitterSizes)-1] = self.splitterSizes[:len(self.splitterSizes)-1]
- newSizes[len(newSizes)-1] = self.splitterSizes[len(self.splitterSizes)-1]
- self.splitter.setSizes(newSizes)
#-----------------------------
def getTreeIndex(self,noeud):