]> SALOME platform Git repositories - modules/eficas.git/blob - src/EELIH/c_maillage.py
Salome HOME
Intégration eficas_novice
[modules/eficas.git] / src / EELIH / c_maillage.py
1 # -*- coding: utf-8 -*-
2
3 from panelbase import *
4
5 class C_maillage:
6     """
7     controleur de la classe Maillage, traite les maillages correspondants à la géométrie
8     sélectionnée ou crée un maillage avec le nom saisi
9     """
10     def __init__(self, maillage):
11         self.maillage = maillage
12     
13     def traiteMaillage(self):
14         """
15         si un maillage est sélectionné dans la listbox traite ce maillage
16         sinon crée un nouveau maillage avec comme nom le nom saisi
17         """
18         # nouveau maillage
19         if self.maillage.lbMaillage.currentItem() == -1:
20             self.maillage.cl.traiteNewMaillage(0, str(self.maillage.lblGeom2.text()), str(self.maillage.lnNouveauMaillage.text()))
21             self.maillage.cl.traiteCL()
22             # met à jour les autres listbox des autres maillages -> ajoute le maillage cree
23             self.updateMeshList()
24                     
25         # sélection d'un maillage existant
26         else:
27             self.maillage.cl.traiteMaillage(0, str(self.maillage.lbMaillage.currentText().latin1()))
28             self.maillage.cl.traiteCL()
29        
30         print "traitemaillage -------------------------"
31
32     def enableBtnSuivant(self):
33         """
34         rend actif le bouton suivant (terminer) si un maillage a été sélectionné ou
35         si un nom de nouveau maillage a été saisi
36         """
37         # nouveau maillage
38         if self.maillage.lblNouveauMaillage.isEnabled():
39             if self.maillage.lblNouveauMaillage.text().latin1() != str(''):
40                 self.maillage.btnSuivant.setEnabled(1)
41             else:
42                 self.maillage.btnSuivant.setEnabled(0)
43         # sélection d'un maillage existant
44         elif self.maillage.lbMaillage.currentItem() != -1:
45             self.maillage.btnSuivant.setEnabled(1)
46         else:
47             self.maillage.btnSuivant.setEnabled(0)
48     
49     def close(self):
50         """
51         ferme l'application quand on clique sur le bouton suivant (terminer)
52         """
53         self.maillage.appli.mw.close()
54
55     def updateMeshList(self):
56        """
57        met à jour la liste des maillages dans tous les panneaux maillages
58        quand un nouveau maillage est cree
59        """
60        for maillage in self.maillage.appli.mw.publication.listeMaillages:
61           try:
62              maillage.cl.get_geoms()
63              maillage.cl.get_maillages()
64         
65              maillage.cl.MainShapes(0)
66        
67              listeMaillage = maillage.cl.Possibles(0, str(self.maillage.appli.etude.geometrie[0]))
68
69              maillage.lbMaillage.insertStrList(listeMaillage)
70           except:
71              pass
72
73
74