self.editor = QWParent
self.appliEficas = self.editor.appliEficas
- #self.setRootIsDecorated(1)
self.setColumnCount(2)
mesLabels=QStringList()
- mesLabels << self.trUtf8('Commande') << self.trUtf8('Concept/Valeur')
+ mesLabels << self.trUtf8('Commande ') << self.trUtf8('Concept/Valeur ')
self.setHeaderLabels(mesLabels)
self.setMinimumSize(QSize(400,500))
#self.connect(self,SIGNAL('contextMenuRequested(QListWidgetItem *, const QPoint &, int)'),
# self.handleContextMenu)
- #self.connect(self, SIGNAL("onItem ( QListWidgetItem * ) "), self.handleOnItem)
self.connect(self, SIGNAL("itemClicked ( QTreeWidgetItem * ,int) "), self.handleOnItem)
self.racine=self.item.itemNode(self,self.item)
self.expandItem(self.racine)
- self.node_selected = self.racine
+ self.node_selected=self.racine
+ self.racine.affichePanneau()
# def handleContextMenu(self,itm,coord,col):
# """
mesColonnes << name << value
QTreeWidgetItem.__init__(self,treeParent,mesColonnes)
- monIcone = QIcon("icons/" +item.GetIconName() + ".gif")
+ monIcone = QIcon("/home/noyret/Install_Eficas/EficasV1/InterfaceQT4/icons/" +self.item.GetIconName() + ".gif")
self.setIcon(0,monIcone)
+ self.children = []
self.build_children()
- self.connect()
def build_children(self):
""" Construit la liste des enfants de self """
+ self.setExpanded(0)
+ for item in self.children :
+ self.removeChild(item)
self.children = []
sublist = self.item._GetSubList()
for item in sublist :
nouvelItem=item.itemNode(self,item)
self.children.append(nouvelItem)
+ self.setExpanded(1)
def affichePanneau(self) :
- panel=self.getPanel()
+ if self.item.isactif():
+ panel=self.getPanel()
+ else:
+ from monInactifPanel import PanelInactif
+ panel = PanelInactif(self,self.editor)
panel.show()
+ self.select()
-# if after is None:
-# QListWidgetItem. _init__(self,QWParent)
-# self.setText(0, name )
-# self.setText(1, value )
-# else:
-# QListWidgetItem.__init__(self,QWParent, after)
-# self.setText(0, name )
-# self.setText(1, value)
-#
-# p = utilIcons.getPixmap(item.GetIconName() + ".gif")
-# self.setPixmap(0,p)
-# self.setExpandable(item.IsExpandable())
-#
-# self.init()
-# self.createPopUpMenu()
-#
-#
# def paintCell(self, p, cg, column, width, alignment):
# """
# Overwritten class to set a different text color, if bold is true.
# _cg.setColor(QColorGroup.Text, c)
#
#
- def setOpen(self, o):
- """
- Public slot to set/reset the open state.
-
- @param o flag indicating the open state
- """
- if o:
- if not self.children :
- self.build_children()
- self.selected = 1
- self.tree.node_selected = self
- else:
-
- for child in self.children:
- self.takeItem(child)
- del child
- self.children = []
- #QListWidgetItem.setOpen(self,o)
- print self.tree.__class__
- self.tree.setCurrentItem(self)
-#
-# #----------------------------------------------------------
-# # interface a implementer par les noeuds derives (debut)
-# #----------------------------------------------------------
-# def getPanel(self):
-# print self.__class__
-# return None
-#
-# def createPopUpMenu(self):
-# pass
-#
-# #----------------------------------------------------
-# # interface a implementer par les noeuds derives (fin)
-# #----------------------------------------------------
-#
-# def init(self): #CS_pbruno toclean
-# self.state='collapsed'
-# self.displayed = 0
-# self.selected = 0
-# self.x = self.y =None
-# self.lasty = 0
-# self.children = []
-# self.id = []
-# if self.QWParent is self.tree:
-# self.racine=self
-# else:
-# self.racine = self.QWParent.racine
-#
- def connect(self):
- self.item.connect("add",self.onAdd,())
- self.item.connect("supp",self.onSupp,())
- self.item.connect("valid",self.onValid,())
+# def connect(self):
+# self.item.connect("add",self.onAdd,())
+# self.item.connect("supp",self.onSupp,())
+# self.item.connect("valid",self.onValid,())
#
# def commentIt(self):
Rend le noeud courant (self) selectionne et deselectionne
tous les autres
"""
- self.setOpen( True )
-#
-# #------------------------------------------------------------------
-# # Methodes de creation et destruction de noeuds
-# # Certaines de ces methodes peuvent etre appelees depuis l'externe
-# #------------------------------------------------------------------
-# def append_brother(self,name,pos='after',retour='non'):
-# """
-# Permet d'ajouter un objet frere a l'objet associe au noeud self
-# par defaut on l'ajoute immediatement apres
-# Methode externe
-# """
-# # on veut ajouter le frere de nom name directement avant ou apres self
+ self.tree.node_selected.setSelected(0)
+ self.setSelected( True )
+ self.tree.node_selected= self
+
+ #------------------------------------------------------------------
+ # Methodes de creation et destruction de noeuds
+ # Certaines de ces methodes peuvent etre appelees depuis l'externe
+ #------------------------------------------------------------------
+ def append_brother(self,name,pos='after',retour='non'):
+ """
+ Permet d'ajouter un objet frere a l'objet associe au noeud self
+ par defaut on l'ajoute immediatement apres
+ Methode externe
+ """
### print "*********** append_brother ", self.item.GetLabelText()
-# index = self.QWParent.children.index(self)
-# if pos == 'before':
-# index = index
-# elif pos == 'after':
-# index = index +1
-# else:
-# print str(pos)," n'est pas un index valide pour append_brother"
-# return 0
-# return self.QWParent.append_child(name,pos=index)
-#
+ index = self.treeParent.children.index(self)
+ if pos == 'before':
+ index = index
+ elif pos == 'after':
+ index = index +1
+ else:
+ print str(pos)," n'est pas un index valide pour append_brother"
+ return 0
+ return self.treeParent.append_child(name,pos=index)
+
def append_child(self,name,pos=None,verif='oui',retour='non'):
"""
Methode pour ajouter un objet fils a l'objet associe au noeud self.
ou en position intermediaire.
Si pos vaut None, on le place a la position du catalogue.
"""
-### print "************** append_child ",self.item.GetLabelText()
+ print "************** append_child ",self.item.GetLabelText()
if pos == 'first':
index = 0
elif pos == 'last':
else:
index = self.item.get_index_child(name)
obj=self.item.additem(name,index) #CS_pbruno emet le signal 'add'
- #print obj
if obj is None:obj=0
if obj == 0:return 0
- #print "append_child",index,self.children
+ self.build_children()
child=self.children[index]
- child.select()
+ child.affichePanneau()
return child
-# def delete(self):
-# """
-# Methode externe pour la destruction de l'objet associe au noeud
-# La mise a jour des noeuds est faite par onSupp sur notification
-# """
-# self.QWParent.init_modif()
-# index = self.QWParent.children.index(self) - 1
-# if index < 0 : index =0
-#
-# QWParent=self.QWParent
-# ret=QWParent.item.suppitem(self.item)
-# if ret == 0:return
-#
-# brothers=QWParent.children
-# if brothers:
-# toselect=brothers[index]
-# else:
-# toselect=QWParent
-# toselect.select()
+ def delete(self):
+ """
+ Methode externe pour la destruction de l'objet associe au noeud
+ La mise a jour des noeuds est faite par onSupp sur notification
+ """
+ self.editor.init_modif()
+ index = self.treeParent.children.index(self) - 1
+ if index < 0 : index =0
+
+ ret=self.treeParent.item.suppitem(self.item)
+ if ret == 0:return
+
+ self.treeParent.build_children()
+ print index
+ brothers=self.treeParent.children
+ if brothers:
+ toselect=brothers[index]
+ self.treeParent.setSelected(0)
+ else:
+ toselect=self.treeParent
+ toselect.select()
+ toselect.affichePanneau()
+
#
# #------------------------------------------------------------------
def onValid(self):
"""Cette methode remet a jour la validite du noeud (icone)
Elle appelle isvalid
"""
- #print 'NODE update_node_valid', self.item.GetLabelText()
- monIcone = QIcon("icons/" +self.item.GetIconName() + ".gif")
+ print 'NODE update_node_valid', self.item.GetLabelText()
+ monIcone = QIcon("/home/noyret/Install_Eficas/EficasV1/InterfaceQT4/icons/" +self.item.GetIconName() + ".gif")
self.setIcon(0,monIcone)
def update_node_label(self):
value = self.item.GetText()
self.setText(1, value)
-# def update_nodes(self):
-# #print "NODE update_nodes ", self.item.GetLabelText()
-# self.setOpen( False )
-# self.setOpen( True )
-# #self.select()
+ def update_nodes(self):
+ self.select()
#
def update_texte(self):
""" Met a jour les noms des SD et valeurs des mots-cles """
if label==QString("Nommer Concept"):
self.LENomConceptReturnPressed()
if label==QString("Ajouter Mot-Clef"):
- self.DefMC()
+ if self.LBMCPermis.currentItem() == None : return
+ self.DefMC(self.LBMCPermis.currentItem())
if label==QString("Définition Formule"):
self.BOkPressedFormule()
if label==QString("Valeur Parametre"):
def BuildLBRegles(self,listeRegles,listeNomsEtapes):
+ self.LBRegles.clear()
if len(listeRegles) > 0:
for regle in listeRegles :
texteRegle=regle.gettext()
texteMauvais,test = regle.verif(listeNomsEtapes)
for ligne in texteRegle.split("\n") :
if ligne == "" :
- self.LBRegles.insertItem(0,ligne)
+ self.LBRegles.addItem(ligne)
continue
if ligne[0]=="\t" :
ligne=" "+ligne[1:]
if test :
- self.LBRegles.insertItem(0,ligne)
+ self.LBRegles.addItem(ligne)
else :
- self.LBRegles.insertItem(0,ligne)
- #self.LBRegles.insertItem(itemColore(ligne))
+
+ monItem=QListWidgetItem(ligne)
+ monItem.setForeground(Qt.red)
+ self.LBRegles.addItem(monItem)
# ----------------------- #
def BuildLBMCPermis(self):
self.LBMCPermis.clear()
- QObject.connect(self.LBMCPermis,SIGNAL("itemDoubleClicked(QListWidegetItem*)"),self.DefMC)
+ QObject.connect(self.LBMCPermis,SIGNAL("itemDoubleClicked(QListWidgetItem*)"),self.DefMC)
jdc = self.node.item.get_jdc()
genea =self.node.item.get_genealogie()
liste_mc=self.node.item.get_liste_mc_ordonnee(genea,jdc.cata_ordonne_dico)
self.LBMCPermis.addItem( aMc)
- def DefMC(self):
+ def DefMC(self,item):
""" On ajoute un mot-clé à la commande : subnode """
- if self.LBMCPermis.selectedItem() == None : return
- name=str(self.LBMCPermis.selectedItem().text())
+ name=str(item.text())
self.editor.init_modif()
self.node.append_child(name)
for aCmd in listeCmd:
self.LBNouvCommande.addItem( aCmd)
self.LBNouvCommande.addItem( " " )
- QObject.connect( self.LBNouvCommande, SIGNAL("itemClicked(QListWidgetItem*)"),self.DefCmd )
+ #QObject.connect( self.LBNouvCommande, SIGNAL("itemClicked(QListWidgetItem*)"),self.DefCmd )
QObject.connect( self.LBNouvCommande, SIGNAL("itemDoubleClicked(QListWidgetItem*)"),self.DefCmd )
def DefCmd(self):
- print "iiiiiii"
if (self.editor.focusWidget())!=self.LBNouvCommande :
return
if self.LBNouvCommande.currentItem()== 0 : return
.arg(unicode(fn)).arg(str(why)))
return
-
-#-------------------------------
-#class itemColore(QListBoxText):
-#-------------------------------
-# def paint(self,p):
-# p.setPen(Qt.red)
-# QListBoxText.paint(self,p);