UIHierarchyFrame.h 936 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 "AEWidget.h"
  6. #include "UIMenubar.h"
  7. #include <Atomic/Scene/Scene.h>
  8. using namespace Atomic;
  9. namespace tb
  10. {
  11. class TBLayout;
  12. class TBMenuWindow;
  13. }
  14. namespace AtomicEditor
  15. {
  16. class ListView;
  17. class ListViewItem;
  18. class HierarchyFrame : public AEWidget
  19. {
  20. OBJECT(HierarchyFrame);
  21. public:
  22. /// Construct.
  23. HierarchyFrame(Context* context);
  24. /// Destruct.
  25. virtual ~HierarchyFrame();
  26. void RefreshHierarchyList();
  27. bool OnEvent(const TBWidgetEvent &ev);
  28. private:
  29. void HandleEditorActiveSceneChange(StringHash eventType, VariantMap& eventData);
  30. void RecursiveAddNode(ListViewItem* parent, Node* node);
  31. SharedPtr<ListView> hierarchyList_;
  32. SharedPtr<Scene> scene_;
  33. };
  34. }