[DEV] correction of event ID

This commit is contained in:
Edouard DUPIN 2013-12-17 22:57:16 +01:00
parent 6d0c5989cc
commit e131fcaf09
3 changed files with 34 additions and 25 deletions

View File

@ -105,24 +105,31 @@ void ewol::Object::addEventId(const char * _generateEventId) {
void ewol::Object::generateEventId(const char * _generateEventId, const std::string& _data) {
int32_t nbObject = getObjectManager().getNumberObject();
EWOL_VERBOSE("try send message '" << _generateEventId << "'");
// for every element registered ...
for (size_t iii=0; iii<m_externEvent.size(); iii++) {
if (NULL!=m_externEvent[iii]) {
// if we find the event ...
if (m_externEvent[iii]->localEventId == _generateEventId) {
if (NULL != m_externEvent[iii]->destObject) {
if (m_externEvent[iii]->overloadData.size() <= 0){
ewol::object::Message tmpMsg(this, m_externEvent[iii]->destEventId, _data);
EWOL_VERBOSE("send message " << tmpMsg);
m_externEvent[iii]->destObject->onReceiveMessage(tmpMsg);
} else {
// set the user requested data ...
ewol::object::Message tmpMsg(this, m_externEvent[iii]->destEventId, m_externEvent[iii]->overloadData);
EWOL_VERBOSE("send message " << tmpMsg);
m_externEvent[iii]->destObject->onReceiveMessage(tmpMsg);
}
}
}
if (NULL==m_externEvent[iii]) {
EWOL_VERBOSE(" Null pointer");
continue;
}
// if we find the event ...
if (m_externEvent[iii]->localEventId != _generateEventId) {
EWOL_VERBOSE(" wrong event '" << m_externEvent[iii]->localEventId << "' != '" << _generateEventId << "'");
continue;
}
if (m_externEvent[iii]->destObject == NULL) {
EWOL_VERBOSE(" NULL dest");
continue;
}
if (m_externEvent[iii]->overloadData.size() <= 0){
ewol::object::Message tmpMsg(this, m_externEvent[iii]->destEventId, _data);
EWOL_VERBOSE("send message " << tmpMsg);
m_externEvent[iii]->destObject->onReceiveMessage(tmpMsg);
} else {
// set the user requested data ...
ewol::object::Message tmpMsg(this, m_externEvent[iii]->destEventId, m_externEvent[iii]->overloadData);
EWOL_VERBOSE("send message " << tmpMsg);
m_externEvent[iii]->destObject->onReceiveMessage(tmpMsg);
}
}
if (nbObject > getObjectManager().getNumberObject()) {
@ -163,11 +170,12 @@ void ewol::Object::registerOnEvent(ewol::Object * _destinationObject,
}
}
if (false == findIt) {
EWOL_DEBUG("Try to register with a NON direct string name");
EWOL_VERBOSE("Try to register with a NON direct string name");
for(size_t iii=0; iii<m_availlableEventId.size(); iii++) {
if (0 == strncmp(m_availlableEventId[iii], _eventId, 1024)) {
findIt = true;
_eventIdgenerated = m_availlableEventId[iii];
_eventId = m_availlableEventId[iii];
EWOL_VERBOSE("find event ID : '" << _eventId << "' ==> '" << _eventIdgenerated << "'");
break;
}
}

View File

@ -261,6 +261,7 @@ void ewol::widget::Button::setToggleMode(bool _togg) {
}
bool ewol::widget::Button::onEventInput(const ewol::event::Input& _event) {
EWOL_VERBOSE("Event on BT : " << _event);
// disable event in the lock access mode :
if(ewol::widget::Button::lockAccess == m_lock) {
return false;
@ -284,17 +285,17 @@ bool ewol::widget::Button::onEventInput(const ewol::event::Input& _event) {
}
}
bool previousPressed = m_buttonPressed;
//EWOL_DEBUG("Event on BT ... mouse position : " << m_mouseHover);
EWOL_VERBOSE("Event on BT ... mouse hover : " << m_mouseHover);
if (true == m_mouseHover) {
if (1 == _event.getId()) {
if(ewol::key::statusDown == _event.getStatus()) {
//EWOL_DEBUG("Generate event : " << eventDown);
EWOL_VERBOSE(getName() << " : Generate event : " << eventDown);
generateEventId(eventDown);
m_buttonPressed = true;
markToRedraw();
}
if(ewol::key::statusUp == _event.getStatus()) {
//EWOL_DEBUG("Generate event : " << eventUp);
EWOL_VERBOSE(getName() << " : Generate event : " << eventUp);
generateEventId(eventUp);
m_buttonPressed = false;
markToRedraw();
@ -309,14 +310,14 @@ bool ewol::widget::Button::onEventInput(const ewol::event::Input& _event) {
} else {
// inverse value :
m_value = (m_value)?false:true;
//EWOL_DEBUG("Generate event : " << eventPressed);
EWOL_VERBOSE(getName() << " : Generate event : " << eventPressed);
generateEventId(eventPressed);
//EWOL_DEBUG("Generate event : " << eventValue << " val=" << m_value );
EWOL_VERBOSE(getName() << " : Generate event : " << eventValue << " val=" << m_value );
generateEventId(eventValue, std::to_string(m_value));
if( false == m_toggleMode
&& true == m_value) {
m_value = false;
//EWOL_DEBUG("Generate event : " << ewol::widget::Button::eventValue << " val=" << m_value);
EWOL_VERBOSE(getName() << " : Generate event : " << ewol::widget::Button::eventValue << " val=" << m_value);
generateEventId(eventValue, std::to_string(m_value));
}
}

View File

@ -103,7 +103,7 @@ void ewol::widget::Composer::registerOnEventNameWidget(ewol::Object * _destinati
const std::string& _overloadData) {
ewol::Widget* tmpWidget = getWidgetNamed(_subWidgetName);
if (NULL != tmpWidget) {
//EWOL_DEBUG("Find widget named : \"" << _subWidgetName << "\" register event=\"" << _eventId << "\"");
EWOL_DEBUG("Find widget named : \"" << _subWidgetName << "\" register event=\"" << _eventId << "\"");
tmpWidget->registerOnEvent(_destinationObject, _eventId, _eventIdgenerated, _overloadData);
} else {
EWOL_WARNING("[" << getId() << "] {" << getObjectType() << "} Can not register event : \"" << _eventId << "\" the widget named=\"" << _subWidgetName << "\" does not exist");