X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2Fcompooper.py;h=595843c12b40aea92581120c8d5a4ad2728b2e6c;hb=80eb29926b88137b9f0f19175c0d0c52d7dcc206;hp=7993545ac1fdecda8bbe8e4079c08db35e22cb35;hpb=cdd358f4041f957701ac10d86766a85baaef4f78;p=tools%2Feficas.git diff --git a/InterfaceQT4/compooper.py b/InterfaceQT4/compooper.py index 7993545a..595843c1 100644 --- a/InterfaceQT4/compooper.py +++ b/InterfaceQT4/compooper.py @@ -1,37 +1,88 @@ -# -*- coding: utf-8 -*- -import traceback -import string -from PyQt4 import * -from PyQt4.QtGui import * -from PyQt4.QtCore import * - +#-*- coding: iso-8859-1 -*- +# Copyright (C) 2007-2013 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. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +import os +import tempfile +from PyQt4.QtGui import QMessageBox, QAction, QApplication, QCursor +from PyQt4.QtGui import * +from PyQt4.QtCore import Qt, SIGNAL, QVariant +from Extensions.i18n import tr +from Extensions.eficas_exception import EficasException from Editeur import Objecttreeitem import browser import typeNode class Node(browser.JDCNode, typeNode.PopUpMenuNode): + + def __init__(self,treeParent, item): + browser.JDCNode.__init__( self, treeParent, item) + + def select(self): + browser.JDCNode.select(self) + #self.treeParent.tree.openPersistentEditor(self,1) + #self.monWidgetNom=self.treeParent.tree.itemWidget(self,1) + #self.treeParent.tree.connect(self.monWidgetNom,SIGNAL("returnPressed()"), self.nomme) + #if self.item.GetIconName() == "ast-red-square" : self.monWidgetNom.setDisabled(True) + #else : self.monWidgetNom.setFocus() ;self.monWidgetNom.setDisabled(False) + + def nomme(self): + nom=str(self.monWidgetNom.text()) + self.editor.init_modif() + test,mess = self.item.nomme_sd(nom) + if (test== 0): + self.editor.affiche_infos(mess,Qt.red) + old=self.item.GetText() + self.monWidgetNom.setText(old) + else : + self.editor.affiche_infos(tr("Nommage du concept effectue")) + self.onValid() + try : + self.editor.panel.LENomConcept.setText(nom) + except : + pass + def getPanel( self ): """ """ from monCommandePanel import MonCommandePanel return MonCommandePanel(self,parent=self.editor) + def getPanel2(self): + from monWidgetCommande import MonWidgetCommande + return MonWidgetCommande(self,self.editor,self.item.object) + def createPopUpMenu(self): typeNode.PopUpMenuNode.createPopUpMenu(self) if ("AFFE_CARA_ELEM" in self.item.get_genealogie()) and self.editor.salome: - self.ViewElt = QAction('View3D',self.tree) - self.tree.connect(self.ViewElt,SIGNAL("activated()"),self.view3D) - self.ViewElt.setStatusTip("affiche dans Geom les elements de structure") + self.ViewElt = QAction(tr('View3D'),self.tree) + self.tree.connect(self.ViewElt,SIGNAL("triggered()"),self.view3D) + self.ViewElt.setStatusTip(tr("affiche dans Geom les elements de structure")) self.menu.addAction(self.ViewElt) if self.item.isvalid() : self.ViewElt.setEnabled(1) else: self.ViewElt.setEnabled(0) if self.item.get_nom() == "DISTRIBUTION" : - self.Graphe = QAction('Graphique',self.tree) - self.tree.connect(self.Graphe,SIGNAL("activated()"),self.viewPng) - self.Graphe.setStatusTip("affiche la distribution ") + self.Graphe = QAction(tr('Graphique'),self.tree) + self.tree.connect(self.Graphe,SIGNAL("triggered()"),self.viewPng) + self.Graphe.setStatusTip(tr("affiche la distribution ")) self.menu.addAction(self.Graphe) if self.item.isvalid() : self.Graphe.setEnabled(1) @@ -45,39 +96,33 @@ class Node(browser.JDCNode, typeNode.PopUpMenuNode): def viewPng(self) : from monPixmap import MonLabelPixmap - fichier=self.appliEficas.getName() - try : - os.remove(fichier) - except : - pass - #try: - if 1: - import generator + import generator + try: + QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) g = generator.plugins[self.appliEficas.format_fichier]() g.gener(self.item.object, format='beautifie') stdGener = g.getGenerateur() - if len(g.dictMCLois) != 1: - QMessageBox.warning( - None, - self.appliEficas.trUtf8("Erreur interne"), - self.appliEficas.trUtf8("La PDF de la loi ne peut pas etre affichee."), - self.appliEficas.trUtf8("&Annuler")) - return loi = g.dictMCLois.keys()[0] nomLoi = loi.get_name() - script = stdGener.GraphiquePDF(loi, fichier) + (fd, fichier) = tempfile.mkstemp(prefix = "openturns_graph_", suffix = ".png") + os.close(fd) + chemin = os.path.dirname(fichier) + base = os.path.splitext(os.path.basename(fichier))[0] + script = stdGener.GraphiquePDF(loi, chemin, base) #print script d = {} exec script in d widgetPng=MonLabelPixmap(self.appliEficas,fichier,nomLoi) + os.remove(fichier) + QApplication.restoreOverrideCursor() widgetPng.show() - #except: - else: + except: + QApplication.restoreOverrideCursor() QMessageBox.warning( - None, - self.appliEficas.trUtf8("Erreur interne"), - self.appliEficas.trUtf8("La PDF de la loi ne peut pas etre affichee."), - self.appliEficas.trUtf8("&Annuler")) + self.appliEficas, + tr("Erreur interne"), + tr("La PDF de la loi ne peut pas etre affichee."), + tr("&Annuler")) class EtapeTreeItem(Objecttreeitem.ObjectTreeItem): """ La classe EtapeTreeItem est un adaptateur des objets ETAPE du noyau @@ -127,11 +172,12 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem): - la fonte dans laquelle afficher ce texte - la couleur du texte """ - if self.object.isactif(): + return self.labeltext,None,None + #if self.object.isactif(): # None --> fonte et couleur par défaut - return self.labeltext,None,None - else: - return self.labeltext, None, None #CS_pbruno todo + # return self.labeltext,None,None + #else: + # return self.labeltext, None, None #CS_pbruno todo def get_objet(self,name) : for v in self.object.mc_liste: @@ -158,14 +204,14 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem): # item.getObject() = MCSIMP, MCFACT, MCBLOC ou MCList itemobject=item.getObject() if itemobject.isoblig() : - self.appli.affiche_infos('Impossible de supprimer un mot-clé obligatoire ',Qt.red) + self.appli.affiche_infos(tr('Impossible de supprimer un mot-clef obligatoire '),Qt.red) return 0 if self.object.suppentite(itemobject): - message = "Mot-clef " + itemobject.nom + " supprime" + message = tr("Mot-clef %s supprime " , itemobject.nom) self.appli.affiche_infos(message) return 1 else : - self.appli.affiche_infos('Pb interne : impossible de supprimer ce mot-clé',Qt.red) + self.appli.affiche_infos(tr('Pb interne : impossible de supprimer ce mot-clef'),Qt.red) return 0 def GetText(self): @@ -220,6 +266,11 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem): """ return 1 + def updateDeplace(self,item): + if item.sd and item.sd.nom: + self.object.sd=item.sd + self.object.sd.nom=item.sd.nom + def update(self,item): if item.sd and item.sd.nom: self.nomme_sd(item.sd.nom)