]> SALOME platform Git repositories - tools/eficas.git/blob - InterfaceQT4/monRecherche.py
Salome HOME
bug
[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.setupUi(self)
46       self.PBSuivant.setDefault(True)
47       self.PBSuivant.setAutoDefault(False)
48       if monEnvQT5 :
49          self.PBSuivant.clicked.connect( self.suivantClicked)
50          self.LERecherche.returnPressed.connect(self.recherche)
51       else :
52          self.connect(self.PBSuivant,SIGNAL("clicked()"), self.suivantClicked)
53          self.connect(self.LERecherche,SIGNAL("returnPressed()"),self.recherche)
54       self.surLigne=0
55       self.listeTrouvee=()
56       self.nodeSurligne=None
57
58   def suivantClicked(self):
59       #if self.motAChercher!=self.LERecherche.text(): self.recherche()
60       if self.listeTrouvee=={} : return
61       if self.surLigne > len(self.listeTrouvee) -1 : return
62       if self.nodeSurligne!=None : self.nodeSurligne.update_node_texte_in_black()
63       #self.listeTrouvee[self.surLigne].update_node_texte_in_blue()
64       #self.nodeSurligne=self.listeTrouvee[self.surLigne]
65       self.listeTrouvee[self.surLigne].select()
66       self.listeTrouvee[self.surLigne].affichePanneau()
67       self.surLigne=self.surLigne+1
68       self.PBSuivant.setFocus()
69       if self.surLigne == len(self.listeTrouvee): self.surLigne=0
70
71   def recherche(self):
72       self.motAChercher=self.LERecherche.text()
73       self.listeTrouvee=self.tree.findItems(self.motAChercher,Qt.MatchContains|Qt.MatchRecursive,1)
74       self.surLigne=0
75