[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) {
|
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) {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
m_viewer = _viewer;
|
m_viewer = _viewer;
|
||||||
@ -44,15 +44,3 @@ void appl::ViewerManager::setViewerSelected(const std::shared_ptr<appl::TextView
|
|||||||
m_bufferManager->setBufferSelected(_buffer);
|
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();
|
virtual ~ViewerManager();
|
||||||
private:
|
private:
|
||||||
std::shared_ptr<appl::BufferManager> m_bufferManager; //!< handle on the buffer manager
|
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:
|
public:
|
||||||
/**
|
/**
|
||||||
* @brief Set the current buffer selected
|
* @brief Set the current buffer selected
|
||||||
@ -38,7 +38,7 @@ namespace appl {
|
|||||||
* @return Pointer on the buffer selected
|
* @return Pointer on the buffer selected
|
||||||
*/
|
*/
|
||||||
std::shared_ptr<appl::TextViewer> getViewerSelected() {
|
std::shared_ptr<appl::TextViewer> getViewerSelected() {
|
||||||
return m_viewer;
|
return m_viewer.lock();
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* @breif Check if the element is the last request selection
|
* @breif Check if the element is the last request selection
|
||||||
@ -46,9 +46,6 @@ namespace appl {
|
|||||||
* @return true if the element is selected
|
* @return true if the element is selected
|
||||||
*/
|
*/
|
||||||
bool isLastSelected(const std::shared_ptr<appl::TextViewer>& _viewer);
|
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