+ def create_labels(self, labels):
+ labels["timer"] = gtk.Label()
+ labels["count"] = gtk.Label()
+ labels["dist"] = gtk.Label()
+ labels["avgSpeed"] = gtk.Label()
+
+ def update_ui_values(self, labels, timer, steps):
+ def get_str_distance(meters):
+ if meters > 1000:
+ return str(meters/1000) + " km"
+ else:
+ return str(meters) + " m"
+
+ def get_avg_speed(timer, dist):
+ if timer == 0:
+ return "N/A km/h"
+ speed = 1.0 *dist / timer
+ #convert from meters per second to kilometers per hour
+ speed *= 3.6
+ return "%.2f km/h" % speed
+
+ tdelta = timer
+ hours = int(tdelta / 3600)
+ tdelta -= 3600 * hours
+ mins = int(tdelta / 60)
+ tdelta -= 60 * mins
+ secs = int(tdelta)
+
+ strtime = "%.2d:%.2d:%.2d" % ( hours, mins, secs)
+
+ labels["timer"].set_label(strtime)
+ labels["count"].set_label(str(steps))
+
+ dist = self.pedometer.get_distance(steps)
+
+ labels["dist"].set_label(get_str_distance(dist))
+ labels["avgSpeed"].set_label(get_avg_speed(timer, dist))
+
+ def update_current(self):
+ self.update_ui_values(self.labelsC, self.time, self.counter)
+
+ def update_total(self):
+ self.update_ui_values(self.labelsT, self.totalTime, self.totalCounter)