def draw_marquee(self, cr): if not self.selection_recurrence: return s, e = self.dates_visible() for instance in self.selection_recurrence.timedOccurrences(s, e): try: area = self.area_from_start_end(instance.start, instance.end).shrink(2, 0) except DateNotVisible: return shapes.filled_box(cr, area, settings.marquee_fill_color) cr.set_source(settings.marquee_text_color) text = instance.start.strftime ("%X") shapes.text_above(cr, text, area.x, area.y - 2, area.width) text = instance.end.strftime ("%X") shapes.text_below(cr, text, area.x, area.y2 + 2, area.width) duration = instance.duration m = int (duration.seconds / 60) % 60 h = int (duration.seconds / 60 / 60) text = "%dh %dm" % (h, m) shapes.centered_text(cr, area, text, settings.text_color)
def draw_hour_header(self, cr, hour): area = shapes.Area(0, hour * self.hour_height + self.y_scroll_offset, self.day_width, self.hour_height) shapes.centered_text( cr, area, "%2d:00" % hour, settings.text_color)