]> SALOME platform Git repositories - tools/eficas.git/blob - InterfaceQT4/monOptionsEditeur.py
Salome HOME
Modif V6_4_°
[tools/eficas.git] / InterfaceQT4 / monOptionsEditeur.py
1 # -*- coding: utf-8 -*-
2
3 import os, re
4
5 from PyQt4.QtGui  import *
6 from PyQt4.QtCore import *
7
8 from OptionsEditeur 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        #print "Options"
20        desOptions.__init__(self,parent,modal)
21        self.configuration=configuration
22        self.viewMan=parent
23        self.dVersion={}
24        self.dRepMat={}
25        self.dRepCat={}
26        self.connecterSignaux()
27        self.initAll()
28   
29    def connecterSignaux(self) :
30        self.connect(self.CBVersions,SIGNAL("activated(int)"),self.VersionChoisie)
31        self.connect(self.Bdefaut,SIGNAL("clicked()"),self.BdefautChecked)
32        self.connect(self.LEVersionAjout,SIGNAL("returnPressed()"),self.AjoutVersion)
33        self.connect(self.LERepDoc,SIGNAL("returnPressed()"),self.ChangePathDoc)
34        self.connect(self.Bok,SIGNAL("clicked()"),self.BokClicked)
35        self.connect(self.LEVersionSup,SIGNAL("returnPressed()"),self.SupVersion)
36        self.connect(self.PBajout,SIGNAL("clicked()"),self.AjoutVersion)
37        self.connect(self.PBQuit,SIGNAL("clicked()"),self.close)
38        self.connect(self.LERepDoc,SIGNAL("textChanged(const QString&)"),self.ChangePathDoc)
39
40
41    def initAll(self):
42        self.CBVersions.clear()
43        for item in self.configuration.catalogues :
44            try :
45               (code,version,cata,format,defaut)=item
46            except :
47               (code,version,cata,format)=item
48            self.dVersion[version]=(item)
49            self.dRepCat[version]=str(cata)
50            self.CBVersions.addItem(QString(version))
51
52            codeSansPoint=re.sub("\.","",version)
53            chaine="rep_mat_"+codeSansPoint
54            if hasattr(self.configuration,chaine):
55               rep_mat=getattr(self.configuration,chaine)
56               self.dRepMat[version]=str(rep_mat)
57            else :
58               self.dRepMat[version]=""
59        self.LERepMat.setText(self.dRepMat[version])
60        self.LERepCata.setText(self.dRepCat[version])
61        if hasattr(self.configuration,"path_doc"):
62           self.LERepDoc.setText(self.configuration.path_doc)
63
64         
65    def VersionChoisie(self):
66        version=str(self.CBVersions.currentText())
67        if self.dRepMat.has_key(version):
68           self.LERepMat.setText(self.dRepMat[version])
69        if self.dRepCat.has_key(version):
70           self.LERepCata.setText(self.dRepCat[version])
71
72    def BokClicked(self):
73        version=str(self.CBVersions.currentText())
74        if self.LERepCata.text() == "" :
75           QMessageBox.critical( self, "Champ non rempli","Le champs Catalogue  doit etre rempli" )
76           return
77
78        self.dRepMat[version]=self.LERepMat.text()
79        if str(self.dRepMat[version] != "") != "" :
80           codeSansPoint=re.sub("\.","",version)
81           chaine="rep_mat_"+codeSansPoint
82           setattr(self.configuration,chaine,self.dRepMat[version])
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           self.dVersion[version]=('ASTER',version,self.dRepCat[version],'python')
91           
92        lItem=[]
93        for version in self.dVersion.keys() :
94           lItem.append(self.dVersion[version])
95        self.configuration.catalogues=lItem
96        self.configuration.save_params()
97
98    def AjoutVersion(self):
99        version=self.LEVersionAjout.text()
100        if str(version) == "" : return
101        self.CBVersions.addItem(version)
102        self.LERepMat.setText("")
103        self.LERepCata.setText("")
104        self.LEVersionAjout.setText("")
105        self.CBVersions.setCurrentIndex(self.CBVersions.count()-1)
106
107    def SupVersion(self):
108        version=str(self.LEVersionSup.text())
109        if version == "" : return
110        i =0
111        while i < self.CBVersions.count() :
112            if  self.CBVersions.itemText(i) == version :
113                self.CBVersions.removeItem(i)
114                break
115            i=i+1
116        try :
117           del self.dVersion[version]
118           del self.dRepMat[version]
119           del self.dRepCat[version]
120        except :
121           self.LEVersionSup.setText("")
122           return
123        codeSansPoint=re.sub("\.","",version)
124        chaine="rep_mat_"+codeSansPoint
125        if hasattr(self.configuration,chaine):
126           delattr(self.configuration,chaine)
127        self.LEVersionSup.setText("")
128
129        lItem=[]
130        for version in self.dVersion.keys() :
131            lItem.append(self.dVersion[version])
132        self.LERepMat.setText("")
133        self.LERepCata.setText("")
134        self.configuration.catalogues=lItem
135        self.configuration.save_params()
136        self.CBVersions.setCurrentIndex(0)
137        self.VersionChoisie()
138
139
140    def BdefautChecked(self):
141        res = QMessageBox.warning(
142                  None,
143                  self.trUtf8("Restauration des parametres par defaut "),
144                  self.trUtf8("Votre fichier editeur sera ecrase."),
145                  self.trUtf8("&Ok"),
146                  self.trUtf8("&Abandonner"))
147        self.Bdefaut.setState(QButton.Off)
148        if res == 1 : return 
149
150        appli=self.configuration.appli
151        repIni=self.configuration.REPINI
152        fic_ini_util=self.configuration.fic_ini_utilisateur
153        old_fic_ini_util=fic_ini_util+"_old"
154        commande="mv "+fic_ini_util+" "+old_fic_ini_util
155        os.system(commande)
156        import prefs
157        nameConf='configuration_'+prefs.code
158        configuration=__import__(nameConf)
159
160        configNew=configuration.CONFIG(appli,repIni)
161        self.configuration=configNew
162        appli.CONFIGURATION=configNew
163        self.configuration.save_params()
164        self.dVersion={}
165        self.dRepMat={}
166        self.dRepCat={}
167        self.initAll()
168
169    def ChangePathDoc(self):
170        self.configuration.path_doc=str(self.LERepDoc.text())
171        self.configuration.save_params()
172