]> SALOME platform Git repositories - tools/eficas.git/blob - InterfaceQT4/monOptions_OPENTURNS_STUDY.py
Salome HOME
95db943aab8783d25dd9b72da751263f38a7ce0f
[tools/eficas.git] / InterfaceQT4 / monOptions_OPENTURNS_STUDY.py
1 # -*- coding: utf-8 -*-
2
3 import os, re, sys
4
5 from PyQt4.QtGui  import *
6 from PyQt4.QtCore import *
7
8 from OptionsOT import Ui_desOptions
9
10
11 class desOptions(Ui_desOptions,QDialog):
12    def __init__(self,parent ,modal ) :
13        QDialog.__init__(self,parent)
14        self.setupUi(self)
15        self.setModal(modal)
16
17 class Options(desOptions):
18    def __init__(self,parent = None,modal = 0,configuration=None):
19        desOptions.__init__(self,parent,modal)
20        self.configuration=configuration
21        self.viewMan=parent
22        self.dVersion={}
23        self.dRepCat={}
24        self.connecterSignaux()
25        self.initAll()
26   
27    def connecterSignaux(self) :
28        self.connect(self.CBVersions,SIGNAL("activated(int)"),self.VersionChoisie)
29        self.connect(self.Bdefaut,SIGNAL("clicked()"),self.BdefautChecked)
30        self.connect(self.LEVersionAjout,SIGNAL("returnPressed()"),self.AjoutVersion)
31        self.connect(self.PBajout,SIGNAL("clicked()"),self.AjoutVersion)
32        self.connect(self.LEVersionSup,SIGNAL("returnPressed()"),self.SupVersion)
33        self.connect(self.PBSup,SIGNAL("clicked()"),self.SupVersion)
34        self.connect(self.LERepDoc,SIGNAL("returnPressed()"),self.ChangePathDoc)
35        self.connect(self.LERepOT,SIGNAL("returnPressed()"),self.ChangePathOT)
36        self.connect(self.LERepCata,SIGNAL("returnPressed()"),self.BokClicked)
37        self.connect(self.LESaveDir,SIGNAL("returnPressed()"),self.ChangeSaveDir)
38        self.connect(self.Bok,SIGNAL("clicked()"),self.BokClicked)
39        self.connect(self.PBQuit,SIGNAL("clicked()"),self.close)
40
41
42    def initAll(self):
43        self.CBVersions.clear()
44        for item in self.configuration.catalogues :
45            try :
46               (code,version,cata,format,defaut)=item
47            except :
48               (code,version,cata,format)=item
49            self.dVersion[version]=(item)
50            self.dRepCat[version]=str(cata)
51            self.CBVersions.addItem(QString(version))
52        self.LERepCata.setText(self.dRepCat[version])
53
54        if hasattr(self.configuration,"path_doc"):
55           self.LERepDoc.setText(self.configuration.path_doc)
56        if hasattr(self.configuration,"OpenTURNS_path"):
57           self.LERepOT.setText(self.configuration.OpenTURNS_path)
58        if hasattr(self.configuration,"savedir"):
59           self.LESaveDir.setText(self.configuration.savedir)
60
61
62         
63    def VersionChoisie(self):
64        version=str(self.CBVersions.currentText())
65        if self.dRepCat.has_key(version):
66           self.LERepCata.setText(self.dRepCat[version])
67
68    def BokClicked(self):
69        version=str(self.CBVersions.currentText())
70        if self.LERepCata.text() == "" :
71           QMessageBox.critical( self, "Champ non rempli","Le champ Catalogue  doit etre rempli" )
72           return
73        if not os.path.isfile(self.LERepCata.text()) :
74           res = QMessageBox.warning( None,
75                  self.trUtf8("Fichier Catalogue "),
76                  self.trUtf8("Le Fichier  n existe pas. Voulez-vous supprimer cette version ?"),
77                  self.trUtf8("&Oui"),
78                  self.trUtf8("&Non"))
79           if res == 0 :
80              self.LEVersionSup.setText(version)
81              self.SupVersion()
82              return
83
84        self.dRepCat[version]=str(self.LERepCata.text())
85        if version in self.dVersion.keys():
86           item=list(self.dVersion[version])
87           item[2]=self.dRepCat[version]
88           self.dVersion[version]=tuple(item)
89        else :
90           import prefs
91           code=prefs.code
92           self.dVersion[version]=(code,version,self.dRepCat[version],code.lower())
93           
94        lItem=[]
95        for version in self.dVersion.keys() :
96           lItem.append(self.dVersion[version])
97        self.configuration.catalogues=lItem
98        self.configuration.save_params()
99
100    def AjoutVersion(self):
101        version=self.LEVersionAjout.text()
102        if str(version) == "" : return
103        self.CBVersions.addItem(version)
104        self.LERepCata.setText("")
105        self.LEVersionAjout.setText("")
106        self.CBVersions.setCurrentIndex(self.CBVersions.count()-1)
107
108    def SupVersion(self):
109        version=str(self.LEVersionSup.text())
110        if version == "" : return
111        i =0
112        while i < self.CBVersions.count() :
113            if  self.CBVersions.itemText(i) == version :
114                self.CBVersions.removeItem(i)
115                break
116            i=i+1
117        try :
118           del self.dVersion[version]
119           del self.dRepCat[version]
120        except :
121           self.LEVersionSup.setText("")
122           try :
123              self.CBVersions.setCurrentIndex(self.CBVersions.count()-1)
124              self.VersionChoisie()
125           except :
126              pass
127           return
128        codeSansPoint=re.sub("\.","",version)
129        chaine="rep_mat_"+codeSansPoint
130        if hasattr(self.configuration,chaine):
131           delattr(self.configuration,chaine)
132        self.LEVersionSup.setText("")
133
134        lItem=[]
135        for version in self.dVersion.keys() :
136            lItem.append(self.dVersion[version])
137        self.LERepCata.setText("")
138        self.configuration.catalogues=lItem
139        self.configuration.save_params()
140        self.CBVersions.setCurrentIndex(0)
141        self.VersionChoisie()
142
143
144    def BdefautChecked(self):
145        res = QMessageBox.warning( None,
146                  self.trUtf8("Restauration des parametres par defaut "),
147                  self.trUtf8("Votre fichier editeur sera ecrase."),
148                  self.trUtf8("&Ok"),
149                  self.trUtf8("&Abandonner"))
150        self.Bdefaut.setCheckState(Qt.Unchecked)
151        if res == 1 : return 
152
153        appli=self.configuration.appli
154        fic_ini_util=self.configuration.fic_ini_utilisateur
155        old_fic_ini_util=fic_ini_util+"_old"
156        commande="mv "+fic_ini_util+" "+old_fic_ini_util
157        os.system(commande)
158        import prefs
159        name='prefs_'+prefs.code
160        prefsCode=__import__(name)
161        repIni=prefsCode.REPINI
162        nameConf='configuration_'+prefs.code
163        configuration=__import__(nameConf)
164
165        configNew=configuration.CONFIG(appli,repIni)
166        self.configuration=configNew
167        appli.CONFIGURATION=configNew
168        self.configuration.save_params()
169        self.dVersion={}
170        self.dRepCat={}
171        self.initAll()
172
173    def ChangePathDoc(self):
174        if self.LERepDoc.text()=="" : return
175        if not os.path.isdir(self.LERepDoc.text()) :
176           res = QMessageBox.warning( None,
177                  self.trUtf8("Repertoire de Documentation "),
178                  self.trUtf8("Le Repertoire  n existe pas."),
179                  self.trUtf8("&Ok"),
180                  self.trUtf8("&Abandonner"))
181           if res == 1 :
182              if hasattr(self.configuration,"path_doc"):
183                 self.LERepDoc.setText(self.configuration.path_doc)
184              return
185
186        self.configuration.path_doc=str(self.LERepDoc.text())
187        self.configuration.save_params()
188
189    def ChangePathOT(self):
190        if not os.path.isdir(self.LERepOT.text()) :
191           res = QMessageBox.warning( None,
192                  self.trUtf8("Repertoire Open TURNS "),
193                  self.trUtf8("Le Repertoire  n existe pas."),
194                  self.trUtf8("&Ok"),
195                  self.trUtf8("&Abandonner"))
196           if res == 1 :
197              if hasattr(self.configuration,"OpenTURNS_path"):
198                 self.LERepOT.setText(self.configuration.OpenTURNS_path)
199              return
200
201        if hasattr(self.configuration,"OpenTURNS_path"):
202           sys.path.remove(self.configuration.OpenTURNS_path)
203        self.configuration.OpenTURNS_path=str(self.LERepOT.text())
204        self.configuration.save_params()
205        if self.configuration.OpenTURNS_path == "" : return
206        sys.path[:0]=[self.configuration.OpenTURNS_path]
207
208    def ChangeSaveDir(self):
209        if not os.path.isdir(self.LESaveDir.text()) :
210           res = QMessageBox.warning( None,
211                  self.trUtf8("Repertoire Open TURNS "),
212                  self.trUtf8("Le Repertoire  n existe pas."),
213                  self.trUtf8("&Ok"),
214                  self.trUtf8("&Abandonner"))
215           if res == 1 :
216              if hasattr(self.configuration,"savedir"):
217                 self.LESaveDir.setText(self.configuration.savedir)
218        self.configuration.savedir=str(self.LESaveDir.text())
219        self.configuration.save_params()
220