summaryrefslogtreecommitdiff
path: root/plugins/Skins/SkinLib/TextField.cpp
blob: d3841b98fdce88d0c564cd7be44753ca1b04c680 (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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include "globals.h"
#include "TextField.h"
#include "TextFieldState.h"


TextField::TextField(Dialog *dlg, const char *name) 
		: Field(dlg, name), hFont(NULL), fontColor(RGB(0,0,0))
{
}


TextField::~TextField()
{
}


FieldType TextField::getType() const
{
	return SIMPLE_TEXT;
}


void TextField::setText(const TCHAR *text)
{
	if (this->text == text)
		return;

	this->text = text;
	fireOnChange();
}


const TCHAR * TextField::getText() const
{
	return text.c_str();
}


void TextField::setFont(HFONT hFont)
{
	if (this->hFont == hFont)
		return;

	this->hFont = hFont;
	fireOnChange();
}


HFONT TextField::getFont() const
{
	if (hFont != NULL)
		return hFont;
	
	// The default is the GUI font
	return (HFONT) GetStockObject(DEFAULT_GUI_FONT);
}


COLORREF TextField::getFontColor() const
{
	return fontColor;
}


void TextField::setFontColor(COLORREF color)
{
	if (fontColor == color)
		return;

	fontColor = color;
	fireOnChange();
}


FieldState * TextField::createState(DialogState *dialogState)
{
	return new TextFieldState(dialogState, this);
}