From: Feng Jin Date: Tue, 8 Aug 2017 17:50:12 +0000 (+0800) Subject: [Tizen] Add a new constructor to NUIApplication. X-Git-Tag: accepted/tizen/4.0/unified/20170907.192433~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2c94755b370f7a8f2d7ce5a580daca202ef1075a;p=platform%2Fcore%2Fcsapi%2Fnui.git [Tizen] Add a new constructor to NUIApplication. Change-Id: Ie55cd4eab61e76d648c65035007e3682ab9ca3dc Signed-off-by: Feng Jin --- diff --git a/Tizen.NUI/Tizen.NUI.csproj b/Tizen.NUI/Tizen.NUI.csproj index a756ddc..9b983d6 100755 --- a/Tizen.NUI/Tizen.NUI.csproj +++ b/Tizen.NUI/Tizen.NUI.csproj @@ -25,8 +25,8 @@ - - + + diff --git a/Tizen.NUI/src/internal/Application.cs b/Tizen.NUI/src/internal/Application.cs index 9a3c950..1bfbc8d 100755 --- a/Tizen.NUI/src/internal/Application.cs +++ b/Tizen.NUI/src/internal/Application.cs @@ -1134,6 +1134,21 @@ namespace Tizen.NUI return ret; } + + 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(); + + // we've got an application now connect the signals + ret.SetupDelegates(); + // set the singleton + _instance = ret; + return _instance; + } + //Removed from v0.2.33 /*public bool AddIdle(System.Delegate func) { @@ -1187,6 +1202,28 @@ namespace Tizen.NUI return ret; } + public static Application New(string[] args, string stylesheet, Application.WindowMode windowMode) + { + NUILog.Debug("New(string[] args) is called!"); + int argc = args.Length; + string argvStr = ""; + for (int index = 0; index < args.Length; index++) + { + if(index == (args.Length - 1)) + { + argvStr = argvStr + args[index]; + } + else + { + argvStr = argvStr + args[index] + " "; + } + } + + Application ret = new Application(NDalicPINVOKE.Application_New__MANUAL_4(argc, argvStr, stylesheet, (int)windowMode), true); + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + return ret; + } + public static Application New(int argc, string stylesheet, Application.WindowMode windowMode, Rectangle positionSize) { Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_4(argc, stylesheet, (int)windowMode, Rectangle.getCPtr(positionSize)), true); diff --git a/Tizen.NUI/src/internal/NDalicPINVOKE.cs b/Tizen.NUI/src/internal/NDalicPINVOKE.cs index 1939974..e6c72b6 100755 --- a/Tizen.NUI/src/internal/NDalicPINVOKE.cs +++ b/Tizen.NUI/src/internal/NDalicPINVOKE.cs @@ -6296,6 +6296,9 @@ class NDalicPINVOKE { [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Application_New__SWIG_3")] public static extern global::System.IntPtr Application_New__SWIG_3(int jarg1, string jarg3, int jarg4); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Application_New__MANUAL_4")] + public static extern global::System.IntPtr Application_New__MANUAL_4(int jarg1, string jarg2, string jarg3, int jarg4); + [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Application__SWIG_0")] public static extern global::System.IntPtr new_Application__SWIG_0(); @@ -6428,7 +6431,6 @@ class NDalicPINVOKE { [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Application_New__SWIG_4")] public static extern global::System.IntPtr Application_New__SWIG_4(int jarg1, string jarg3, int jarg4, global::System.Runtime.InteropServices.HandleRef jarg5); - [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_TimerSignalType_Empty")] public static extern bool TimerSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1); diff --git a/Tizen.NUI/src/internal/NUICoreBackend.cs b/Tizen.NUI/src/internal/NUICoreBackend.cs index 7aa0e00..d8dcd81 100755 --- a/Tizen.NUI/src/internal/NUICoreBackend.cs +++ b/Tizen.NUI/src/internal/NUICoreBackend.cs @@ -30,6 +30,8 @@ namespace Tizen.NUI /// Application instance to connect event. /// protected Application _application; + private string _stylesheet = ""; + private NUIApplication.WindowMode _windowMode = NUIApplication.WindowMode.Opaque; /// /// Dictionary to contain each type of event callback. @@ -41,7 +43,6 @@ namespace Tizen.NUI /// public NUICoreBackend() { - _application = Application.NewApplication(); } /// @@ -49,7 +50,7 @@ namespace Tizen.NUI /// public NUICoreBackend(string stylesheet) { - _application = Application.NewApplication(stylesheet); + _stylesheet = stylesheet; } /// @@ -57,7 +58,8 @@ namespace Tizen.NUI /// public NUICoreBackend(string stylesheet, NUIApplication.WindowMode windowMode) { - _application = Application.NewApplication(stylesheet, (Application.WindowMode)windowMode ); + _stylesheet = stylesheet; + _windowMode = windowMode; } /// @@ -89,7 +91,10 @@ namespace Tizen.NUI /// public void Dispose() { - _application.Dispose(); + if(_application != null) + { + _application.Dispose(); + } } /// @@ -97,7 +102,10 @@ namespace Tizen.NUI /// public void Exit() { - _application.Quit(); + if(_application != null) + { + _application.Quit(); + } } /// @@ -107,6 +115,17 @@ namespace Tizen.NUI public void Run(string[] args) { TizenSynchronizationContext.Initialize(); + + args[0] = Tizen.Applications.Application.Current.ApplicationInfo.ExecutablePath; + if (args.Length == 1) + { + _application = Application.NewApplication(); + } + else if (args.Length > 1) + { + _application = Application.NewApplication(args, _stylesheet, (Application.WindowMode)_windowMode); + } + _application.BatteryLow += OnBatteryLow; _application.LanguageChanged += OnLanguageChanged; _application.MemoryLow += OnMemoryLow;