1 # -*- coding: iso-8859-1 -*-
5 from qttable import QTable
6 # modules de gestion des panneaux
7 from panelbase import *
8 # modules validateur lineedit
9 from validationlineedit import *
10 # modules controles des tables
11 from c_suppressionLigneTable import *
12 from c_nouvelleLigneTableDdl import *
19 Hérite de la classe mère PanelBase
20 Définit le panneau pour le choix des degrés de liberté d'un groupe de faces :
21 - tbl = table d'affichage des degrés de liberté
22 - controleurTable = controleur de gestion de la table
23 - controleurNouvelleLigneTable = controleur pour l'ajout d'une nouvelle ligne dans la table
24 - boutonPlus = permet de créer une nouvelle ligne quand on clique dessus
26 def __init__(self, parent, appli):
27 # hérite de la classe mère des panneaux
28 PanelBase.__init__(self, parent, appli)
30 # on modifie le label titre
31 self.lblTitre.setText('Degrés de liberté imposés')
33 # on modifie l'explication
34 self.lblExplication.setText("Définissez le(s) groupe(s) de mailles et les ddls à appliquer :")
36 # bouton suivant toujours actif
37 self.btnSuivant.setEnabled(1)
40 self.sp2 = QSpacerItem(20, 50, QSizePolicy.Minimum, QSizePolicy.Minimum)
41 self.gl.addItem(self.sp2, 3, 0)
43 # création d'une QGridLayout
44 self.glProprietes = QGridLayout(self.parent, 1, 2, 5)
45 self.gl.addLayout(self.glProprietes, 4, 0)
47 # ---------------- création et ajout du QTable ----------------
48 self.tbl = QTable(1, 5, self.parent)
49 self.tbl.setMinimumHeight(150)
50 self.tbl.setMaximumHeight(200)
51 self.tbl.setColumnWidth(4, 30)
52 self.tbl.setRowHeight(0, 30)
54 self.th = self.tbl.horizontalHeader()
55 self.th.setLabel(0, 'Objet')
56 self.th.setLabel(1, 'DX')
57 self.th.setLabel(2, 'DY')
58 self.th.setLabel(3, 'DZ')
59 self.th.setLabel(4, '')
61 self.tbl.verticalHeader().hide()
62 self.tbl.setLeftMargin(0)
64 self.glProprietes.addWidget(self.tbl, 0, 0)
66 # création du controleur de la table
67 self.controleurTable = C_table(self.tbl)
69 # création du controleur pour l'ajout d'une nouvelle ligne
70 self.controleurNouvelleLigneTable = C_nouvelleLigneTableDdl(self.appli, self.controleurTable, self)
71 # ajout de la première ligne
72 self.controleurNouvelleLigneTable.creeBoutons()
74 # bouton plus = nouvelle ligne
75 px = QPixmap(os.path.join(os.getenv("EFICAS_ROOT_DIR"), 'share/salome/resources/plus.png'))
77 self.boutonPlus = QPushButton(icon, '', self.parent)
78 self.glProprietes.addWidget(self.boutonPlus, 0, 1, Qt.AlignCenter)
80 self.connect(self.boutonPlus, SIGNAL('clicked()'), self.controleurNouvelleLigneTable.nouvelleLigne)
84 met à jour l'étude avec les valeurs des ddls saisies
85 passe au panneau suivant
86 affiche les valeurs mises à jour (simple fonction d'aide)
88 self.appli.etude.setDdls(self.tbl)
89 PanelBase.suivant(self)
90 self.appli.etude.affiche()