/** @file * @author Edouard DUPIN * @copyright 2010, Edouard DUPIN, all right reserved * @license GPL v3 (see license file) */ #pragma once #include #include #include #include #include namespace appl { class TextViewer; class ViewerManager; using ViewerManagerShared = ememory::SharedPtr; using ViewerManagerWeak = ememory::WeakPtr; class ViewerManager : public ewol::Object { protected: ViewerManager(); public: DECLARE_SINGLE_FACTORY(ViewerManager, "???ViewerManager???"); virtual ~ViewerManager(); private: ememory::SharedPtr m_bufferManager; //!< handle on the buffer manager ememory::WeakPtr m_viewer; public: /** * @brief Set the current buffer selected * @param[in] _viewer Pointer on the viewer selected */ void setViewerSelected(const ememory::SharedPtr& _viewer, const ememory::SharedPtr& _buffer); /** * @brief Get the current buffer selected * @return Pointer on the buffer selected */ ememory::SharedPtr getViewerSelected(); /** * @breif Check if the element is the last request selection * @param[in] _viewer element selected. * @return true if the element is selected */ bool isLastSelected(const ememory::SharedPtr& _viewer); }; }