static void editBoxCallbackFunc(const char* pText, void* ctx) { EditBoxImplAndroid* thiz = (EditBoxImplAndroid*)ctx; thiz->setText(pText); if (thiz->getDelegate() != NULL) { thiz->getDelegate()->editBoxTextChanged(thiz->getEditBox(), thiz->getText()); thiz->getDelegate()->editBoxEditingDidEnd(thiz->getEditBox()); thiz->getDelegate()->editBoxReturn(thiz->getEditBox()); } #if CC_ENABLE_SCRIPT_BINDING EditBox* pEditBox = thiz->getEditBox(); if (NULL != pEditBox && 0 != pEditBox->getScriptEditBoxHandler()) { CommonScriptData data(pEditBox->getScriptEditBoxHandler(), "changed",pEditBox); ScriptEvent event(kCommonEvent,(void*)&data); ScriptEngineManager::getInstance()->getScriptEngine()->sendEvent(&event); memset(data.eventName, 0, sizeof(data.eventName)); strncpy(data.eventName, "ended", sizeof(data.eventName)); event.data = (void*)&data; ScriptEngineManager::getInstance()->getScriptEngine()->sendEvent(&event); memset(data.eventName, 0, sizeof(data.eventName)); strncpy(data.eventName, "return", sizeof(data.eventName)); event.data = (void*)&data; ScriptEngineManager::getInstance()->getScriptEngine()->sendEvent(&event); } #endif }
static void editBoxCallbackFunc(const char* pText, void* ctx) { EditBoxImplAndroid* thiz = (EditBoxImplAndroid*)ctx; thiz->setText(pText); if (thiz->getDelegate() != NULL) { thiz->getDelegate()->editBoxTextChanged(thiz->getEditBox(), thiz->getText()); thiz->getDelegate()->editBoxEditingDidEnd(thiz->getEditBox()); thiz->getDelegate()->editBoxReturn(thiz->getEditBox()); } EditBox* pEditBox = thiz->getEditBox(); if (NULL != pEditBox && 0 != pEditBox->getScriptEditBoxHandler()) { cocos2d::ScriptEngineProtocol* pEngine = cocos2d::ScriptEngineManager::sharedManager()->getScriptEngine(); pEngine->executeEvent(pEditBox->getScriptEditBoxHandler(), "changed",pEditBox); pEngine->executeEvent(pEditBox->getScriptEditBoxHandler(), "ended",pEditBox); pEngine->executeEvent(pEditBox->getScriptEditBoxHandler(), "return",pEditBox); } }