[DEV] remove cyclic dependence on shared_ptr
This commit is contained in:
parent
39801fd265
commit
5a924f7c9d
@ -32,11 +32,11 @@ appl::ViewerManager::~ViewerManager() {
|
||||
}
|
||||
|
||||
bool appl::ViewerManager::isLastSelected(const std::shared_ptr<appl::TextViewer>& _viewer) {
|
||||
return m_viewer == _viewer;
|
||||
return m_viewer.lock() == _viewer;
|
||||
}
|
||||
|
||||
void appl::ViewerManager::setViewerSelected(const std::shared_ptr<appl::TextViewer>& _viewer, const std::shared_ptr<appl::Buffer>& _buffer) {
|
||||
if (m_viewer == _viewer) {
|
||||
if (m_viewer.lock() == _viewer) {
|
||||
return;
|
||||
}
|
||||
m_viewer = _viewer;
|
||||
@ -44,15 +44,3 @@ void appl::ViewerManager::setViewerSelected(const std::shared_ptr<appl::TextView
|
||||
m_bufferManager->setBufferSelected(_buffer);
|
||||
}
|
||||
}
|
||||
|
||||
void appl::ViewerManager::onReceiveMessage(const ewol::object::Message& _msg) {
|
||||
APPL_DEBUG("receive message !!! " << _msg);
|
||||
}
|
||||
|
||||
void appl::ViewerManager::onObjectRemove(const std::shared_ptr<ewol::Object>& _removeObject) {
|
||||
ewol::Resource:: onObjectRemove(_removeObject);
|
||||
if (_removeObject == m_viewer) {
|
||||
m_viewer.reset();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ namespace appl {
|
||||
virtual ~ViewerManager();
|
||||
private:
|
||||
std::shared_ptr<appl::BufferManager> m_bufferManager; //!< handle on the buffer manager
|
||||
std::shared_ptr<appl::TextViewer> m_viewer;
|
||||
std::weak_ptr<appl::TextViewer> m_viewer;
|
||||
public:
|
||||
/**
|
||||
* @brief Set the current buffer selected
|
||||
@ -38,7 +38,7 @@ namespace appl {
|
||||
* @return Pointer on the buffer selected
|
||||
*/
|
||||
std::shared_ptr<appl::TextViewer> getViewerSelected() {
|
||||
return m_viewer;
|
||||
return m_viewer.lock();
|
||||
};
|
||||
/**
|
||||
* @breif Check if the element is the last request selection
|
||||
@ -46,9 +46,6 @@ namespace appl {
|
||||
* @return true if the element is selected
|
||||
*/
|
||||
bool isLastSelected(const std::shared_ptr<appl::TextViewer>& _viewer);
|
||||
public: // herited function
|
||||
void onReceiveMessage(const ewol::object::Message& _msg);
|
||||
void onObjectRemove(const std::shared_ptr<ewol::Object>& _removeObject);
|
||||
};
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user