]> SALOME platform Git repositories - modules/eficas.git/blob - src/EELIH/materiau.py
Salome HOME
Intégration eficas_novice
[modules/eficas.git] / src / EELIH / materiau.py
1 # -*- coding: iso-8859-1 -*-
2
3 # modules PyQt
4 from qt import *
5 # module de gestion des panneaux
6 from panelbase import *
7 # modules validateur lineedit
8 from validationlineedit import *
9
10 class Materiau(PanelBase):
11     """
12     Hérite de la classe mère PanelBase
13     Définit le panneau pour le choix des propriétés du matériau :
14         - lnE : lineedit du module d'Young
15         - lnNU : lineedit du coefficient de Poisson
16     """
17     def __init__(self, parent, appli):
18         # hérite de la classe mère des panneaux
19         PanelBase.__init__(self, parent, appli)
20         
21         # on modifie le label titre
22         self.lblTitre.setText('Propriétés du matériau')
23         
24         # on modifie l'explication
25         self.lblExplication.setText("Définissez le module d'Young et le coefficient de Poisson :")
26         
27         # espacement
28         self.sp2 = QSpacerItem(20, 50, QSizePolicy.Minimum, QSizePolicy.Minimum)
29         self.gl.addItem(self.sp2, 3, 0)
30         
31         # création d'une QGridLayout
32         self.glProprietes = QGridLayout(self.parent, 2, 3, 5)
33         self.gl.addLayout(self.glProprietes, 4, 0)
34         
35         # ---------------- création et ajout de E ----------------
36         # ajout du label E
37         self.lblE = QLabel("E (module d'Young) :", self.parent)
38         self.glProprietes.addWidget(self.lblE, 0, 0, Qt.AlignRight)
39         # ajout du lineedit E
40         self.lnE = QLineEdit(self.parent)
41         self.lnE.setMaximumHeight(30)
42         self.lnE.setMaximumWidth(150)
43         self.lnE.setMaxLength(10)
44         self.lnE.setPaletteBackgroundColor(QColor(255, 170, 255))
45         self.glProprietes.addWidget(self.lnE, 0, 1)
46         # ajout du label aide E
47         self.lblAideE = QLabel("( E >= 0 )", self.parent)
48         self.glProprietes.addWidget(self.lblAideE, 0, 2)
49         
50         # ---------------- création et ajout de NU ----------------
51         # ajout du label NU
52         self.lblNU = QLabel("NU (coefficient de Poisson) :", self.parent)
53         self.glProprietes.addWidget(self.lblNU, 1, 0, Qt.AlignRight)
54         # ajout du lineedit NU
55         self.lnNU = QLineEdit(self.parent)
56         self.lnNU.setMaximumHeight(30)
57         self.lnNU.setMaximumWidth(150)
58         self.lnNU.setMaxLength(10)
59         self.lnNU.setPaletteBackgroundColor(QColor(255, 170, 255))
60         self.glProprietes.addWidget(self.lnNU, 1, 1)
61         # ajout du label aide NU
62         self.lblAideNU = QLabel("( -1 <= NU <= 0.5 )", self.parent)
63         self.glProprietes.addWidget(self.lblAideNU, 1, 2)
64         
65         # connexion des signaux et des slots
66         # dès qu'une valeur est saisie, on teste sa validité
67         # pour E --> ajout du validateur
68         self.validE = ValidationLineEdit(0, 10000000000000, 10000000, self.lnE)
69         self.connect(self.lnE, SIGNAL('textChanged(const QString&)'), self.validE.isValid)
70         self.connect(self.lnE, SIGNAL('textChanged(const QString&)'), self.valid)
71         # pour NU --> ajout du validateur
72         self.validNU = ValidationLineEdit(-1, 0.5, 10, self.lnNU)
73         self.connect(self.lnNU, SIGNAL('textChanged(const QString&)'), self.validNU.isValid)
74         self.connect(self.lnNU, SIGNAL('textChanged(const QString&)'), self.valid)
75     
76     def suivant(self):
77         """
78         met à jour l'étude avec les nouvelles valeurs saisies
79         affiche le panneau suivant
80         affiche les nouvelles valeurs de l'étude (simple fonction d'aide)
81         """
82         self.appli.etude.setMateriau_e(self.lnE.text())
83         self.appli.etude.setMateriau_nu(self.lnNU.text())
84         PanelBase.suivant(self)
85         self.appli.etude.affiche()
86     
87     def valid(self):
88         """
89         rend valide le bouton suivant si les valeurs saisies sont valides
90         """
91         if self.validE.isValid() and self.validNU.isValid():
92             self.btnSuivant.setEnabled(1)
93         else:
94             self.btnSuivant.setEnabled(0)