1 # -*- coding: utf-8 -*-
5 from PyQt4.QtGui import *
6 from PyQt4.QtCore import *
8 from OptionsOT import Ui_desOptions
11 class desOptions(Ui_desOptions,QDialog):
12 def __init__(self,parent ,modal ) :
13 QDialog.__init__(self,parent)
17 class Options(desOptions):
18 def __init__(self,parent = None,modal = 0,configuration=None):
19 desOptions.__init__(self,parent,modal)
20 self.configuration=configuration
24 self.connecterSignaux()
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)
43 self.CBVersions.clear()
44 for item in self.configuration.catalogues :
46 (code,version,cata,format,defaut)=item
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])
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)
63 def VersionChoisie(self):
64 version=str(self.CBVersions.currentText())
65 if self.dRepCat.has_key(version):
66 self.LERepCata.setText(self.dRepCat[version])
69 version=str(self.CBVersions.currentText())
70 if self.LERepCata.text() == "" :
71 QMessageBox.critical( self, "Champ non rempli","Le champ Catalogue doit etre rempli" )
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 ?"),
80 self.LEVersionSup.setText(version)
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)
92 self.dVersion[version]=(code,version,self.dRepCat[version],code.lower())
95 for version in self.dVersion.keys() :
96 lItem.append(self.dVersion[version])
97 self.configuration.catalogues=lItem
98 self.configuration.save_params()
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)
108 def SupVersion(self):
109 version=str(self.LEVersionSup.text())
110 if version == "" : return
112 while i < self.CBVersions.count() :
113 if self.CBVersions.itemText(i) == version :
114 self.CBVersions.removeItem(i)
118 del self.dVersion[version]
119 del self.dRepCat[version]
121 self.LEVersionSup.setText("")
123 self.CBVersions.setCurrentIndex(self.CBVersions.count()-1)
124 self.VersionChoisie()
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("")
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()
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."),
149 self.trUtf8("&Abandonner"))
150 self.Bdefaut.setCheckState(Qt.Unchecked)
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
159 name='prefs_'+prefs.code
160 prefsCode=__import__(name)
161 repIni=prefsCode.REPINI
162 nameConf='configuration_'+prefs.code
163 configuration=__import__(nameConf)
165 configNew=configuration.CONFIG(appli,repIni)
166 self.configuration=configNew
167 appli.CONFIGURATION=configNew
168 self.configuration.save_params()
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."),
180 self.trUtf8("&Abandonner"))
182 if hasattr(self.configuration,"path_doc"):
183 self.LERepDoc.setText(self.configuration.path_doc)
186 self.configuration.path_doc=str(self.LERepDoc.text())
187 self.configuration.save_params()
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."),
195 self.trUtf8("&Abandonner"))
197 if hasattr(self.configuration,"OpenTURNS_path"):
198 self.LERepOT.setText(self.configuration.OpenTURNS_path)
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]
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."),
214 self.trUtf8("&Abandonner"))
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()