Added some keybindings, cleaned up others, made the update button work correctly
This commit is contained in:
parent
85436f093d
commit
a63f51764f
33
mytwitter.py
33
mytwitter.py
|
@ -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,13 +79,20 @@ 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):
|
||||
if event.num == 4:
|
||||
self.tweet_view.yview('scroll', -5, 'units');
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
|
Reference in New Issue
Block a user