blob: 132383148edbf6ae94366a250fcafa4e7fec730e (
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
|
/*
* Checkbox.h
*
* Created on: Jan 26, 2012
* Author: Simon
*/
#ifndef CHECKBOX_H_
#define CHECKBOX_H_
#include <string>
#include "Component.h"
namespace ui
{
class Checkbox;
class CheckboxAction
{
public:
virtual void ActionCallback(ui::Checkbox * sender) {}
virtual ~CheckboxAction() {}
};
class Checkbox: public ui::Component {
std::string text;
std::string toolTip;
bool checked;
bool isMouseOver;
CheckboxAction * actionCallback;
public:
Checkbox(ui::Point position, ui::Point size, std::string text, std::string toolTip);
void SetText(std::string text);
std::string GetText();
void SetIcon(Icon icon);
void Draw(const Point& screenPos);
virtual void OnMouseEnter(int x, int y);
virtual void OnMouseLeave(int x, int y);
virtual void OnMouseClick(int x, int y, unsigned int button);
virtual void OnMouseUp(int x, int y, unsigned int button);
void SetActionCallback(CheckboxAction * action);
CheckboxAction * GetActionCallback() { return actionCallback; }
bool GetChecked() { return checked; }
void SetChecked(bool checked_) { checked = checked_; }
virtual ~Checkbox();
};
}
#endif /* CHECKBOX_H_ */
|