Added some keybindings, cleaned up others, made the update button work correctly

This commit is contained in:
Anna 2010-04-07 14:17:57 -04:00
parent 85436f093d
commit a63f51764f

View File

@ -29,11 +29,6 @@ class TwitWindow:
self.tweet_view = Pmw.ScrolledFrame(self.tkroot, hscrollmode='none', horizflex='elastic')
self.tweet_view.pack(expand=Tkinter.YES, fill=Tkinter.BOTH)
# Bind scrollwheel to move the tweets. Might as well allow scrollwheel
# from anywhere, so we'll bind to tkroot
self.tkroot.bind("<Button-4>", self.scroll_wheel);
self.tkroot.bind("<Button-5>", self.scroll_wheel);
# Create labels and text widgets
for i in range(0, self.num_entries):
self.labels.append(Tkinter.Label(self.tweet_view.interior()))
@ -48,10 +43,21 @@ class TwitWindow:
self.update_box.pack(expand=False, fill=Tkinter.X)
self.update_entry = Tkinter.Entry(self.update_box)
self.update_entry.pack(expand=Tkinter.YES, fill=Tkinter.X, side=Tkinter.LEFT)
self.update_entry.bind('<Return>', self.update_status)
self.update_button = Tkinter.Button(self.update_box, text="Update", command=self.update_status)
self.update_button.pack(expand=Tkinter.NO, side=Tkinter.RIGHT)
### Set up bindings
# Bind scrollwheel to move the tweets. Might as well allow scrollwheel
# from anywhere, so we'll bind to tkroot
self.tkroot.bind("<Button-4>", self.scroll_wheel);
self.tkroot.bind("<Button-5>", self.scroll_wheel);
self.update_entry.bind('<Return>', self.update_status_callback)
self.tkroot.bind("<Prior>", self.page_up);
self.tkroot.bind("<Next>", self.page_down);
# Init the twitter API and start up the main loop
self.api = twitter.Api(username=self.username, password=self.password)
self.update_window()
@ -73,11 +79,18 @@ class TwitWindow:
self.timer = self.tkroot.after(300000, self.update_window)
def update_status(self, event):
def update_status(self):
text = self.update_entry.get()
self.update_entry.delete(0, Tkinter.END)
self.api.PostUpdate(text)
self.update_window()
# Just calls update_status, here so that things
# that pass an event can be used
def update_status_callback(self, event):
self.update_status()
def scroll_wheel(self, event):
@ -87,6 +100,12 @@ class TwitWindow:
self.tweet_view.yview('scroll', 5, 'units');
def page_up(self, event):
self.tweet_view.yview('scroll', -15, 'units');
def page_down(self, event):
self.tweet_view.yview('scroll', 15, 'units');
### end class TwitWindow