From 84323374e7b26d498a586c8de1df5022acab783d Mon Sep 17 00:00:00 2001 From: "xb.teng" Date: Wed, 29 Nov 2017 21:17:26 +0800 Subject: [PATCH] [NUI] Update Widget / NUIWidgetApplication Update Widget/ NUIWidgetAppliation. Change-Id: I4a123453830e641cfb4452f56a9924408d11b17c --- src/Tizen.NUI/src/internal/AppSignalType.cs | 142 ----- src/Tizen.NUI/src/internal/Application.cs | 13 - src/Tizen.NUI/src/internal/CreateWidgetFunction.cs | 40 ++ src/Tizen.NUI/src/internal/ManualPINVOKE.cs | 303 +++------- src/Tizen.NUI/src/internal/NUIWidgetCoreBackend.cs | 127 +++-- src/Tizen.NUI/src/internal/Registry.cs | 4 - .../src/internal/SWIGTYPE_p_Dali__Widget__Impl.cs | 40 ++ src/Tizen.NUI/src/internal/WidgetApplication.cs | 454 ++------------- .../WidgetApplicationLowBatterySignalType.cs | 188 ------- .../WidgetApplicationLowMemorySignalType.cs | 146 ----- .../src/internal/WidgetCreateSignalType.cs | 144 ----- src/Tizen.NUI/src/internal/WidgetImpl.cs | 406 +++++++++++++ src/Tizen.NUI/src/internal/WidgetImplPtr.cs | 39 ++ .../src/internal/WidgetPauseSignalType.cs | 144 ----- .../src/internal/WidgetResizeSignalType.cs | 143 ----- .../src/internal/WidgetResumeSignalType.cs | 144 ----- .../src/internal/WidgetTerminateSignalType.cs | 143 ----- .../src/internal/WidgetUpdateSignalType.cs | 144 ----- src/Tizen.NUI/src/public/BaseHandle.cs | 3 +- src/Tizen.NUI/src/public/NUIWidgetApplication.cs | 39 +- src/Tizen.NUI/src/public/Widget.cs | 625 +++------------------ 21 files changed, 814 insertions(+), 2617 deletions(-) delete mode 100755 src/Tizen.NUI/src/internal/AppSignalType.cs create mode 100755 src/Tizen.NUI/src/internal/CreateWidgetFunction.cs create mode 100755 src/Tizen.NUI/src/internal/SWIGTYPE_p_Dali__Widget__Impl.cs delete mode 100755 src/Tizen.NUI/src/internal/WidgetApplicationLowBatterySignalType.cs delete mode 100755 src/Tizen.NUI/src/internal/WidgetApplicationLowMemorySignalType.cs delete mode 100755 src/Tizen.NUI/src/internal/WidgetCreateSignalType.cs create mode 100755 src/Tizen.NUI/src/internal/WidgetImpl.cs create mode 100755 src/Tizen.NUI/src/internal/WidgetImplPtr.cs delete mode 100755 src/Tizen.NUI/src/internal/WidgetPauseSignalType.cs delete mode 100755 src/Tizen.NUI/src/internal/WidgetResizeSignalType.cs delete mode 100755 src/Tizen.NUI/src/internal/WidgetResumeSignalType.cs delete mode 100755 src/Tizen.NUI/src/internal/WidgetTerminateSignalType.cs delete mode 100755 src/Tizen.NUI/src/internal/WidgetUpdateSignalType.cs diff --git a/src/Tizen.NUI/src/internal/AppSignalType.cs b/src/Tizen.NUI/src/internal/AppSignalType.cs deleted file mode 100755 index 81ffac7..0000000 --- a/src/Tizen.NUI/src/internal/AppSignalType.cs +++ /dev/null @@ -1,142 +0,0 @@ -/* - * 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. - * - */ - -namespace Tizen.NUI -{ - - internal class AppSignalType : global::System.IDisposable - { - private global::System.Runtime.InteropServices.HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal AppSignalType(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(AppSignalType 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; - //A Flat to check if it is already disposed. - protected bool disposed = false; - - ~AppSignalType() - { - if (!isDisposeQueued) - { - isDisposeQueued = true; - DisposeQueue.Instance.Add(this); - } - } - - 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); - } - } - - 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) - { - swigCMemOwn = false; - NDalicManualPINVOKE.delete_AppSignalType(swigCPtr); - swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); - } - - disposed = true; - } - - public bool Empty() - { - bool ret = NDalicManualPINVOKE.AppSignalType_Empty(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public uint GetConnectionCount() - { - uint ret = NDalicManualPINVOKE.AppSignalType_GetConnectionCount(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public void Connect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.AppSignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Disconnect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.AppSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Emit(WidgetApplication arg) - { - NDalicManualPINVOKE.AppSignalType_Emit(swigCPtr, WidgetApplication.getCPtr(arg)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - public AppSignalType() : this(NDalicManualPINVOKE.new_AppSignalType(), true) - { - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } -} diff --git a/src/Tizen.NUI/src/internal/Application.cs b/src/Tizen.NUI/src/internal/Application.cs index f74d695..dd03f8f 100755 --- a/src/Tizen.NUI/src/internal/Application.cs +++ b/src/Tizen.NUI/src/internal/Application.cs @@ -1078,8 +1078,6 @@ namespace Tizen.NUI public static Application NewApplication(string[] args, string stylesheet, Application.WindowMode windowMode) { - NUILog.Debug(" NewApplication(string[] args, string stylesheet, Application.WindowMode windowMode) is called! "); - Application ret = New(args, stylesheet, (Application.WindowMode)windowMode); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); @@ -1109,8 +1107,6 @@ namespace Tizen.NUI */ public static Application New() { - NUILog.Debug("New() is called!"); - Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_0(), true); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; @@ -1118,8 +1114,6 @@ namespace Tizen.NUI public static Application New(int argc) { - NUILog.Debug("New(int argc) is called!"); - Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_1(argc), true); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; @@ -1127,8 +1121,6 @@ namespace Tizen.NUI public static Application New(int argc, string stylesheet) { - NUILog.Debug("New(int argc, string stylesheet) is called!"); - Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_2(argc, stylesheet), true); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; @@ -1136,8 +1128,6 @@ namespace Tizen.NUI public static Application New(int argc, string stylesheet, Application.WindowMode windowMode) { - NUILog.Debug("New(int argc, string stylesheet, Application.WindowMode windowMode) is called!"); - Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_3(argc, stylesheet, (int)windowMode), true); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; @@ -1145,7 +1135,6 @@ namespace Tizen.NUI public static Application New(string[] args, string stylesheet, Application.WindowMode windowMode) { - NUILog.Debug("New(string[] args) is called!"); int argc = args.Length; string argvStr = string.Join(" ", args); @@ -1163,8 +1152,6 @@ namespace Tizen.NUI public Application() : this(NDalicPINVOKE.new_Application__SWIG_0(), true) { - NUILog.Debug("Application() is called!"); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } diff --git a/src/Tizen.NUI/src/internal/CreateWidgetFunction.cs b/src/Tizen.NUI/src/internal/CreateWidgetFunction.cs new file mode 100755 index 0000000..29d2cfb --- /dev/null +++ b/src/Tizen.NUI/src/internal/CreateWidgetFunction.cs @@ -0,0 +1,40 @@ +/* + * 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. + * + */ +namespace Tizen.NUI +{ + + internal class CreateWidgetFunction + { + private global::System.Runtime.InteropServices.HandleRef swigCPtr; + + internal CreateWidgetFunction(global::System.IntPtr cPtr, bool futureUse) + { + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr); + } + + protected CreateWidgetFunction() + { + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); + } + + internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CreateWidgetFunction obj) + { + return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; + } + } + +} diff --git a/src/Tizen.NUI/src/internal/ManualPINVOKE.cs b/src/Tizen.NUI/src/internal/ManualPINVOKE.cs index d801688..6d7ee52 100755 --- a/src/Tizen.NUI/src/internal/ManualPINVOKE.cs +++ b/src/Tizen.NUI/src/internal/ManualPINVOKE.cs @@ -1122,17 +1122,18 @@ namespace Tizen.NUI [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Widget_SWIGUpcast")] public static extern global::System.IntPtr Widget_SWIGUpcast(global::System.IntPtr jarg1); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_SWIGUpcast")] - public static extern global::System.IntPtr WidgetApplication_SWIGUpcast(global::System.IntPtr jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_SWIGUpcast")] + public static extern global::System.IntPtr WidgetImpl_SWIGUpcast(global::System.IntPtr jarg1); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Widget_New")] - public static extern global::System.IntPtr Widget_New(string jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Widget_New__SWIG_0")] + public static extern global::System.IntPtr Widget_New__SWIG_0(); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Widget__SWIG_0")] - public static extern global::System.IntPtr new_Widget__SWIG_0(); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Widget_New__SWIG_1")] + public static extern global::System.IntPtr Widget_New__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Widget__SWIG_1")] - public static extern global::System.IntPtr new_Widget__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1); + + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Widget")] + public static extern global::System.IntPtr new_Widget(); [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Widget_Assign")] public static extern global::System.IntPtr Widget_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2); @@ -1140,263 +1141,87 @@ namespace Tizen.NUI [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_Widget")] public static extern void delete_Widget(global::System.Runtime.InteropServices.HandleRef jarg1); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Widget_CreateSignal")] - public static extern global::System.IntPtr Widget_CreateSignal(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Widget_TerminateSignal")] - public static extern global::System.IntPtr Widget_TerminateSignal(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Widget_PauseSignal")] - public static extern global::System.IntPtr Widget_PauseSignal(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Widget_ResumeSignal")] - public static extern global::System.IntPtr Widget_ResumeSignal(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Widget_ResizeSignal")] - public static extern global::System.IntPtr Widget_ResizeSignal(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Widget_UpdateSignal")] - public static extern global::System.IntPtr Widget_UpdateSignal(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_New")] - public static extern global::System.IntPtr WidgetApplication_New(int jarg1, string jarg2, string jarg3); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_WidgetApplication__SWIG_0")] - public static extern global::System.IntPtr new_WidgetApplication__SWIG_0(); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_WidgetApplication__SWIG_1")] - public static extern global::System.IntPtr new_WidgetApplication__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_Assign")] - public static extern global::System.IntPtr WidgetApplication_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_WidgetApplication")] - public static extern void delete_WidgetApplication(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_MainLoop")] - public static extern void WidgetApplication_MainLoop(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_Quit")] - public static extern void WidgetApplication_Quit(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_GetResourcePath")] - public static extern string WidgetApplication_GetResourcePath(); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_GetRegion")] - public static extern string WidgetApplication_GetRegion(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_GetLanguage")] - public static extern string WidgetApplication_GetLanguage(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_InitSignal")] - public static extern global::System.IntPtr WidgetApplication_InitSignal(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_TerminateSignal")] - public static extern global::System.IntPtr WidgetApplication_TerminateSignal(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_LanguageChangedSignal")] - public static extern global::System.IntPtr WidgetApplication_LanguageChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_RegionChangedSignal")] - public static extern global::System.IntPtr WidgetApplication_RegionChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_LowBatterySignal")] - public static extern global::System.IntPtr WidgetApplication_LowBatterySignal(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_LowMemorySignal")] - public static extern global::System.IntPtr WidgetApplication_LowMemorySignal(global::System.Runtime.InteropServices.HandleRef jarg1); - - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetCreateSignalType_Empty")] - public static extern bool WidgetCreateSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetCreateSignalType_GetConnectionCount")] - public static extern uint WidgetCreateSignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetCreateSignalType_Connect")] - public static extern void WidgetCreateSignalType_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_WidgetCreateSignalType_Disconnect")] - public static extern void WidgetCreateSignalType_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_WidgetCreateSignalType_Emit")] - public static extern void WidgetCreateSignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_WidgetCreateSignalType")] - public static extern global::System.IntPtr new_WidgetCreateSignalType(); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_WidgetCreateSignalType")] - public static extern void delete_WidgetCreateSignalType(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetTerminateSignalType_Empty")] - public static extern bool WidgetTerminateSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_New")] + public static extern global::System.IntPtr WidgetImpl_New(); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetTerminateSignalType_GetConnectionCount")] - public static extern uint WidgetTerminateSignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_OnCreate")] + public static extern void WidgetImpl_OnCreate(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetTerminateSignalType_Connect")] - public static extern void WidgetTerminateSignalType_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_WidgetImpl_OnCreateSwigExplicitWidgetImpl")] + public static extern void WidgetImpl_OnCreateSwigExplicitWidgetImpl(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetTerminateSignalType_Disconnect")] - public static extern void WidgetTerminateSignalType_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_WidgetImpl_OnTerminate")] + public static extern void WidgetImpl_OnTerminate(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetTerminateSignalType_Emit")] - public static extern void WidgetTerminateSignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_OnTerminateSwigExplicitWidgetImpl")] + public static extern void WidgetImpl_OnTerminateSwigExplicitWidgetImpl(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_WidgetTerminateSignalType")] - public static extern global::System.IntPtr new_WidgetTerminateSignalType(); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_OnPause")] + public static extern void WidgetImpl_OnPause(global::System.Runtime.InteropServices.HandleRef jarg1); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_WidgetTerminateSignalType")] - public static extern void delete_WidgetTerminateSignalType(global::System.Runtime.InteropServices.HandleRef jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_OnPauseSwigExplicitWidgetImpl")] + public static extern void WidgetImpl_OnPauseSwigExplicitWidgetImpl(global::System.Runtime.InteropServices.HandleRef jarg1); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetPauseSignalType_Empty")] - public static extern bool WidgetPauseSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_OnResume")] + public static extern void WidgetImpl_OnResume(global::System.Runtime.InteropServices.HandleRef jarg1); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetPauseSignalType_GetConnectionCount")] - public static extern uint WidgetPauseSignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_OnResumeSwigExplicitWidgetImpl")] + public static extern void WidgetImpl_OnResumeSwigExplicitWidgetImpl(global::System.Runtime.InteropServices.HandleRef jarg1); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetPauseSignalType_Connect")] - public static extern void WidgetPauseSignalType_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_WidgetImpl_OnResize")] + public static extern void WidgetImpl_OnResize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetPauseSignalType_Disconnect")] - public static extern void WidgetPauseSignalType_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_WidgetImpl_OnResizeSwigExplicitWidgetImpl")] + public static extern void WidgetImpl_OnResizeSwigExplicitWidgetImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetPauseSignalType_Emit")] - public static extern void WidgetPauseSignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_OnUpdate")] + public static extern void WidgetImpl_OnUpdate(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_WidgetPauseSignalType")] - public static extern global::System.IntPtr new_WidgetPauseSignalType(); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_OnUpdateSwigExplicitWidgetImpl")] + public static extern void WidgetImpl_OnUpdateSwigExplicitWidgetImpl(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, int jarg3); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_WidgetPauseSignalType")] - public static extern void delete_WidgetPauseSignalType(global::System.Runtime.InteropServices.HandleRef jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_SignalConnected")] + public static extern void WidgetImpl_SignalConnected(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetResumeSignalType_Empty")] - public static extern bool WidgetResumeSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_SignalConnectedSwigExplicitWidgetImpl")] + public static extern void WidgetImpl_SignalConnectedSwigExplicitWidgetImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetResumeSignalType_GetConnectionCount")] - public static extern uint WidgetResumeSignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_SignalDisconnected")] + public static extern void WidgetImpl_SignalDisconnected(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetResumeSignalType_Connect")] - public static extern void WidgetResumeSignalType_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_WidgetImpl_SignalDisconnectedSwigExplicitWidgetImpl")] + public static extern void WidgetImpl_SignalDisconnectedSwigExplicitWidgetImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetResumeSignalType_Disconnect")] - public static extern void WidgetResumeSignalType_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_WidgetImpl_SetContentInfo")] + public static extern void WidgetImpl_SetContentInfo(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetResumeSignalType_Emit")] - public static extern void WidgetResumeSignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_SetImpl")] + public static extern void WidgetImpl_SetImpl(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_WidgetResumeSignalType")] - public static extern global::System.IntPtr new_WidgetResumeSignalType(); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetImpl_director_connect")] + public static extern void WidgetImpl_director_connect(global::System.Runtime.InteropServices.HandleRef jarg1, WidgetImpl.SwigDelegateWidgetImpl_0 delegate0, WidgetImpl.SwigDelegateWidgetImpl_1 delegate1, WidgetImpl.SwigDelegateWidgetImpl_2 delegate2, WidgetImpl.SwigDelegateWidgetImpl_3 delegate3, WidgetImpl.SwigDelegateWidgetImpl_4 delegate4, WidgetImpl.SwigDelegateWidgetImpl_5 delegate5, WidgetImpl.SwigDelegateWidgetImpl_6 delegate6, WidgetImpl.SwigDelegateWidgetImpl_7 delegate7); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_WidgetResumeSignalType")] - public static extern void delete_WidgetResumeSignalType(global::System.Runtime.InteropServices.HandleRef jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Widget_GetImplementation__SWIG_0")] + public static extern global::System.IntPtr Widget_GetImplementation__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetResizeSignalType_Empty")] - public static extern bool WidgetResizeSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetResizeSignalType_GetConnectionCount")] - public static extern uint WidgetResizeSignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetResizeSignalType_Connect")] - public static extern void WidgetResizeSignalType_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_WidgetResizeSignalType_Disconnect")] - public static extern void WidgetResizeSignalType_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_WidgetResizeSignalType_Emit")] - public static extern void WidgetResizeSignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_WidgetResizeSignalType")] - public static extern global::System.IntPtr new_WidgetResizeSignalType(); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_WidgetResizeSignalType")] - public static extern void delete_WidgetResizeSignalType(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetUpdateSignalType_Empty")] - public static extern bool WidgetUpdateSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetUpdateSignalType_GetConnectionCount")] - public static extern uint WidgetUpdateSignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetUpdateSignalType_Connect")] - public static extern void WidgetUpdateSignalType_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_WidgetUpdateSignalType_Disconnect")] - public static extern void WidgetUpdateSignalType_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_WidgetUpdateSignalType_Emit")] - public static extern void WidgetUpdateSignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_WidgetUpdateSignalType")] - public static extern global::System.IntPtr new_WidgetUpdateSignalType(); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_WidgetUpdateSignalType")] - public static extern void delete_WidgetUpdateSignalType(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_AppSignalType_Empty")] - public static extern bool AppSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_AppSignalType_GetConnectionCount")] - public static extern uint AppSignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_AppSignalType_Connect")] - public static extern void AppSignalType_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_AppSignalType_Disconnect")] - public static extern void AppSignalType_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_AppSignalType_Emit")] - public static extern void AppSignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_AppSignalType")] - public static extern global::System.IntPtr new_AppSignalType(); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_AppSignalType")] - public static extern void delete_AppSignalType(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_LowBatterySignalType_Empty")] - public static extern bool WidgetApplication_LowBatterySignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_LowBatterySignalType_GetConnectionCount")] - public static extern uint WidgetApplication_LowBatterySignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_LowBatterySignalType_Connect")] - public static extern void WidgetApplication_LowBatterySignalType_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_WidgetApplication_LowBatterySignalType_Disconnect")] - public static extern void WidgetApplication_LowBatterySignalType_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_WidgetApplication_LowBatterySignalType_Emit")] - public static extern void WidgetApplication_LowBatterySignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_new_LowBatterySignalType")] - public static extern global::System.IntPtr WidgetApplication_new_LowBatterySignalType(); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_delete_LowBatterySignalType")] - public static extern void WidgetApplication_delete_LowBatterySignalType(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_LowMemorySignalType_Empty")] - public static extern bool WidgetApplication_LowMemorySignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_LowMemorySignalType_GetConnectionCount")] - public static extern uint WidgetApplication_LowMemorySignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1); - - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_LowMemorySignalType_Connect")] - public static extern void WidgetApplication_LowMemorySignalType_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_WidgetApplication_LowMemorySignalType_Disconnect")] - public static extern void WidgetApplication_LowMemorySignalType_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_WidgetApplication_New")] + public static extern global::System.IntPtr WidgetApplication_New(int jarg1, string jarg2, string jarg3); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_LowMemorySignalType_Emit")] - public static extern void WidgetApplication_LowMemorySignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_WidgetApplication__SWIG_0")] + public static extern global::System.IntPtr new_WidgetApplication__SWIG_0(); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_new_LowMemorySignalType")] - public static extern global::System.IntPtr WidgetApplication_new_LowMemorySignalType(); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_WidgetApplication__SWIG_1")] + public static extern global::System.IntPtr new_WidgetApplication__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_delete_LowMemorySignalType")] - public static extern void WidgetApplication_delete_LowMemorySignalType(global::System.Runtime.InteropServices.HandleRef jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_Assign")] + public static extern global::System.IntPtr WidgetApplication_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_WidgetApplication")] + public static extern void delete_WidgetApplication(global::System.Runtime.InteropServices.HandleRef jarg1); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_WidgetApplication_RegisterWidgetCreatingFunction")] + public static extern void WidgetApplication_RegisterWidgetCreatingFunction(global::System.Runtime.InteropServices.HandleRef jarg1, ref string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3); + // End widget [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Actor_Property_INHERIT_LAYOUT_DIRECTION_get")] public static extern int Actor_Property_INHERIT_LAYOUT_DIRECTION_get(); diff --git a/src/Tizen.NUI/src/internal/NUIWidgetCoreBackend.cs b/src/Tizen.NUI/src/internal/NUIWidgetCoreBackend.cs index 0f8ff84..55c7193 100755 --- a/src/Tizen.NUI/src/internal/NUIWidgetCoreBackend.cs +++ b/src/Tizen.NUI/src/internal/NUIWidgetCoreBackend.cs @@ -30,6 +30,7 @@ namespace Tizen.NUI /// protected WidgetApplication _application; private string _stylesheet = ""; + Dictionary _widgetInfo; /// /// Dictionary to contain each type of event callback. @@ -41,8 +42,6 @@ namespace Tizen.NUI /// public NUIWidgetCoreBackend() { - //Tizen.Log.Fatal("NUI", "### NUIWidgetCoreBackend called"); - //_application = WidgetApplication.NewWidgetApplication(); } /// @@ -51,7 +50,6 @@ namespace Tizen.NUI public NUIWidgetCoreBackend(string stylesheet) { _stylesheet = stylesheet; - //_application = WidgetApplication.NewWidgetApplication(stylesheet); } /// @@ -83,7 +81,6 @@ namespace Tizen.NUI /// public void Dispose() { - Tizen.Log.Fatal("NUI", "### NUIWidgetCoreBackend Dispose called"); if (_application != null) { _application.Dispose(); @@ -95,106 +92,142 @@ namespace Tizen.NUI /// public void Exit() { - Tizen.Log.Fatal("NUI", "### NUIWidgetCoreBackend Exit called"); if (_application != null) { _application.Quit(); } } + public void RegisterWidgetInfo(Dictionary widgetInfo) + { + _widgetInfo = widgetInfo; + } + /// /// Run Application. /// /// Arguments from commandline. public void Run(string[] args) { + TizenSynchronizationContext.Initialize(); + args[0] = Tizen.Applications.Application.Current.ApplicationInfo.ExecutablePath; _application = WidgetApplication.NewWidgetApplication(args, _stylesheet); + _application.RegisterWidgetInfo(_widgetInfo); - TizenSynchronizationContext.Initialize(); _application.BatteryLow += OnBatteryLow; _application.LanguageChanged += OnLanguageChanged; _application.MemoryLow += OnMemoryLow; _application.RegionChanged += OnRegionChanged; ; - - _application.Init += OnInit; - _application.Terminate += OnTerminate; + _application.Initialized += OnInitialized; + _application.Terminating += OnTerminated; _application.MainLoop(); } - private void OnInit(object sender, WidgetApplication.WidgetApplicationEventArgs e) + /// + /// The Initialized event callback function. + /// + /// The application instance. + /// The event argument for Initialized. + private void OnInitialized(object source, NUIApplicationInitEventArgs e) { - Log.Fatal("NUI", "NUIWidgetApplication OnPreCreated Called"); var preCreateHandler = Handlers[EventType.PreCreated] as Action; preCreateHandler?.Invoke(); - Log.Fatal("NUI", "NUIWidgetApplication OnCreate Called"); var createHandler = Handlers[EventType.Created] as Action; createHandler?.Invoke(); - + _application.RegisterWidgetCreatingFunction(); } - private void OnTerminate(object sender, WidgetApplication.WidgetApplicationEventArgs e) + /// + /// The Terminated event callback function. + /// + /// The application instance. + /// The event argument for Terminated. + private void OnTerminated(object source, NUIApplicationTerminatingEventArgs e) { - Log.Fatal("NUI", "NUIWidgetApplication OnTerminated Called"); var handler = Handlers[EventType.Terminated] as Action; handler?.Invoke(); } /// - /// Region changed event callback function. + /// The Region changed event callback function. /// - /// Application instance - /// Event argument for RegionChanged - private void OnRegionChanged(object sender, WidgetApplication.WidgetApplicationEventArgs e) + /// The application instance. + /// The event argument for RegionChanged. + private void OnRegionChanged(object source, NUIApplicationRegionChangedEventArgs e) { - Log.Fatal("NUI", "NUIWidgetApplication OnRegionChanged Called"); var handler = Handlers[EventType.RegionFormatChanged] as Action; - // Need to make new signal return in native to return right value. - handler?.Invoke(new RegionFormatChangedEventArgs("")); + handler?.Invoke(new RegionFormatChangedEventArgs(e.Application.GetRegion())); } /// - /// Memory Low event callback function. + /// The Language changed event callback function. /// - /// Application instance - /// Event argument for MemoryLow - private void OnMemoryLow(object sender, WidgetApplication.WidgetApplicationEventArgs e) + /// The application instance. + /// The event argument for LanguageChanged. + private void OnLanguageChanged(object source, NUIApplicationLanguageChangedEventArgs e) { - Log.Fatal("NUI", "NUIWidgetApplication OnMemoryLow Called"); - var handler = Handlers[EventType.LowMemory] as Action; - // Need to make new signal return in native to return right value. - handler?.Invoke(new LowMemoryEventArgs(LowMemoryStatus.None)); + var handler = Handlers[EventType.LocaleChanged] as Action; + handler?.Invoke(new LocaleChangedEventArgs(e.Application.GetLanguage())); } /// - /// Language changed event callback function. + /// The Memory Low event callback function. /// - /// Application instance - /// Event argument for LanguageChanged - private void OnLanguageChanged(object sender, WidgetApplication.WidgetApplicationEventArgs e) + /// The application instance. + /// The event argument for MemoryLow. + private void OnMemoryLow(object source, NUIApplicationMemoryLowEventArgs e) { + var handler = Handlers[EventType.LowMemory] as Action; - Log.Fatal("NUI", "NUIWidgetApplication OnLanguageChanged Called"); - var handler = Handlers[EventType.LocaleChanged] as Action; - // Need to make new signal return in native to return right value. - handler?.Invoke(new LocaleChangedEventArgs("")); - + switch (e.MemoryStatus) + { + case Application.MemoryStatus.Normal: + { + handler?.Invoke(new LowMemoryEventArgs(LowMemoryStatus.None)); + break; + } + case Application.MemoryStatus.Low: + { + handler?.Invoke(new LowMemoryEventArgs(LowMemoryStatus.SoftWarning)); + break; + } + case Application.MemoryStatus.CriticallyLow: + { + handler?.Invoke(new LowMemoryEventArgs(LowMemoryStatus.HardWarning)); + break; + } + } } /// - /// Battery low event callback function. + /// The Battery Low event callback function. /// - /// Application instance - /// Event argument for BatteryLow - private void OnBatteryLow(object sender, WidgetApplication.WidgetApplicationEventArgs e) + /// The application instance. + /// The event argument for BatteryLow. + private void OnBatteryLow(object source, NUIApplicationBatteryLowEventArgs e) { - Log.Fatal("NUI", "NUIWidgetApplication OnBatteryLow Called"); var handler = Handlers[EventType.LowBattery] as Action; - // Need to make new signal return in native to return right value. - handler?.Invoke(new LowBatteryEventArgs(LowBatteryStatus.None)); - + switch (e.BatteryStatus) + { + case Application.BatteryStatus.Normal: + { + handler?.Invoke(new LowBatteryEventArgs(LowBatteryStatus.None)); + break; + } + case Application.BatteryStatus.CriticallyLow: + { + handler?.Invoke(new LowBatteryEventArgs(LowBatteryStatus.CriticalLow)); + break; + } + case Application.BatteryStatus.PowerOff: + { + handler?.Invoke(new LowBatteryEventArgs(LowBatteryStatus.PowerOff)); + break; + } + } } internal WidgetApplication WidgetApplicationHandle diff --git a/src/Tizen.NUI/src/internal/Registry.cs b/src/Tizen.NUI/src/internal/Registry.cs index aea7cbe..b242fd8 100755 --- a/src/Tizen.NUI/src/internal/Registry.cs +++ b/src/Tizen.NUI/src/internal/Registry.cs @@ -55,10 +55,6 @@ namespace Tizen.NUI /// The instance of BaseHandle (C# base class). internal static void Register(BaseHandle baseHandle) { - if(savedApplicationThread?.ManagedThreadId != Thread.CurrentThread.ManagedThreadId) - { - throw new global::System.ApplicationException("NUI object is attempt to be created in another thread. It should be created in main thread only!"); - } // We store a pointer to the RefObject for the control RefObject refObj = baseHandle.GetObjectPtr(); diff --git a/src/Tizen.NUI/src/internal/SWIGTYPE_p_Dali__Widget__Impl.cs b/src/Tizen.NUI/src/internal/SWIGTYPE_p_Dali__Widget__Impl.cs new file mode 100755 index 0000000..bd4e5fd --- /dev/null +++ b/src/Tizen.NUI/src/internal/SWIGTYPE_p_Dali__Widget__Impl.cs @@ -0,0 +1,40 @@ +/* + * 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. + * + */ +namespace Tizen.NUI +{ + + internal class SWIGTYPE_p_Dali__Widget__Impl + { + private global::System.Runtime.InteropServices.HandleRef swigCPtr; + + internal SWIGTYPE_p_Dali__Widget__Impl(global::System.IntPtr cPtr, bool futureUse) + { + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr); + } + + protected SWIGTYPE_p_Dali__Widget__Impl() + { + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); + } + + internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__Widget__Impl obj) + { + return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; + } + } + +} diff --git a/src/Tizen.NUI/src/internal/WidgetApplication.cs b/src/Tizen.NUI/src/internal/WidgetApplication.cs index ecebcf8..185d6bd 100755 --- a/src/Tizen.NUI/src/internal/WidgetApplication.cs +++ b/src/Tizen.NUI/src/internal/WidgetApplication.cs @@ -15,18 +15,19 @@ * */ using System; -using System.Runtime.InteropServices; +using System.Collections.Generic; namespace Tizen.NUI { - /// - /// Widget application - /// - internal class WidgetApplication : BaseHandle + internal class WidgetApplication : Application { private global::System.Runtime.InteropServices.HandleRef swigCPtr; + private static WidgetApplication _instance; //singleton + private Dictionary _widgetInfo; + private List _widgetList = new List(); + private delegate System.IntPtr CreateWidgetFunctionDelegate(ref string widgetName); - internal WidgetApplication(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.WidgetApplication_SWIGUpcast(cPtr), cMemoryOwn) + internal WidgetApplication(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn) { swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr); } @@ -36,17 +37,14 @@ namespace Tizen.NUI return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; } - /// - /// To make Window instance be disposed. - /// protected override void Dispose(DisposeTypes type) { - if(disposed) + if (disposed) { return; } - if(type == DisposeTypes.Explicit) + if (type == DisposeTypes.Explicit) { //Called by User //Release your own managed resources here. @@ -56,32 +54,6 @@ namespace Tizen.NUI //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 (_initCallback != null) - { - this.InitSignal().Disconnect(_initCallback); - } - if (_terminateCallback != null) - { - this.TerminateSignal().Disconnect(_terminateCallback); - } - if (_languageChangedCallback != null) - { - this.LanguageChangedSignal().Disconnect(_languageChangedCallback);; - } - if (_regionChangedCallback != null) - { - this.RegionChangedSignal().Disconnect(_regionChangedCallback); - } - if (_batteryLowCallback != null) - { - this.BatteryLowSignal().Disconnect(_batteryLowCallback); - } - if (_memoryLowCallback != null) - { - this.MemoryLowSignal().Disconnect(_memoryLowCallback); - } - if (swigCPtr.Handle != global::System.IntPtr.Zero) { if (swigCMemOwn) @@ -91,18 +63,10 @@ namespace Tizen.NUI } swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); } - base.Dispose(type); } - internal static WidgetApplication GetWidgetApplicationFromPtr(global::System.IntPtr cPtr) - { - WidgetApplication ret = new WidgetApplication(cPtr, false); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public static WidgetApplication Instance + public new static WidgetApplication Instance { get { @@ -114,7 +78,6 @@ namespace Tizen.NUI { WidgetApplication ret = New(args, stylesheet); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - _instance = ret; return ret; } @@ -124,420 +87,79 @@ namespace Tizen.NUI int argc = args.Length; string argvStr = string.Join(" ", args); - WidgetApplication ret = new WidgetApplication(NDalicManualPINVOKE.WidgetApplication_New(argc, argvStr, stylesheet), true); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - internal WidgetApplication(WidgetApplication widgetApplication) : this(NDalicManualPINVOKE.new_WidgetApplication__SWIG_1(WidgetApplication.getCPtr(widgetApplication)), true) - { - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - internal WidgetApplication Assign(WidgetApplication widgetApplication) - { - WidgetApplication ret = new WidgetApplication(NDalicManualPINVOKE.WidgetApplication_Assign(swigCPtr, WidgetApplication.getCPtr(widgetApplication)), false); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + IntPtr widgetIntPtr = NDalicManualPINVOKE.WidgetApplication_New(argc, argvStr, stylesheet); - /// - /// This starts the application. - /// - public void MainLoop() - { - NDalicManualPINVOKE.WidgetApplication_MainLoop(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) - { - throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - /// - /// This quits the application. - /// Tizen applications should use Lower to improve re-start performance unless they need to Quit completely. - /// - public void Quit() - { - NDalicManualPINVOKE.WidgetApplication_Quit(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - /// - /// Get path application resources are stored at. - /// - /// The full path of the resources - public static string GetResourcePath() - { - string ret = NDalicManualPINVOKE.WidgetApplication_GetResourcePath(); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - /// - /// Get region information from device. - /// - /// Region information - public string GetRegion() - { - string ret = NDalicManualPINVOKE.WidgetApplication_GetRegion(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } + WidgetApplication ret = new WidgetApplication(widgetIntPtr, false); - /// - /// Get language from device. - /// - /// Language information - public string GetLanguage() - { - string ret = NDalicManualPINVOKE.WidgetApplication_GetLanguage(swigCPtr); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - /// - /// Event arguments that passed via widget app event signal. - /// - /// 4 - public class WidgetApplicationEventArgs : EventArgs - { - /// - /// Widget application. - /// - /// 4 - public WidgetApplication WidgetApplication - { - get; - set; - } - } - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - private delegate void InitCallbackType(IntPtr widgetApplication); - private InitCallbackType _initCallback; - private DaliEventHandler _initEventHandler; - - /// - /// Init event. - /// - public event DaliEventHandler Init - { - add - { - if (_initEventHandler == null) - { - _initCallback = new InitCallbackType( OnInit); - InitSignal().Connect(_initCallback); - } - - _initEventHandler += value; - } - - remove - { - _initEventHandler -= value; - - if (_initEventHandler == null && InitSignal().Empty() == false) - { - InitSignal().Disconnect(_initCallback); - } - } - } - private void OnInit(IntPtr widgetApplication) - { - WidgetApplicationEventArgs e = new WidgetApplicationEventArgs(); - if (widgetApplication != null) - { - e.WidgetApplication = WidgetApplication.GetWidgetApplicationFromPtr(widgetApplication); - } - - if (_initEventHandler != null) - { - _initEventHandler(this, e); - } - } - - internal AppSignalType InitSignal() - { - AppSignalType ret = new AppSignalType(NDalicManualPINVOKE.WidgetApplication_InitSignal(swigCPtr), false); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; } - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - private delegate void TerminateCallbackType(IntPtr widgetApplication); - private TerminateCallbackType _terminateCallback; - private DaliEventHandler _terminateEventHandler; - - /// - /// Terminate event. - /// - public event DaliEventHandler Terminate - { - add - { - if (_terminateEventHandler == null) - { - _terminateCallback = new TerminateCallbackType( OnTerminate); - TerminateSignal().Connect(_terminateCallback); - } - - _terminateEventHandler += value; - } - - remove - { - _terminateEventHandler -= value; - - if (_terminateEventHandler == null && TerminateSignal().Empty() == false) - { - TerminateSignal().Disconnect(_terminateCallback); - } - } - } - - private void OnTerminate(IntPtr widgetApplication) - { - WidgetApplicationEventArgs e = new WidgetApplicationEventArgs(); - - if (widgetApplication != null) - { - e.WidgetApplication = WidgetApplication.GetWidgetApplicationFromPtr(widgetApplication); - } - - if (_terminateEventHandler != null) - { - _terminateEventHandler(this, e); - } - } - - internal AppSignalType TerminateSignal() + internal WidgetApplication(WidgetApplication widgetApplication) : this(NDalicManualPINVOKE.new_WidgetApplication__SWIG_1(WidgetApplication.getCPtr(widgetApplication)), true) { - AppSignalType ret = new AppSignalType(NDalicManualPINVOKE.WidgetApplication_TerminateSignal(swigCPtr), false); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - private delegate void LanguageChangedCallbackType(IntPtr widgetApplication); - private LanguageChangedCallbackType _languageChangedCallback; - private DaliEventHandler _languageChangedEventHandler; - - /// - /// LanguageChanged event. - /// - public event DaliEventHandler LanguageChanged - { - add - { - if (_languageChangedEventHandler == null) - { - _languageChangedCallback = new LanguageChangedCallbackType( OnLanguageChanged); - LanguageChangedSignal().Connect(_languageChangedCallback); - } - - _languageChangedEventHandler += value; - } - - remove - { - _languageChangedEventHandler -= value; - - if (_languageChangedEventHandler == null && LanguageChangedSignal().Empty() == false) - { - LanguageChangedSignal().Disconnect(_languageChangedCallback); - } - } } - private void OnLanguageChanged(IntPtr widgetApplication) - { - WidgetApplicationEventArgs e = new WidgetApplicationEventArgs(); - - if (widgetApplication != null) - { - e.WidgetApplication = WidgetApplication.GetWidgetApplicationFromPtr(widgetApplication); - } - - if (_languageChangedEventHandler != null) - { - _languageChangedEventHandler(this, e); - } - } - - internal AppSignalType LanguageChangedSignal() + internal WidgetApplication Assign(WidgetApplication widgetApplication) { - AppSignalType ret = new AppSignalType(NDalicManualPINVOKE.WidgetApplication_LanguageChangedSignal(swigCPtr), false); + WidgetApplication ret = new WidgetApplication(NDalicManualPINVOKE.WidgetApplication_Assign(swigCPtr, WidgetApplication.getCPtr(widgetApplication)), false); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; } - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - private delegate void RegionChangedCallbackType(IntPtr widgetApplication); - private RegionChangedCallbackType _regionChangedCallback; - private DaliEventHandler _regionChangedEventHandler; - - /// - /// RegionChanged event. - /// - public event DaliEventHandler RegionChanged + public void RegisterWidgetCreatingFunction() { - add - { - if (_regionChangedEventHandler == null) - { - _regionChangedCallback = new RegionChangedCallbackType( OnRegionChanged ); - RegionChangedSignal().Connect(_regionChangedCallback); - } - - _regionChangedEventHandler += value; - } - - remove + foreach (KeyValuePair widgetInfo in _widgetInfo) { - _regionChangedEventHandler -= value; - - if (_regionChangedEventHandler == null && RegionChangedSignal().Empty() == false) - { - RegionChangedSignal().Disconnect(_regionChangedCallback); - } + string widgetName = widgetInfo.Value; + RegisterWidgetCreatingFunction(ref widgetName); } } - private void OnRegionChanged(IntPtr widgetApplication) + internal void RegisterWidgetCreatingFunction(ref string widgetName) { - WidgetApplicationEventArgs e = new WidgetApplicationEventArgs(); + CreateWidgetFunctionDelegate newDelegate = new CreateWidgetFunctionDelegate(WidgetCreateFunction); - if (widgetApplication != null) - { - e.WidgetApplication = WidgetApplication.GetWidgetApplicationFromPtr(widgetApplication); - } + System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(newDelegate); + CreateWidgetFunction createWidgetFunction = new CreateWidgetFunction(ip, true); - if (_regionChangedEventHandler != null) - { - _regionChangedEventHandler(this, e); - } - } - - internal AppSignalType RegionChangedSignal() - { - AppSignalType ret = new AppSignalType(NDalicManualPINVOKE.WidgetApplication_RegionChangedSignal(swigCPtr), false); + NDalicManualPINVOKE.WidgetApplication_RegisterWidgetCreatingFunction(swigCPtr, ref widgetName, CreateWidgetFunction.getCPtr(createWidgetFunction)); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; } - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - private delegate void BatteryLowCallbackType(IntPtr widgetApplication); - private BatteryLowCallbackType _batteryLowCallback; - private DaliEventHandler _batteryLowEventHandler; - - /// - /// BatteryLow event. - /// - public event DaliEventHandler BatteryLow + public void AddWidgetInstance( Widget widget ) { - add - { - if (_batteryLowEventHandler == null) - { - _batteryLowCallback = new BatteryLowCallbackType( OnBatteryLow ); - BatteryLowSignal().Connect(_batteryLowCallback); - } - - _batteryLowEventHandler += value; - } - - remove - { - _batteryLowEventHandler -= value; - - if (_batteryLowEventHandler == null && BatteryLowSignal().Empty() == false) - { - BatteryLowSignal().Disconnect(_batteryLowCallback); - } - } + _widgetList.Add(widget); } - private void OnBatteryLow(IntPtr widgetApplication) + public void RegisterWidgetInfo(Dictionary widgetInfo) { - WidgetApplicationEventArgs e = new WidgetApplicationEventArgs(); - - if (widgetApplication != null) - { - e.WidgetApplication = WidgetApplication.GetWidgetApplicationFromPtr(widgetApplication); - } - - if (_batteryLowEventHandler != null) - { - _batteryLowEventHandler(this, e); - } + _widgetInfo = widgetInfo; } - internal WidgetApplicationLowBatterySignalType BatteryLowSignal() + public static System.IntPtr WidgetCreateFunction(ref string widgetName) { - WidgetApplicationLowBatterySignalType ret = new WidgetApplicationLowBatterySignalType(NDalicManualPINVOKE.WidgetApplication_LowBatterySignal(swigCPtr), false); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - private delegate void MemoryLowCallbackType(IntPtr widgetApplication); - private MemoryLowCallbackType _memoryLowCallback; - private DaliEventHandler _memoryLowEventHandler; + Dictionary widgetInfo = Instance.WidgetInfo; - /// - /// MemoryLow event. - /// - public event DaliEventHandler MemoryLow - { - add + foreach (System.Type widgetType in widgetInfo.Keys) { - if (_memoryLowEventHandler == null) + if (widgetInfo[widgetType] == widgetName) { - _memoryLowCallback = new MemoryLowCallbackType (OnMemoryLow); - MemoryLowSignal().Connect(_memoryLowCallback); + Widget widget = Activator.CreateInstance(widgetType) as Widget; + return widget.GetIntPtr(); } - - _memoryLowEventHandler += value; } - remove - { - _memoryLowEventHandler -= value; - - if (_memoryLowEventHandler == null && MemoryLowSignal().Empty() == false) - { - MemoryLowSignal().Disconnect(_memoryLowCallback); - } - } + return IntPtr.Zero; } - private void OnMemoryLow(IntPtr widgetApplication) + public Dictionary WidgetInfo { - WidgetApplicationEventArgs e = new WidgetApplicationEventArgs(); - - if (widgetApplication != null) - { - e.WidgetApplication = WidgetApplication.GetWidgetApplicationFromPtr(widgetApplication); - } - - if (_memoryLowEventHandler != null) + get { - _memoryLowEventHandler(this, e); + return _widgetInfo; } } - - internal WidgetApplicationLowMemorySignalType MemoryLowSignal() - { - WidgetApplicationLowMemorySignalType ret = new WidgetApplicationLowMemorySignalType(NDalicManualPINVOKE.WidgetApplication_LowMemorySignal(swigCPtr), false); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - private static WidgetApplication _instance; //singleton - } - } diff --git a/src/Tizen.NUI/src/internal/WidgetApplicationLowBatterySignalType.cs b/src/Tizen.NUI/src/internal/WidgetApplicationLowBatterySignalType.cs deleted file mode 100755 index 3240acf..0000000 --- a/src/Tizen.NUI/src/internal/WidgetApplicationLowBatterySignalType.cs +++ /dev/null @@ -1,188 +0,0 @@ -/* - * 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. - * - */ - -namespace Tizen.NUI -{ - - /// - /// LowBatterySignalType. - /// - internal class WidgetApplicationLowBatterySignalType : global::System.IDisposable - { - private global::System.Runtime.InteropServices.HandleRef swigCPtr; - - /// - /// swigCMemOwn. - /// - protected bool swigCMemOwn; - - internal WidgetApplicationLowBatterySignalType(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(WidgetApplicationLowBatterySignalType 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; - - /// - /// A Flat to check if it is already disposed. - /// - protected bool disposed = false; - - - /// - /// Distructor. - /// - ~WidgetApplicationLowBatterySignalType() - { - if (!isDisposeQueued) - { - isDisposeQueued = true; - DisposeQueue.Instance.Add(this); - } - } - - /// - /// Dispose. - /// - 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); - } - } - - /// - /// you can override it to clean-up your own resources. - /// - /// DisposeTypes - /// 3 - 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.WidgetApplication_delete_LowBatterySignalType(swigCPtr); - } - swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); - } - disposed = true; - } - - /// - /// Empty - /// - /// true if there is no signal attached - public bool Empty() - { - bool ret = NDalicManualPINVOKE.WidgetApplication_LowBatterySignalType_Empty(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - /// - /// GetConnectionCount - /// - /// number of attached signals - public uint GetConnectionCount() - { - uint ret = NDalicManualPINVOKE.WidgetApplication_LowBatterySignalType_GetConnectionCount(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - /// - /// signal connect - /// - /// - public void Connect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetApplication_LowBatterySignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - /// - /// signal disconnect - /// - /// - public void Disconnect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetApplication_LowBatterySignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - internal void Emit(Application.BatteryStatus arg) - { - NDalicManualPINVOKE.WidgetApplication_LowBatterySignalType_Emit(swigCPtr, (int)arg); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - /// - /// LowBatterySignalType - /// - public WidgetApplicationLowBatterySignalType() : this(NDalicManualPINVOKE.WidgetApplication_new_LowBatterySignalType(), true) - { - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - } - -} - diff --git a/src/Tizen.NUI/src/internal/WidgetApplicationLowMemorySignalType.cs b/src/Tizen.NUI/src/internal/WidgetApplicationLowMemorySignalType.cs deleted file mode 100755 index b943ede..0000000 --- a/src/Tizen.NUI/src/internal/WidgetApplicationLowMemorySignalType.cs +++ /dev/null @@ -1,146 +0,0 @@ -/* - * 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. - * - */ - -namespace Tizen.NUI -{ - - internal class WidgetApplicationLowMemorySignalType : global::System.IDisposable - { - private global::System.Runtime.InteropServices.HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal WidgetApplicationLowMemorySignalType(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(WidgetApplicationLowMemorySignalType 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; - //A Flat to check if it is already disposed. - protected bool disposed = false; - - ~WidgetApplicationLowMemorySignalType() - { - if (!isDisposeQueued) - { - isDisposeQueued = true; - DisposeQueue.Instance.Add(this); - } - } - - 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); - } - } - - 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.WidgetApplication_delete_LowMemorySignalType(swigCPtr); - } - swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); - } - disposed = true; - } - - public bool Empty() - { - bool ret = NDalicManualPINVOKE.WidgetApplication_LowMemorySignalType_Empty(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public uint GetConnectionCount() - { - uint ret = NDalicManualPINVOKE.WidgetApplication_LowMemorySignalType_GetConnectionCount(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public void Connect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetApplication_LowMemorySignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Disconnect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetApplication_LowMemorySignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - internal void Emit(Application.MemoryStatus arg) - { - NDalicManualPINVOKE.WidgetApplication_LowMemorySignalType_Emit(swigCPtr, (int)arg); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - public WidgetApplicationLowMemorySignalType() : this(NDalicManualPINVOKE.WidgetApplication_new_LowMemorySignalType(), true) - { - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - } - -} diff --git a/src/Tizen.NUI/src/internal/WidgetCreateSignalType.cs b/src/Tizen.NUI/src/internal/WidgetCreateSignalType.cs deleted file mode 100755 index 9bdb099..0000000 --- a/src/Tizen.NUI/src/internal/WidgetCreateSignalType.cs +++ /dev/null @@ -1,144 +0,0 @@ -/* - * 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. - * - */ - -namespace Tizen.NUI -{ - - internal class WidgetCreateSignalType : global::System.IDisposable - { - private global::System.Runtime.InteropServices.HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal WidgetCreateSignalType(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(WidgetCreateSignalType 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; - //A Flat to check if it is already disposed. - protected bool disposed = false; - - ~WidgetCreateSignalType() - { - if (!isDisposeQueued) - { - isDisposeQueued = true; - DisposeQueue.Instance.Add(this); - } - } - - 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); - } - } - - 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) - { - swigCMemOwn = false; - NDalicManualPINVOKE.delete_WidgetCreateSignalType(swigCPtr); - swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); - } - - disposed = true; - } - - public bool Empty() - { - bool ret = NDalicManualPINVOKE.WidgetCreateSignalType_Empty(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public uint GetConnectionCount() - { - uint ret = NDalicManualPINVOKE.WidgetCreateSignalType_GetConnectionCount(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public void Connect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetCreateSignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Disconnect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetCreateSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Emit(string arg1, SWIGTYPE_p_bundle arg2, Window arg3) - { - NDalicManualPINVOKE.WidgetCreateSignalType_Emit(swigCPtr, arg1, SWIGTYPE_p_bundle.getCPtr(arg2), Window.getCPtr(arg3)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - public WidgetCreateSignalType() : this(NDalicManualPINVOKE.new_WidgetCreateSignalType(), true) - { - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - } - -} diff --git a/src/Tizen.NUI/src/internal/WidgetImpl.cs b/src/Tizen.NUI/src/internal/WidgetImpl.cs new file mode 100755 index 0000000..d9fba02 --- /dev/null +++ b/src/Tizen.NUI/src/internal/WidgetImpl.cs @@ -0,0 +1,406 @@ +/* + * 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; +using System.ComponentModel; +using System.Runtime.InteropServices; + +namespace Tizen.NUI +{ + internal class WidgetImpl : BaseObject + { + private global::System.Runtime.InteropServices.HandleRef swigCPtr; + + internal WidgetImpl() : this( NDalicManualPINVOKE.WidgetImpl_New(), true ) + { + SwigDirectorConnect(); + } + + internal WidgetImpl(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.WidgetImpl_SWIGUpcast(cPtr), cMemoryOwn) + { + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr); + } + + internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WidgetImpl obj) + { + return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; + } + + protected override 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; + throw new global::System.MethodAccessException("C++ destructor does not have public access"); + } + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); + } + + base.Dispose(type); + } + + public class WIdgetInstanceOnCreateArgs : EventArgs + { + private string _contentInfo; + private Window _window; + + public string ContentInfo + { + get + { + return _contentInfo; + } + set + { + _contentInfo = value; + } + } + + public Window Window + { + get + { + return _window; + } + set + { + _window = value; + } + } + } + + private EventHandler _widgetInstanceOnCreateEventHandler; + public event EventHandler WidgetInstanceCreated + { + add + { + _widgetInstanceOnCreateEventHandler += value; + } + remove + { + _widgetInstanceOnCreateEventHandler -= value; + } + } + + public class WIdgetInstanceOnDestroyArgs : EventArgs + { + private string _contentInfo; + private Widget.TerminationType _terminateType; + + public string ContentInfo + { + get + { + return _contentInfo; + } + set + { + _contentInfo = value; + } + } + + public Widget.TerminationType TerminateType + { + get + { + return _terminateType; + } + set + { + _terminateType = value; + } + } + } + + private EventHandler _widgetInstanceOnDestroyEventHandler; + public event EventHandler WidgetInstanceDestroyed + { + add + { + _widgetInstanceOnDestroyEventHandler += value; + } + remove + { + _widgetInstanceOnDestroyEventHandler -= value; + } + } + + public class WidgetInstanceOnResizeArgs : EventArgs + { + private Window _window; + + public Window Window + { + get + { + return _window; + } + set + { + _window = value; + } + } + } + + private EventHandler _widgetInstanceOnResizeEventHandler; + public event EventHandler WidgetInstanceResized + { + add + { + _widgetInstanceOnResizeEventHandler += value; + } + remove + { + _widgetInstanceOnResizeEventHandler -= value; + } + } + + private EventHandler _widgetInstanceOnPauseEventHandler; + public event EventHandler WidgetInstancePaused + { + add + { + _widgetInstanceOnPauseEventHandler += value; + } + remove + { + _widgetInstanceOnPauseEventHandler -= value; + } + } + + private EventHandler _widgetInstanceOnResumeEventHandler; + public event EventHandler WidgetInstanceResumed + { + add + { + _widgetInstanceOnResumeEventHandler += value; + } + remove + { + _widgetInstanceOnResumeEventHandler -= value; + } + } + + public class WidgetInstanceOnUpdateArgs : EventArgs + { + private string _contentInfo; + private int _force; + + public string ContentInfo + { + get + { + return _contentInfo; + } + set + { + _contentInfo = value; + } + } + + public int Force + { + get + { + return _force; + } + set + { + _force = value; + } + } + } + + private EventHandler _widgetInstanceOnUpdateEventHandler; + public event EventHandler WidgetInstanceUpdated + { + add + { + _widgetInstanceOnUpdateEventHandler += value; + } + remove + { + _widgetInstanceOnUpdateEventHandler -= value; + } + } + + public virtual void OnCreate(string contentInfo, Window window) + { + WIdgetInstanceOnCreateArgs args = new WIdgetInstanceOnCreateArgs(); + args.ContentInfo = contentInfo; + args.Window = window; + _widgetInstanceOnCreateEventHandler?.Invoke(this, args); + } + + public virtual void OnTerminate(string contentInfo, Widget.TerminationType type) + { + WIdgetInstanceOnDestroyArgs args = new WIdgetInstanceOnDestroyArgs(); + args.ContentInfo = contentInfo; + args.TerminateType = type; + _widgetInstanceOnDestroyEventHandler?.Invoke(this,args); + } + + public virtual void OnPause() + { + _widgetInstanceOnPauseEventHandler?.Invoke(this, new EventArgs()); + } + + public virtual void OnResume() + { + _widgetInstanceOnResumeEventHandler?.Invoke(this, new EventArgs()); + } + + public virtual void OnResize(Window window) + { + WidgetInstanceOnResizeArgs args = new WidgetInstanceOnResizeArgs(); + args.Window = window; + _widgetInstanceOnResizeEventHandler?.Invoke(this, args); + } + + public virtual void OnUpdate(string contentInfo, int force) + { + WidgetInstanceOnUpdateArgs args = new WidgetInstanceOnUpdateArgs(); + args.ContentInfo = contentInfo; + args.Force = force; + _widgetInstanceOnUpdateEventHandler?.Invoke(this, args); + } + + internal virtual void SignalConnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback) + { + } + + internal virtual void SignalDisconnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback) + { + } + + public void SetContentInfo(string contentInfo) + { + NDalicManualPINVOKE.WidgetImpl_SetContentInfo(swigCPtr, contentInfo); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + + internal void SetImpl(SWIGTYPE_p_Dali__Widget__Impl impl) + { + NDalicManualPINVOKE.WidgetImpl_SetImpl(swigCPtr, SWIGTYPE_p_Dali__Widget__Impl.getCPtr(impl)); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + + private void SwigDirectorConnect() + { + swigDelegate0 = new SwigDelegateWidgetImpl_0(SwigDirectorOnCreate); + swigDelegate1 = new SwigDelegateWidgetImpl_1(SwigDirectorOnTerminate); + swigDelegate2 = new SwigDelegateWidgetImpl_2(SwigDirectorOnPause); + swigDelegate3 = new SwigDelegateWidgetImpl_3(SwigDirectorOnResume); + swigDelegate4 = new SwigDelegateWidgetImpl_4(SwigDirectorOnResize); + swigDelegate5 = new SwigDelegateWidgetImpl_5(SwigDirectorOnUpdate); + swigDelegate6 = new SwigDelegateWidgetImpl_6(SwigDirectorSignalConnected); + swigDelegate7 = new SwigDelegateWidgetImpl_7(SwigDirectorSignalDisconnected); + NDalicManualPINVOKE.WidgetImpl_director_connect(swigCPtr, swigDelegate0, swigDelegate1, swigDelegate2, swigDelegate3, swigDelegate4, swigDelegate5, swigDelegate6, swigDelegate7); + } + + private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) + { + global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, methodTypes, null); + bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(WidgetImpl)); + return hasDerivedMethod; + } + + private void SwigDirectorOnCreate(string contentInfo, global::System.IntPtr window) + { + OnCreate(contentInfo, new Window(window, true)); + } + + private void SwigDirectorOnTerminate(string contentInfo, int type) + { + OnTerminate(contentInfo, (Widget.TerminationType)type); + } + + private void SwigDirectorOnPause() + { + OnPause(); + } + + private void SwigDirectorOnResume() + { + OnResume(); + } + + private void SwigDirectorOnResize(global::System.IntPtr window) + { + OnResize(new Window(window, true)); + } + + private void SwigDirectorOnUpdate(string contentInfo, int force) + { + OnUpdate(contentInfo, force); + } + + private void SwigDirectorSignalConnected(global::System.IntPtr slotObserver, global::System.IntPtr callback) + { + SignalConnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback, false)); + } + + private void SwigDirectorSignalDisconnected(global::System.IntPtr slotObserver, global::System.IntPtr callback) + { + SignalDisconnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback, false)); + } + + public delegate void SwigDelegateWidgetImpl_0(string contentInfo, global::System.IntPtr window); + public delegate void SwigDelegateWidgetImpl_1(string contentInfo, int type); + public delegate void SwigDelegateWidgetImpl_2(); + public delegate void SwigDelegateWidgetImpl_3(); + public delegate void SwigDelegateWidgetImpl_4(global::System.IntPtr window); + public delegate void SwigDelegateWidgetImpl_5(string contentInfo, int force); + public delegate void SwigDelegateWidgetImpl_6(global::System.IntPtr slotObserver, global::System.IntPtr callback); + public delegate void SwigDelegateWidgetImpl_7(global::System.IntPtr slotObserver, global::System.IntPtr callback); + + private SwigDelegateWidgetImpl_0 swigDelegate0; + private SwigDelegateWidgetImpl_1 swigDelegate1; + private SwigDelegateWidgetImpl_2 swigDelegate2; + private SwigDelegateWidgetImpl_3 swigDelegate3; + private SwigDelegateWidgetImpl_4 swigDelegate4; + private SwigDelegateWidgetImpl_5 swigDelegate5; + private SwigDelegateWidgetImpl_6 swigDelegate6; + private SwigDelegateWidgetImpl_7 swigDelegate7; + + private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { typeof(string), typeof(Window) }; + private static global::System.Type[] swigMethodTypes1 = new global::System.Type[] { typeof(string), typeof(Widget.TerminationType) }; + private static global::System.Type[] swigMethodTypes2 = new global::System.Type[] { }; + private static global::System.Type[] swigMethodTypes3 = new global::System.Type[] { }; + private static global::System.Type[] swigMethodTypes4 = new global::System.Type[] { typeof(Window) }; + private static global::System.Type[] swigMethodTypes5 = new global::System.Type[] { typeof(string), typeof(int) }; + private static global::System.Type[] swigMethodTypes6 = new global::System.Type[] { typeof(SlotObserver), typeof(SWIGTYPE_p_Dali__CallbackBase) }; + private static global::System.Type[] swigMethodTypes7 = new global::System.Type[] { typeof(SlotObserver), typeof(SWIGTYPE_p_Dali__CallbackBase) }; + } +} diff --git a/src/Tizen.NUI/src/internal/WidgetImplPtr.cs b/src/Tizen.NUI/src/internal/WidgetImplPtr.cs new file mode 100755 index 0000000..3f49a8a --- /dev/null +++ b/src/Tizen.NUI/src/internal/WidgetImplPtr.cs @@ -0,0 +1,39 @@ +/* + * 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. + * + */ +namespace Tizen.NUI +{ + + internal class WidgetImplPtr + { + private global::System.Runtime.InteropServices.HandleRef swigCPtr; + + internal WidgetImplPtr(global::System.IntPtr cPtr, bool futureUse) + { + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr); + } + + protected WidgetImplPtr() + { + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); + } + + internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WidgetImplPtr obj) + { + return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; + } + } +} diff --git a/src/Tizen.NUI/src/internal/WidgetPauseSignalType.cs b/src/Tizen.NUI/src/internal/WidgetPauseSignalType.cs deleted file mode 100755 index df85d46..0000000 --- a/src/Tizen.NUI/src/internal/WidgetPauseSignalType.cs +++ /dev/null @@ -1,144 +0,0 @@ -/* - * 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. - * - */ - -namespace Tizen.NUI -{ - - internal class WidgetPauseSignalType : global::System.IDisposable - { - private global::System.Runtime.InteropServices.HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal WidgetPauseSignalType(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(WidgetPauseSignalType 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; - //A Flat to check if it is already disposed. - protected bool disposed = false; - - ~WidgetPauseSignalType() - { - if (!isDisposeQueued) - { - isDisposeQueued = true; - DisposeQueue.Instance.Add(this); - } - } - - 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); - } - } - - 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) - { - swigCMemOwn = false; - NDalicManualPINVOKE.delete_WidgetPauseSignalType(swigCPtr); - swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); - } - - disposed = true; - } - - public bool Empty() - { - bool ret = NDalicManualPINVOKE.WidgetPauseSignalType_Empty(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public uint GetConnectionCount() - { - uint ret = NDalicManualPINVOKE.WidgetPauseSignalType_GetConnectionCount(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public void Connect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetPauseSignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Disconnect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetPauseSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Emit(string arg) - { - NDalicManualPINVOKE.WidgetPauseSignalType_Emit(swigCPtr, arg); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - public WidgetPauseSignalType() : this(NDalicManualPINVOKE.new_WidgetPauseSignalType(), true) - { - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - } - -} diff --git a/src/Tizen.NUI/src/internal/WidgetResizeSignalType.cs b/src/Tizen.NUI/src/internal/WidgetResizeSignalType.cs deleted file mode 100755 index 5d29bcf..0000000 --- a/src/Tizen.NUI/src/internal/WidgetResizeSignalType.cs +++ /dev/null @@ -1,143 +0,0 @@ -/* - * 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. - * - */ - -namespace Tizen.NUI -{ - - internal class WidgetResizeSignalType : global::System.IDisposable - { - private global::System.Runtime.InteropServices.HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal WidgetResizeSignalType(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(WidgetResizeSignalType 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; - //A Flat to check if it is already disposed. - protected bool disposed = false; - - ~WidgetResizeSignalType() - { - if (!isDisposeQueued) - { - isDisposeQueued = true; - DisposeQueue.Instance.Add(this); - } - } - 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); - } - } - - 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) - { - swigCMemOwn = false; - NDalicManualPINVOKE.delete_WidgetResizeSignalType(swigCPtr); - swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); - } - - disposed = true; - } - - public bool Empty() - { - bool ret = NDalicManualPINVOKE.WidgetResizeSignalType_Empty(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public uint GetConnectionCount() - { - uint ret = NDalicManualPINVOKE.WidgetResizeSignalType_GetConnectionCount(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public void Connect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetResizeSignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Disconnect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetResizeSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Emit(string arg1, Window arg2) - { - NDalicManualPINVOKE.WidgetResizeSignalType_Emit(swigCPtr, arg1, Window.getCPtr(arg2)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - public WidgetResizeSignalType() : this(NDalicManualPINVOKE.new_WidgetResizeSignalType(), true) - { - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - } - -} diff --git a/src/Tizen.NUI/src/internal/WidgetResumeSignalType.cs b/src/Tizen.NUI/src/internal/WidgetResumeSignalType.cs deleted file mode 100755 index 18f320d..0000000 --- a/src/Tizen.NUI/src/internal/WidgetResumeSignalType.cs +++ /dev/null @@ -1,144 +0,0 @@ -/* - * 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. - * - */ - -namespace Tizen.NUI -{ - - internal class WidgetResumeSignalType : global::System.IDisposable - { - private global::System.Runtime.InteropServices.HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal WidgetResumeSignalType(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(WidgetResumeSignalType 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; - //A Flat to check if it is already disposed. - protected bool disposed = false; - - ~WidgetResumeSignalType() - { - if (!isDisposeQueued) - { - isDisposeQueued = true; - DisposeQueue.Instance.Add(this); - } - } - - 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); - } - } - - 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) - { - swigCMemOwn = false; - NDalicManualPINVOKE.delete_WidgetResumeSignalType(swigCPtr); - swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); - } - - disposed = true; - } - - public bool Empty() - { - bool ret = NDalicManualPINVOKE.WidgetResumeSignalType_Empty(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public uint GetConnectionCount() - { - uint ret = NDalicManualPINVOKE.WidgetResumeSignalType_GetConnectionCount(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public void Connect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetResumeSignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Disconnect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetResumeSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Emit(string arg) - { - NDalicManualPINVOKE.WidgetResumeSignalType_Emit(swigCPtr, arg); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - public WidgetResumeSignalType() : this(NDalicManualPINVOKE.new_WidgetResumeSignalType(), true) - { - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - } - -} diff --git a/src/Tizen.NUI/src/internal/WidgetTerminateSignalType.cs b/src/Tizen.NUI/src/internal/WidgetTerminateSignalType.cs deleted file mode 100755 index feda42c..0000000 --- a/src/Tizen.NUI/src/internal/WidgetTerminateSignalType.cs +++ /dev/null @@ -1,143 +0,0 @@ -/* - * 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. - * - */ -namespace Tizen.NUI -{ - - internal class WidgetTerminateSignalType : global::System.IDisposable - { - private global::System.Runtime.InteropServices.HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal WidgetTerminateSignalType(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(WidgetTerminateSignalType 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; - //A Flat to check if it is already disposed. - protected bool disposed = false; - - ~WidgetTerminateSignalType() - { - if (!isDisposeQueued) - { - isDisposeQueued = true; - DisposeQueue.Instance.Add(this); - } - } - - 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); - } - } - - 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) - { - swigCMemOwn = false; - NDalicManualPINVOKE.delete_WidgetTerminateSignalType(swigCPtr); - swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); - } - - disposed = true; - } - - public bool Empty() - { - bool ret = NDalicManualPINVOKE.WidgetTerminateSignalType_Empty(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public uint GetConnectionCount() - { - uint ret = NDalicManualPINVOKE.WidgetTerminateSignalType_GetConnectionCount(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public void Connect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetTerminateSignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Disconnect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetTerminateSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Emit(string arg1, SWIGTYPE_p_bundle arg2, Widget.WidgetTerminateType arg3) - { - NDalicManualPINVOKE.WidgetTerminateSignalType_Emit(swigCPtr, arg1, SWIGTYPE_p_bundle.getCPtr(arg2), (int)arg3); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - public WidgetTerminateSignalType() : this(NDalicManualPINVOKE.new_WidgetTerminateSignalType(), true) - { - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - } - -} diff --git a/src/Tizen.NUI/src/internal/WidgetUpdateSignalType.cs b/src/Tizen.NUI/src/internal/WidgetUpdateSignalType.cs deleted file mode 100755 index 89fe674..0000000 --- a/src/Tizen.NUI/src/internal/WidgetUpdateSignalType.cs +++ /dev/null @@ -1,144 +0,0 @@ -/* - * 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. - * - */ - -namespace Tizen.NUI -{ - - internal class WidgetUpdateSignalType : global::System.IDisposable - { - private global::System.Runtime.InteropServices.HandleRef swigCPtr; - protected bool swigCMemOwn; - - internal WidgetUpdateSignalType(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(WidgetUpdateSignalType 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; - //A Flat to check if it is already disposed. - protected bool disposed = false; - - ~WidgetUpdateSignalType() - { - if (!isDisposeQueued) - { - isDisposeQueued = true; - DisposeQueue.Instance.Add(this); - } - } - - 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); - } - } - - 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) - { - swigCMemOwn = false; - NDalicManualPINVOKE.delete_WidgetUpdateSignalType(swigCPtr); - swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); - } - - disposed = true; - } - - public bool Empty() - { - bool ret = NDalicManualPINVOKE.WidgetUpdateSignalType_Empty(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public uint GetConnectionCount() - { - uint ret = NDalicManualPINVOKE.WidgetUpdateSignalType_GetConnectionCount(swigCPtr); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; - } - - public void Connect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetUpdateSignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Disconnect(System.Delegate func) - { - System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func); - { - NDalicManualPINVOKE.WidgetUpdateSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip)); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - } - - public void Emit(string arg1, SWIGTYPE_p_bundle arg2, int arg3) - { - NDalicManualPINVOKE.WidgetUpdateSignalType_Emit(swigCPtr, arg1, SWIGTYPE_p_bundle.getCPtr(arg2), arg3); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - public WidgetUpdateSignalType() : this(NDalicManualPINVOKE.new_WidgetUpdateSignalType(), true) - { - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - } - - } - -} diff --git a/src/Tizen.NUI/src/public/BaseHandle.cs b/src/Tizen.NUI/src/public/BaseHandle.cs index f4ffc62..4611c05 100755 --- a/src/Tizen.NUI/src/public/BaseHandle.cs +++ b/src/Tizen.NUI/src/public/BaseHandle.cs @@ -40,15 +40,16 @@ namespace Tizen.NUI if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); _registerMe = swigCMemOwn = cMemoryOwn; - swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr); // using copy constructor to create another native handle so Registry.Unregister works fine. swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, NDalicPINVOKE.new_BaseHandle__SWIG_2(swigCPtr)); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); if (_registerMe) { + // Register this instance of BaseHandle in the registry. Registry.Register(this); } diff --git a/src/Tizen.NUI/src/public/NUIWidgetApplication.cs b/src/Tizen.NUI/src/public/NUIWidgetApplication.cs index ce61032..70c52fd 100755 --- a/src/Tizen.NUI/src/public/NUIWidgetApplication.cs +++ b/src/Tizen.NUI/src/public/NUIWidgetApplication.cs @@ -14,12 +14,9 @@ * limitations under the License. * */ - -using System; -using System.ComponentModel; using Tizen.Applications; using Tizen.Applications.CoreBackend; -using Tizen.NUI; +using System.Collections.Generic; namespace Tizen.NUI { @@ -28,32 +25,34 @@ namespace Tizen.NUI /// Represents an application that have UI screen. The NUIWidgetApplication class has a default stage. /// /// 4 - [Obsolete("Please do not use! This will be deprecated!")] - [EditorBrowsable(EditorBrowsableState.Never)] public class NUIWidgetApplication : CoreApplication { - /// /// The default constructor. /// - /// 4 - public NUIWidgetApplication() : base(new NUIWidgetCoreBackend()) + /// Widget ID will be replaced as the application ID. + /// Derived widget class type. + public NUIWidgetApplication( System.Type widgetType ) : base(new NUIWidgetCoreBackend()) { - Tizen.Log.Fatal("NUI", "### NUIWidgetApplication called"); + NUIWidgetCoreBackend core = Backend as NUIWidgetCoreBackend; + core?.RegisterWidgetInfo(new Dictionary { { widgetType, ApplicationInfo.ApplicationId } }); } /// - /// The constructor with stylesheet. + /// The default constructor with stylesheet. /// + /// Widget ID will be replaced as the application ID. + /// Derived widget class type. /// The styleSheet url. /// 4 - public NUIWidgetApplication(string styleSheet) : base(new NUIWidgetCoreBackend(styleSheet)) + public NUIWidgetApplication(System.Type widgetType, string styleSheet) : base(new NUIWidgetCoreBackend(styleSheet)) { - Tizen.Log.Fatal("NUI", "### NUIWidgetApplication(string) called"); + NUIWidgetCoreBackend core = Backend as NUIWidgetCoreBackend; + core?.RegisterWidgetInfo(new Dictionary { { widgetType, ApplicationInfo.ApplicationId } }); } /// - /// Overrides this method if want to handle behavior. + /// Overrides this method if want to handle OnLocaleChanged behavior. /// /// 4 protected override void OnLocaleChanged(LocaleChangedEventArgs e) @@ -63,7 +62,7 @@ namespace Tizen.NUI } /// - /// Overrides this method if want to handle behavior. + /// Overrides this method if want to handle OnLowBattery behavior. /// /// 4 protected override void OnLowBattery(LowBatteryEventArgs e) @@ -73,7 +72,7 @@ namespace Tizen.NUI } /// - /// Overrides this method if want to handle behavior. + /// Overrides this method if want to handle OnLowMemory behavior. /// /// 4 protected override void OnLowMemory(LowMemoryEventArgs e) @@ -83,7 +82,7 @@ namespace Tizen.NUI } /// - /// Overrides this method if want to handle behavior. + /// Overrides this method if want to handle OnRegionFormatChanged behavior. /// /// 4 protected override void OnRegionFormatChanged(RegionFormatChangedEventArgs e) @@ -93,7 +92,7 @@ namespace Tizen.NUI } /// - /// Overrides this method if want to handle behavior. + /// Overrides this method if want to handle OnTerminate behavior. /// /// 4 protected override void OnTerminate() @@ -103,7 +102,7 @@ namespace Tizen.NUI } /// - /// Overrides this method if want to handle behavior. + /// Overrides this method if want to handle OnPreCreate behavior. /// /// 4 protected virtual void OnPreCreate() @@ -112,7 +111,7 @@ namespace Tizen.NUI } /// - /// Overrides this method if want to handle behavior. + /// Overrides this method if want to handle OnCreate behavior. /// /// 4 protected override void OnCreate() diff --git a/src/Tizen.NUI/src/public/Widget.cs b/src/Tizen.NUI/src/public/Widget.cs index 4752cb7..cd4fc57 100755 --- a/src/Tizen.NUI/src/public/Widget.cs +++ b/src/Tizen.NUI/src/public/Widget.cs @@ -1,6 +1,6 @@ /* - * Copyright(c) 2017 Samsung Electronics Co., Ltd. - * + * Copyright (c) 2017 Samsung Electronics Co., Ltd. + *Z:\Desktop\shared\tizenfx\src\Tizen.NUI\src\public\BaseComponents\CustomView.cs * 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 @@ -14,658 +14,205 @@ * limitations under the License. * */ + using System; -using System.ComponentModel; -using System.Runtime.InteropServices; namespace Tizen.NUI { /// - /// Widget object should be created by WidgetApplication. + /// Widget provides some common functionality required by all custom widget. /// - /// This is an experimental feature. We do recommend not to use it. /// 4 - [Obsolete("Please do not use! This will be deprecated!")] - [EditorBrowsable(EditorBrowsableState.Never)] public class Widget : BaseHandle { private global::System.Runtime.InteropServices.HandleRef swigCPtr; + internal WidgetImpl widgetImpl; - internal Widget(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.Widget_SWIGUpcast(cPtr), cMemoryOwn) + internal Widget(WidgetImpl widgetImpl, bool swigCMemOwn) : this(NDalicManualPINVOKE.Widget_New__SWIG_1(WidgetImpl.getCPtr(widgetImpl)), swigCMemOwn) { - swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr); - } + this.widgetImpl = widgetImpl; + widgetImpl.WidgetInstanceCreated += OnWidgetInstanceCreated; + widgetImpl.WidgetInstanceDestroyed += OnWidgetInstanceDestroyed; + widgetImpl.WidgetInstancePaused += OnWidgetInstancePaused; + widgetImpl.WidgetInstanceResumed += OnWidgetInstanceResumed; + widgetImpl.WidgetInstanceResized += OnWidgetInstanceResized; + widgetImpl.WidgetInstanceUpdated += OnWidgetInstanceUpdated; - internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Widget obj) - { - return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; + WidgetApplication.Instance?.AddWidgetInstance(this); } - /// - /// To make Widget instance be disposed. - /// - /// 4 - protected override void Dispose(DisposeTypes type) + internal Widget(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.Widget_SWIGUpcast(cPtr), cMemoryOwn) { - 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 (_createCallback != null) - { - this.CreateSignal().Disconnect(_createCallback); - } - - if (_pauseCallback != null) - { - this.PauseSignal().Disconnect(_pauseCallback); - } - - if (_resizeCallback != null) - { - this.ResizeSignal().Disconnect(_resizeCallback); - } - - if (_resumeCallback != null) - { - this.ResumeSignal().Disconnect(_resumeCallback); - } - - if (_terminateCallback != null) - { - this.TerminateSignal().Disconnect(_terminateCallback); - } - - if (_updateCallback != null) - { - this.UpdateSignal().Disconnect(_updateCallback); - } - - if (swigCPtr.Handle != global::System.IntPtr.Zero) - { - if (swigCMemOwn) - { - swigCMemOwn = false; - NDalicManualPINVOKE.delete_Widget(swigCPtr); - } - swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); - } - - base.Dispose(type); + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr); } - /// - /// This is the constructor for Widget. - /// - /// for widget instance - /// 4 - public Widget(string id) : this(NDalicManualPINVOKE.Widget_New(id), true) + private void OnWidgetInstanceCreated(object sender, WidgetImpl.WIdgetInstanceOnCreateArgs e) { - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + OnCreate(e.ContentInfo, e.Window); } - internal Widget(Widget widget) : this(NDalicManualPINVOKE.new_Widget__SWIG_1(Widget.getCPtr(widget)), true) + private void OnWidgetInstanceDestroyed(object sender, WidgetImpl.WIdgetInstanceOnDestroyArgs e) { - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + OnTerminate(e.ContentInfo, e.TerminateType); } - internal Widget Assign(Widget widget) + private void OnWidgetInstancePaused(object sender, EventArgs e) { - Widget ret = new Widget(NDalicManualPINVOKE.Widget_Assign(swigCPtr, Widget.getCPtr(widget)), false); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; + OnPause(); } - /// - /// Event arguments that passed via KeyEvent signal. - /// - /// 4 - public class CreateEventArgs : EventArgs + private void OnWidgetInstanceResumed(object sender, EventArgs e) { - /// - /// widget id. - /// - /// 4 - public string ID - { - get; - set; - } - - /// - /// a bundle. - /// - /// 4 - public SWIGTYPE_p_bundle Bundle - { - get; - set; - } - - /// - /// window. - /// - /// 4 - public Window Window - { - get; - set; - } + OnResume(); } - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - private delegate void CreateCallbackType(string id, IntPtr bundle, IntPtr window); - private CreateCallbackType _createCallback; - private EventHandler _createEventHandler; - - /// - /// Create event. - /// - /// 4 - public event EventHandler Create + private void OnWidgetInstanceResized(object sender, WidgetImpl.WidgetInstanceOnResizeArgs e) { - add - { - if (_createEventHandler == null) - { - _createCallback = OnCreate; - CreateSignal().Connect(_createCallback); - } - - _createEventHandler += value; - } - - remove - { - _createEventHandler -= value; - - if (_createEventHandler == null && CreateSignal().Empty() == false) - { - CreateSignal().Disconnect(_createCallback); - } - } + OnResize(e.Window); } - private void OnCreate(string id, IntPtr bundle, IntPtr window) + private void OnWidgetInstanceUpdated(object sender, WidgetImpl.WidgetInstanceOnUpdateArgs e) { - CreateEventArgs e = new CreateEventArgs(); - - e.ID = id; - - if (bundle != null) - { - e.Bundle = new SWIGTYPE_p_bundle(bundle, false); - } - if (window != null) - { - e.Window = new Window(window, false); - } - - _createEventHandler?.Invoke(this, e); + OnUpdate(e.ContentInfo, e.Force); } - internal WidgetCreateSignalType CreateSignal() + internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Widget obj) { - WidgetCreateSignalType ret = new WidgetCreateSignalType(NDalicManualPINVOKE.Widget_CreateSignal(swigCPtr), false); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; + return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr; } /// - /// Event arguments that passed via terminate event signal. + /// Dispose. /// + /// The dispose type /// 4 - public class TerminateEventArgs : EventArgs + protected override void Dispose(DisposeTypes type) { - /// - /// widget id. - /// - /// 4 - public string ID - { - get; - set; - } - - /// - /// a bundle. - /// - /// 4 - public SWIGTYPE_p_bundle Bundle - { - get; - set; - } - - /// - /// widget terminate type. - /// - /// 4 - public WidgetTerminateType WidgetTerminateType + if(disposed) { - get; - set; + return; } - } - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - private delegate void TerminateCallbackType(string id, IntPtr bundle, WidgetTerminateType widgetTerminateType); - private TerminateCallbackType _terminateCallback; - private EventHandler _terminateEventHandler; - /// - /// Terminate event. - /// - /// 4 - public event EventHandler Terminate - { - add + if(type == DisposeTypes.Explicit) { - if (_terminateEventHandler == null) - { - _terminateCallback = OnTerminate; - TerminateSignal().Connect(_terminateCallback); - } - - _terminateEventHandler += value; + //Called by User + //Release your own managed resources here. + //You should release all of your own disposable objects here. } - remove + if (swigCPtr.Handle != global::System.IntPtr.Zero) { - _terminateEventHandler -= value; - - if (_terminateEventHandler == null && TerminateSignal().Empty() == false) + if (swigCMemOwn) { - TerminateSignal().Disconnect(_terminateCallback); + swigCMemOwn = false; + NDalicManualPINVOKE.delete_Widget(swigCPtr); } + swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); } - } - - private void OnTerminate(string id, IntPtr bundle, WidgetTerminateType widgetTerminateType) - { - TerminateEventArgs e = new TerminateEventArgs(); - e.ID = id; - - if (bundle != null) - { - e.Bundle = new SWIGTYPE_p_bundle(bundle, false); - } - - e.WidgetTerminateType = widgetTerminateType; - _terminateEventHandler?.Invoke(this, e); - } - internal WidgetTerminateSignalType TerminateSignal() - { - WidgetTerminateSignalType ret = new WidgetTerminateSignalType(NDalicManualPINVOKE.Widget_TerminateSignal(swigCPtr), false); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; + base.Dispose(type); } - /// - /// Event arguments that passed via pause event signal. + /// Enumeration for termination type of widget /// /// 4 - public class PauseEventArgs : EventArgs + public enum TerminationType { /// - /// widget id. + /// User deleted this widget from the viewer /// - /// 4 - public string ID - { - get; - set; - } + /// 4 + Permanent, + /// + /// Widget is deleted because of other reasons (e.g. widget process is terminated temporarily by system) + /// + /// 4 + Temporary } - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - private delegate void PauseCallbackType(string id); - private PauseCallbackType _pauseCallback; - private EventHandler _pauseEventHandler; - /// - /// Pause event. + /// Creates a Widget handle. /// /// 4 - public event EventHandler Pause - { - add - { - if (_pauseEventHandler == null) - { - _pauseCallback = OnPause; - PauseSignal().Connect(_pauseCallback); - } - - _pauseEventHandler += value; - } - - remove - { - _pauseEventHandler -= value; + public Widget () : this (new WidgetImpl(), true) { + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } - if (_pauseEventHandler == null && PauseSignal().Empty() == false) - { - PauseSignal().Disconnect(_pauseCallback); - } - } - } - - private void OnPause(string id) - { - PauseEventArgs e = new PauseEventArgs(); - e.ID = id; - - _pauseEventHandler?.Invoke(this, e); - } - - internal WidgetPauseSignalType PauseSignal() + internal Widget Assign(Widget widget) { - WidgetPauseSignalType ret = new WidgetPauseSignalType(NDalicManualPINVOKE.Widget_PauseSignal(swigCPtr), false); + Widget ret = new Widget(NDalicManualPINVOKE.Widget_Assign(swigCPtr, Widget.getCPtr(widget)), false); if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); return ret; } /// - /// Event arguments that passed via pause event signal. + /// The user should override this function to determine when they create widget. /// + /// Information from WidgetView for creating. It contains previous status of widget which is sent by SetContentInfo before. + /// Window for widget /// 4 - public class ResumeEventArgs : EventArgs + protected virtual void OnCreate(string contentInfo, Window window) { - /// - /// widget id. - /// - /// 4 - public string ID - { - get; - set; - } } - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - private delegate void ResumeCallbackType(string id); - private ResumeCallbackType _resumeCallback; - private EventHandler _resumeEventHandler; - /// - /// Resume event. + /// The user should override this function to determine when they terminate widget. /// + /// Data from WidgetView for deleting + /// Termination type. When user delete widget view, termination type is PERMANENT. /// 4 - public event EventHandler Resume + protected virtual void OnTerminate(string contentInfo, Widget.TerminationType type) { - add - { - if (_resumeEventHandler == null) - { - _resumeCallback = OnResume; - ResumeSignal().Connect(_resumeCallback); - } - - _resumeEventHandler += value; - } - - remove - { - _resumeEventHandler -= value; - - if (_resumeEventHandler == null && ResumeSignal().Empty() == false) - { - ResumeSignal().Disconnect(_resumeCallback); - } - } - } - - private void OnResume(string id) - { - ResumeEventArgs e = new ResumeEventArgs(); - e.ID = id; - - _resumeEventHandler?.Invoke(this, e); - } - - internal WidgetResumeSignalType ResumeSignal() - { - WidgetResumeSignalType ret = new WidgetResumeSignalType(NDalicManualPINVOKE.Widget_ResumeSignal(swigCPtr), false); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; } /// - /// Event arguments that passed via resize signal. + /// The user should override this function to determine when they pause widget. /// /// 4 - public class ResizeEventArgs : EventArgs + protected virtual void OnPause() { - /// - /// widget id. - /// - /// 4 - public string ID - { - get; - set; - } - - /// - /// window. - /// - /// 4 - public Window Window - { - get; - set; - } } - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - private delegate void ResizeCallbackType(string id, IntPtr window); - private ResizeCallbackType _resizeCallback; - private EventHandler _resizeEventHandler; - /// - /// Resize event. + /// The user should override this function to determine when they resume widget. /// /// 4 - public event EventHandler Resize - { - add - { - if (_resizeEventHandler == null) - { - _resizeCallback = OnResize; - ResizeSignal().Connect(_resizeCallback); - } - - _resizeEventHandler += value; - } - - remove - { - _resizeEventHandler -= value; - - if (_resizeEventHandler == null && ResizeSignal().Empty() == false) - { - ResizeSignal().Disconnect(_resizeCallback); - } - } - } - - private void OnResize(string id, IntPtr window) - { - ResizeEventArgs e = new ResizeEventArgs(); - e.ID = id; - if (window != null) - { - e.Window = new Window(window, false); - } - - _resizeEventHandler?.Invoke(this, e); - } - - internal WidgetResizeSignalType ResizeSignal() + protected virtual void OnResume() { - WidgetResizeSignalType ret = new WidgetResizeSignalType(NDalicManualPINVOKE.Widget_ResizeSignal(swigCPtr), false); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; } /// - /// Event arguments that passed via update event signal. + /// The user should override this function to determine when they resize widget. /// + /// Window for widget /// 4 - public class UpdateEventArgs : EventArgs + protected virtual void OnResize(Window window) { - /// - /// widget data. - /// - /// 4 - public string ID - { - get; - set; - } - - /// - /// A bundle. - /// - /// 4 - public SWIGTYPE_p_bundle Bundle - { - get; - set; - } - - /// - /// It means several steps. - /// - /// - /// 0 -> no force - /// 1 -> force but do something - /// 2 -> force - /// - /// 4 - public int Force - { - get; - set; - } } - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - private delegate void UpdateCallbackType(string id, IntPtr bundle, int force); - private UpdateCallbackType _updateCallback; - private EventHandler _updateEventHandler; - /// - /// Update event. + /// The user should override this function to determine when they update widget. /// + /// Data from WidgetView for updating + /// Although the widget is paused, if it is true, the widget can be updated /// 4 - public event EventHandler Update + protected virtual void OnUpdate(string contentInfo, int force) { - add - { - if (_updateEventHandler == null) - { - _updateCallback = OnUpdate; - UpdateSignal().Connect(_updateCallback); - } - - _updateEventHandler += value; - } - - remove - { - _updateEventHandler -= value; - - if (_updateEventHandler == null && UpdateSignal().Empty() == false) - { - UpdateSignal().Disconnect(_updateCallback); - } - } - } - - private void OnUpdate(string id, IntPtr bundle, int force) - { - UpdateEventArgs e = new UpdateEventArgs(); - e.ID = id; - if (bundle != null) - { - e.Bundle = new SWIGTYPE_p_bundle(bundle, false); - } - e.Force = force; - - _updateEventHandler?.Invoke(this, e); - } - - internal WidgetUpdateSignalType UpdateSignal() - { - WidgetUpdateSignalType ret = new WidgetUpdateSignalType(NDalicManualPINVOKE.Widget_UpdateSignal(swigCPtr), false); - if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); - return ret; } /// - /// Enumeration for terminate type of widget instance. + /// Set content info to WidgetView. /// + /// Content info is kind of context information which contains current status of widget. /// 4 - public enum WidgetTerminateType + public void SetContentInfo(string contentInfo) { - /// - /// User deleted this widget from the viewer - /// - /// 4 - Permanent, - /// - /// Widget is deleted because of other reasons (e.g. widget process is terminated temporarily by the system) - /// - /// 4 - Temporary + widgetImpl.SetContentInfo(contentInfo); } - /// - /// Enumeration for lifecycle event type of widget instance. - /// - /// 4 - public enum WidgetLifecycleEventType + internal System.IntPtr GetIntPtr() { - /// - /// The widget is dead. - /// - /// 4 - AppDead = 0, - /// - /// The widget is dead. - /// - /// 4 - Create = 1, - /// - /// The widget is destroyed. - /// - /// 4 - Destroy = 2, - /// - /// The widget is paused. - /// - /// 4 - Pause = 3, - /// - /// The widget is resumed. - /// - /// 4 - Resume = 4 + return swigCPtr.Handle; } } } -- 2.7.4