[DEV] start rework on shared pointer
This commit is contained in:
parent
304ac2ba45
commit
08261def10
@ -25,23 +25,12 @@ appl::BufferManager::BufferManager() :
|
|||||||
}
|
}
|
||||||
|
|
||||||
appl::BufferManager::~BufferManager() {
|
appl::BufferManager::~BufferManager() {
|
||||||
int32_t previousCount = m_list.size();
|
|
||||||
for (int32_t iii = m_list.size()-1; iii >= 0 ; --iii) {
|
|
||||||
if (m_list[iii] == NULL) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
delete(m_list[iii]);
|
|
||||||
if (previousCount == m_list.size()) {
|
|
||||||
APPL_ERROR("Error in removing buffer !! ");
|
|
||||||
}
|
|
||||||
previousCount = m_list.size();
|
|
||||||
}
|
|
||||||
m_list.clear();
|
m_list.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
appl::Buffer* appl::BufferManager::createNewBuffer() {
|
ewol::object::Shared<appl::Buffer> appl::BufferManager::createNewBuffer() {
|
||||||
appl::Buffer* tmp = new appl::Buffer();
|
ewol::object::Shared<appl::Buffer> tmp = ewol::object::makeShared(new appl::Buffer());
|
||||||
if (tmp == NULL) {
|
if (tmp == NULL) {
|
||||||
APPL_ERROR("Can not allocate the Buffer (empty).");
|
APPL_ERROR("Can not allocate the Buffer (empty).");
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -51,7 +40,7 @@ appl::Buffer* appl::BufferManager::createNewBuffer() {
|
|||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
appl::Buffer* appl::BufferManager::get(const std::string& _fileName, bool _createIfNeeded) {
|
ewol::object::Shared<appl::Buffer> appl::BufferManager::get(const std::string& _fileName, bool _createIfNeeded) {
|
||||||
APPL_INFO("get(" << _fileName << "," << _createIfNeeded << ")");
|
APPL_INFO("get(" << _fileName << "," << _createIfNeeded << ")");
|
||||||
for (int32_t iii = 0; iii < m_list.size(); ++iii) {
|
for (int32_t iii = 0; iii < m_list.size(); ++iii) {
|
||||||
if (m_list[iii] == NULL) {
|
if (m_list[iii] == NULL) {
|
||||||
@ -67,7 +56,7 @@ appl::Buffer* appl::BufferManager::get(const std::string& _fileName, bool _creat
|
|||||||
APPL_CRITICAL("plop");
|
APPL_CRITICAL("plop");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
appl::Buffer* tmp = new appl::Buffer();
|
ewol::object::Shared<appl::Buffer> tmp = ewol::object::makeShared(new appl::Buffer());
|
||||||
if (tmp == NULL) {
|
if (tmp == NULL) {
|
||||||
APPL_ERROR("Can not allocate the Buffer class : " << _fileName);
|
APPL_ERROR("Can not allocate the Buffer class : " << _fileName);
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -78,12 +67,12 @@ appl::Buffer* appl::BufferManager::get(const std::string& _fileName, bool _creat
|
|||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
void appl::BufferManager::setBufferSelected(appl::Buffer* _bufferSelected) {
|
void appl::BufferManager::setBufferSelected(ewol::object::Shared<appl::Buffer> _bufferSelected) {
|
||||||
m_bufferSelected = _bufferSelected;
|
m_bufferSelected = _bufferSelected;
|
||||||
sendMultiCast(appl::MsgSelectChange, "");
|
sendMultiCast(appl::MsgSelectChange, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
void appl::BufferManager::onObjectRemove(ewol::Object * _removeObject) {
|
void appl::BufferManager::onObjectRemove(const ewol::object::Shared<ewol::Object>& _removeObject) {
|
||||||
if (m_bufferSelected == _removeObject) {
|
if (m_bufferSelected == _removeObject) {
|
||||||
setBufferSelected(NULL);
|
setBufferSelected(NULL);
|
||||||
}
|
}
|
||||||
@ -123,15 +112,14 @@ void appl::BufferManager::onReceiveMessage(const ewol::object::Message& _msg) {
|
|||||||
APPL_DEBUG("receive message !!! " << _msg);
|
APPL_DEBUG("receive message !!! " << _msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
appl::BufferManager* appl::BufferManager::keep() {
|
ewol::object::Shared<appl::BufferManager> appl::BufferManager::keep() {
|
||||||
//EWOL_INFO("KEEP : appl::GlyphPainting : file : \"" << _filename << "\"");
|
ewol::object::Shared<appl::BufferManager> object = ewol::dynamic_pointer_cast<appl::BufferManager>(getManager().localKeep("???BufferManager???"));
|
||||||
appl::BufferManager* object = static_cast<appl::BufferManager*>(getManager().localKeep("???BufferManager???"));
|
|
||||||
if (NULL != object) {
|
if (NULL != object) {
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
// this element create a new one every time ....
|
// this element create a new one every time ....
|
||||||
EWOL_INFO("CREATE : appl::BufferManager: ???BufferManager???");
|
EWOL_INFO("CREATE : appl::BufferManager: ???BufferManager???");
|
||||||
object = new appl::BufferManager();
|
object = ewol::object::makeShared(new appl::BufferManager());
|
||||||
if (NULL == object) {
|
if (NULL == object) {
|
||||||
EWOL_ERROR("allocation error of a resource : ???BufferManager???");
|
EWOL_ERROR("allocation error of a resource : ???BufferManager???");
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -140,11 +128,3 @@ appl::BufferManager* appl::BufferManager::keep() {
|
|||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
void appl::BufferManager::release(appl::BufferManager*& _object) {
|
|
||||||
if (NULL == _object) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ewol::Resource* object2 = static_cast<ewol::Resource*>(_object);
|
|
||||||
getManager().release(object2);
|
|
||||||
_object = NULL;
|
|
||||||
}
|
|
||||||
|
@ -18,9 +18,10 @@ namespace appl {
|
|||||||
class BufferManager : public ewol::Resource {
|
class BufferManager : public ewol::Resource {
|
||||||
protected:
|
protected:
|
||||||
BufferManager();
|
BufferManager();
|
||||||
|
public:
|
||||||
~BufferManager();
|
~BufferManager();
|
||||||
private:
|
private:
|
||||||
std::vector<appl::Buffer*> m_list; // list of all buffer curently open
|
std::vector<ewol::object::Owner<appl::Buffer>> m_list; // list of all buffer curently open
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* @brief Get a specific buffer with his name (can create a new buffer).
|
* @brief Get a specific buffer with his name (can create a new buffer).
|
||||||
@ -28,7 +29,7 @@ namespace appl {
|
|||||||
* @param[in] _createIfNeeded Create the buffer if not existed.
|
* @param[in] _createIfNeeded Create the buffer if not existed.
|
||||||
* @return a pointer on the buffer
|
* @return a pointer on the buffer
|
||||||
*/
|
*/
|
||||||
appl::Buffer* get(const std::string& _fileName, bool _createIfNeeded=false);
|
ewol::object::Shared<appl::Buffer> get(const std::string& _fileName, bool _createIfNeeded=false);
|
||||||
/**
|
/**
|
||||||
* @brief Load a specific file, event if it not existed:
|
* @brief Load a specific file, event if it not existed:
|
||||||
* @param[in] _fileName Name of the file to open or create.
|
* @param[in] _fileName Name of the file to open or create.
|
||||||
@ -52,32 +53,32 @@ namespace appl {
|
|||||||
* @param[in] _id Number of buffer
|
* @param[in] _id Number of buffer
|
||||||
* @return pointer on the buffer
|
* @return pointer on the buffer
|
||||||
*/
|
*/
|
||||||
appl::Buffer* get(int32_t _id) {
|
ewol::object::Shared<appl::Buffer> get(int32_t _id) {
|
||||||
return m_list[_id];
|
return m_list[_id];
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @brief Create a new buffer empty.
|
* @brief Create a new buffer empty.
|
||||||
* @return Created buffer or NULL.
|
* @return Created buffer or NULL.
|
||||||
*/
|
*/
|
||||||
appl::Buffer* createNewBuffer();
|
ewol::object::Shared<appl::Buffer> createNewBuffer();
|
||||||
private:
|
private:
|
||||||
appl::Buffer* m_bufferSelected;
|
ewol::object::Shared<appl::Buffer> m_bufferSelected;
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* @brief Set the current buffer selected
|
* @brief Set the current buffer selected
|
||||||
* @param[in] _bufferSelected Pointer on the buffer selected
|
* @param[in] _bufferSelected Pointer on the buffer selected
|
||||||
*/
|
*/
|
||||||
void setBufferSelected(appl::Buffer* _bufferSelected);
|
void setBufferSelected(ewol::object::Shared<appl::Buffer> _bufferSelected);
|
||||||
/**
|
/**
|
||||||
* @brief Get the current buffer selected
|
* @brief Get the current buffer selected
|
||||||
* @return Pointer on the buffer selected
|
* @return Pointer on the buffer selected
|
||||||
*/
|
*/
|
||||||
appl::Buffer* getBufferSelected() {
|
ewol::object::Shared<appl::Buffer> getBufferSelected() {
|
||||||
return m_bufferSelected;
|
return m_bufferSelected;
|
||||||
};
|
};
|
||||||
public: // herited function
|
public: // herited function
|
||||||
void onReceiveMessage(const ewol::object::Message& _msg);
|
void onReceiveMessage(const ewol::object::Message& _msg);
|
||||||
void onObjectRemove(ewol::Object * _removeObject);
|
void onObjectRemove(const ewol::object::Shared<ewol::Object>& _removeObject);
|
||||||
public: // resource manager
|
public: // resource manager
|
||||||
/**
|
/**
|
||||||
* @brief keep the resource pointer.
|
* @brief keep the resource pointer.
|
||||||
@ -85,12 +86,7 @@ namespace appl {
|
|||||||
* @param[in] _filename Name of the configuration file.
|
* @param[in] _filename Name of the configuration file.
|
||||||
* @return pointer on the resource or NULL if an error occured.
|
* @return pointer on the resource or NULL if an error occured.
|
||||||
*/
|
*/
|
||||||
static appl::BufferManager* keep();
|
static ewol::object::Shared<appl::BufferManager> keep();
|
||||||
/**
|
|
||||||
* @brief release the keeped resources
|
|
||||||
* @param[in,out] reference on the object pointer
|
|
||||||
*/
|
|
||||||
static void release(appl::BufferManager*& _object);
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -95,15 +95,15 @@ int32_t appl::GlyphPainting::request(const std::string& _name) {
|
|||||||
return m_list.size()-1;
|
return m_list.size()-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
appl::GlyphPainting* appl::GlyphPainting::keep(const std::string& _filename) {
|
ewol::object::Shared<appl::GlyphPainting> appl::GlyphPainting::keep(const std::string& _filename) {
|
||||||
//EWOL_INFO("KEEP : appl::GlyphPainting : file : \"" << _filename << "\"");
|
//EWOL_INFO("KEEP : appl::GlyphPainting : file : \"" << _filename << "\"");
|
||||||
appl::GlyphPainting* object = static_cast<appl::GlyphPainting*>(getManager().localKeep(_filename));
|
ewol::object::Shared<appl::GlyphPainting> object = ewol::dynamic_pointer_cast<appl::GlyphPainting>(getManager().localKeep(_filename));
|
||||||
if (NULL != object) {
|
if (NULL != object) {
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
// this element create a new one every time ....
|
// this element create a new one every time ....
|
||||||
EWOL_INFO("CREATE : appl::GlyphPainting : file : \"" << _filename << "\"");
|
EWOL_INFO("CREATE : appl::GlyphPainting : file : \"" << _filename << "\"");
|
||||||
object = new appl::GlyphPainting(_filename);
|
object = ewol::object::makeShared(new appl::GlyphPainting(_filename));
|
||||||
if (NULL == object) {
|
if (NULL == object) {
|
||||||
EWOL_ERROR("allocation error of a resource : ??GlyphPainting??");
|
EWOL_ERROR("allocation error of a resource : ??GlyphPainting??");
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -111,13 +111,3 @@ appl::GlyphPainting* appl::GlyphPainting::keep(const std::string& _filename) {
|
|||||||
getManager().localAdd(object);
|
getManager().localAdd(object);
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
void appl::GlyphPainting::release(appl::GlyphPainting*& _object) {
|
|
||||||
if (NULL == _object) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ewol::Resource* object2 = static_cast<ewol::Resource*>(_object);
|
|
||||||
getManager().release(object2);
|
|
||||||
_object = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ namespace appl {
|
|||||||
std::vector<appl::GlyphDecoration> m_list;
|
std::vector<appl::GlyphDecoration> m_list;
|
||||||
protected:
|
protected:
|
||||||
GlyphPainting(const std::string& _filename);
|
GlyphPainting(const std::string& _filename);
|
||||||
|
public:
|
||||||
virtual ~GlyphPainting();
|
virtual ~GlyphPainting();
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
@ -55,12 +56,7 @@ namespace appl {
|
|||||||
* @param[in] _filename Name of the configuration file.
|
* @param[in] _filename Name of the configuration file.
|
||||||
* @return pointer on the resource or NULL if an error occured.
|
* @return pointer on the resource or NULL if an error occured.
|
||||||
*/
|
*/
|
||||||
static appl::GlyphPainting* keep(const std::string& _filename);
|
static ewol::object::Shared<appl::GlyphPainting> keep(const std::string& _filename);
|
||||||
/**
|
|
||||||
* @brief release the keeped resources
|
|
||||||
* @param[in,out] reference on the object pointer
|
|
||||||
*/
|
|
||||||
static void release(appl::GlyphPainting*& _object);
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -75,9 +75,6 @@ void BufferView::removeAllElement() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_list.clear();
|
m_list.clear();
|
||||||
if (m_bufferManager != NULL) {
|
|
||||||
appl::BufferManager::release(m_bufferManager);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BufferView::insertAlphabetic(appl::dataBufferStruct* _dataStruct, bool _selectNewPosition) {
|
void BufferView::insertAlphabetic(appl::dataBufferStruct* _dataStruct, bool _selectNewPosition) {
|
||||||
@ -110,7 +107,7 @@ void BufferView::insertAlphabetic(appl::dataBufferStruct* _dataStruct, bool _sel
|
|||||||
void BufferView::onReceiveMessage(const ewol::object::Message& _msg) {
|
void BufferView::onReceiveMessage(const ewol::object::Message& _msg) {
|
||||||
ewol::widget::List::onReceiveMessage(_msg);
|
ewol::widget::List::onReceiveMessage(_msg);
|
||||||
if (_msg.getMessage() == appl::MsgSelectNewFile) {
|
if (_msg.getMessage() == appl::MsgSelectNewFile) {
|
||||||
appl::Buffer* buffer = m_bufferManager->get(_msg.getData());
|
ewol::object::Shared<appl::Buffer> buffer = m_bufferManager->get(_msg.getData());
|
||||||
if (buffer == NULL) {
|
if (buffer == NULL) {
|
||||||
APPL_ERROR("event on element nor exist : " << _msg.getData());
|
APPL_ERROR("event on element nor exist : " << _msg.getData());
|
||||||
return;
|
return;
|
||||||
@ -162,7 +159,7 @@ void BufferView::onReceiveMessage(const ewol::object::Message& _msg) {
|
|||||||
APPL_DEBUG("message : " << _msg);
|
APPL_DEBUG("message : " << _msg);
|
||||||
if (_msg.getMessage() == appl::MsgSelectChange) {
|
if (_msg.getMessage() == appl::MsgSelectChange) {
|
||||||
m_selectedID = -1;
|
m_selectedID = -1;
|
||||||
appl::Buffer* tmpBuffer = NULL;
|
ewol::object::Shared<appl::Buffer> tmpBuffer;
|
||||||
if (m_bufferManager != NULL) {
|
if (m_bufferManager != NULL) {
|
||||||
tmpBuffer = m_bufferManager->getBufferSelected();
|
tmpBuffer = m_bufferManager->getBufferSelected();
|
||||||
}
|
}
|
||||||
@ -221,7 +218,7 @@ void BufferView::onReceiveMessage(const ewol::object::Message& _msg) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BufferView::onObjectRemove(ewol::Object* _removeObject) {
|
void BufferView::onObjectRemove(const ewol::object::Shared<ewol::Object>& _removeObject) {
|
||||||
ewol::widget::List::onObjectRemove(_removeObject);
|
ewol::widget::List::onObjectRemove(_removeObject);
|
||||||
for (int32_t iii=0; iii<m_list.size(); iii++) {
|
for (int32_t iii=0; iii<m_list.size(); iii++) {
|
||||||
if (m_list[iii] == NULL) {
|
if (m_list[iii] == NULL) {
|
||||||
|
@ -21,8 +21,8 @@ namespace appl
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
etk::FSNode m_bufferName;
|
etk::FSNode m_bufferName;
|
||||||
appl::Buffer* m_buffer;
|
ewol::object::Shared<appl::Buffer> m_buffer;
|
||||||
dataBufferStruct(const std::string& _bufferName, appl::Buffer* _buffer) :
|
dataBufferStruct(const std::string& _bufferName, const ewol::object::Shared<appl::Buffer>& _buffer) :
|
||||||
m_bufferName(_bufferName),
|
m_bufferName(_bufferName),
|
||||||
m_buffer(_buffer) {
|
m_buffer(_buffer) {
|
||||||
|
|
||||||
@ -34,9 +34,9 @@ namespace appl
|
|||||||
class BufferView : public ewol::widget::List
|
class BufferView : public ewol::widget::List
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
appl::BufferManager* m_bufferManager; //!< handle on the buffer manager
|
ewol::object::Shared<appl::BufferManager> m_bufferManager; //!< handle on the buffer manager
|
||||||
private:
|
private:
|
||||||
appl::GlyphPainting* m_paintingProperties; //!< element painting property
|
ewol::object::Shared<appl::GlyphPainting> m_paintingProperties; //!< element painting property
|
||||||
int32_t m_colorBackground1;
|
int32_t m_colorBackground1;
|
||||||
int32_t m_colorBackground2;
|
int32_t m_colorBackground2;
|
||||||
int32_t m_colorBackgroundSelect;
|
int32_t m_colorBackgroundSelect;
|
||||||
@ -57,7 +57,7 @@ class BufferView : public ewol::widget::List
|
|||||||
~BufferView();
|
~BufferView();
|
||||||
// Derived function
|
// Derived function
|
||||||
virtual void onReceiveMessage(const ewol::object::Message& _msg);
|
virtual void onReceiveMessage(const ewol::object::Message& _msg);
|
||||||
virtual void onObjectRemove(ewol::Object* _removeObject);
|
virtual void onObjectRemove(const ewol::object::Shared<ewol::Object>& _removeObject);
|
||||||
private:
|
private:
|
||||||
bool m_openOrderMode; //!< true if the order is the opening order mode, otherwise, Alphabetic order
|
bool m_openOrderMode; //!< true if the order is the opening order mode, otherwise, Alphabetic order
|
||||||
protected:
|
protected:
|
||||||
|
@ -61,9 +61,9 @@ class ParameterAboutGui : public ewol::widget::Sizer {
|
|||||||
public :
|
public :
|
||||||
ParameterAboutGui() :
|
ParameterAboutGui() :
|
||||||
ewol::widget::Sizer(ewol::widget::Sizer::modeVert) {
|
ewol::widget::Sizer(ewol::widget::Sizer::modeVert) {
|
||||||
ewol::widget::Spacer* mySpacer = NULL;
|
ewol::object::Shared<ewol::widget::Spacer> mySpacer = NULL;
|
||||||
|
|
||||||
mySpacer = new ewol::widget::Spacer();
|
mySpacer = ewol::object::makeShared(new ewol::widget::Spacer());
|
||||||
if (NULL == mySpacer) {
|
if (NULL == mySpacer) {
|
||||||
APPL_ERROR("Can not allocate widget == > display might be in error");
|
APPL_ERROR("Can not allocate widget == > display might be in error");
|
||||||
} else {
|
} else {
|
||||||
@ -93,7 +93,7 @@ class ParameterAboutGui : public ewol::widget::Sizer {
|
|||||||
tmpLabel += " libPng, ogg-tremor, portaudio, libZip<br/>";
|
tmpLabel += " libPng, ogg-tremor, portaudio, libZip<br/>";
|
||||||
tmpLabel += " tinyXml, freetype, agg2.4, etk<br/>";
|
tmpLabel += " tinyXml, freetype, agg2.4, etk<br/>";
|
||||||
tmpLabel += "</left>";
|
tmpLabel += "</left>";
|
||||||
ewol::widget::Label* myLabel = new ewol::widget::Label(tmpLabel);
|
ewol::object::Shared<ewol::widget::Label> myLabel = ewol::object::makeShared(new ewol::widget::Label(tmpLabel));
|
||||||
if (NULL == myLabel) {
|
if (NULL == myLabel) {
|
||||||
APPL_ERROR("Can not allocate widget == > display might be in error");
|
APPL_ERROR("Can not allocate widget == > display might be in error");
|
||||||
} else {
|
} else {
|
||||||
@ -264,7 +264,7 @@ MainWindows::MainWindows() {
|
|||||||
|
|
||||||
|
|
||||||
MainWindows::~MainWindows() {
|
MainWindows::~MainWindows() {
|
||||||
appl::BufferManager::release(m_bufferManager);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -290,7 +290,7 @@ void MainWindows::onReceiveMessage(const ewol::object::Message& _msg) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Get a ref on the buffer selected (if null, no buffer was selected ...)
|
// Get a ref on the buffer selected (if null, no buffer was selected ...)
|
||||||
appl::Buffer* tmpBuffer = m_bufferManager->getBufferSelected();
|
ewol::object::Shared<appl::Buffer> tmpBuffer = m_bufferManager->getBufferSelected();
|
||||||
if (tmpBuffer != NULL) {
|
if (tmpBuffer != NULL) {
|
||||||
etk::FSNode tmpFile = tmpBuffer->getFileName();
|
etk::FSNode tmpFile = tmpBuffer->getFileName();
|
||||||
tmpWidget->setFolder(tmpFile.getNameFolder());
|
tmpWidget->setFolder(tmpFile.getNameFolder());
|
||||||
@ -371,7 +371,7 @@ void MainWindows::onReceiveMessage(const ewol::object::Message& _msg) {
|
|||||||
|| _msg.getMessage() == appl::Buffer::eventIsSave
|
|| _msg.getMessage() == appl::Buffer::eventIsSave
|
||||||
|| _msg.getMessage() == appl::Buffer::eventChangeName) {
|
|| _msg.getMessage() == appl::Buffer::eventChangeName) {
|
||||||
// select a new Buffer ==> change title:
|
// select a new Buffer ==> change title:
|
||||||
appl::Buffer* tmpp = m_bufferManager->getBufferSelected();
|
ewol::object::Shared<appl::Buffer> tmpp = m_bufferManager->getBufferSelected();
|
||||||
if (tmpp == NULL) {
|
if (tmpp == NULL) {
|
||||||
setTitle("Edn");
|
setTitle("Edn");
|
||||||
if (m_widgetLabelFileName != NULL) {
|
if (m_widgetLabelFileName != NULL) {
|
||||||
@ -421,7 +421,7 @@ void MainWindows::onReceiveMessage(const ewol::object::Message& _msg) {
|
|||||||
APPL_ERROR("Try to save an non-existant file :" << _msg.getData());
|
APPL_ERROR("Try to save an non-existant file :" << _msg.getData());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
appl::Buffer* tmpBuffer = m_bufferManager->get(_msg.getData());
|
ewol::object::Shared<appl::Buffer> tmpBuffer = m_bufferManager->get(_msg.getData());
|
||||||
if (tmpBuffer == NULL) {
|
if (tmpBuffer == NULL) {
|
||||||
APPL_ERROR("Error to get the buffer : " << _msg.getData());
|
APPL_ERROR("Error to get the buffer : " << _msg.getData());
|
||||||
return;
|
return;
|
||||||
@ -440,7 +440,7 @@ void MainWindows::onReceiveMessage(const ewol::object::Message& _msg) {
|
|||||||
APPL_ERROR("Try to save an non-existant file :" << _msg.getData());
|
APPL_ERROR("Try to save an non-existant file :" << _msg.getData());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
appl::Buffer* tmpBuffer = m_bufferManager->get(_msg.getData());
|
ewol::object::Shared<appl::Buffer> tmpBuffer = m_bufferManager->get(_msg.getData());
|
||||||
if (tmpBuffer == NULL) {
|
if (tmpBuffer == NULL) {
|
||||||
APPL_ERROR("Error to get the buffer : " << _msg.getData());
|
APPL_ERROR("Error to get the buffer : " << _msg.getData());
|
||||||
return;
|
return;
|
||||||
@ -451,7 +451,7 @@ void MainWindows::onReceiveMessage(const ewol::object::Message& _msg) {
|
|||||||
APPL_ERROR("Try to save an non-existant file :" << _msg.getData());
|
APPL_ERROR("Try to save an non-existant file :" << _msg.getData());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
appl::Buffer* tmpBuffer = m_bufferManager->get(_msg.getData());
|
ewol::object::Shared<appl::Buffer> tmpBuffer = m_bufferManager->get(_msg.getData());
|
||||||
if (tmpBuffer == NULL) {
|
if (tmpBuffer == NULL) {
|
||||||
APPL_ERROR("Error to get the buffer : " << _msg.getData());
|
APPL_ERROR("Error to get the buffer : " << _msg.getData());
|
||||||
return;
|
return;
|
||||||
@ -462,7 +462,7 @@ void MainWindows::onReceiveMessage(const ewol::object::Message& _msg) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindows::saveAsPopUp(appl::Buffer* _buffer) {
|
void MainWindows::saveAsPopUp(const ewol::object::Shared<appl::Buffer>& _buffer) {
|
||||||
if (_buffer == NULL) {
|
if (_buffer == NULL) {
|
||||||
APPL_ERROR("Call With NULL input...");
|
APPL_ERROR("Call With NULL input...");
|
||||||
return;
|
return;
|
||||||
@ -470,7 +470,7 @@ void MainWindows::saveAsPopUp(appl::Buffer* _buffer) {
|
|||||||
appl::WorkerSaveFile* tmpObject = new appl::WorkerSaveFile(_buffer->getFileName());
|
appl::WorkerSaveFile* tmpObject = new appl::WorkerSaveFile(_buffer->getFileName());
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindows::closeNotSavedFile(appl::Buffer* _buffer) {
|
void MainWindows::closeNotSavedFile(const ewol::object::Shared<appl::Buffer>& _buffer) {
|
||||||
if (_buffer == NULL) {
|
if (_buffer == NULL) {
|
||||||
APPL_ERROR("Call With NULL input...");
|
APPL_ERROR("Call With NULL input...");
|
||||||
return;
|
return;
|
||||||
@ -506,7 +506,7 @@ void MainWindows::closeNotSavedFile(appl::Buffer* _buffer) {
|
|||||||
popUpWidgetPush(tmpPopUp);
|
popUpWidgetPush(tmpPopUp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindows::onObjectRemove(const ewol::object::Shared<ewol::Object> _removeObject) {
|
void MainWindows::onObjectRemove(const ewol::object::Shared<ewol::Object>& _removeObject) {
|
||||||
ewol::widget::Windows::onObjectRemove(_removeObject);
|
ewol::widget::Windows::onObjectRemove(_removeObject);
|
||||||
if (m_widgetLabelFileName == _removeObject) {
|
if (m_widgetLabelFileName == _removeObject) {
|
||||||
m_widgetLabelFileName = NULL;
|
m_widgetLabelFileName = NULL;
|
||||||
|
@ -25,20 +25,20 @@ class MainWindows : public ewol::widget::Windows {
|
|||||||
MainWindows();
|
MainWindows();
|
||||||
~MainWindows();
|
~MainWindows();
|
||||||
private:
|
private:
|
||||||
appl::BufferManager* m_bufferManager; //!< handle on the buffer manager
|
ewol::object::Shared<appl::BufferManager> m_bufferManager; //!< handle on the buffer manager
|
||||||
/**
|
/**
|
||||||
* @brief Display a pop-up to the select the name of the file.
|
* @brief Display a pop-up to the select the name of the file.
|
||||||
* @param[in] _buffer Buffer that might be saved with a new name.
|
* @param[in] _buffer Buffer that might be saved with a new name.
|
||||||
*/
|
*/
|
||||||
void saveAsPopUp(appl::Buffer* _buffer);
|
void saveAsPopUp(const ewol::object::Shared<appl::Buffer>& _buffer);
|
||||||
/**
|
/**
|
||||||
* @brief Display a pop-up to the user to confirm wat he want to do when he close a file not saved.
|
* @brief Display a pop-up to the user to confirm wat he want to do when he close a file not saved.
|
||||||
* @param[in] _buffer Buffer that might be close.
|
* @param[in] _buffer Buffer that might be close.
|
||||||
*/
|
*/
|
||||||
void closeNotSavedFile(appl::Buffer* _buffer);
|
void closeNotSavedFile(const ewol::object::Shared<appl::Buffer>& _buffer);
|
||||||
public: // Derived function
|
public: // Derived function
|
||||||
virtual void onReceiveMessage(const ewol::object::Message& _msg);
|
virtual void onReceiveMessage(const ewol::object::Message& _msg);
|
||||||
virtual void onObjectRemove(const ewol::object::Shared<ewol::Object> _removeObject);
|
virtual void onObjectRemove(const ewol::object::Shared<ewol::Object>& _removeObject);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ Search::Search() :
|
|||||||
}
|
}
|
||||||
|
|
||||||
Search::~Search() {
|
Search::~Search() {
|
||||||
appl::ViewerManager::release(m_viewerManager);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Search::find() {
|
void Search::find() {
|
||||||
@ -165,13 +165,13 @@ void Search::onReceiveMessage(const ewol::object::Message& _msg) {
|
|||||||
void Search::onObjectRemove(const ewol::object::Shared<ewol::Object> _removeObject) {
|
void Search::onObjectRemove(const ewol::object::Shared<ewol::Object> _removeObject) {
|
||||||
ewol::widget::Composer::onObjectRemove(_removeObject);
|
ewol::widget::Composer::onObjectRemove(_removeObject);
|
||||||
if (_removeObject == m_searchEntry) {
|
if (_removeObject == m_searchEntry) {
|
||||||
m_searchEntry = NULL;
|
m_searchEntry.reset();
|
||||||
}
|
}
|
||||||
if (_removeObject == m_replaceEntry) {
|
if (_removeObject == m_replaceEntry) {
|
||||||
m_replaceEntry = NULL;
|
m_replaceEntry.reset();
|
||||||
}
|
}
|
||||||
if (_removeObject == m_viewerManager) {
|
if (_removeObject == m_viewerManager) {
|
||||||
m_viewerManager = NULL;
|
m_viewerManager.reset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
class Search : public ewol::widget::Composer {
|
class Search : public ewol::widget::Composer {
|
||||||
private:
|
private:
|
||||||
appl::ViewerManager* m_viewerManager; //!< handle on the buffer manager
|
ewol::object::Shared<appl::ViewerManager> m_viewerManager; //!< handle on the buffer manager
|
||||||
bool m_forward;
|
bool m_forward;
|
||||||
bool m_caseSensitive;
|
bool m_caseSensitive;
|
||||||
bool m_wrap;
|
bool m_wrap;
|
||||||
|
@ -38,7 +38,7 @@ appl::TagFileList::~TagFileList() {
|
|||||||
delete(m_list[iii]);
|
delete(m_list[iii]);
|
||||||
m_list[iii] = NULL;
|
m_list[iii] = NULL;
|
||||||
}
|
}
|
||||||
ewol::resource::ColorFile::release(m_colorProperty);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
etk::Color<> appl::TagFileList::getBasicBG() {
|
etk::Color<> appl::TagFileList::getBasicBG() {
|
||||||
|
@ -37,7 +37,7 @@ namespace appl {
|
|||||||
int32_t m_selectedLine;
|
int32_t m_selectedLine;
|
||||||
std::vector<appl::TagListElement*> m_list;
|
std::vector<appl::TagListElement*> m_list;
|
||||||
protected:
|
protected:
|
||||||
ewol::resource::ColorFile* m_colorProperty; //!< theme color property.
|
ewol::object::Shared<ewol::resource::ColorFile> m_colorProperty; //!< theme color property.
|
||||||
int32_t m_colorIdText; //!< Color of the text.
|
int32_t m_colorIdText; //!< Color of the text.
|
||||||
int32_t m_colorIdBackground1; //!< Color of the Background.
|
int32_t m_colorIdBackground1; //!< Color of the Background.
|
||||||
int32_t m_colorIdBackground2; //!< Color of the Background 2.
|
int32_t m_colorIdBackground2; //!< Color of the Background 2.
|
||||||
|
@ -35,9 +35,9 @@ appl::TagFileSelection::TagFileSelection() {
|
|||||||
addEventId(applEventctagsSelection);
|
addEventId(applEventctagsSelection);
|
||||||
addEventId(applEventctagsCancel);
|
addEventId(applEventctagsCancel);
|
||||||
|
|
||||||
ewol::widget::Label* myWidgetTitle = NULL;
|
ewol::object::Shared<ewol::widget::Label> myWidgetTitle;
|
||||||
|
|
||||||
ewol::widget::Sizer * mySizerVert = NULL;
|
ewol::object::Shared<ewol::widget::Sizer> mySizerVert;
|
||||||
#if defined(__TARGET_OS__Android)
|
#if defined(__TARGET_OS__Android)
|
||||||
setMinSize(ewol::Dimension(vec2(90,90),ewol::Dimension::Pourcent));
|
setMinSize(ewol::Dimension(vec2(90,90),ewol::Dimension::Pourcent));
|
||||||
#elif defined(__TARGET_OS__Windows)
|
#elif defined(__TARGET_OS__Windows)
|
||||||
@ -46,7 +46,7 @@ appl::TagFileSelection::TagFileSelection() {
|
|||||||
setMinSize(ewol::Dimension(vec2(80,80),ewol::Dimension::Pourcent));
|
setMinSize(ewol::Dimension(vec2(80,80),ewol::Dimension::Pourcent));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
mySizerVert = new ewol::widget::Sizer(ewol::widget::Sizer::modeVert);
|
mySizerVert = ewol::object::makeShared(new ewol::widget::Sizer(ewol::widget::Sizer::modeVert));
|
||||||
if (NULL == mySizerVert) {
|
if (NULL == mySizerVert) {
|
||||||
EWOL_ERROR("Can not allocate widget == > display might be in error");
|
EWOL_ERROR("Can not allocate widget == > display might be in error");
|
||||||
} else {
|
} else {
|
||||||
@ -54,7 +54,7 @@ appl::TagFileSelection::TagFileSelection() {
|
|||||||
mySizerVert->setExpand(bvec2(true,true));
|
mySizerVert->setExpand(bvec2(true,true));
|
||||||
// set it in the pop-up-system :
|
// set it in the pop-up-system :
|
||||||
setSubWidget(mySizerVert);
|
setSubWidget(mySizerVert);
|
||||||
ewol::widget::Composer* compose = new ewol::widget::Composer(ewol::widget::Composer::String,
|
ewol::object::Shared<ewol::widget::Composer> compose = ewol::object::makeShared(new ewol::widget::Composer(ewol::widget::Composer::String,
|
||||||
"<sizer mode=\"hori\" expand=\"true,false\" lock=\"false,true\">\n"
|
"<sizer mode=\"hori\" expand=\"true,false\" lock=\"false,true\">\n"
|
||||||
" <spacer expand=\"true,false\"/>\n"
|
" <spacer expand=\"true,false\"/>\n"
|
||||||
" <button name=\"PLUGIN-CTAGS-jump\" expand=\"false\" fill=\"true\">"
|
" <button name=\"PLUGIN-CTAGS-jump\" expand=\"false\" fill=\"true\">"
|
||||||
@ -69,14 +69,14 @@ appl::TagFileSelection::TagFileSelection() {
|
|||||||
" <label>Cancel</label>\n"
|
" <label>Cancel</label>\n"
|
||||||
" </sizer>\n"
|
" </sizer>\n"
|
||||||
" </button>\n"
|
" </button>\n"
|
||||||
"</sizer>\n");
|
"</sizer>\n"));
|
||||||
compose->setExpand(bvec2(true,false));
|
compose->setExpand(bvec2(true,false));
|
||||||
compose->setFill(bvec2(true,true));
|
compose->setFill(bvec2(true,true));
|
||||||
mySizerVert->subWidgetAdd(compose);
|
mySizerVert->subWidgetAdd(compose);
|
||||||
compose->registerOnEventNameWidget(this, "PLUGIN-CTAGS-jump", "pressed", applEventctagsSelection);
|
compose->registerOnEventNameWidget(this, "PLUGIN-CTAGS-jump", "pressed", applEventctagsSelection);
|
||||||
compose->registerOnEventNameWidget(this, "PLUGIN-CTAGS-cancel", "pressed", applEventctagsCancel);
|
compose->registerOnEventNameWidget(this, "PLUGIN-CTAGS-cancel", "pressed", applEventctagsCancel);
|
||||||
|
|
||||||
m_listTag = new appl::TagFileList();
|
m_listTag = ewol::object::makeShared(new appl::TagFileList());
|
||||||
if (NULL == m_listTag) {
|
if (NULL == m_listTag) {
|
||||||
EWOL_ERROR("Can not allocate widget == > display might be in error");
|
EWOL_ERROR("Can not allocate widget == > display might be in error");
|
||||||
} else {
|
} else {
|
||||||
@ -139,7 +139,7 @@ void appl::TagFileSelection::addCtagsNewItem(std::string _file, int32_t _line) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void appl::TagFileSelection::onObjectRemove(const ewol::object::Shared<ewol::Object> _removeObject) {
|
void appl::TagFileSelection::onObjectRemove(const ewol::object::Shared<ewol::Object>& _removeObject) {
|
||||||
// First step call parrent :
|
// First step call parrent :
|
||||||
ewol::widget::PopUp::onObjectRemove(_removeObject);
|
ewol::widget::PopUp::onObjectRemove(_removeObject);
|
||||||
// second step find if in all the elements ...
|
// second step find if in all the elements ...
|
||||||
|
@ -19,7 +19,7 @@ extern const char * const applEventctagsCancel;
|
|||||||
namespace appl {
|
namespace appl {
|
||||||
class TagFileSelection : public ewol::widget::PopUp {
|
class TagFileSelection : public ewol::widget::PopUp {
|
||||||
private:
|
private:
|
||||||
appl::TagFileList* m_listTag;
|
ewol::object::Shared<appl::TagFileList> m_listTag;
|
||||||
std::string m_eventNamed;
|
std::string m_eventNamed;
|
||||||
public:
|
public:
|
||||||
TagFileSelection();
|
TagFileSelection();
|
||||||
@ -32,7 +32,7 @@ namespace appl {
|
|||||||
void addCtagsNewItem(std::string file, int32_t line);
|
void addCtagsNewItem(std::string file, int32_t line);
|
||||||
public: // herited function
|
public: // herited function
|
||||||
void onReceiveMessage(const ewol::object::Message& _msg);
|
void onReceiveMessage(const ewol::object::Message& _msg);
|
||||||
void onObjectRemove(const ewol::object::Shared<ewol::Object> _removeObject);
|
void onObjectRemove(const ewol::object::Shared<ewol::Object>& _removeObject);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
APPL_DEBUG(comment << (float)((float)processTimeLocal / 1000.0) << "ms");
|
APPL_DEBUG(comment << (float)((float)processTimeLocal / 1000.0) << "ms");
|
||||||
|
|
||||||
appl::TextViewer::TextViewer(const std::string& _fontName, int32_t _fontSize) :
|
appl::TextViewer::TextViewer(const std::string& _fontName, int32_t _fontSize) :
|
||||||
m_buffer(NULL),
|
|
||||||
m_displayText(_fontName, _fontSize),
|
m_displayText(_fontName, _fontSize),
|
||||||
m_insertMode(false) {
|
m_insertMode(false) {
|
||||||
addObjectType("appl::TextViewer");
|
addObjectType("appl::TextViewer");
|
||||||
@ -65,9 +64,6 @@ appl::TextViewer::TextViewer(const std::string& _fontName, int32_t _fontSize) :
|
|||||||
|
|
||||||
appl::TextViewer::~TextViewer() {
|
appl::TextViewer::~TextViewer() {
|
||||||
appl::textPluginManager::disconnect(*this);
|
appl::textPluginManager::disconnect(*this);
|
||||||
appl::GlyphPainting::release(m_paintingProperties);
|
|
||||||
appl::BufferManager::release(m_bufferManager);
|
|
||||||
appl::ViewerManager::release(m_viewerManager);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string appl::TextViewer::getBufferPath() {
|
std::string appl::TextViewer::getBufferPath() {
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
namespace appl {
|
namespace appl {
|
||||||
class TextViewer : public ewol::widget::WidgetScrolled {
|
class TextViewer : public ewol::widget::WidgetScrolled {
|
||||||
private:
|
private:
|
||||||
appl::GlyphPainting* m_paintingProperties; //!< element painting property
|
ewol::object::Shared<appl::GlyphPainting> m_paintingProperties; //!< element painting property
|
||||||
int32_t m_colorBackground;
|
int32_t m_colorBackground;
|
||||||
int32_t m_colorSpace;
|
int32_t m_colorSpace;
|
||||||
int32_t m_colorTabulation;
|
int32_t m_colorTabulation;
|
||||||
@ -39,19 +39,19 @@ namespace appl {
|
|||||||
TextViewer(const std::string& _fontName="", int32_t _fontSize=-1);
|
TextViewer(const std::string& _fontName="", int32_t _fontSize=-1);
|
||||||
virtual ~TextViewer();
|
virtual ~TextViewer();
|
||||||
private:
|
private:
|
||||||
appl::Buffer* m_buffer; //!< pointer on the current buffer to display (can be null if the buffer is remover or in state of changing buffer)
|
ewol::object::Shared<appl::Buffer> m_buffer; //!< pointer on the current buffer to display (can be null if the buffer is remover or in state of changing buffer)
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* @brief Get the buffer property (only for the class : template <typename TYPE> class TextViewerPluginData)
|
* @brief Get the buffer property (only for the class : template <typename TYPE> class TextViewerPluginData)
|
||||||
* @return pointer on buffer
|
* @return pointer on buffer
|
||||||
*/
|
*/
|
||||||
appl::Buffer* internalGetBuffer() {
|
ewol::object::Shared<appl::Buffer> internalGetBuffer() {
|
||||||
return m_buffer;
|
return m_buffer;
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
ewol::compositing::Text m_displayText; //!< Text display properties.
|
ewol::compositing::Text m_displayText; //!< Text display properties.
|
||||||
ewol::compositing::Drawing m_displayDrawing; //!< Other diaplay requested.
|
ewol::compositing::Drawing m_displayDrawing; //!< Other diaplay requested.
|
||||||
std::vector<std::pair<appl::Buffer*, vec2>> m_drawingRemenber;
|
std::vector<std::pair<ewol::object::Shared<appl::Buffer>, vec2>> m_drawingRemenber;
|
||||||
public:
|
public:
|
||||||
void setFontSize(int32_t _size);
|
void setFontSize(int32_t _size);
|
||||||
void setFontName(const std::string& _fontName);
|
void setFontName(const std::string& _fontName);
|
||||||
@ -399,9 +399,9 @@ namespace appl {
|
|||||||
* @param[in] _data Associate data wit the event
|
* @param[in] _data Associate data wit the event
|
||||||
*/
|
*/
|
||||||
virtual void ext_shortCutAdd(const char * _descriptiveString,
|
virtual void ext_shortCutAdd(const char * _descriptiveString,
|
||||||
const char * _generateEventId,
|
const char * _generateEventId,
|
||||||
std::string _data="",
|
std::string _data="",
|
||||||
bool _broadcast=false) {
|
bool _broadcast=false) {
|
||||||
shortCutAdd(_descriptiveString, _generateEventId, _data, _broadcast);
|
shortCutAdd(_descriptiveString, _generateEventId, _data, _broadcast);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -26,14 +26,14 @@ appl::ViewerManager::ViewerManager() :
|
|||||||
}
|
}
|
||||||
|
|
||||||
appl::ViewerManager::~ViewerManager() {
|
appl::ViewerManager::~ViewerManager() {
|
||||||
appl::BufferManager::release(m_bufferManager);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool appl::ViewerManager::isLastSelected(ewol::object::Shared<appl::TextViewer> _viewer) {
|
bool appl::ViewerManager::isLastSelected(const ewol::object::Shared<appl::TextViewer>& _viewer) {
|
||||||
return m_viewer == _viewer;
|
return m_viewer == _viewer;
|
||||||
}
|
}
|
||||||
|
|
||||||
void appl::ViewerManager::setViewerSelected(const ewol::object::Shared<appl::TextViewer>& _viewer, appl::Buffer* _buffer) {
|
void appl::ViewerManager::setViewerSelected(const ewol::object::Shared<appl::TextViewer>& _viewer, const ewol::object::Shared<appl::Buffer>& _buffer) {
|
||||||
if (m_viewer == _viewer) {
|
if (m_viewer == _viewer) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -55,15 +55,15 @@ void appl::ViewerManager::onObjectRemove(const ewol::object::Shared<ewol::Object
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
appl::ViewerManager* appl::ViewerManager::keep() {
|
ewol::object::Shared<appl::ViewerManager> appl::ViewerManager::keep() {
|
||||||
//EWOL_INFO("KEEP : appl::GlyphPainting : file : \"" << _filename << "\"");
|
//EWOL_INFO("KEEP : appl::GlyphPainting : file : \"" << _filename << "\"");
|
||||||
appl::ViewerManager* object = static_cast<appl::ViewerManager*>(getManager().localKeep("???ViewerManager???"));
|
ewol::object::Shared<appl::ViewerManager> object = ewol::dynamic_pointer_cast<appl::ViewerManager>(getManager().localKeep("???ViewerManager???"));
|
||||||
if (NULL != object) {
|
if (NULL != object) {
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
// this element create a new one every time ....
|
// this element create a new one every time ....
|
||||||
EWOL_INFO("CREATE : appl::ViewerManager: ???ViewerManager???");
|
EWOL_INFO("CREATE : appl::ViewerManager: ???ViewerManager???");
|
||||||
object = new appl::ViewerManager();
|
object = ewol::object::makeShared(new appl::ViewerManager());
|
||||||
if (NULL == object) {
|
if (NULL == object) {
|
||||||
EWOL_ERROR("allocation error of a resource : ???ViewerManager???");
|
EWOL_ERROR("allocation error of a resource : ???ViewerManager???");
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -71,12 +71,3 @@ appl::ViewerManager* appl::ViewerManager::keep() {
|
|||||||
getManager().localAdd(object);
|
getManager().localAdd(object);
|
||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
void appl::ViewerManager::release(appl::ViewerManager*& _object) {
|
|
||||||
if (NULL == _object) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ewol::Resource* object2 = static_cast<ewol::Resource*>(_object);
|
|
||||||
getManager().release(object2);
|
|
||||||
_object = NULL;
|
|
||||||
}
|
|
||||||
|
@ -20,16 +20,17 @@ namespace appl {
|
|||||||
class ViewerManager : public ewol::Resource {
|
class ViewerManager : public ewol::Resource {
|
||||||
protected:
|
protected:
|
||||||
ViewerManager();
|
ViewerManager();
|
||||||
|
public:
|
||||||
~ViewerManager();
|
~ViewerManager();
|
||||||
private:
|
private:
|
||||||
appl::BufferManager* m_bufferManager; //!< handle on the buffer manager
|
ewol::object::Shared<appl::BufferManager> m_bufferManager; //!< handle on the buffer manager
|
||||||
ewol::object::Shared<appl::TextViewer> m_viewer;
|
ewol::object::Shared<appl::TextViewer> m_viewer;
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* @brief Set the current buffer selected
|
* @brief Set the current buffer selected
|
||||||
* @param[in] _viewer Pointer on the viewer selected
|
* @param[in] _viewer Pointer on the viewer selected
|
||||||
*/
|
*/
|
||||||
void setViewerSelected(const ewol::object::Shared<appl::TextViewer>& _viewer, appl::Buffer* _buffer);
|
void setViewerSelected(const ewol::object::Shared<appl::TextViewer>& _viewer, const ewol::object::Shared<appl::Buffer>& _buffer);
|
||||||
/**
|
/**
|
||||||
* @brief Get the current buffer selected
|
* @brief Get the current buffer selected
|
||||||
* @return Pointer on the buffer selected
|
* @return Pointer on the buffer selected
|
||||||
@ -42,7 +43,7 @@ namespace appl {
|
|||||||
* @param[in] _viewer element selected.
|
* @param[in] _viewer element selected.
|
||||||
* @return true if the element is selected
|
* @return true if the element is selected
|
||||||
*/
|
*/
|
||||||
bool isLastSelected(ewol::object::Shared<appl::TextViewer> _viewer);
|
bool isLastSelected(const ewol::object::Shared<appl::TextViewer>& _viewer);
|
||||||
public: // herited function
|
public: // herited function
|
||||||
void onReceiveMessage(const ewol::object::Message& _msg);
|
void onReceiveMessage(const ewol::object::Message& _msg);
|
||||||
void onObjectRemove(const ewol::object::Shared<ewol::Object>& _removeObject);
|
void onObjectRemove(const ewol::object::Shared<ewol::Object>& _removeObject);
|
||||||
@ -53,12 +54,7 @@ namespace appl {
|
|||||||
* @param[in] _filename Name of the configuration file.
|
* @param[in] _filename Name of the configuration file.
|
||||||
* @return pointer on the resource or NULL if an error occured.
|
* @return pointer on the resource or NULL if an error occured.
|
||||||
*/
|
*/
|
||||||
static appl::ViewerManager* keep();
|
static ewol::object::Shared<appl::ViewerManager> keep();
|
||||||
/**
|
|
||||||
* @brief release the keeped resources
|
|
||||||
* @param[in,out] reference on the object pointer
|
|
||||||
*/
|
|
||||||
static void release(appl::ViewerManager*& _object);
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ int main(int _argc, const char *_argv[]) {
|
|||||||
// only one things to do:
|
// only one things to do:
|
||||||
return ewol::run(_argc, _argv);
|
return ewol::run(_argc, _argv);
|
||||||
}
|
}
|
||||||
appl::BufferManager* bufferManager = NULL;
|
ewol::object::Shared<appl::BufferManager> bufferManager = NULL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief main application function initialisation
|
* @brief main application function initialisation
|
||||||
@ -84,7 +84,7 @@ bool APP_Init(ewol::Context& _context, size_t _initId, size_t& _nbInitStep) {
|
|||||||
cCurrentPath[FILENAME_MAX - 1] = '\0';
|
cCurrentPath[FILENAME_MAX - 1] = '\0';
|
||||||
//APPL_INFO("The current working directory is " << cCurrentPath);
|
//APPL_INFO("The current working directory is " << cCurrentPath);
|
||||||
|
|
||||||
MainWindows* basicWindows = new MainWindows();
|
ewol::object::Shared<MainWindows> basicWindows = ewol::object::makeShared(new MainWindows());
|
||||||
|
|
||||||
if (NULL == basicWindows) {
|
if (NULL == basicWindows) {
|
||||||
APPL_ERROR("Can not allocate the basic windows");
|
APPL_ERROR("Can not allocate the basic windows");
|
||||||
@ -126,7 +126,7 @@ bool APP_Init(ewol::Context& _context, size_t _initId, size_t& _nbInitStep) {
|
|||||||
*/
|
*/
|
||||||
void APP_UnInit(ewol::Context& _context) {
|
void APP_UnInit(ewol::Context& _context) {
|
||||||
APPL_INFO(" == > Un-Init " PROJECT_NAME " (START)");
|
APPL_INFO(" == > Un-Init " PROJECT_NAME " (START)");
|
||||||
ewol::widget::Windows* tmpWindows = _context.getWindows();
|
ewol::object::Shared<ewol::widget::Windows> tmpWindows = _context.getWindows();
|
||||||
|
|
||||||
_context.setWindows(NULL);
|
_context.setWindows(NULL);
|
||||||
|
|
||||||
@ -139,11 +139,7 @@ void APP_UnInit(ewol::Context& _context) {
|
|||||||
APPL_INFO("Stop Hightlight");
|
APPL_INFO("Stop Hightlight");
|
||||||
appl::highlightManager::unInit();
|
appl::highlightManager::unInit();
|
||||||
//Kill all singleton
|
//Kill all singleton
|
||||||
if (bufferManager != NULL) {
|
bufferManager.reset();
|
||||||
APPL_INFO("Stop BufferManager");
|
|
||||||
appl::BufferManager::release(bufferManager);
|
|
||||||
bufferManager = NULL;
|
|
||||||
}
|
|
||||||
APPL_INFO(" == > Un-Init " PROJECT_NAME " (END)");
|
APPL_INFO(" == > Un-Init " PROJECT_NAME " (END)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user