Salome HOME
modif pour MT
[tools/eficas.git] / InterfaceQT4 / monWidgetFact.py
1 # Copyright (C) 2007-2017   EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19 # Modules Python
20 from __future__ import absolute_import
21 from PyQt5.QtCore import Qt, QTimer
22 from PyQt5.QtWidgets import QWidget
23
24
25 # Modules Eficas
26
27 from .groupe import Groupe
28 from desWidgetFact import Ui_WidgetFact
29 from desWidgetFactTableau import Ui_WidgetFactTableau
30 from Extensions.i18n import tr
31 # Import des panels
32
33 class MonWidgetFactCommun(Groupe):
34   """
35   """
36   def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=-1):
37       #print "fact : ",node.item.nom
38       Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau,commande)
39       labeltext,fonte,couleur = self.node.item.getLabelText()
40       self.GroupBox.setText(tr(labeltext))
41       self.GroupBox.setTextInteractionFlags(Qt.TextSelectableByMouse)
42       self.parentQt.commandesLayout.insertWidget(insertIn,self)
43       self.doitAfficherOptionnel=False
44       min,max=obj.getMinMax()
45       if max < 2 and  hasattr(self, 'RBPlus') : self.RBPlus.close() 
46       if max > 1 and  hasattr(self, 'RBPlus') : self.RBPlus.clicked.connect(self.ajouteMCParPB)
47
48   def enterEvent(self,event):
49       #print "enterEvent ", self.node.item.getLabelText()[0]
50       self.doitAfficherOptionnel=True
51       QWidget.enterEvent(self,event)
52       QTimer.singleShot(500, self.delayAffiche)
53
54   def leaveEvent(self,event):
55       #print "leaveEvent", self.node.item.getLabelText()[0]
56       self.doitAfficherOptionnel=False
57       QWidget.leaveEvent(self,event)
58
59   def delayAffiche(self):
60       #print "delayAffiche, self.doitAfficherOptionnel = ", self.doitAfficherOptionnel
61       if self.doitAfficherOptionnel and self.editor.code != "CARMELCND" :self.afficheOptionnel()
62
63   def ajouteMCParPB(self):
64       texteListeNom="+"+self.obj.nom
65       parentOuAjouter=self.parentQt
66       from .monWidgetBloc import MonWidgetBloc
67       while (parentOuAjouter and isinstance(parentOuAjouter, MonWidgetBloc)) :
68          parentOuAjouter=parentOuAjouter.parentQt
69       parentOuAjouter.ajoutMC(texteListeNom)
70
71
72 class MonWidgetFact(Ui_WidgetFact,MonWidgetFactCommun):
73   def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=1):
74       MonWidgetFactCommun.__init__(self,node,editor,parentQt, definition,obj,niveau,commande,insertIn)
75
76 #class MonWidgetFactTableau(Ui_WidgetFactTableau,MonWidgetFactCommun):
77 class MonWidgetFactTableau(Ui_WidgetFact,MonWidgetFactCommun):
78   def __init__(self,node,editor,parentQt,definition, obj, niveau,commande,insertIn=1):
79       MonWidgetFactCommun.__init__(self,node,editor,parentQt, definition,obj,niveau,commande,insertIn)
80       #print ('je passe dans FactTableau')
81       MonWidgetFactTableau.__init__(self,node,editor,parentQt, definition,obj,niveau,commande)