summaryrefslogtreecommitdiff
path: root/coreengine/viewdisplaymessage.c
blob: 0fb78af6f1037b0da8ec27d295c4171d75176233 (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
#include "viewdisplaymessage.h"
#include "../config.h"

/************************************************************************************
* cViewMessage
************************************************************************************/

cViewMessage::cViewMessage(void) {
    ClearVariables();
    viewId = eViewType::DisplayMessage;
    viewName = strdup("displaymessage");
    numViewElements = (int)eVeDisplayMessage::count;
    viewElements = new cViewElement*[numViewElements];
    for (int i=0; i < numViewElements; i++) {
        viewElements[i] = NULL;
    }
    SetViewElements();
    veMessage = NULL;
}

cViewMessage::~cViewMessage() {
}

void cViewMessage::SetViewElements(void) {
    viewElementNames.insert(pair<string, int>("background", (int)eVeDisplayMessage::background));
    viewElementNames.insert(pair<string, int>("message", (int)eVeDisplayMessage::message));
}

void cViewMessage::SetViewElementObjects(void) {
    if (!viewElements[(int)eVeDisplayMessage::message])
        return;
    veMessage = dynamic_cast<cVeMessage*>(viewElements[(int)eVeDisplayMessage::message]);
}

void cViewMessage::ClearVariables(void) {
    init = true;
}

void cViewMessage::SetMessage(eMessageType type, const char *text) {
    if (!text)
        veMessage->Clear();
    else
        veMessage->Set(type, text);
}

void cViewMessage::Flush(void) {
    if (init) {
        Render((int)eVeDisplayMessage::background);
    }
    Render((int)eVeDisplayMessage::message);
    cView::Flush();
}