AEWidget.cpp 922 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  2. // Please see LICENSE.md in repository root for license information
  3. // https://github.com/AtomicGameEngine/AtomicGameEngine
  4. #include "AtomicEditor.h"
  5. #include <Atomic/IO/Log.h>
  6. #include <Atomic/UI/UI.h>
  7. #include <TurboBadger/tb_widgets.h>
  8. #include <TurboBadger/tb_window.h>
  9. #include <TurboBadger/tb_menu_window.h>
  10. #include "UIMainFrame.h"
  11. using namespace tb;
  12. namespace AtomicEditor
  13. {
  14. TBWidgetDelegate::TBWidgetDelegate(AEWidget *aewidget)
  15. {
  16. aewidget_ = aewidget;
  17. }
  18. bool TBWidgetDelegate::OnEvent(const TBWidgetEvent &ev)
  19. {
  20. return aewidget_->OnEvent(ev);
  21. }
  22. AEWidget::AEWidget(Context* context) :
  23. Object(context)
  24. {
  25. delegate_ = new TBWidgetDelegate(this);
  26. }
  27. AEWidget::~AEWidget()
  28. {
  29. if (delegate_ && delegate_->GetParent())
  30. {
  31. delegate_->GetParent()->RemoveChild(delegate_);
  32. delete delegate_;
  33. }
  34. }
  35. }