summaryrefslogtreecommitdiff
path: root/recmenuview.h
blob: 718379e8f2d287e273471d821a824593b4446ed8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifndef __TVGUIDE_RECMENUVIEW_H
#define __TVGUIDE_RECMENUVIEW_H

#include "config.h"
#include <libskindesignerapi/skindesignerosdbase.h>
#include "recmanager.h"
#include "recmenus.h"

class cRecMenuView {
private:
    bool active;
    skindesignerapi::cOsdView *recMenuView;
    skindesignerapi::cOsdView *recMenuViewBuffer;
    skindesignerapi::cOsdView *recMenuViewBuffer2;
    const cEvent *event;
    const cEvent *displayEvent;
    cRecManager *recManager;
    cRecMenu *activeMenu;
    cRecMenu *activeMenuBuffer;
    cRecMenu *activeMenuBuffer2;
    cTVGuideTimerConflicts *timerConflicts;
    void DrawBackground(int menuWidth, int menuHeight, bool scrolling);
    void DisplayMenu(bool buffer = false, bool buffer2 = false);
    void DisplaySearchTimerList(void);
    bool DisplayTimerConflict(const cTimer *timer);
    bool DisplayTimerConflict(int timerID);
    void DisplayFavoriteResults(string header, const cEvent **result, int numResults);
    eOSState StateMachine(eRecMenuState nextState);
public:
    cRecMenuView(void);
    virtual ~cRecMenuView(void);
    void Init(skindesignerapi::cOsdView *recMenuView, skindesignerapi::cOsdView *recMenuViewBuffer, skindesignerapi::cOsdView *recMenuViewBuffer2);
    void DisplayRecMenu(const cEvent *event);
    void DisplayFavorites(void);
    void DisplayRecSearch(const cEvent *e);
    void DisplaySearchEPG(const cEvent *e);
    void Close(void);
    void Hide(bool full = false);
    void Activate(bool full = false);
    eOSState ProcessKey(eKeys Key);
    void Flush(void) { activeMenu->Flush(); };
    const cEvent *GetEvent(void) { return displayEvent; };
    bool Active(void) { return active; };
};

#endif //__TVGUIDE_RECMENUVIEW_H