summaryrefslogtreecommitdiff
path: root/epggrid.h
diff options
context:
space:
mode:
Diffstat (limited to 'epggrid.h')
-rw-r--r--epggrid.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/epggrid.h b/epggrid.h
new file mode 100644
index 0000000..4514f5b
--- /dev/null
+++ b/epggrid.h
@@ -0,0 +1,73 @@
+#ifndef __TVGUIDE_EPGGRID_H
+#define __TVGUIDE_EPGGRID_H
+
+#include "config.h"
+#include "channelepg.h"
+#include "timeline.h"
+#include "channelgroups.h"
+#include "channeljump.h"
+#include "libskindesigner/osdelements.h"
+
+class cEpgGrid {
+private:
+ int lastSecond;
+ int channelsPerPage;
+ int channelGroupLast;
+ long oldActiveGridId;
+ cOsdView *rootView;
+ cTimeManager *timeManager;
+ cViewElement *back;
+ cViewElement *header;
+ cViewElement *watch;
+ cViewElement *footer;
+ cViewGrid *channelsGrid;
+ cViewGrid *epgGrid;
+ cTimeline *timeline;
+ cChannelgroups *channelGroups;
+ cList<cChannelEpg> channels;
+ cGridElement *active;
+ set<int> deletedChannels;
+ void SetActiveGrid(cGridElement *newActive);
+ void ScrollForward(void);
+ void ScrollBack(void);
+ const cChannel *SeekChannelForward(int num);
+ const cChannel *SeekChannelBack(int num);
+ void ClearOutdatedChannelHeaders(void);
+public:
+ cEpgGrid(cOsdView *rootView, cTimeManager *timeManager);
+ virtual ~cEpgGrid(void);
+ void Deactivate(bool hide) { lastSecond = -1; rootView->Deactivate(hide); };
+ void Activate(void) { DrawTime(); rootView->Activate(); };
+ void Init(const cChannel *startChannel);
+ void CreateChannels(const cChannel *startChannel, int activeChannel);
+ void Clear(void);
+ void SetTimers(void);
+ void RebuildEpgGrid(void);
+ bool TimeForward(void);
+ bool TimeBack(void);
+ bool ChannelForward(void);
+ bool ChannelBack(void);
+ const cChannel *GetNextChannelNumJump(void);
+ const cChannel *GetPrevChannelNumJump(void);
+ const cChannel *GetNextChannelGroupJump(void);
+ const cChannel *GetPrevChannelGroupJump(void);
+ bool IsFirstGroup(void);
+ bool IsLastGroup(void);
+ bool IsSecondLastGroup(void);
+ const cChannel *GetCurrentChannel(void);
+ int GetLastValidChannel(void);
+ const cEvent *GetCurrentEvent(void);
+ void DrawChannelHeaders(void);
+ void DrawTimeline(void);
+ void DrawGrid(void);
+ void UpdateActive(void);
+ void DrawHeader(void);
+ void DrawFooter(void);
+ void DrawChannelgroups(void);
+ bool DrawTime(void);
+ void Flush(void) { rootView->Display(); };
+ cChannelJump *GetChannelJumper(void);
+ void Debug(void);
+};
+
+#endif //__TVGUIDE_EPGGRID_H