[email protected] 8 years ago
parent
commit
37f6500450

+ 4 - 1
oxygine/src/InputText.cpp

@@ -107,6 +107,9 @@ namespace oxygine
     void InputText::updateText()
     {
         _textActor->setText(_txt);
+
+        Event evnt(EVENT_TEXT_CHANGED);
+        dispatchEvent(&evnt);
     }
 
     bool findCode(const char* str, int c)
@@ -210,7 +213,7 @@ namespace oxygine
                     break;
                     case SDLK_RETURN:
                     {
-                        Event evnt(Event::COMPLETE);
+                        Event evnt(EVENT_COMPLETE);
                         dispatchEvent(&evnt);
                     }
                     break;

+ 4 - 0
oxygine/src/InputText.h

@@ -1,6 +1,7 @@
 #pragma once
 #include "oxygine-include.h"
 #include "EventDispatcher.h"
+#include "Event.h"
 #include <string>
 
 #ifndef __S3E__
@@ -14,6 +15,9 @@ namespace oxygine
     class InputText: public EventDispatcher
     {
     public:
+        enum {EVENT_TEXT_CHANGED = sysEventID('I', 'T', 'C') };
+        enum {EVENT_COMPLETE = Event::COMPLETE};
+
         InputText();
         ~InputText();
 

+ 12 - 0
oxygine/src/core/android/jniHelper.cpp

@@ -37,4 +37,16 @@ namespace oxygine
             res.emplace_back(str);
         }
     }
+
+    jobjectArray jniGetObjectStringArray(const vector<std::string>& src, JNIEnv* env)
+    {
+        jobjectArray res = env->NewObjectArray(src.size(), env->FindClass("java/lang/String"), nullptr);
+
+        for (size_t i = 0; i < src.size(); ++i)
+        {
+            env->SetObjectArrayElement(res, i, env->NewStringUTF(src[i].c_str()));
+        }
+
+        return res;
+    }
 }

+ 2 - 0
oxygine/src/core/android/jniHelper.h

@@ -48,4 +48,6 @@ namespace oxygine
 
     std::string jniGetString(JNIEnv* env, jstring jstr);
     void        jniGetStringArray(vector<std::string>& res, JNIEnv* env, jobjectArray jarray);
+    jobjectArray jniGetObjectStringArray(const vector<std::string>& src, JNIEnv* env);
+
 }