AEWidget.h 920 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. #pragma once
  5. #include <Atomic/Core/Object.h>
  6. #include <TurboBadger/tb_widgets.h>
  7. #include <TurboBadger/tb_layout.h>
  8. using namespace Atomic;
  9. using namespace tb;
  10. namespace AtomicEditor
  11. {
  12. class TBWidgetDelegate;
  13. class AEWidget : public Object
  14. {
  15. OBJECT(AEWidget);
  16. protected:
  17. TBWidgetDelegate* delegate_;
  18. public:
  19. /// Construct.
  20. AEWidget(Context* context);
  21. /// Destruct.
  22. ~AEWidget();
  23. TBWidgetDelegate* GetWidgetDelegate() { return delegate_; }
  24. virtual bool OnEvent(const TBWidgetEvent &ev) { return false; }
  25. };
  26. class TBWidgetDelegate : public tb::TBWidget
  27. {
  28. AEWidget* aewidget_;
  29. public:
  30. TBWidgetDelegate(AEWidget *aewidget);
  31. bool OnEvent(const TBWidgetEvent &ev);
  32. };
  33. }