Salome HOME
mse a jour du 07/03/2016 pour sauvegarde
[tools/eficas.git] / InterfaceQT4 / gereRegles.py
1 # -*- coding: utf-8 -*-
2 # Copyright (C) 2007-2013   EDF R&D
3 #
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License.
8 #
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # Lesser General Public License for more details.
13 #
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 #
18 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 #
20
21 from determine import monEnvQT5
22 if monEnvQT5 :
23   from PyQt5.QtCore import Qt
24 else:
25   from PyQt4.QtCore import *
26 from  monViewRegles  import ViewRegles
27
28 class GereRegles :
29
30    def AppelleBuildLBRegles(self):
31        from browser import JDCTree
32        if isinstance(self,JDCTree):
33           self.AppelleBuildLBReglesForJdC()
34        else :
35           self.AppelleBuildLBReglesForCommand()
36        self.BuildLBRegles(self.listeRegles,self.listeNomsEtapes)
37        self.AfficheRegles()
38        
39    def AppelleBuildLBReglesForCommand(self):
40        self.listeRegles     = self.item.get_regles()
41        self.listeNomsEtapes = self.item.get_mc_presents()
42
43    def AppelleBuildLBReglesForJdC(self):
44        self.listeRegles=self.item.get_regles()
45        self.listeNomsEtapes = self.item.get_l_noms_etapes()
46
47
48    def BuildLBRegles(self,listeRegles,listeNomsEtapes):
49        self.liste=[]
50        if len(listeRegles) > 0:
51           for regle in listeRegles :
52              texteRegle=regle.gettext()
53              texteMauvais,test = regle.verif(listeNomsEtapes)
54              for ligne in texteRegle.split("\n") :
55                 if ligne == "" : continue
56                 if ligne[0]=="\t" :  ligne="     "+ligne[1:]
57                 if test :
58                    self.liste.append((ligne,Qt.black))
59                 else :
60                    self.liste.append((ligne,Qt.red))
61              self.liste.append(("",Qt.red))
62        if self.liste==[] : self.liste(tr("pas de regle de construction pour ce jeu de commandes",Qt.black))
63                
64
65    def AfficheRegles(self):
66       titre="Regles pour "+self.item.nom
67       w = ViewRegles( self.editor,self.liste,titre  )
68       w.exec_()
69        
70
71