summaryrefslogtreecommitdiff
path: root/src/interface/Checkbox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interface/Checkbox.cpp')
-rw-r--r--src/interface/Checkbox.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/interface/Checkbox.cpp b/src/interface/Checkbox.cpp
index c0dd47b..d7be324 100644
--- a/src/interface/Checkbox.cpp
+++ b/src/interface/Checkbox.cpp
@@ -9,9 +9,10 @@
using namespace ui;
-Checkbox::Checkbox(ui::Point position, ui::Point size, std::string text):
+Checkbox::Checkbox(ui::Point position, ui::Point size, std::string text, std::string toolTip):
Component(position, size),
text(text),
+ toolTip(toolTip),
isMouseOver(false),
checked(false),
actionCallback(NULL)
@@ -30,6 +31,13 @@ std::string Checkbox::GetText()
return text;
}
+void Checkbox::SetIcon(Icon icon)
+{
+ Appearance.icon = icon;
+ iconPosition.X = 19;
+ iconPosition.Y = 3;
+}
+
void Checkbox::OnMouseClick(int x, int y, unsigned int button)
{
if(checked)
@@ -53,6 +61,10 @@ void Checkbox::OnMouseUp(int x, int y, unsigned int button)
void Checkbox::OnMouseEnter(int x, int y)
{
isMouseOver = true;
+ if(toolTip.length()>0 && GetParentWindow())
+ {
+ GetParentWindow()->ToolTip(this, ui::Point(x, y), toolTip);
+ }
}
void Checkbox::OnMouseLeave(int x, int y)
@@ -71,12 +83,18 @@ void Checkbox::Draw(const Point& screenPos)
{
g->drawrect(screenPos.X+2, screenPos.Y+2, 12, 12, 255, 255, 255, 255);
g->fillrect(screenPos.X+5, screenPos.Y+5, 6, 6, 255, 255, 255, 170);
- g->drawtext(screenPos.X+18, screenPos.Y+4, text, 255, 255, 255, 255);
+ if (!Appearance.icon)
+ g->drawtext(screenPos.X+18, screenPos.Y+4, text, 255, 255, 255, 255);
+ else
+ g->draw_icon(screenPos.X+15, screenPos.Y+iconPosition.Y, Appearance.icon);
}
else
{
g->drawrect(screenPos.X+2, screenPos.Y+2, 12, 12, 255, 255, 255, 200);
- g->drawtext(screenPos.X+18, screenPos.Y+4, text, 255, 255, 255, 200);
+ if (!Appearance.icon)
+ g->drawtext(screenPos.X+18, screenPos.Y+4, text, 255, 255, 255, 200);
+ else
+ g->draw_icon(screenPos.X+15, screenPos.Y+iconPosition.Y, Appearance.icon);
}
}