diff options
Diffstat (limited to 'channelepg.h')
-rw-r--r-- | channelepg.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/channelepg.h b/channelepg.h new file mode 100644 index 0000000..30b4211 --- /dev/null +++ b/channelepg.h @@ -0,0 +1,69 @@ +#ifndef __TVGUIDE_CHANNELEPG_H +#define __TVGUIDE_CHANNELEPG_H + +#include <vdr/tools.h> +#include "grid.h" +#include "epggrid.h" +#include "headergrid.h" +#include "switchtimer.h" + +class cGrid; +class cEpgGrid; +class cHeaderGrid; + +// --- cChannelEpg ------------------------------------------------------------- + +class cChannelEpg : public cListObject, public cStyledPixmap { +private: + cMyTime *myTime; + int num; + const cChannel *channel; + cHeaderGrid *header; + cList<cGrid> grids; +#if VDRVERSNUM >= 20301 +#else + cSchedulesLock *schedulesLock; +#endif + const cSchedules *schedules; + bool hasTimer; + bool hasSwitchTimer; + cGrid *addEpgGrid(const cEvent *event, cGrid *firstGrid, bool color); + cGrid *addDummyGrid(time_t start, time_t end, cGrid *firstGrid, bool color); +public: + cChannelEpg(int num, const cChannel *channel, cMyTime *myTime); + virtual ~cChannelEpg(void); + void createHeader(); + void drawHeader(); + bool readGrids(); + void drawGrids(); + int getX(); + int getY(); + int Start() { return myTime->GetStart(); }; + int Stop() { return myTime->GetEnd(); }; + const char* Name() { return channel->Name(); }; + const cChannel * getChannel() {return channel;} + cGrid * getActive(); + cGrid * getNext(cGrid *activeGrid); + cGrid * getPrev(cGrid *activeGrid); + cGrid * getNeighbor(cGrid *activeGrid); + bool isFirst(cGrid *grid); + void AddNewGridsAtStart(); + void AddNewGridsAtEnd(); + void ClearOutdatedStart(); + void ClearOutdatedEnd(); + int GetNum() {return num;}; + void SetNum(int num) {this->num = num;}; +#if VDRVERSNUM >= 20301 + void setTimer(); +#else + void setTimer() {hasTimer = channel->HasTimer();}; +#endif + bool HasTimer() { return hasTimer; }; + void setSwitchTimer() {hasSwitchTimer = SwitchTimers.ChannelInSwitchList(channel);}; + bool HasSwitchTimer() { return hasSwitchTimer; }; + void SetTimers(); + void clearGrids(); + void dumpGrids(); +}; + +#endif //__TVGUIDE_CHANNELEPG_H |