Salome HOME
sauve au 25/04/2016
[tools/eficas.git] / InterfaceQT4 / monRecherche.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 # Modules Python
21 # Modules Eficas
22
23 from desRecherche import Ui_desRecherche
24 from determine import monEnvQT5
25 if monEnvQT5:
26     from PyQt5.QtWidgets import QDialog
27     from PyQt5.QtCore import Qt
28 else :
29     from PyQt4.QtGui  import *
30     from PyQt4.QtCore import *
31
32
33 # Import des panels
34
35 class DRecherche(Ui_desRecherche ,QDialog):
36   """
37   Classe définissant le panel associé aux mots-clés qui demandent
38   à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
39   discrètes
40   """
41   def __init__(self,parent = None , name = None,fl = 0):
42       QDialog.__init__(self,parent)
43       self.parentQT=parent
44       self.tree=self.parentQT.tree
45       self.setModal(True)
46       self.setupUi(self)
47       self.PBSuivant.setDefault(True)
48       self.PBSuivant.setAutoDefault(False)
49       if monEnvQT5 :
50          self.PBSuivant.clicked.connect( self.suivantClicked)
51          self.LERecherche.returnPressed.connect(self.recherche)
52       else :
53          self.connect(self.PBSuivant,SIGNAL("clicked()"), self.suivantClicked)
54          self.connect(self.LERecherche,SIGNAL("returnPressed()"),self.recherche)
55       self.surLigne=0
56       self.listeTrouvee=()
57       self.nodeSurligne=None
58
59   def suivantClicked(self):
60       #if self.motAChercher!=self.LERecherche.text(): self.recherche()
61       if self.listeTrouvee=={} : return
62       if self.surLigne > len(self.listeTrouvee) -1 : return
63       if self.nodeSurligne!=None : self.nodeSurligne.update_node_texte_in_black()
64       #self.listeTrouvee[self.surLigne].update_node_texte_in_blue()
65       #self.nodeSurligne=self.listeTrouvee[self.surLigne]
66       self.listeTrouvee[self.surLigne].select()
67       self.listeTrouvee[self.surLigne].affichePanneau()
68       self.surLigne=self.surLigne+1
69       self.PBSuivant.setFocus()
70       if self.surLigne == len(self.listeTrouvee): self.surLigne=0
71
72   def recherche(self):
73       self.motAChercher=self.LERecherche.text()
74       self.listeTrouvee=self.tree.findItems(self.motAChercher,Qt.MatchContains|Qt.MatchRecursive,1)
75       self.surLigne=0
76