aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/EventInfo.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/Components/EventInfo.py')
-rw-r--r--lib/python/Components/EventInfo.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/python/Components/EventInfo.py b/lib/python/Components/EventInfo.py
new file mode 100644
index 00000000..125310be
--- /dev/null
+++ b/lib/python/Components/EventInfo.py
@@ -0,0 +1,36 @@
+from PerServiceDisplay import *
+
+class EventInfo(PerServiceDisplay):
+ Now = 0
+ Next = 1
+ Now_Duration = 2
+ Next_Duration = 3
+
+ def __init__(self, navcore, now_or_next):
+ # listen to evUpdatedEventInfo and evStopService
+ # note that evStopService will be called once to establish a known state
+ self.now_or_next = now_or_next
+ PerServiceDisplay.__init__(self, navcore,
+ {
+ pNavigation.evUpdatedEventInfo: self.ourEvent,
+ pNavigation.evStopService: self.stopEvent
+ })
+
+ def ourEvent(self):
+ info = iServiceInformationPtr()
+ service = self.navcore.getCurrentService()
+
+ if service != None:
+ if not service.info(info):
+ ev = eServiceEventPtr()
+ if info.getEvent(ev, self.now_or_next & 1) == 0:
+ if self.now_or_next & 2:
+ self.setText("%d min" % (ev.m_duration / 60))
+ else:
+ self.setText(ev.m_event_name)
+ print "new event info in EventInfo! yeah!"
+
+ def stopEvent(self):
+ self.setText(
+ ("waiting for event data...", "", "--:--", "--:--")[self.now_or_next]);
+