From: pin Date: Thu, 22 Jul 2010 12:15:48 +0000 (+0000) Subject: Création du widget de navigation précédent / suivant. X-Git-Url: https://scm.cri.mines-paristech.fr/git/minwii.git/commitdiff_plain/6b42e35663015fc54039285953700611a55d1958?ds=sidebyside Création du widget de navigation précédent / suivant. git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@284 fe552daf-6dbe-4428-90eb-1537e0879342 --- diff --git a/src/minwii/logapp.py b/src/minwii/logapp.py index 1bcd703..b7b749e 100755 --- a/src/minwii/logapp.py +++ b/src/minwii/logapp.py @@ -14,15 +14,64 @@ class Application(Frame) : Frame.__init__(self, master) self.grid() self.createWidgets() + self.logDir = '' def createWidgets(self) : + self.nav = Navbar(self) self.chooseLogDir = Button(self, text="Parcourir…", command=self.openFileDialog) self.chooseLogDir.grid() self.quitButton = Button(self, text='Terminer', command=self.quit) self.quitButton.grid() def openFileDialog(self) : - print tkFileDialog.askopenfilename() + self.logDir = tkFileDialog.askdirectory() + + +class Navbar(Frame) : + def __init__(self, master=None, from_=1, to=10, start=1, step=1) : + Frame.__init__(self, master) + self.from_ = from_ + self.to = to + self.index = start + self.step = step + self.grid() + self.caption = StringVar() + self.caption.set('%d / %d' % (self.index, self.to)) + self.createWidgets() + + def createWidgets(self) : + self.backBtn = Button(self, + text='◀', + state = DISABLED if self.index==self.from_ else NORMAL, + command = self.dec + ) + self.backBtn.grid(row=0, column=0) + + self.lbl = Label(self, textvariable=self.caption) + self.lbl.grid(row=0, column=1) + + self.nextBtn = Button(self, + text='▶', + state = DISABLED if self.index==self.to else NORMAL, + command = self.inc) + self.nextBtn.grid(row=0, column=2) + + def dec(self) : + self.index = self.index - self.step + self.caption.set('%d / %d' % (self.index, self.to)) + if self.index == self.from_ : + self.backBtn.configure(state=DISABLED) + if self.index < self.to : + self.nextBtn.configure(state=NORMAL) + + def inc(self) : + self.index = self.index + self.step + self.caption.set('%d / %d' % (self.index, self.to)) + if self.index == self.to : + self.nextBtn.configure(state=DISABLED) + if self.index > self.from_ : + self.backBtn.configure(state=NORMAL) + app = Application() app.master.title("Analyseur des sessions MINWii")