Salome HOME
optim eciture
[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 __future__ import absolute_import
22 try :
23    from builtins import object
24 except : pass
25
26 from PyQt5.QtCore import Qt
27 from  .monViewRegles  import ViewRegles
28
29 class GereRegles(object) :
30
31    def AppelleBuildLBRegles(self):
32        from .browser import JDCTree
33        if isinstance(self,JDCTree):
34           self.AppelleBuildLBReglesForJdC()
35        else :
36           self.AppelleBuildLBReglesForCommand()
37        self.BuildLBRegles(self.listeRegles,self.listeNomsEtapes)
38        self.AfficheRegles()
39        
40    def AppelleBuildLBReglesForCommand(self):
41        self.listeRegles     = self.item.get_regles()
42        self.listeNomsEtapes = self.item.get_mc_presents()
43
44    def AppelleBuildLBReglesForJdC(self):
45        self.listeRegles=self.item.get_regles()
46        self.listeNomsEtapes = self.item.get_l_noms_etapes()
47
48
49    def BuildLBRegles(self,listeRegles,listeNomsEtapes):
50        self.liste=[]
51        if len(listeRegles) > 0:
52           for regle in listeRegles :
53              texteRegle=regle.gettext()
54              texteMauvais,test = regle.verif(listeNomsEtapes)
55              for ligne in texteRegle.split("\n") :
56                 if ligne == "" : continue
57                 if ligne[0]=="\t" :  ligne="     "+ligne[1:]
58                 if test :
59                    self.liste.append((ligne,Qt.black))
60                 else :
61                    self.liste.append((ligne,Qt.red))
62              self.liste.append(("",Qt.red))
63        if self.liste==[] : self.liste(tr("pas de regle de construction pour ce jeu de commandes",Qt.black))
64                
65
66    def AfficheRegles(self):
67       titre="Regles pour "+self.item.nom
68       w = ViewRegles( self.editor,self.liste,titre  )
69       w.exec_()
70        
71
72