ocarina/ocarina/pbar.py

39 lines
873 B
Python

# Bryan Schumaker (10/11/2010)
import ocarina
gtk = ocarina.gtk
gobject = ocarina.gobject
update = None
seek = None
def set_fns():
global update
global get_time
global seek
update = ocarina.libsaria.music.get_progress
seek = ocarina.libsaria.music.seek
ocarina.libsaria.event.invite("POSTSTART", set_fns)
class PBar(gtk.HScale):
def __init__(self):
adj = gtk.Adjustment(0.0, 0.0, 100.0, 0.1, 1.0, 1.0)
gtk.HScale.__init__(self, adj)
self.set_size_request(200, 20)
self.set_draw_value(False)
self.set_range(0, 101)
self.set_update_policy(gtk.UPDATE_DISCONTINUOUS)
self.connect("change-value", self.change_value)
gobject.timeout_add(500, self.update)
self.show()
def update(self):
global update
self.set_value(update() * 100)
return True
def change_value(self, scale, type, value):
global seek
seek(value / 100.0)