diff options
author | dongsug song <dongsug.song@samsung.com> | 2017-10-18 01:04:25 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@review.ap-northeast-2.compute.internal> | 2017-10-18 01:04:26 +0000 |
commit | c82c658dc381bc11cc6fb778640ebae505c890df (patch) | |
tree | 7efc2a4fc55a3619cca1d2ef1c5ba76431273ae9 | |
parent | 8689cd895ee6c87b8f26365f26cb7a14e866ce70 (diff) | |
parent | b2bd060f6342e3fbee533b2a3ecb044318a944d0 (diff) | |
download | nui-c82c658dc381bc11cc6fb778640ebae505c890df.tar.gz nui-c82c658dc381bc11cc6fb778640ebae505c890df.tar.bz2 nui-c82c658dc381bc11cc6fb778640ebae505c890df.zip |
Merge "[4.0] Update LanguageChangedSignal and KeyboardResizedSignal for ImfManager" into tizen_4.0
-rwxr-xr-x | Tizen.NUI/src/internal/KeyboardResizedSignalType.cs | 186 | ||||
-rwxr-xr-x | Tizen.NUI/src/internal/LanguageChangedSignalType.cs | 185 | ||||
-rwxr-xr-x | Tizen.NUI/src/internal/ManualPINVOKE.cs | 42 | ||||
-rwxr-xr-x | Tizen.NUI/src/public/ImfManager.cs | 64 |
4 files changed, 463 insertions, 14 deletions
diff --git a/Tizen.NUI/src/internal/KeyboardResizedSignalType.cs b/Tizen.NUI/src/internal/KeyboardResizedSignalType.cs new file mode 100755 index 0000000..e91a505 --- /dev/null +++ b/Tizen.NUI/src/internal/KeyboardResizedSignalType.cs @@ -0,0 +1,186 @@ +/* + * Copyright(c) 2017 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */
+using System; + +namespace Tizen.NUI +{ + /// <summary> + /// Please do not use! this will be deprecated + /// </summary> + [Obsolete("Please do not use! this will be internal")] + public class KeyboardResizedSignalType : global::System.IDisposable + { + private global::System.Runtime.InteropServices.HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal KeyboardResizedSignalType(global::System.IntPtr cPtr, bool cMemoryOwn) + { + swigCMemOwn = cMemoryOwn; + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr); + } + + internal static global::System.Runtime.InteropServices.HandleRef getCPtr(KeyboardResizedSignalType obj) + { + return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; + } + + //A Flag to check who called Dispose(). (By User or DisposeQueue) + private bool isDisposeQueued = false; + /// <summary> + /// A Flat to check if it is already disposed. + /// </summary> + /// <since_tizen> 3 </since_tizen> + protected bool disposed = false; + + /// <summary> + /// Dispose + /// </summary> + ~KeyboardResizedSignalType() + { + if (!isDisposeQueued) + { + isDisposeQueued = true; + DisposeQueue.Instance.Add(this); + } + } + + /// <summary> + /// Dispose + /// </summary> + public void Dispose() + { + //Throw excpetion if Dispose() is called in separate thread. + if (!Window.IsInstalled()) + { + throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread."); + } + + if (isDisposeQueued) + { + Dispose(DisposeTypes.Implicit); + } + else + { + Dispose(DisposeTypes.Explicit); + System.GC.SuppressFinalize(this); + } + } + + /// <summary> + /// Dispose + /// </summary> + protected virtual void Dispose(DisposeTypes type) + { + if (disposed) + { + return; + } + + if (type == DisposeTypes.Explicit) + { + //Called by User + //Release your own managed resources here. + //You should release all of your own disposable objects here. + + } + + //Release your own unmanaged resources here. + //You should not access any managed member here except static instance. + //because the execution order of Finalizes is non-deterministic. + + if (swigCPtr.Handle != global::System.IntPtr.Zero) + { + if (swigCMemOwn) + { + swigCMemOwn = false; + NDalicManualPINVOKE.delete_KeyboardResizedSignalType(swigCPtr); + } + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); + } + + disposed = true; + } + + /// <summary> + /// Queries whether there are any connected slots. + /// </summary> + /// <returns>True if there are any slots connected to the signal</returns> + public bool Empty() + { + bool ret = NDalicManualPINVOKE.KeyboardResizedSignalType_Empty(swigCPtr); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + /// <summary> + /// Queries the number of slots. + /// </summary> + /// <returns>The number of slots connected to this signal</returns> + public uint GetConnectionCount() + { + uint ret = NDalicManualPINVOKE.KeyboardResizedSignalType_GetConnectionCount(swigCPtr); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + /// <summary> + /// Connects a function. + /// </summary> + /// <param name="func">The function to connect</param> + public void Connect(System.Delegate func) + { + System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); + { + NDalicManualPINVOKE.KeyboardResizedSignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + } + + /// <summary> + /// Disconnects a function. + /// </summary> + /// <param name="func">The function to disconnect</param> + public void Disconnect(System.Delegate func) + { + System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); + { + NDalicManualPINVOKE.KeyboardResizedSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + } + + /// <summary> + /// Connects a member function. + /// </summary> + /// <param name="arg">The member function to connect</param> + public void Emit(int arg) + { + NDalicManualPINVOKE.KeyboardResizedSignalType_Emit(swigCPtr, arg); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + + /// <summary> + /// The contructor. + /// </summary> + public KeyboardResizedSignalType() : this(NDalicManualPINVOKE.new_KeyboardResizedSignalType(), true) + { + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + + } + +} diff --git a/Tizen.NUI/src/internal/LanguageChangedSignalType.cs b/Tizen.NUI/src/internal/LanguageChangedSignalType.cs new file mode 100755 index 0000000..77c0c7e --- /dev/null +++ b/Tizen.NUI/src/internal/LanguageChangedSignalType.cs @@ -0,0 +1,185 @@ +/* + * Copyright(c) 2017 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */
+using System; + +namespace Tizen.NUI +{ + /// <summary> + /// Please do not use! this will be deprecated + /// </summary> + [Obsolete("Please do not use! this will be internal")] + public class LanguageChangedSignalType : global::System.IDisposable + { + private global::System.Runtime.InteropServices.HandleRef swigCPtr; + protected bool swigCMemOwn; + + internal LanguageChangedSignalType(global::System.IntPtr cPtr, bool cMemoryOwn) + { + swigCMemOwn = cMemoryOwn; + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr); + } + + internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LanguageChangedSignalType obj) + { + return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; + } + + //A Flag to check who called Dispose(). (By User or DisposeQueue) + private bool isDisposeQueued = false; + /// <summary> + /// A Flat to check if it is already disposed. + /// </summary> + /// <since_tizen> 3 </since_tizen> + protected bool disposed = false; + + /// <summary> + /// Dispose + /// </summary> + ~LanguageChangedSignalType() + { + if (!isDisposeQueued) + { + isDisposeQueued = true; + DisposeQueue.Instance.Add(this); + } + } + + /// <summary> + /// Dispose + /// </summary> + public void Dispose() + { + //Throw excpetion if Dispose() is called in separate thread. + if (!Window.IsInstalled()) + { + throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread."); + } + + if (isDisposeQueued) + { + Dispose(DisposeTypes.Implicit); + } + else + { + Dispose(DisposeTypes.Explicit); + System.GC.SuppressFinalize(this); + } + } + + /// <summary> + /// Dispose + /// </summary> + protected virtual void Dispose(DisposeTypes type) + { + if (disposed) + { + return; + } + + if (type == DisposeTypes.Explicit) + { + //Called by User + //Release your own managed resources here. + //You should release all of your own disposable objects here. + + } + + //Release your own unmanaged resources here. + //You should not access any managed member here except static instance. + //because the execution order of Finalizes is non-deterministic. + + if (swigCPtr.Handle != global::System.IntPtr.Zero) + { + if (swigCMemOwn) + { + swigCMemOwn = false; + NDalicManualPINVOKE.delete_LanguageChangedSignalType(swigCPtr); + } + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); + } + + disposed = true; + } + + /// <summary> + /// Queries whether there are any connected slots. + /// </summary> + /// <returns>True if there are any slots connected to the signal</returns> + public bool Empty() + { + bool ret = NDalicManualPINVOKE.LanguageChangedSignalType_Empty(swigCPtr); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + /// <summary> + /// Queries the number of slots. + /// </summary> + /// <returns>The number of slots connected to this signal</returns> + public uint GetConnectionCount() + { + uint ret = NDalicManualPINVOKE.LanguageChangedSignalType_GetConnectionCount(swigCPtr); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + + /// <summary> + /// Connects a member function. + /// </summary> + /// <param name="func">The member function to connect</param> + public void Connect(System.Delegate func) + { + System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); + { + NDalicManualPINVOKE.LanguageChangedSignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + } + + /// <summary> + /// Disconnects a function. + /// </summary> + /// <param name="func">The function to disconnect</param> + public void Disconnect(System.Delegate func) + { + System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); + { + NDalicManualPINVOKE.LanguageChangedSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + } + + /// <summary> + /// Emits the signal. + /// </summary> + public void Emit(int arg) + { + NDalicManualPINVOKE.LanguageChangedSignalType_Emit(swigCPtr, arg); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + + /// <summary> + /// The contructor. + /// </summary> + public LanguageChangedSignalType() : this(NDalicManualPINVOKE.new_LanguageChangedSignalType(), true) + { + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + + } + +} diff --git a/Tizen.NUI/src/internal/ManualPINVOKE.cs b/Tizen.NUI/src/internal/ManualPINVOKE.cs index aff59c8..b590137 100755 --- a/Tizen.NUI/src/internal/ManualPINVOKE.cs +++ b/Tizen.NUI/src/internal/ManualPINVOKE.cs @@ -577,6 +577,48 @@ namespace Tizen.NUI [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_KeyboardTypeSignalType")] public static extern void delete_KeyboardTypeSignalType(global::System.Runtime.InteropServices.HandleRef jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_LanguageChangedSignalType_Empty")] + public static extern bool LanguageChangedSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_LanguageChangedSignalType_GetConnectionCount")] + public static extern uint LanguageChangedSignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_LanguageChangedSignalType_Connect")] + public static extern void LanguageChangedSignalType_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_LanguageChangedSignalType_Disconnect")] + public static extern void LanguageChangedSignalType_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_LanguageChangedSignalType_Emit")] + public static extern void LanguageChangedSignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_LanguageChangedSignalType")] + public static extern global::System.IntPtr new_LanguageChangedSignalType(); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_LanguageChangedSignalType")] + public static extern void delete_LanguageChangedSignalType(global::System.Runtime.InteropServices.HandleRef jarg1); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_KeyboardResizedSignalType_Empty")] + public static extern bool KeyboardResizedSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_KeyboardResizedSignalType_GetConnectionCount")] + public static extern uint KeyboardResizedSignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_KeyboardResizedSignalType_Connect")] + public static extern void KeyboardResizedSignalType_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_KeyboardResizedSignalType_Disconnect")] + public static extern void KeyboardResizedSignalType_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_KeyboardResizedSignalType_Emit")] + public static extern void KeyboardResizedSignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_KeyboardResizedSignalType")] + public static extern global::System.IntPtr new_KeyboardResizedSignalType(); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_KeyboardResizedSignalType")] + public static extern void delete_KeyboardResizedSignalType(global::System.Runtime.InteropServices.HandleRef jarg1); + //////////////////////InputMethodOptions [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_InputMethodOptions")] diff --git a/Tizen.NUI/src/public/ImfManager.cs b/Tizen.NUI/src/public/ImfManager.cs index 2ae0294..7f4eeec 100755 --- a/Tizen.NUI/src/public/ImfManager.cs +++ b/Tizen.NUI/src/public/ImfManager.cs @@ -1358,14 +1358,29 @@ namespace Tizen.NUI } } - private delegate void ResizedEventCallbackType(); + /// <summary> + /// ImfManager resized event. + /// </summary> + public class ResizedEventArgs : EventArgs + { + /// <summary> + /// resized. + /// </summary> + public int Resized + { + get; + set; + } + } + + private delegate void ResizedEventCallbackType(int resized); private ResizedEventCallbackType _resizedEventCallback; - private event EventHandler _resizedEventHandler; + private event EventHandler<ResizedEventArgs> _resizedEventHandler; /// <summary> /// ImfManager resized. /// </summary> - public event EventHandler Resized + public event EventHandler<ResizedEventArgs> Resized { add { @@ -1388,11 +1403,14 @@ namespace Tizen.NUI } } - private void OnResized() + private void OnResized(int resized) { + ResizedEventArgs e = new ResizedEventArgs(); + e.Resized = resized; + if (_resizedEventHandler != null) { - _resizedEventHandler(this, null); + _resizedEventHandler(this, e); } } @@ -1400,9 +1418,9 @@ namespace Tizen.NUI /// ImfManager resized signal. /// </summary> [Obsolete("Please do not use! this will be internal")] - public ImfVoidSignalType ResizedSignal() + public KeyboardResizedSignalType ResizedSignal() { - ImfVoidSignalType ret = new ImfVoidSignalType(NDalicManualPINVOKE.ImfManager_ResizedSignal(swigCPtr), false); + KeyboardResizedSignalType ret = new KeyboardResizedSignalType(NDalicManualPINVOKE.ImfManager_ResizedSignal(swigCPtr), false); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; } @@ -1466,14 +1484,29 @@ namespace Tizen.NUI } } - private delegate void LanguageChangedEventCallbackType(); + /// <summary> + /// ImfManager language changed event args. + /// </summary> + public class LanguageChangedEventArgs : EventArgs + { + /// <summary> + /// language changed. + /// </summary> + public int LanguageChanged + { + get; + set; + } + } + + private delegate void LanguageChangedEventCallbackType(int languageChanged); private LanguageChangedEventCallbackType _languageChangedEventCallback; - private event EventHandler _languageChangedEventHandler; + private event EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler; /// <summary> /// ImfManager language changed. /// </summary> - public event EventHandler LanguageChanged + public event EventHandler<LanguageChangedEventArgs> LanguageChanged { add { @@ -1496,11 +1529,14 @@ namespace Tizen.NUI } } - private void OnLanguageChanged() + private void OnLanguageChanged(int languageChanged) { + LanguageChangedEventArgs e = new LanguageChangedEventArgs(); + e.LanguageChanged = languageChanged; + if (_languageChangedEventHandler != null) { - _languageChangedEventHandler(this, null); + _languageChangedEventHandler(this, e); } } @@ -1508,9 +1544,9 @@ namespace Tizen.NUI /// ImfManager language changed signal. /// </summary> [Obsolete("Please do not use! this will be internal")] - public ImfVoidSignalType LanguageChangedSignal() + public LanguageChangedSignalType LanguageChangedSignal() { - ImfVoidSignalType ret = new ImfVoidSignalType(NDalicManualPINVOKE.ImfManager_LanguageChangedSignal(swigCPtr), false); + LanguageChangedSignalType ret = new LanguageChangedSignalType(NDalicManualPINVOKE.ImfManager_LanguageChangedSignal(swigCPtr), false); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; } |