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