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