UIMessageWindow.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include <TurboBadger/tb_widgets.h>
  2. #include <TurboBadger/tb_widgets_common.h>
  3. #include "../IO/Log.h"
  4. #include "UI.h"
  5. #include "UIEvents.h"
  6. #include "UIMessageWindow.h"
  7. using namespace tb;
  8. namespace Atomic
  9. {
  10. UIMessageWindow::UIMessageWindow(Context* context, UIWidget* target, const String& id, bool createWidget) : UIWindow(context, false)
  11. {
  12. if (createWidget)
  13. {
  14. widget_ = new TBMessageWindow(target ? target->GetInternalWidget() : 0, TBIDC(id.CString()));
  15. widget_->SetDelegate(this);
  16. GetSubsystem<UI>()->WrapWidget(this, widget_);
  17. }
  18. }
  19. UIMessageWindow::~UIMessageWindow()
  20. {
  21. }
  22. void UIMessageWindow::Show(const String &title, const String &message, UI_MESSAGEWINDOW_SETTINGS settings, bool dimmer, int width, int height)
  23. {
  24. if (!widget_)
  25. return;
  26. TBMessageWindowSettings tbsettings;
  27. tbsettings.msg = (TB_MSG) settings;
  28. tbsettings.styling = true;
  29. tbsettings.dimmer = dimmer;
  30. ((TBMessageWindow*)widget_)->Show(title.CString(), message.CString(), &tbsettings, width, height);
  31. }
  32. bool UIMessageWindow::OnEvent(const tb::TBWidgetEvent &ev)
  33. {
  34. return UIWindow::OnEvent(ev);
  35. }
  36. }