[DEV] rework signal interface (step 1 normalisation)

This commit is contained in:
Edouard DUPIN 2014-08-20 22:34:31 +02:00
parent 7da1beb12d
commit 03fa46bbcd
16 changed files with 93 additions and 95 deletions

View File

@ -17,11 +17,6 @@
#undef __class__ #undef __class__
#define __class__ "Buffer" #define __class__ "Buffer"
const char* const appl::Buffer::eventIsModify = "edn-is-modify";
const char* const appl::Buffer::eventIsSave = "edn-is-save";
const char* const appl::Buffer::eventSelectChange = "edn-select-change";
const char* const appl::Buffer::eventChangeName = "edn-buffer-name-change";
appl::Buffer::Iterator& appl::Buffer::Iterator::operator++ () { appl::Buffer::Iterator& appl::Buffer::Iterator::operator++ () {
m_value = u32char::Null; m_value = u32char::Null;
if (m_current < 0) { if (m_current < 0) {
@ -119,8 +114,11 @@ appl::Buffer::Iterator appl::Buffer::selectStop() {
return position( getStopSelectionPos() ); return position( getStopSelectionPos() );
} }
appl::Buffer::Buffer() : appl::Buffer::Buffer() :
signalIsModify(*this, "is-modify"),
signalIsSave(*this, "is-save"),
signalSelectChange(*this, "select-change"),
signalChangeName(*this, "change-name"),
m_hasFileName(false), m_hasFileName(false),
m_fileName(""), m_fileName(""),
m_isModify(false), m_isModify(false),
@ -133,10 +131,6 @@ appl::Buffer::Buffer() :
static int32_t bufferBaseId = 0; static int32_t bufferBaseId = 0;
m_fileName = "No Name " + etk::to_string(bufferBaseId); m_fileName = "No Name " + etk::to_string(bufferBaseId);
bufferBaseId++; bufferBaseId++;
addEventId(eventIsModify);
addEventId(eventIsSave);
addEventId(eventSelectChange);
addEventId(eventChangeName);
} }
void appl::Buffer::init() { void appl::Buffer::init() {
@ -176,7 +170,7 @@ void appl::Buffer::setFileName(const std::string& _name) {
} }
m_fileName = name; m_fileName = name;
m_hasFileName = true; m_hasFileName = true;
generateEventId(eventChangeName); signalChangeName.emit(shared_from_this());
setModification(true); setModification(true);
} }
@ -195,9 +189,9 @@ void appl::Buffer::setModification(bool _status) {
} }
m_isModify = _status; m_isModify = _status;
if (m_isModify == true) { if (m_isModify == true) {
generateEventId(eventIsModify); signalIsModify.emit(shared_from_this());
} else { } else {
generateEventId(eventIsSave); signalIsSave.emit(shared_from_this());
} }
} }
@ -420,13 +414,13 @@ void appl::Buffer::moveCursor(int64_t _pos) {
if (m_cursorPos == m_cursorSelectPos) { if (m_cursorPos == m_cursorSelectPos) {
m_cursorSelectPos = -1; m_cursorSelectPos = -1;
} }
generateEventId(eventSelectChange); signalSelectChange.emit(shared_from_this());
return; return;
} }
// move mode // move mode
m_cursorPos = _pos; m_cursorPos = _pos;
m_cursorSelectPos = -1; m_cursorSelectPos = -1;
generateEventId(eventSelectChange); signalSelectChange.emit(shared_from_this());
} }
bool appl::Buffer::getPosAround(const appl::Buffer::Iterator& _startPos, bool appl::Buffer::getPosAround(const appl::Buffer::Iterator& _startPos,
@ -519,12 +513,12 @@ bool appl::Buffer::getPosAround(const appl::Buffer::Iterator& _startPos,
void appl::Buffer::setSelectionPos(const appl::Buffer::Iterator& _pos) { void appl::Buffer::setSelectionPos(const appl::Buffer::Iterator& _pos) {
m_cursorSelectPos = _pos; m_cursorSelectPos = _pos;
generateEventId(eventSelectChange); signalSelectChange.emit(shared_from_this());
} }
void appl::Buffer::unSelect() { void appl::Buffer::unSelect() {
m_cursorSelectPos = -1; m_cursorSelectPos = -1;
generateEventId(eventSelectChange); signalSelectChange.emit(shared_from_this());
} }
static const char *ControlCodeTable[32] = { static const char *ControlCodeTable[32] = {

View File

@ -17,6 +17,7 @@
#include <ewol/widget/Widget.h> #include <ewol/widget/Widget.h>
#include <ewol/compositing/Text.h> #include <ewol/compositing/Text.h>
#include <appl/Highlight.h> #include <appl/Highlight.h>
#include <ewol/object/Signal.h>
namespace appl { namespace appl {
@ -288,10 +289,10 @@ namespace appl {
friend class Buffer; friend class Buffer;
}; };
public: public:
static const char* const eventIsModify; ewol::object::Signal<void> signalIsModify;
static const char* const eventIsSave; ewol::object::Signal<void> signalIsSave;
static const char* const eventSelectChange; ewol::object::Signal<void> signalSelectChange;
static const char* const eventChangeName; ewol::object::Signal<void> signalChangeName;
protected: protected:
Buffer(); Buffer();
void init(); void init();

View File

@ -104,7 +104,9 @@ void BufferView::insertAlphabetic(appl::dataBufferStruct* _dataStruct, bool _sel
} }
} }
} }
static const char* const ednEventIsSave = "edn-buffer-is-saved";
static const char* const ednEventIsModify = "edn-buffer-is-modify";
static const char* const ednEventChangeName = "edn-buffer-change-name";
void BufferView::onReceiveMessage(const ewol::object::Message& _msg) { void BufferView::onReceiveMessage(const ewol::object::Message& _msg) {
APPL_VERBOSE("message : " << _msg); APPL_VERBOSE("message : " << _msg);
@ -115,9 +117,9 @@ void BufferView::onReceiveMessage(const ewol::object::Message& _msg) {
APPL_ERROR("event on element nor exist : " << _msg.getData()); APPL_ERROR("event on element nor exist : " << _msg.getData());
return; return;
} }
buffer->registerOnEvent(shared_from_this(), appl::Buffer::eventIsSave); buffer->registerOnEvent(shared_from_this(), "is-save", ednEventIsSave);
buffer->registerOnEvent(shared_from_this(), appl::Buffer::eventIsModify); buffer->registerOnEvent(shared_from_this(), "is-modify", ednEventIsModify);
buffer->registerOnEvent(shared_from_this(), appl::Buffer::eventChangeName); buffer->registerOnEvent(shared_from_this(), "change-name", ednEventChangeName);
appl::dataBufferStruct* tmp = new appl::dataBufferStruct(_msg.getData(), buffer); appl::dataBufferStruct* tmp = new appl::dataBufferStruct(_msg.getData(), buffer);
if (tmp == nullptr) { if (tmp == nullptr) {
APPL_ERROR("Allocation error of the tmp buffer list element"); APPL_ERROR("Allocation error of the tmp buffer list element");
@ -131,7 +133,7 @@ void BufferView::onReceiveMessage(const ewol::object::Message& _msg) {
markToRedraw(); markToRedraw();
return; return;
} }
if (_msg.getMessage() == appl::Buffer::eventChangeName) { if (_msg.getMessage() == ednEventChangeName) {
for (size_t iii = 0; iii < m_list.size(); ++iii) { for (size_t iii = 0; iii < m_list.size(); ++iii) {
if (m_list[iii] == nullptr) { if (m_list[iii] == nullptr) {
continue; continue;
@ -151,11 +153,11 @@ void BufferView::onReceiveMessage(const ewol::object::Message& _msg) {
markToRedraw(); markToRedraw();
return; return;
} }
if (_msg.getMessage() == appl::Buffer::eventIsSave) { if (_msg.getMessage() == ednEventIsSave) {
markToRedraw(); markToRedraw();
return; return;
} }
if (_msg.getMessage() == appl::Buffer::eventIsModify) { if (_msg.getMessage() == ednEventIsModify) {
markToRedraw(); markToRedraw();
return; return;
} }

View File

@ -279,9 +279,11 @@ MainWindows::~MainWindows() {
} }
const char *const ednEventPopUpFileSelected = "edn-mainWindows-openSelected"; static const char* const ednEventPopUpFileSelected = "edn-mainWindows-openSelected";
const char *const ednEventPopUpFileSaveAs = "edn-mainWindows-saveAsSelected"; static const char* const ednEventPopUpFileSaveAs = "edn-mainWindows-saveAsSelected";
static const char* const ednEventIsSave = "edn-buffer-is-saved";
static const char* const ednEventIsModify = "edn-buffer-is-modify";
static const char* const ednEventChangeName = "edn-buffer-change-name";
void MainWindows::onReceiveMessage(const ewol::object::Message& _msg) { void MainWindows::onReceiveMessage(const ewol::object::Message& _msg) {
ewol::widget::Windows::onReceiveMessage(_msg); ewol::widget::Windows::onReceiveMessage(_msg);
@ -378,9 +380,9 @@ void MainWindows::onReceiveMessage(const ewol::object::Message& _msg) {
return; return;
} }
if ( _msg.getMessage() == appl::MsgSelectNewFile if ( _msg.getMessage() == appl::MsgSelectNewFile
|| _msg.getMessage() == appl::Buffer::eventIsModify || _msg.getMessage() == ednEventIsModify
|| _msg.getMessage() == appl::Buffer::eventIsSave || _msg.getMessage() == ednEventIsSave
|| _msg.getMessage() == appl::Buffer::eventChangeName) { || _msg.getMessage() == ednEventChangeName) {
// select a new Buffer ==> change title: // select a new Buffer ==> change title:
std::shared_ptr<appl::Buffer> tmpp = m_bufferManager->getBufferSelected(); std::shared_ptr<appl::Buffer> tmpp = m_bufferManager->getBufferSelected();
if (tmpp == nullptr) { if (tmpp == nullptr) {
@ -390,9 +392,9 @@ void MainWindows::onReceiveMessage(const ewol::object::Message& _msg) {
} }
} else { } else {
if (_msg.getMessage() == appl::MsgSelectNewFile) { if (_msg.getMessage() == appl::MsgSelectNewFile) {
tmpp->registerOnEvent(shared_from_this(), appl::Buffer::eventIsModify); tmpp->registerOnEvent(shared_from_this(), "is-save", ednEventIsSave);
tmpp->registerOnEvent(shared_from_this(), appl::Buffer::eventIsSave); tmpp->registerOnEvent(shared_from_this(), "is-modify", ednEventIsModify);
tmpp->registerOnEvent(shared_from_this(), appl::Buffer::eventChangeName); tmpp->registerOnEvent(shared_from_this(), "change-name", ednEventChangeName);
} }
std::string nameFileSystem = etk::FSNode(tmpp->getFileName()).getFileSystemName(); std::string nameFileSystem = etk::FSNode(tmpp->getFileName()).getFileSystemName();
setTitle(std::string("Edn : ") + (tmpp->isModify()==true?" *":"") + nameFileSystem); setTitle(std::string("Edn : ") + (tmpp->isModify()==true?" *":"") + nameFileSystem);

View File

@ -12,15 +12,12 @@
#undef __class__ #undef __class__
#define __class__ "TagFileList" #define __class__ "TagFileList"
extern const char * const applEventCtagsListSelect = "appl-event-ctags-list-select"; appl::TagFileList::TagFileList() :
extern const char * const applEventCtagsListUnSelect = "appl-event-ctags-list-un-select"; signalSelect(*this, "select"),
extern const char * const applEventCtagsListValidate = "appl-event-ctags-list-validate"; signalValidate(*this, "validate"),
signalUnSelect(*this, "unselect") {
appl::TagFileList::TagFileList() {
addObjectType("appl::TagFileList"); addObjectType("appl::TagFileList");
m_selectedLine = -1; m_selectedLine = -1;
addEventId(applEventCtagsListSelect);
addEventId(applEventCtagsListValidate);
setMouseLimit(1); setMouseLimit(1);
// Load color properties: (use file list to be generic ...) // Load color properties: (use file list to be generic ...)
m_colorProperty = ewol::resource::ColorFile::create("THEME:COLOR:ListFileSystem.json"); m_colorProperty = ewol::resource::ColorFile::create("THEME:COLOR:ListFileSystem.json");
@ -92,16 +89,16 @@ bool appl::TagFileList::onItemEvent(int32_t _IdInput, enum ewol::key::status _ty
} else { } else {
m_selectedLine = _raw; m_selectedLine = _raw;
} }
const char * event = applEventCtagsListValidate;
if (previousRaw != m_selectedLine) {
event = applEventCtagsListSelect;
}
if( m_selectedLine >= 0 if( m_selectedLine >= 0
&& m_selectedLine < (int64_t)m_list.size() && m_selectedLine < (int64_t)m_list.size()
&& nullptr != m_list[m_selectedLine] ) { && nullptr != m_list[m_selectedLine] ) {
generateEventId(event, etk::to_string(m_list[_raw]->fileLine)+":"+m_list[m_selectedLine]->filename); if (previousRaw != m_selectedLine) {
signalSelect.emit(shared_from_this(), etk::to_string(m_list[_raw]->fileLine)+":"+m_list[m_selectedLine]->filename);
} else { } else {
generateEventId(applEventCtagsListUnSelect); signalValidate.emit(shared_from_this(), etk::to_string(m_list[_raw]->fileLine)+":"+m_list[m_selectedLine]->filename);
}
} else {
signalUnSelect.emit(shared_from_this());
} }
// need to regenerate the display of the list : // need to regenerate the display of the list :
markToRedraw(); markToRedraw();

View File

@ -13,11 +13,6 @@
#include <ewol/widget/List.h> #include <ewol/widget/List.h>
#include <ewol/resource/ColorFile.h> #include <ewol/resource/ColorFile.h>
extern const char * const applEventCtagsListSelect;
extern const char * const applEventCtagsListValidate;
extern const char * const applEventCtagsListUnSelect;
namespace appl { namespace appl {
class TagListElement { class TagListElement {
public: public:
@ -33,6 +28,10 @@ namespace appl {
}; };
}; };
class TagFileList : public ewol::widget::List { class TagFileList : public ewol::widget::List {
public:
ewol::object::Signal<std::string> signalSelect;
ewol::object::Signal<std::string> signalValidate;
ewol::object::Signal<void> signalUnSelect;
private: private:
int32_t m_selectedLine; int32_t m_selectedLine;
std::vector<appl::TagListElement*> m_list; std::vector<appl::TagListElement*> m_list;

View File

@ -26,14 +26,18 @@
#define __class__ "TagFileSelection" #define __class__ "TagFileSelection"
extern const char * const applEventctagsSelection = "appl-event-ctags-validate"; static const char * const applEventctagsSelection = "appl-event-ctags-validate";
extern const char * const applEventctagsCancel = "appl-event-ctags-cancel"; static const char * const applEventctagsCancel = "appl-event-ctags-cancel";
static const char * const applEventCtagsListValidate = "appl-event-ctags-list-validate";
static const char * const applEventCtagsListSelect = "appl-event-ctags-list-selected";
static const char * const applEventCtagsListUnSelect = "appl-event-ctags-list-un-selected";
appl::TagFileSelection::TagFileSelection() {
appl::TagFileSelection::TagFileSelection() :
signalSelect(*this, "select"),
signalCancel(*this, "cancel") {
addObjectType("appl::TagFileSelection"); addObjectType("appl::TagFileSelection");
addEventId(applEventctagsSelection);
addEventId(applEventctagsCancel);
} }
void appl::TagFileSelection::init() { void appl::TagFileSelection::init() {
@ -81,9 +85,9 @@ void appl::TagFileSelection::init() {
if (nullptr == m_listTag) { if (nullptr == 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 {
m_listTag->registerOnEvent(shared_from_this(), applEventCtagsListValidate); m_listTag->registerOnEvent(shared_from_this(), "validate", applEventCtagsListValidate);
m_listTag->registerOnEvent(shared_from_this(), applEventCtagsListSelect); m_listTag->registerOnEvent(shared_from_this(), "select", applEventCtagsListSelect);
m_listTag->registerOnEvent(shared_from_this(), applEventCtagsListUnSelect); m_listTag->registerOnEvent(shared_from_this(), "unselect", applEventCtagsListUnSelect);
m_listTag->setExpand(bvec2(true,true)); m_listTag->setExpand(bvec2(true,true));
m_listTag->setFill(bvec2(true,true)); m_listTag->setFill(bvec2(true,true));
mySizerVert->subWidgetAdd(m_listTag); mySizerVert->subWidgetAdd(m_listTag);
@ -108,21 +112,20 @@ void appl::TagFileSelection::onReceiveMessage(const ewol::object::Message& _msg)
EWOL_INFO("ctags LIST ... : " << _msg ); EWOL_INFO("ctags LIST ... : " << _msg );
if (_msg.getMessage() == applEventctagsSelection) { if (_msg.getMessage() == applEventctagsSelection) {
if (m_eventNamed!="") { if (m_eventNamed!="") {
generateEventId(applEventctagsSelection, m_eventNamed); signalSelect.emit(shared_from_this(), m_eventNamed);
// == > Auto remove ... // == > Auto remove ...
autoDestroy(); autoDestroy();
} }
} else if (_msg.getMessage() == applEventCtagsListSelect) { } else if (_msg.getMessage() == applEventCtagsListSelect) {
m_eventNamed = _msg.getData(); m_eventNamed = _msg.getData();
} else if (_msg.getMessage() == applEventCtagsListUnSelect) { } else if (_msg.getMessage() == applEventCtagsListUnSelect) {
m_eventNamed = ""; m_eventNamed = "";
} else if (_msg.getMessage() == applEventCtagsListValidate) { } else if (_msg.getMessage() == applEventCtagsListValidate) {
generateEventId(applEventctagsSelection, _msg.getData()); signalSelect.emit(shared_from_this(), _msg.getData());
// == > Auto remove ... // == > Auto remove ...
autoDestroy(); autoDestroy();
} else if (_msg.getMessage() == applEventctagsCancel) { } else if (_msg.getMessage() == applEventctagsCancel) {
generateEventId(applEventctagsCancel, ""); signalCancel.emit(shared_from_this());
// == > Auto remove ... // == > Auto remove ...
autoDestroy(); autoDestroy();
} }

View File

@ -13,11 +13,11 @@
#include <ewol/widget/PopUp.h> #include <ewol/widget/PopUp.h>
#include <appl/Gui/TagFileList.h> #include <appl/Gui/TagFileList.h>
extern const char * const applEventctagsSelection;
extern const char * const applEventctagsCancel;
namespace appl { namespace appl {
class TagFileSelection : public ewol::widget::PopUp { class TagFileSelection : public ewol::widget::PopUp {
public:
ewol::object::Signal<std::string> signalSelect;
ewol::object::Signal<void> signalCancel;
private: private:
std::shared_ptr<appl::TagFileList> m_listTag; std::shared_ptr<appl::TagFileList> m_listTag;
std::string m_eventNamed; std::string m_eventNamed;

View File

@ -28,6 +28,10 @@
int64_t processTimeLocal = (endTime - startTime); \ int64_t processTimeLocal = (endTime - startTime); \
APPL_DEBUG(comment << (float)((float)processTimeLocal / 1000.0) << "ms"); APPL_DEBUG(comment << (float)((float)processTimeLocal / 1000.0) << "ms");
static const char* const appl_Buffer_eventIsModify = "buffer-is-modify";
static const char* const appl_Buffer_eventSelectChange = "buffer-select-change";
appl::TextViewer::TextViewer() : appl::TextViewer::TextViewer() :
m_insertMode(false) { m_insertMode(false) {
addObjectType("appl::TextViewer"); addObjectType("appl::TextViewer");
@ -634,11 +638,11 @@ void appl::TextViewer::onReceiveMessage(const ewol::object::Message& _msg) {
return; return;
} }
// event needed even if selection of buffer is not done ... // event needed even if selection of buffer is not done ...
if (_msg.getMessage() == appl::Buffer::eventIsModify) { if (_msg.getMessage() == appl_Buffer_eventIsModify) {
markToRedraw(); markToRedraw();
return; return;
} }
if (_msg.getMessage() == appl::Buffer::eventSelectChange) { if (_msg.getMessage() == appl_Buffer_eventSelectChange) {
markToRedraw(); markToRedraw();
return; return;
} }
@ -687,8 +691,8 @@ void appl::TextViewer::onReceiveMessage(const ewol::object::Message& _msg) {
m_buffer = m_bufferManager->get(_msg.getData()); m_buffer = m_bufferManager->get(_msg.getData());
m_bufferManager->setBufferSelected(m_buffer); m_bufferManager->setBufferSelected(m_buffer);
if (m_buffer != nullptr) { if (m_buffer != nullptr) {
m_buffer->registerOnEvent(shared_from_this(), appl::Buffer::eventIsModify); m_buffer->registerOnEvent(shared_from_this(), "is-modify", appl_Buffer_eventIsModify);
m_buffer->registerOnEvent(shared_from_this(), appl::Buffer::eventSelectChange); m_buffer->registerOnEvent(shared_from_this(), "select-change", appl_Buffer_eventSelectChange);
for (auto element : m_drawingRemenber) { for (auto element : m_drawingRemenber) {
if (element.first == m_buffer) { if (element.first == m_buffer) {
m_originScrooled = element.second; m_originScrooled = element.second;

View File

@ -54,7 +54,7 @@ void appl::WorkerCloseAllFile::init() {
autoDestroy(); autoDestroy();
return; return;
} }
m_worker->registerOnEvent(shared_from_this(), appl::WorkerCloseFile::eventCloseDone, s_closeDone); m_worker->registerOnEvent(shared_from_this(), "close-file-done", s_closeDone);
} }
appl::WorkerCloseAllFile::~WorkerCloseAllFile() { appl::WorkerCloseAllFile::~WorkerCloseAllFile() {
@ -79,7 +79,7 @@ void appl::WorkerCloseAllFile::onReceiveMessage(const ewol::object::Message& _ms
autoDestroy(); autoDestroy();
return; return;
} }
m_worker->registerOnEvent(shared_from_this(), appl::WorkerCloseFile::eventCloseDone, s_closeDone); m_worker->registerOnEvent(shared_from_this(), "close-file-done", s_closeDone);
} }
} }

View File

@ -14,19 +14,17 @@
#undef __class__ #undef __class__
#define __class__ "WorkerCloseFile" #define __class__ "WorkerCloseFile"
const char* appl::WorkerCloseFile::eventCloseDone = "close-file-done";
static const char* s_saveAsValidate = "save-as-validate"; static const char* s_saveAsValidate = "save-as-validate";
static const char* s_saveValidate = "save-validate"; static const char* s_saveValidate = "save-validate";
static const char* s_closeValidate = "close-validate"; static const char* s_closeValidate = "close-validate";
static const char* s_saveAsDone = "save-as-done"; static const char* s_saveAsDone = "save-as-done";
appl::WorkerCloseFile::WorkerCloseFile() : appl::WorkerCloseFile::WorkerCloseFile() :
signalCloseDone(*this, "close-file-done"),
m_buffer(nullptr), m_buffer(nullptr),
m_worker(nullptr), m_worker(nullptr),
m_bufferManager(nullptr) { m_bufferManager(nullptr) {
addObjectType("appl::WorkerCloseFile"); addObjectType("appl::WorkerCloseFile");
addEventId(eventCloseDone);
// load buffer manager: // load buffer manager:
m_bufferManager = appl::BufferManager::create(); m_bufferManager = appl::BufferManager::create();
} }
@ -61,7 +59,7 @@ void appl::WorkerCloseFile::init(const std::string& _bufferName) {
return; return;
} }
if (m_buffer->isModify() == false) { if (m_buffer->isModify() == false) {
generateEventId(eventCloseDone); signalCloseDone.emit(shared_from_this());
m_buffer->destroy(); m_buffer->destroy();
return; return;
} }
@ -112,7 +110,7 @@ void appl::WorkerCloseFile::onReceiveMessage(const ewol::object::Message& _msg)
if (_msg.getMessage() == s_saveAsValidate) { if (_msg.getMessage() == s_saveAsValidate) {
m_worker = appl::WorkerSaveFile::create(m_bufferName); m_worker = appl::WorkerSaveFile::create(m_bufferName);
if (m_worker != nullptr) { if (m_worker != nullptr) {
m_worker->registerOnEvent(shared_from_this(), appl::WorkerSaveFile::eventSaveDone, s_saveAsDone); m_worker->registerOnEvent(shared_from_this(), "save-file-done", s_saveAsDone);
} }
} else if (_msg.getMessage() == s_saveValidate) { } else if (_msg.getMessage() == s_saveValidate) {
if (m_buffer == nullptr) { if (m_buffer == nullptr) {
@ -127,7 +125,7 @@ void appl::WorkerCloseFile::onReceiveMessage(const ewol::object::Message& _msg)
} }
tmpWindows->displayWarningMessage("We can not save the file : <br/><i>" + m_buffer->getFileName() + "</i>"); tmpWindows->displayWarningMessage("We can not save the file : <br/><i>" + m_buffer->getFileName() + "</i>");
} else { } else {
generateEventId(eventCloseDone); signalCloseDone.emit(shared_from_this());
} }
} else if ( _msg.getMessage() == s_closeValidate } else if ( _msg.getMessage() == s_closeValidate
|| _msg.getMessage() == s_saveAsDone) { || _msg.getMessage() == s_saveAsDone) {
@ -136,7 +134,7 @@ void appl::WorkerCloseFile::onReceiveMessage(const ewol::object::Message& _msg)
autoDestroy(); autoDestroy();
return; return;
} }
generateEventId(eventCloseDone); signalCloseDone.emit(shared_from_this());
m_buffer->destroy(); m_buffer->destroy();
m_buffer.reset(); m_buffer.reset();
} }

View File

@ -16,7 +16,7 @@
namespace appl { namespace appl {
class WorkerCloseFile : public ewol::Object { class WorkerCloseFile : public ewol::Object {
public: public:
static const char* eventCloseDone; ewol::object::Signal<void> signalCloseDone;
protected: protected:
// note : if == "" ==> current ... // note : if == "" ==> current ...
WorkerCloseFile(); WorkerCloseFile();

View File

@ -56,7 +56,7 @@ void appl::WorkerSaveAllFile::init() {
autoDestroy(); autoDestroy();
return; return;
} }
m_worker->registerOnEvent(shared_from_this(), appl::WorkerSaveFile::eventSaveDone, s_saveAsDone); m_worker->registerOnEvent(shared_from_this(), "save-file-done", s_saveAsDone);
} }
appl::WorkerSaveAllFile::~WorkerSaveAllFile() { appl::WorkerSaveAllFile::~WorkerSaveAllFile() {
@ -81,7 +81,7 @@ void appl::WorkerSaveAllFile::onReceiveMessage(const ewol::object::Message& _msg
autoDestroy(); autoDestroy();
return; return;
} }
m_worker->registerOnEvent(shared_from_this(), appl::WorkerSaveFile::eventSaveDone, s_saveAsDone); m_worker->registerOnEvent(shared_from_this(), "save-file-done", s_saveAsDone);
} }
} }

View File

@ -13,13 +13,11 @@
#undef __class__ #undef __class__
#define __class__ "WorkerSaveFile" #define __class__ "WorkerSaveFile"
const char* appl::WorkerSaveFile::eventSaveDone = "save-file-done";
static const char* s_saveAsValidate = "save-as-validate"; static const char* s_saveAsValidate = "save-as-validate";
appl::WorkerSaveFile::WorkerSaveFile() { appl::WorkerSaveFile::WorkerSaveFile() :
signalSaveDone(*this, "save-file-done") {
addObjectType("appl::WorkerSaveFile"); addObjectType("appl::WorkerSaveFile");
addEventId(eventSaveDone);
// load buffer manager: // load buffer manager:
m_bufferManager = appl::BufferManager::create(); m_bufferManager = appl::BufferManager::create();
} }
@ -56,7 +54,7 @@ void appl::WorkerSaveFile::init(const std::string& _bufferName, bool _forceSaveA
if (_forceSaveAs == false) { if (_forceSaveAs == false) {
if (tmpBuffer->hasFileName() == true) { if (tmpBuffer->hasFileName() == true) {
tmpBuffer->storeFile(); tmpBuffer->storeFile();
generateEventId(eventSaveDone); signalSaveDone.emit(shared_from_this());
autoDestroy(); autoDestroy();
return; return;
} }
@ -79,7 +77,7 @@ void appl::WorkerSaveFile::init(const std::string& _bufferName, bool _forceSaveA
return; return;
} }
tmpWindows->popUpWidgetPush(m_chooser); tmpWindows->popUpWidgetPush(m_chooser);
m_chooser->registerOnEvent(shared_from_this(), ewol::widget::FileChooser::eventValidate, s_saveAsValidate); m_chooser->registerOnEvent(shared_from_this(), "validate", s_saveAsValidate);
} }
appl::WorkerSaveFile::~WorkerSaveFile() { appl::WorkerSaveFile::~WorkerSaveFile() {
@ -113,7 +111,7 @@ void appl::WorkerSaveFile::onReceiveMessage(const ewol::object::Message& _msg) {
} }
tmpWindows->displayWarningMessage("We can not save the file : <br/><i>" + tmpBuffer->getFileName() + "</i>"); tmpWindows->displayWarningMessage("We can not save the file : <br/><i>" + tmpBuffer->getFileName() + "</i>");
} else { } else {
generateEventId(eventSaveDone); signalSaveDone.emit(shared_from_this());
} }
} }
} }

View File

@ -15,7 +15,7 @@
namespace appl { namespace appl {
class WorkerSaveFile : public ewol::Object { class WorkerSaveFile : public ewol::Object {
public: public:
static const char* eventSaveDone; ewol::object::Signal<void> signalSaveDone;
protected: protected:
WorkerSaveFile(); WorkerSaveFile();
void init(const std::string& _bufferName, bool _forceSaveAs=true); void init(const std::string& _bufferName, bool _forceSaveAs=true);

View File

@ -98,7 +98,7 @@ void appl::TextPluginCtags::jumpTo(const std::string& _name) {
tmpWidget->addCtagsNewItem(myfile.getFileSystemName(), lineID); tmpWidget->addCtagsNewItem(myfile.getFileSystemName(), lineID);
} while (tagsFindNext (m_ctagFile, &entry) == TagSuccess); } while (tagsFindNext (m_ctagFile, &entry) == TagSuccess);
ewol::getContext().getWindows()->popUpWidgetPush(tmpWidget); ewol::getContext().getWindows()->popUpWidgetPush(tmpWidget);
tmpWidget->registerOnEvent(shared_from_this(), applEventctagsSelection, eventOpenCtagsSelectReturn); tmpWidget->registerOnEvent(shared_from_this(), "select", eventOpenCtagsSelectReturn);
} }
} else { } else {
jumpFile(myfile.getName(), lineID - 1); jumpFile(myfile.getName(), lineID - 1);