ocarina/ocarina/pbar.py

41 lines
960 B
Python

# Bryan Schumaker (10/11/2010)
import ocarina
gtk = ocarina.gtk
gobject = ocarina.gobject
update = None
get_time = None
def set_fns():
global update
global get_time
update = ocarina.libsaria.music.get_progress
get_time = ocarina.libsaria.music.get_time
ocarina.libsaria.event.invite("POSTSTART", set_fns)
#class PBar(gtk.ProgressBar):
# def __init__(self):
# gtk.ProgressBar.__init__(self)
# self.set_size_request(300, 20)
# self.show()
# print self.size_request()
class PBar(gtk.HScale):
def __init__(self):
adj = gtk.Adjustment(0.0, 0.0, 101.0, 0.1, 1.0, 1.0)
gtk.HScale.__init__(self, adj)
self.set_size_request(300, 20)
self.set_value_pos(gtk.POS_LEFT)
self.set_range(0, 101)
self.connect("format-value", self.format_value)
gobject.timeout_add(500, self.update)
self.show()
def format_value(self, scale, value):
return get_time()
def update(self):
global update
self.set_value(update() * 100)
return True