diff options
Diffstat (limited to 'src/dialogues/ErrorMessage.cpp')
| -rw-r--r-- | src/dialogues/ErrorMessage.cpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/dialogues/ErrorMessage.cpp b/src/dialogues/ErrorMessage.cpp new file mode 100644 index 0000000..bce0c33 --- /dev/null +++ b/src/dialogues/ErrorMessage.cpp @@ -0,0 +1,50 @@ +/* + * ErrorMessage.cpp + * + * Created on: Jan 29, 2012 + * Author: Simon + */ + +#include "ErrorMessage.h" +#include "interface/Button.h" +#include "interface/Label.h" + +ErrorMessage::ErrorMessage(std::string title, std::string message): + ui::Window(ui::Point(-1, -1), ui::Point(200, 75)) +{ + ui::Label * titleLabel = new ui::Label(ui::Point(2, 1), ui::Point(Size.X-4, 16), title); + titleLabel->SetTextColour(ui::Colour(200, 100, 50)); + titleLabel->SetAlignment(AlignLeft, AlignBottom); + AddComponent(titleLabel); + + ui::Label * messageLabel = new ui::Label(ui::Point(4, 18), ui::Point(Size.X-8, 60), message); + messageLabel->SetAlignment(AlignLeft, AlignTop); + AddComponent(messageLabel); + + class DismissAction: public ui::ButtonAction + { + void ActionCallback(ui::Button * sender) + { + ui::Engine::Ref().CloseWindow(); + } + }; + + ui::Button * okayButton = new ui::Button(ui::Point(0, Size.Y-16), ui::Point(Size.X, 16), "Dismiss"); + okayButton->SetAlignment(AlignRight, AlignBottom); + okayButton->SetBorderColour(ui::Colour(200, 200, 200)); + okayButton->SetActionCallback(new DismissAction()); + AddComponent(okayButton); + ui::Engine::Ref().ShowWindow(this); +} + +void ErrorMessage::OnDraw() +{ + Graphics * g = ui::Engine::Ref().g; + + g->clearrect(Position.X-2, Position.Y-2, Size.X+4, Size.Y+4); + g->drawrect(Position.X, Position.Y, Size.X, Size.Y, 200, 200, 200, 255); +} + +ErrorMessage::~ErrorMessage() { +} + |
