def init(): """initialise les variables en relation avec le bouton recommencer""" memoire["cellules"]=[] memoire["listeV"]=[] memoire["listeP"]=[] memoire["inAfCel"]=[0,20] for i in range(len(memoire["afCellules"])): efCellules(memoire["afCellules"][i]) memoire["afCellules"]=[] for i in range(9): statMenu[i].set(0) temps.set(-1) nbCel.set(20) affInt.set("")
def zoomP(): """zoom plus, augmente la taille des céllules pour en faire disparaître la ligne du haut La ligne du bas reste en place.""" tempsAfCel0=temps.get()-memoire["inAfCel"][0] if memoire["inAfCel"][1]<10 or memoire["inAfCel"][0]<2 : return memoire["inAfCel"][0]-=1 memoire["inAfCel"][1]-=1 efCellules(memoire["afCellules"][0]) for i in range(1,len(memoire["afCellules"])): efCellules(memoire["afCellules"][i]) memoire["afCellules"][i]=afCellules(drawing,deepcopy( memoire["cellules"][tempsAfCel0+1+i]), i-1,round(hCanvas/memoire["inAfCel"][1],1),kCanvas) memoire["afCellules"][i-1]=memoire["afCellules"][i] memoire["afCellules"].pop()
def zoomM(): """zoom moins, diminue la taille des céllules pour en faire apparaître une ligne supplémentaire en bas. La ligne du haut reste en place. Actualise les statistiques par rapport à la dernière cellule affichée.""" tempsAfCel0=temps.get()-memoire["inAfCel"][0] tempsAfCelMax=temps.get()-memoire["inAfCel"][0]+memoire["inAfCel"][1]+1 memoire["inAfCel"][1]+=1 for i in range(len(memoire["afCellules"])): efCellules(memoire["afCellules"][i]) memoire["afCellules"][i]=afCellules(drawing,deepcopy( memoire["cellules"][tempsAfCel0+1+i]), i,round(hCanvas/memoire["inAfCel"][1],1),kCanvas) if tempsAfCelMax <= temps.get(): memoire["afCellules"].append(afCellules(drawing,deepcopy( memoire["cellules"][tempsAfCelMax]), memoire["inAfCel"][1]-1,round(hCanvas/memoire["inAfCel"][1],1),kCanvas)) stats_i=statsLigne(deepcopy(memoire["cellules"][tempsAfCelMax])) afStatistiques(stats_i, memoire["listeV"][:tempsAfCelMax+1], memoire["listeP"][:tempsAfCelMax+1], statMenu) tempsHist.set(tempsAfCelMax)
def scrollB(): """scroll vers le bas, déplace les céllules vers le haut et fait apparaître la cellule suivante en haut de l'écran. Actualise les statistiques par rapport à la dernière cellule affichée.""" tempsAfCel0=temps.get()-memoire["inAfCel"][0] if memoire["inAfCel"][0] == 0: return efCellules(memoire["afCellules"][0]) for i in range(1,len(memoire["afCellules"])): efCellules(memoire["afCellules"][i]) memoire["afCellules"][i-1]=afCellules(drawing,deepcopy( memoire["cellules"][tempsAfCel0+i+1]), i-1,round(hCanvas/memoire["inAfCel"][1],1),kCanvas) tempsAfCelMax=temps.get()-memoire["inAfCel"][0]+memoire["inAfCel"][1]+1 if tempsAfCelMax > temps.get(): memoire["afCellules"].pop() tempsHist.set(temps.get()) else: memoire["afCellules"][memoire["inAfCel"][1]-1]=afCellules(drawing,deepcopy( memoire["cellules"][tempsAfCelMax]), memoire["inAfCel"][1]-1,round(hCanvas/memoire["inAfCel"][1],1),kCanvas) stats_i=statsLigne(deepcopy(memoire["cellules"][tempsAfCelMax])) afStatistiques(stats_i, memoire["listeV"][:tempsAfCelMax+1], memoire["listeP"][:tempsAfCelMax+1], statMenu) tempsHist.set(tempsAfCelMax) memoire["inAfCel"][0]-=1
def scrollH(): """scroll vers le haut, déplace les céllules vers le bas et fait apparaître la cellule précédente en haut de l'écran. Actualise les statistiques par rapport à la dernière cellule affichée.""" tempsAfCel0=temps.get()-memoire["inAfCel"][0] if tempsAfCel0 < 0: return if memoire["inAfCel"][0] >= memoire["inAfCel"][1]: efCellules(memoire["afCellules"][memoire["inAfCel"][1]-1]) stats_i=statsLigne(deepcopy(memoire["cellules"][tempsAfCel0+memoire["inAfCel"][1]-1])) afStatistiques(stats_i, memoire["listeV"][:tempsAfCel0+memoire["inAfCel"][1]], memoire["listeP"][:tempsAfCel0+memoire["inAfCel"][1]], statMenu) tempsHist.set(tempsAfCel0+memoire["inAfCel"][1]-1) else: memoire["afCellules"].append(0) tempsHist.set(temps.get()) n=len(memoire["afCellules"]) for i in range(1,n): efCellules(memoire["afCellules"][n-i-1]) memoire["afCellules"][n-i]=afCellules(drawing,deepcopy( memoire["cellules"][tempsAfCel0+n-i]), n-i,round(hCanvas/memoire["inAfCel"][1],1),kCanvas) memoire["afCellules"][0]=afCellules(drawing,deepcopy( memoire["cellules"][tempsAfCel0]), 0,round(hCanvas/memoire["inAfCel"][1],1),kCanvas) memoire["inAfCel"][0]+=1