nb.setnaturalsize()
self.affiche()
+import treewidget
+class Node(treewidget.Node):
+ def doPaste(self,node_selected):
+ objet_a_copier = self.item.get_copie_objet()
+ child=node_selected.doPaste_MCF(objet_a_copier)
+ return child
+
+ def doPaste_MCF(self,objet_a_copier):
+ child = self.parent.append_child(objet_a_copier,
+ pos=self.item,
+ retour='oui')
+ return child
+
class FACTTreeItem(Objecttreeitem.ObjectTreeItem):
panel = FACTPanel
+ itemNode=Node
def IsExpandable(self):
return 1
def iscopiable(self):
return 1
- def isMCFact(self):
- """
- Retourne 1 si l'objet pointé par self est un MCFact, 0 sinon
- """
- return 1
-
def GetIconName(self):
if self.object.isvalid():
return "ast-green-los"
return keys
def GetSubList(self):
+ """
+ Reactualise la liste des items fils stockes dans self.sublist
+ """
+ liste=self.object.mc_liste
+ sublist=[None]*len(liste)
+ # suppression des items lies aux objets disparus
+ for item in self.sublist:
+ old_obj=item.getObject()
+ if old_obj in liste:
+ pos=liste.index(old_obj)
+ sublist[pos]=item
+ else:
+ pass # objets supprimes ignores
+ # ajout des items lies aux nouveaux objets
+ pos=0
+ for obj in liste:
+ if sublist[pos] is None:
+ # nouvel objet : on cree un nouvel item
+ def setfunction(value, object=obj):
+ object.setval(value)
+ item = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj, setfunction)
+ sublist[pos]=item
+ pos=pos+1
+
+ self.sublist=sublist
+ return self.sublist
+
+ def additem(self,name,pos):
+ #print "compofact.additem",name,pos
+ objet = self.object.addentite(name,pos)
+ return objet
+
+ def suppitem(self,item) :
+ """
+ Cette methode a pour fonction de supprimer l'item passé en argument
+ des fils de l'item FACT qui est son pere
+ - item = item du MOCLE à supprimer du MOCLE père
+ - item.getObject() = MCSIMP ou MCBLOC
+ """
+ itemobject=item.getObject()
+ if itemobject.isoblig() :
+ self.appli.affiche_infos('Impossible de supprimer un mot-clé obligatoire ')
+ return 0
+
+ if self.object.suppentite(itemobject):
+ message = "Mot-clé " + itemobject.nom + " supprimé"
+ self.appli.affiche_infos(message)
+ return 1
+ else:
+ self.appli.affiche_infos('Pb interne : impossible de supprimer ce mot-clé')
+ return 0
+
+ def GetSubList_BAK(self):
sublist=[]
for obj in self.object.mc_liste:
def setfunction(value, object=obj):
sublist.append(item)
return sublist
- def additem(self,name,pos):
+ def additem_BAK(self,name,pos):
if isinstance(name,Objecttreeitem.ObjectTreeItem) :
- objet = self.object.addentite(name.object,pos)
+ objet = self.object.addentite(name.getObject(),pos)
else :
objet = self.object.addentite(name,pos)
self.expandable = 1
item = self.make_objecttreeitem(self.appli,objet.nom + " : ", objet, setfunction)
return item
- def suppitem(self,item) :
- """
- Cette methode a pour fonction de supprimer l'item passé en argument
- des fils de l'item FACT qui est son pere
- - item = item du MOCLE à supprimer du MOCLE père
- - item.object = MCSIMP ou MCBLOC
- """
- if item.object.isoblig() :
- self.appli.affiche_infos('Impossible de supprimer un mot-clé obligatoire ')
- return 0
- else :
- self.object.suppentite(item.object)
- message = "Mot-clé " + item.object.nom + " supprimé"
- self.appli.affiche_infos(message)
- return 1
-
- def verif_condition_bloc(self):
+ def verif_condition_bloc_BAK(self):
return self.object.verif_condition_bloc()
import Accas