Added hourListDesign

This commit is contained in:
Maximilian Giller 2019-03-17 22:05:49 +01:00
parent 3e63f5ff8b
commit dcbaa4893e
2 changed files with 23 additions and 0 deletions

View file

@ -1,8 +1,10 @@
from PanelDesign import PanelDesign from PanelDesign import PanelDesign
from datetime import datetime, timedelta, date from datetime import datetime, timedelta, date
from DayHeaderDesign import DayHeaderDesign from DayHeaderDesign import DayHeaderDesign
from HourListDesign import HourListDesign
header_size = (1, 0.2) header_size = (1, 0.2)
hourlist_size = (1, 1 - header_size[1])
class DayViewPanel (PanelDesign): class DayViewPanel (PanelDesign):
"""Overview that focuses on the current day and """Overview that focuses on the current day and
@ -13,12 +15,14 @@ class DayViewPanel (PanelDesign):
def __first_render__ (self): def __first_render__ (self):
self.__init_header__() self.__init_header__()
self.__init_hourlist__()
def add_weather (self, weather): def add_weather (self, weather):
self.__header__.add_weather(weather) self.__header__.add_weather(weather)
def add_calendar (self, calendar): def add_calendar (self, calendar):
self.__add_allday_events__(calendar) self.__add_allday_events__(calendar)
self.__add_timed_events__(calendar)
def add_rssfeed (self, rss): def add_rssfeed (self, rss):
pass pass
@ -28,14 +32,23 @@ class DayViewPanel (PanelDesign):
def __finish_image__ (self): def __finish_image__ (self):
self.draw_design(self.__header__) self.draw_design(self.__header__)
self.draw_design(self.__hourlist__)
def __init_header__ (self): def __init_header__ (self):
self.__header__ = DayHeaderDesign(self.__abs_co__(header_size), date.today()) self.__header__ = DayHeaderDesign(self.__abs_co__(header_size), date.today())
self.__header__.pos = (0, 0) self.__header__.pos = (0, 0)
def __init_hourlist__ (self):
self.__hourlist__ = HourListDesign(self.__abs_co__(hourlist_size), datetime.now().hour)
self.__hourlist__.pos = (0, self.__header__.size[1])
def __add_allday_events__ (self, calendar): def __add_allday_events__ (self, calendar):
allday_events = [event for event in calendar.get_today_events() if event.allday] allday_events = [event for event in calendar.get_today_events() if event.allday]
self.__header__.add_events(allday_events) self.__header__.add_events(allday_events)
def __add_timed_events__ (self, calendar):
timed_events = [event for event in calendar.get_today_events() if event.allday is False]
self.__hourlist__.add_events(timed_events)
def __abs_co__ (self, coordinates): def __abs_co__ (self, coordinates):
return (int(coordinates[0] * self.size[0]),int(coordinates[1] * self.size[1])) return (int(coordinates[0] * self.size[0]),int(coordinates[1] * self.size[1]))

View file

@ -0,0 +1,10 @@
from DesignEntity import DesignEntity
class HourListDesign (DesignEntity):
"""Hours of a day are listed vertically and
resemble a timeline."""
def __init__ (self, size, first_hour):
super(HourListDesign, self).__init__(size)
def add_events(self, events):
pass