Aller à la documentation de ce fichier.00001
00002
00003
00004 import gestClasse
00005 from PyQt4.QtGui import *
00006 from PyQt4.QtCore import *
00007
00008
00009 class gestClasseTreeView(QTreeView):
00010
00011
00012
00013
00014
00015 def __init__(self, parent=None):
00016 QTreeView.__init__(self, parent)
00017 self.gest=None
00018 model=QStandardItemModel()
00019 self.setModel(model)
00020 self.root = self.model().invisibleRootItem()
00021 return
00022
00023
00024
00025
00026
00027
00028
00029
00030 def connecteGestionnaire(self, fichier, gestionnaire=gestClasse.Sconet, renew=False):
00031 if renew:
00032 m=self.model()
00033 m.removeRows(0, m.rowCount())
00034 self.root = self.model().invisibleRootItem()
00035 self.gest=gestionnaire(fichier)
00036 for c in self.gest.collectClasses():
00037 rowClasse=[QStandardItem(c)]
00038 self.root.appendRow(rowClasse)
00039 for e in self.gest.elevesDeClasse(c):
00040 name=self.gest.showable_name(e)
00041 eleveItem=QStandardItem(name)
00042 eleveItem.setCheckable(True)
00043 eleveItem.unique_name=self.gest.unique_name(e)
00044 rowEleve=[eleveItem]
00045 rowClasse[0].appendRow(rowEleve)
00046 self.setExpanded(self.model().index(0,0),True)
00047 return
00048
00049
00050
00051
00052
00053 def expandedItems(self):
00054 result=[]
00055 m=self.model()
00056 for r in range(m.rowCount()):
00057 cl=m.item(r)
00058 if self.isExpanded(cl.index()):
00059 for r1 in range(cl.rowCount()):
00060 e=cl.child(r1)
00061 result.append(e)
00062 return result
00063
00064
00065
00066
00067
00068 def allItems(self):
00069 result=[]
00070 m=self.model()
00071 for r in range(m.rowCount()):
00072 cl=m.item(r)
00073 for r1 in range(cl.rowCount()):
00074 e=cl.child(r1)
00075 result.append(e)
00076 return result
00077
00078
00079
00080
00081
00082 def checkedItems(self):
00083 result=[]
00084 m=self.model()
00085 for r in range(m.rowCount()):
00086 cl=m.item(r)
00087 for r1 in range(cl.rowCount()):
00088 e=cl.child(r1)
00089 if e.checkState():
00090 result.append(e)
00091 return result
00092
00093