diff options
| author | jacob1 <jfu614@gmail.com> | 2013-06-09 21:13:57 (GMT) |
|---|---|---|
| committer | jacob1 <jfu614@gmail.com> | 2013-06-09 21:13:57 (GMT) |
| commit | 52ec8f438b6ce3373c9258cbde402b4caef92b1e (patch) | |
| tree | f72ab1060435d30ed7781f463dbfb05bbcb50d91 /src/gui/interface | |
| parent | a6ee8e2af156e42fa3b5311afa4d3144d1566ca0 (diff) | |
| download | powder-52ec8f438b6ce3373c9258cbde402b4caef92b1e.zip powder-52ec8f438b6ce3373c9258cbde402b4caef92b1e.tar.gz | |
add the single saveID copytext button into the save preview too
Diffstat (limited to 'src/gui/interface')
| -rw-r--r-- | src/gui/interface/CopyTextButton.cpp | 44 | ||||
| -rw-r--r-- | src/gui/interface/CopyTextButton.h | 22 |
2 files changed, 66 insertions, 0 deletions
diff --git a/src/gui/interface/CopyTextButton.cpp b/src/gui/interface/CopyTextButton.cpp new file mode 100644 index 0000000..8bdc2df --- /dev/null +++ b/src/gui/interface/CopyTextButton.cpp @@ -0,0 +1,44 @@ +#include "CopyTextButton.h" +#include "Colour.h" +#include "gui/Style.h" + +namespace ui +{ + CopyTextButton::CopyTextButton(Point position, Point size, std::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((char*)ButtonText.c_str()); + + int textWidth = Graphics::textwidth("Copied!"); + 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 */ diff --git a/src/gui/interface/CopyTextButton.h b/src/gui/interface/CopyTextButton.h new file mode 100644 index 0000000..39e4280 --- /dev/null +++ b/src/gui/interface/CopyTextButton.h @@ -0,0 +1,22 @@ +#ifndef COPYTEXTBUTTON_H +#define COPYTEXTBUTTON_H + +#include "Button.h" +#include "Label.h" + +namespace ui +{ +class CopyTextButton : public Button +{ + ui::Label *copyTextLabel; +public: + CopyTextButton(Point position, Point size, std::string buttonText, Label *copyTextLabel_); + + virtual void OnMouseClick(int x, int y, unsigned int button); + + virtual void OnMouseEnter(int x, int y); + virtual void OnMouseLeave(int x, int y); +}; +} +#endif /* COPYTEXTBUTTON_H */ + |
