This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
The-Powder-Toy/src/gui/interface/Checkbox.h
mniip ff27d69424 Switch from std::string to String/ByteString in most of the code
Also switch SimulationData from weird arrays to std::vector
2018-04-30 21:13:24 +03:00

41 lines
1.1 KiB
C++

#ifndef CHECKBOX_H_
#define CHECKBOX_H_
#include "common/String.h"
#include "Component.h"
namespace ui
{
class Checkbox;
class CheckboxAction
{
public:
virtual void ActionCallback(ui::Checkbox * sender) {}
virtual ~CheckboxAction() {}
};
class Checkbox: public ui::Component {
String text;
String toolTip;
bool checked;
bool isMouseOver;
CheckboxAction * actionCallback;
public:
Checkbox(ui::Point position, ui::Point size, String text, String toolTip);
void SetText(String text);
String GetText();
void SetIcon(Icon icon);
void Draw(const Point& screenPos);
virtual void OnMouseEnter(int x, int y);
virtual void OnMouseHover(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_ */