From 8fcd8369cd42d0328bcc60c7a29eccac65172d70 Mon Sep 17 00:00:00 2001 From: Edouard Dupin Date: Sun, 1 Jul 2012 17:55:46 +0200 Subject: [PATCH] change properties of the sending message between objects --- Java/PROJECT_NAME.java | 12 ++++++------ Java/interfaceAudio.java | 2 +- Sources/libewol/ewol/EObject.cpp | 9 ++++----- Sources/libewol/ewol/EObject.h | 8 +++----- Sources/libewol/ewol/widget/CheckBox.cpp | 6 ++++-- Sources/libewol/ewol/widget/Entry.cpp | 2 +- Sources/libewol/ewol/widget/Entry.h | 4 ++-- Sources/libewol/ewol/widget/Menu.cpp | 2 +- 8 files changed, 22 insertions(+), 23 deletions(-) diff --git a/Java/PROJECT_NAME.java b/Java/PROJECT_NAME.java index 63e5ba3f..51190fea 100644 --- a/Java/PROJECT_NAME.java +++ b/Java/PROJECT_NAME.java @@ -148,9 +148,9 @@ public class __PROJECT_NAME__ extends Activity { super.onResume(); mGLView.onResume(); mAudioThread = new Thread(mStreams); - //if (mAudioThread != NULL) { + if (mAudioThread ~= NULL) { mAudioThread.start(); - //} + } // call C interfaceJNI.ActivityOnResume(); } @@ -159,12 +159,12 @@ public class __PROJECT_NAME__ extends Activity { { super.onPause(); mGLView.onPause(); - //if (mAudioThread != NULL) { + if (mAudioThread ~= NULL) { // request audio stop - //mAudioThread.Stop(); + mAudioThread.AutoStop(); // wait the thread ended ... - //mAudioThread.join(); - //} + mAudioThread.join(); + } // call C interfaceJNI.ActivityOnPause(); } diff --git a/Java/interfaceAudio.java b/Java/interfaceAudio.java index 7b3551e3..cac77b6a 100644 --- a/Java/interfaceAudio.java +++ b/Java/interfaceAudio.java @@ -91,7 +91,7 @@ public class interfaceAudio implements Runnable m_musicTrack.play(); } - public void Stop() + public void AutoStop() { if(m_musicTrack == null) { return; diff --git a/Sources/libewol/ewol/EObject.cpp b/Sources/libewol/ewol/EObject.cpp index 404e2902..c532b802 100644 --- a/Sources/libewol/ewol/EObject.cpp +++ b/Sources/libewol/ewol/EObject.cpp @@ -210,9 +210,10 @@ void ewol::EObject::AddEventId(const char * generateEventId) /** * @brief Generate event on all registered EObject * @param[in] generateEventId event Id that is curetly generated + * @param[in] data data associated with the event * @return --- */ -void ewol::EObject::GenerateEventId(const char * generateEventId) +void ewol::EObject::GenerateEventId(const char * generateEventId, const etk::UString data) { // for every element registered ... for (int32_t iii=0; iiilocalEventId == generateEventId) { if (NULL != m_externEvent[iii]->destEObject) { - m_externEvent[iii]->destEObject->OnReceiveMessage(this, m_externEvent[iii]->destEventId, m_externEvent[iii]->destData); + m_externEvent[iii]->destEObject->OnReceiveMessage(this, m_externEvent[iii]->destEventId, data); } } } @@ -253,10 +254,9 @@ void ewol::EObject::RegisterMultiCast(const char* const messageId) * @param[in] destinationObject pointer on the object that might be call when an event is generated * @param[in] eventId Event generate inside the object * @param[in] eventIdgenerated event generated when call the distant EObject.OnReceiveMessage(...) - * @param[in] data data associated with the event * @return true if register corectly done */ -void ewol::EObject::RegisterOnEvent(ewol::EObject * destinationObject, const char * eventId, const char * eventIdgenerated, etk::UString data) +void ewol::EObject::RegisterOnEvent(ewol::EObject * destinationObject, const char * eventId, const char * eventIdgenerated) { if (NULL == destinationObject) { EWOL_ERROR("Input ERROR NULL pointer EObject ..."); @@ -300,7 +300,6 @@ void ewol::EObject::RegisterOnEvent(ewol::EObject * destinationObject, const cha } else { tmpEvent->destEventId = eventId; } - tmpEvent->destData = data; m_externEvent.PushBack(tmpEvent); } diff --git a/Sources/libewol/ewol/EObject.h b/Sources/libewol/ewol/EObject.h index faab1c78..ab69d23d 100644 --- a/Sources/libewol/ewol/EObject.h +++ b/Sources/libewol/ewol/EObject.h @@ -45,7 +45,6 @@ namespace ewol { const char* localEventId; //!< local event Id generation ewol::EObject* destEObject; //!< destination widget that might be call const char* destEventId; //!< Generated event ID on the distant widget - etk::UString destData; //!< destination data }; /** @@ -102,9 +101,10 @@ namespace ewol { /** * @brief Generate event on all registered EObject * @param[in] generateEventId event Id that is curetly generated + * @param[in] data data associated with the event * @return --- */ - void GenerateEventId(const char * generateEventId); + void GenerateEventId(const char * generateEventId, const etk::UString data = ""); /** * @brief Generate Multicast event on all EObject requested the event @@ -112,7 +112,6 @@ namespace ewol { * @param[in] data String that is send at all the destinations * @return --- */ - //void SendMultiCast(const char* const messageId, etk::UString& data); void SendMultiCast(const char* const messageId, etk::UString data = ""); /** @@ -127,10 +126,9 @@ namespace ewol { * @param[in] destinationObject pointer on the object that might be call when an event is generated * @param[in] eventId Event generate inside the object * @param[in] eventIdgenerated event generated when call the distant EObject.OnReceiveMessage(...) - * @param[in] data data associated with the event * @return --- */ - void RegisterOnEvent(ewol::EObject * destinationObject, const char * eventId, const char * eventIdgenerated = NULL, etk::UString data = ""); + void RegisterOnEvent(ewol::EObject * destinationObject, const char * eventId, const char * eventIdgenerated = NULL); /** * @brief Inform object that an other object is removed ... diff --git a/Sources/libewol/ewol/widget/CheckBox.cpp b/Sources/libewol/ewol/widget/CheckBox.cpp index 481c22cd..ec4340c9 100644 --- a/Sources/libewol/ewol/widget/CheckBox.cpp +++ b/Sources/libewol/ewol/widget/CheckBox.cpp @@ -196,10 +196,11 @@ bool ewol::CheckBox::OnEventInput(ewol::inputType_te type, int32_t IdInput, even if (ewol::EVENT_INPUT_TYPE_SINGLE == typeEvent) { if(true == m_value) { m_value = false; + GenerateEventId(ewolEventCheckBoxClicked, "false"); } else { m_value = true; + GenerateEventId(ewolEventCheckBoxClicked, "true"); } - GenerateEventId(ewolEventCheckBoxClicked); ewol::widgetManager::FocusKeep(this); MarkToReedraw(); return true; @@ -218,11 +219,12 @@ bool ewol::CheckBox::OnEventKb(eventKbType_te typeEvent, uniChar_t unicodeData) ) { if(true == m_value) { m_value = false; + GenerateEventId(ewolEventCheckBoxClicked, "false"); } else { m_value = true; + GenerateEventId(ewolEventCheckBoxClicked, "true"); } MarkToReedraw(); - GenerateEventId(ewolEventCheckBoxClicked); return true; } return false; diff --git a/Sources/libewol/ewol/widget/Entry.cpp b/Sources/libewol/ewol/widget/Entry.cpp index 79279a3c..689d0b91 100644 --- a/Sources/libewol/ewol/widget/Entry.cpp +++ b/Sources/libewol/ewol/widget/Entry.cpp @@ -261,7 +261,7 @@ bool ewol::Entry::OnEventKb(eventKbType_te typeEvent, uniChar_t unicodeData) m_data.Add(m_displayCursorPos, unicodeData); m_displayCursorPos++; } - GenerateEventId(ewolEventEntryModify); + GenerateEventId(ewolEventEntryModify, m_data); MarkToReedraw(); return true; } diff --git a/Sources/libewol/ewol/widget/Entry.h b/Sources/libewol/ewol/widget/Entry.h index 1a21bda4..70c468bb 100644 --- a/Sources/libewol/ewol/widget/Entry.h +++ b/Sources/libewol/ewol/widget/Entry.h @@ -31,7 +31,7 @@ extern const char * const ewolEventEntryClick; extern const char * const ewolEventEntryEnter; -extern const char * const ewolEventEntryModify; +extern const char * const ewolEventEntryModify; // return in the data the new string inside it ... namespace ewol { class Entry :public ewol::Drawable @@ -86,7 +86,7 @@ namespace ewol { * @return true the event is used * @return false the event is not used */ - virtual bool OnEventInput(ewol::inputType_te type, int32_t IdInput, eventInputType_te typeEvent, Vector2D pos); + virtual bool OnEventInput(ewol::inputType_te type, int32_t IdInput, eventInputType_te typeEvent, Vector2D pos); /** * @brief Event on the keybord (if no shortcut has been detected before). * @param[in] type of the event (ewol::EVENT_KB_TYPE_DOWN or ewol::EVENT_KB_TYPE_UP) diff --git a/Sources/libewol/ewol/widget/Menu.cpp b/Sources/libewol/ewol/widget/Menu.cpp index 55facb61..a16b9ab1 100644 --- a/Sources/libewol/ewol/widget/Menu.cpp +++ b/Sources/libewol/ewol/widget/Menu.cpp @@ -237,7 +237,7 @@ void ewol::Menu::OnReceiveMessage(ewol::EObject * CallerObject, const char * eve } else { // set the image if one is present ... myButton->SetImage(m_listElement[jjj]->m_image); - myButton->RegisterOnEvent(this, ewolEventButtonPressed, ewolEventButtonPressed, ""); + myButton->RegisterOnEvent(this, ewolEventButtonPressed, ewolEventButtonPressed); myButton->SetExpendX(true); myButton->SetFillX(true); myButton->SetAlignement(ewol::TEXT_ALIGN_LEFT);