48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
#include "CopyTextButton.h"
|
|
|
|
#include "Colour.h"
|
|
#include "gui/Style.h"
|
|
#include "Label.h"
|
|
|
|
#include "PowderToySDL.h"
|
|
|
|
namespace ui
|
|
{
|
|
CopyTextButton::CopyTextButton(Point position, Point size, String buttonText, Label *copyTextLabel_):
|
|
Button(position, size, buttonText)
|
|
{
|
|
copyTextLabel = copyTextLabel_;
|
|
Appearance.HorizontalAlign = ui::Appearance::AlignCentre;
|
|
Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
|
Appearance.TextInactive = ui::Colour(150, 150, 150);
|
|
Appearance.TextActive = ui::Colour(230, 255, 230);
|
|
Appearance.BorderActive = ui::Colour(230, 255, 230);
|
|
Appearance.BackgroundActive = style::Colour::InactiveBackground;
|
|
}
|
|
|
|
void CopyTextButton::OnMouseClick(int x, int y, unsigned int button)
|
|
{
|
|
ui::Button::OnMouseClick(x, y, button);
|
|
ClipboardPush(ButtonText.ToUtf8());
|
|
|
|
copyTextLabel->SetText("Copied!");
|
|
|
|
Appearance.TextInactive = ui::Colour(180, 230, 180);
|
|
Appearance.TextHover = ui::Colour(180, 230, 180);
|
|
Appearance.BorderInactive = ui::Colour(180, 230, 180);
|
|
Appearance.BorderHover = ui::Colour(180, 230, 180);
|
|
}
|
|
|
|
void CopyTextButton::OnMouseEnter(int x, int y)
|
|
{
|
|
ui::Button::OnMouseEnter(x, y);
|
|
copyTextLabel->SetTextColour(ui::Colour(230, 230, 230));
|
|
}
|
|
|
|
void CopyTextButton::OnMouseLeave(int x, int y)
|
|
{
|
|
ui::Button::OnMouseLeave(x, y);
|
|
copyTextLabel->SetTextColour(ui::Colour(150, 150, 150));
|
|
}
|
|
} /* namespace ui */
|