summaryrefslogtreecommitdiff
path: root/views/displaymessageview.c
blob: c1ffe470647dd13d561c2c9e1b3c450a2fe7b82e (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
47
48
49
50
51
52
53
#define __STL_CONFIG_H
#include <vdr/menu.h>
#include "displaymessageview.h"

cDisplayMessageView::cDisplayMessageView(cTemplateView *tmplView) : cView(tmplView) {
    DeleteOsdOnExit();
    SetFadeTime(tmplView->GetNumericParameter(ptFadeTime));
}

cDisplayMessageView::~cDisplayMessageView() {
    CancelSave();
    FadeOut();
}

bool cDisplayMessageView::createOsd(void) {
    cRect osdSize = tmplView->GetOsdSize();
    bool ok = CreateOsd(cOsd::OsdLeft() + osdSize.X(),
                        cOsd::OsdTop() + osdSize.Y(),
                        osdSize.Width(),
                        osdSize.Height());
    return ok;
}

void cDisplayMessageView::DrawBackground(void) {
    map < string, string > stringTokens;
    map < string, int > intTokens;
    DrawViewElement(veBackground, &stringTokens, &intTokens);
}

void cDisplayMessageView::DrawMessage(eMessageType type, const char *text) {
    map < string, string > stringTokens;
    map < string, int > intTokens;

    stringTokens.insert(pair<string,string>("text", text));

    intTokens.insert(pair<string,int>("status",  (type == mtStatus)  ? true : false));
    intTokens.insert(pair<string,int>("info",    (type == mtInfo)    ? true : false));
    intTokens.insert(pair<string,int>("warning", (type == mtWarning) ? true : false));
    intTokens.insert(pair<string,int>("error",   (type == mtError)   ? true : false));

    DrawViewElement(veMessage, &stringTokens, &intTokens);
}

void cDisplayMessageView::ClearMessage(void) {
    ClearViewElement(veMessage);
}

void cDisplayMessageView::Action(void) {
    SetInitFinished();
    FadeIn();
    DoFlush();
    cView::Action();
}