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 from desFormule import DFormule
25 from qtCommun import QTPanel
26 from qtCommun import QTPanelTBW2
32 class MonFormulePanel(DFormule,QTPanelTBW2):
34 Classe définissant le panel associé aux mots-clés qui demandent
35 à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
38 def __init__(self,node, parent = None,name = None,fl = 0):
39 DFormule.__init__(self,parent,name,fl)
40 QTPanel.__init__(self,node,parent)
41 QTPanelTBW2.__init__(self,node,parent)
42 self.LENomFormule.setText(node.item.get_nom())
43 self.LECorpsFormule.setText(node.item.get_corps())
45 if node.item.get_args() != None :
46 for i in node.item.get_args() :
48 texte_args = texte_args +","
49 texte_args=texte_args + i
50 self.LENomsArgs.setText(texte_args)
55 def BSupPressed(self):
56 QTPanel.BSupPressed(self)
59 QTPanel.BOkPressed(self)
64 def BNextPressed(self):
65 QTPanelTBW2.BNextPressed(self)
67 def BuildTabCommand(self):
68 QTPanelTBW2.BuildLBNouvCommande(self)
70 def LEFiltreTextChanged(self):
71 QTPanelTBW2.LEFiltreTextChanged(self)
73 def LEfiltreReturnPressed(self):
74 QTPanelTBW2.LEfiltreReturnPressed(self)
76 def LBNouvCommandeClicked(self):
77 QTPanelTBW2.LBNouvCommandeClicked(self)
79 def NomFormuleSaisi(self):
80 nomFormule = self.LENomFormule.text().latin1()
81 if nomFormule == '' : return
82 test,erreur = self.node.item.verif_nom(nomFormule)
84 commentaire=nomFormule+" est un nom valide pour une FORMULE"
86 commentaire=nomFormule+" n'est pas un nom valide pour une FORMULE"
87 self.editor.affiche_infos(commentaire)
90 arguments = self.LENomsArgs.text().latin1()
91 if arguments == '' : return
93 test,erreur = self.node.item.verif_arguments(arguments)
95 commentaire="Argument(s) valide(s) pour une FORMULE"
97 commentaire="Argument(s) invalide(s) pour une FORMULE"
98 self.editor.affiche_infos(commentaire)
100 def FormuleSaisie(self):
101 nomFormule = self.LENomFormule.text().latin1()
102 arguments = self.LENomsArgs.text().latin1()
103 expression = self.LECorpsFormule.text().latin1()
104 if expression == '' : return
105 test,erreur = self.node.item.verif_formule_python((nomFormule,"REEL",arguments,expression))
108 commentaire="Corps de FORMULE valide"
110 commentaire="Corps de FORMULE invalide"
111 self.editor.affiche_infos(commentaire)
114 def BOkPressedFormule(self):
115 if self.parent.modified == 'n' : self.parent.init_modif()
117 nomFormule = self.LENomFormule.text().latin1()
118 test,erreur = self.node.item.verif_nom(nomFormule)
120 self.editor.affiche_infos(erreur)
123 arguments = self.LENomsArgs.text().latin1()
124 test,erreur = self.node.item.verif_arguments(arguments)
126 self.editor.affiche_infos(erreur)
129 expression = self.LECorpsFormule.text().latin1()
130 test,erreur = self.node.item.verif_formule_python((nomFormule,"REEL",arguments,expression))
132 self.editor.affiche_infos(erreur)
135 test=self.node.item.object.update_formule_python(formule=(nomFormule,"REEL",arguments,expression))
136 test,erreur = self.node.item.save_formule(nomFormule,"REEL",arguments,expression)
138 #self.node.update_texte()
139 #self.node.update_label()
140 #self.node.update_node()
142 self.node.update_valid()
143 commentaire = "Formule modifiée"
145 commentaire ="Formule incorrecte : " + erreur
146 self.editor.init_modif()
147 self.editor.affiche_infos(commentaire)