/** @file * @author Edouard DUPIN * @copyright 2011, Edouard DUPIN, all right reserved * @license MPL v2.0 (see license file) */ #pragma once #include #include #include #include #include namespace appl { namespace widget { class BasicTree; using BasicTreeShared = ememory::SharedPtr; using BasicTreeWeak = ememory::WeakPtr; /** * @brief Generic display folder class. This widget display the content of a single folder : */ class BasicTree : public ewol::widget::List { protected: BasicTree(); public: DECLARE_WIDGET_FACTORY(BasicTree, "BasicTree"); virtual ~BasicTree(); protected: etk::Color<> getBasicBG() override; ivec2 getMatrixSize() const override; fluorine::Variant getData(int32_t _role, const ivec2& _pos) override; bool onItemEvent(int32_t _IdInput, enum gale::key::status _typeEvent, const ivec2& _pos, const vec2& _mousePosition) override; using NodeElement = etk::TreeNode; ememory::SharedPtr m_tree; etk::FlatTree m_flatTree; }; }; };