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 = Pmw.ScrolledFrame(self.tkroot, hscrollmode='none', horizflex='elastic')
|
||||||
self.tweet_view.pack(expand=Tkinter.YES, fill=Tkinter.BOTH)
|
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
|
# Create labels and text widgets
|
||||||
for i in range(0, self.num_entries):
|
for i in range(0, self.num_entries):
|
||||||
self.labels.append(Tkinter.Label(self.tweet_view.interior()))
|
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_box.pack(expand=False, fill=Tkinter.X)
|
||||||
self.update_entry = Tkinter.Entry(self.update_box)
|
self.update_entry = Tkinter.Entry(self.update_box)
|
||||||
self.update_entry.pack(expand=Tkinter.YES, fill=Tkinter.X, side=Tkinter.LEFT)
|
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 = Tkinter.Button(self.update_box, text="Update", command=self.update_status)
|
||||||
self.update_button.pack(expand=Tkinter.NO, side=Tkinter.RIGHT)
|
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
|
# Init the twitter API and start up the main loop
|
||||||
self.api = twitter.Api(username=self.username, password=self.password)
|
self.api = twitter.Api(username=self.username, password=self.password)
|
||||||
self.update_window()
|
self.update_window()
|
||||||
|
@ -73,13 +79,20 @@ class TwitWindow:
|
||||||
self.timer = self.tkroot.after(300000, self.update_window)
|
self.timer = self.tkroot.after(300000, self.update_window)
|
||||||
|
|
||||||
|
|
||||||
def update_status(self, event):
|
|
||||||
|
def update_status(self):
|
||||||
text = self.update_entry.get()
|
text = self.update_entry.get()
|
||||||
self.update_entry.delete(0, Tkinter.END)
|
self.update_entry.delete(0, Tkinter.END)
|
||||||
self.api.PostUpdate(text)
|
self.api.PostUpdate(text)
|
||||||
self.update_window()
|
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):
|
def scroll_wheel(self, event):
|
||||||
if event.num == 4:
|
if event.num == 4:
|
||||||
self.tweet_view.yview('scroll', -5, 'units');
|
self.tweet_view.yview('scroll', -5, 'units');
|
||||||
|
@ -87,6 +100,12 @@ class TwitWindow:
|
||||||
self.tweet_view.yview('scroll', 5, 'units');
|
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
|
### end class TwitWindow
|
||||||
|
|
||||||
|
|
||||||
|
|
Reference in New Issue
Block a user