def draw(self): self.clear() self.enleve() canvas = self.gscore.gboard syst = self.syst petit, grand = syst nl = nsyst = self.n nc = 0 d = self.gscore.gboard.d xy0 = d*5; dx = d*8; dy = d*6 y = xy0+nl*2.5*dy for p in petit: x = xy0 +dx*nc IconCube(canvas, x, y, p) nc+=1 y += dy nc = 0 self.ntext = canvas.create_text(15,y-2*d, fill='white', text=str(self.n+1)) self.ttext = canvas.create_text(5,y+2*d, fill='red', anchor='w', text=minutage.minsec(self.syst.timing)) rplay = canvas.create_text(15,y-6*d, fill='white', text='play') canvas.tag_bind(rplay,'<1>',self.play) rloop = canvas.create_text(15,y-8*d, fill='white', text='loop') canvas.tag_bind(rloop,'<1>',self.loop) for g in grand: x = xy0 +dx*nc IconCube(canvas, x, y, g) nc+=1 y += 0.8*dy # canvas.create_line(0,y,canvas.W*3,y, fill='grey20', smooth=0, width=1) hr = 20 wr = 60 xr = 0 yr = y rinsert = canvas.create_rectangle(xr+10,yr-hr/2,xr+wr,yr+hr/2,fill='green') canvas.tag_bind(rinsert,'<1>',self.insert) xr += wr rdelete = canvas.create_rectangle(xr,yr-hr/2,xr+wr,yr+hr/2,fill='red') canvas.tag_bind(rdelete,'<1>',self.delete) name = 'repeats' self.entries[name] = tk.StringVar() e = tk.Entry(canvas, width =2, bg='orange', textvariable=self.entries[name]) e.bind('<Return>', self.setrepeats) e.pack(side=tk.LEFT) self.entries[name].set(syst.repeats) xr += wr*(1+0.1) canvas.create_window(xr,yr-3, window=e,anchor='w') name = 'trans' self.entries[name] = tk.StringVar() e = tk.Entry(canvas, width =2, bg='magenta', textvariable=self.entries[name]) e.bind('<Return>', self.settrans) e.pack(side=tk.LEFT) self.entries[name].set(syst.trans) xr += 2*12 canvas.create_window(xr,yr-3, window=e,anchor='w') xr += wr/2 rtext = canvas.create_text(xr,yr, anchor='w', fill='magenta', text='PLAY') canvas.tag_bind(rtext,'<1>',self.playtrans) xr += wr/2 rcopy = canvas.create_rectangle(xr,yr-hr/2,xr+wr,yr+hr/2,fill='blue') rtext = canvas.create_text(xr+wr/2,yr,text='copy') canvas.tag_bind(rcopy,'<1>',self.copy) canvas.tag_bind(rtext,'<1>',self.copy) xr += wr rpaste = canvas.create_rectangle(xr,yr-hr/2,xr+wr,yr+hr/2,fill='yellow') rtext = canvas.create_text(xr+wr/2,yr,text='paste') canvas.tag_bind(rpaste,'<1>',self.paste) canvas.tag_bind(rtext,'<1>',self.paste)
def refresh(self): for gsyst in self: self.gboard.itemconfigure(gsyst.ntext,text=str(gsyst.n+1)) self.gboard.itemconfigure(gsyst.ttext,text=minutage.minsec(gsyst.syst.timing))