From de8d98f1379b608435f675500a4d25148d795786 Mon Sep 17 00:00:00 2001 From: Zero-One101 Date: Tue, 23 Feb 2016 21:03:45 +0000 Subject: [PATCH] Create Node stub --- specter/include/Specter/Outliner.hpp | 39 +++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/specter/include/Specter/Outliner.hpp b/specter/include/Specter/Outliner.hpp index f35be4f32..621e37431 100644 --- a/specter/include/Specter/Outliner.hpp +++ b/specter/include/Specter/Outliner.hpp @@ -1,4 +1,41 @@ #ifndef SPECTER_OUTLINER_HPP #define SPECTER_OUTLINER_HPP -#endif // SPECTER_OUTLINER_HPP +namespace Specter +{ +class Node : public View +{ + struct INodeController + { + virtual boo::ITexture* icon() const { return nullptr; } + virtual const std::string* text() const { return nullptr; } + virtual size_t subNodeCount() const { return 0; } + virtual INodeController* subNode(size_t idx) { return nullptr; } + virtual void activated(const boo::SWindowCoord& coord) {} + }; + + std::string m_description; + std::vector> m_children; + bool m_collapsible; + bool m_collapsed; + +public: + class Resources + { + friend class ViewResources; + + void init(boo::IGraphicsDataFactory* factory, const IThemeData& theme); + }; + + Node(ViewResources& res, View& parentView, const std::string& description); + void mouseDown(const boo::SWindowCoord&, boo::EMouseButton, boo::EModifierKey); + void mouseUp(const boo::SWindowCoord&, boo::EMouseButton, boo::EModifierKey); + void mouseEnter(const boo::SWindowCoord&); + void mouseLeave(const boo::SWindowCoord&); + void resized(const boo::SWindowRect& root, const boo::SWindowRect& sub); + void draw(boo::IGraphicsCommandQueue* gfxQ); + void think(); +}; +} + +#endif // SPECTER_OUTLINER_HPP \ No newline at end of file