1 # -*- coding: utf-8 -*-
2 # CONFIGURATION MANAGEMENT OF EDF VERSION
3 # ======================================================================
4 # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
5 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8 # (AT YOUR OPTION) ANY LATER VERSION.
10 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
16 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
17 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20 # ======================================================================
24 import os,traceback,sys
26 from desMacro import DMacro
28 from monMacroPanel import MonMacroPanel
34 class MonPoursuitePanel(MonMacroPanel):
36 Classe définissant le panel associé aux mots-clés qui demandent
37 à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
40 def __init__(self,node, parent = None,name = None,fl = 0):
41 MonMacroPanel.__init__(self,node,parent,name,fl)
45 def ajoutPageOk(self) :
46 self.TabPage = QWidget(self.TWChoix,"TabPage")
47 self.LENomFichier = QLineEdit(self.TabPage,"LENomFichier")
48 self.LENomFichier.setGeometry(QRect(18,127,450,30))
49 self.textLabel1_3 = QLabel(self.TabPage,"textLabel1_3")
50 self.textLabel1_3.setGeometry(QRect(70,50,350,41))
51 self.BBrowse = QPushButton(self.TabPage,"BBrowse")
52 self.BBrowse.setGeometry(QRect(288,306,161,41))
53 self.TWChoix.insertTab(self.TabPage,QString(""))
54 self.textLabel1_3.setText(self._DMacro__tr("<font size=\"+1\">La commande POURSUITE requiert un nom de Fichier :</font>"))
55 self.BBrowse.setText(self._DMacro__tr("Edit"))
56 self.TWChoix.changeTab(self.TabPage,self._DMacro__tr("Fichier Poursuite"))
57 self.TWChoix.setCurrentPage(2)
58 if hasattr(self.node.item.object,'fichier_ini'):
59 self.LENomFichier.setText(self.node.item.object.fichier_ini)
61 self.LENomFichier.setText("")
62 self.connect(self.BBrowse,SIGNAL("clicked()"),self.BBrowsePressed)
63 self.connect(self.LENomFichier,SIGNAL("returnPressed()"),self.LENomFichReturnPressed)
66 def BBrowsePressed(self):
69 def BOkIncPressed (self):
70 self.LENomFichReturnPressed()
72 def LENomFichReturnPressed(self):
73 nomFichier=str(self.LENomFichier.text())
74 if not os.path.isfile(nomFichier) :
75 commentaire = "Fichier introuvable"
76 self.Commentaire.setText(QString(commentaire))
77 self.editor.affiche_infos(commentaire)
80 text=self.convert_file(nomFichier)
82 # Si probleme a la lecture-conversion on arrete le traitement
87 self.node.item.object.change_fichier_init(nomFichier,text)
88 commentaire = "Fichier modifie : " + self.node.item.get_nom()
89 self.Commentaire.setText(QString(commentaire))
91 l=traceback.format_exception_only("Fichier invalide",sys.exc_info()[1])
92 QMessageBox.critical( self, "Erreur fatale au chargement du fichier Include", l[0])
93 commentaire = "Fichier invalide"
94 self.Commentaire.setText(QString(commentaire))
95 self.editor.affiche_infos(commentaire)
99 def convert_file(self,file):
101 Methode pour convertir le fichier file dans le format courant
103 format=self.editor.format_fichier
105 if convert.plugins.has_key(format):
106 # Le convertisseur existe on l'utilise
107 p=convert.plugins[format]()
109 text=p.convert('execnoparseur')
111 commentaire = "Impossible de lire le fichier : Format inconnu"
112 self.Commentaire.setText(QString(commentaire))
113 self.editor.affiche_infos(commentaire)