Name: csapi-nui
Summary: dali-NUI
-Version: 0.2.48.pre1
+Version: 0.2.49
Release: 1
Group: Development/Libraries
License: Apache-2.0 and BSD-3-Clause and MIT
<Project Sdk="Microsoft.NET.Sdk">\r
\r
<PropertyGroup>\r
- <Version>0.2.48-pre1</Version>\r
+ <Version>0.2.49</Version>\r
<Authors>Samsung Electronics</Authors>\r
<Copyright>© Samsung Electronics Co., Ltd All Rights Reserved</Copyright>\r
<Description>\r
\r
<ItemGroup>\r
<PackageReference Include="System.Reflection.TypeExtensions" Version="4.3.0" PrivateAssets="All" />\r
- <PackageReference Include="Tizen.Applications.Common" Version="1.5.8" />\r
+ <PackageReference Include="Tizen.Applications.UI" Version="1.5.8" />\r
</ItemGroup>\r
\r
</Project>\r
{
public const int ver1 = 1;
public const int ver2 = 2;
- public const int ver3 = 46;
+ public const int ver3 = 49;
public const int nuiVer1 = 0;
public const int nuiVer2 = 2;
- public const int nuiVer3 = 47;
+ public const int nuiVer3 = 49;
public const string nuiRelease = "";
}
+++ /dev/null
-/*
- * 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.Collections.Generic;
-
-using Tizen.Applications.CoreBackend;
-using Tizen.Applications;
-using Tizen.NUI;
-
-namespace Tizen.NUI
-{
- class NUICoreBackend : ICoreBackend
- {
- /// <summary>
- /// Application instance to connect event.
- /// </summary>
- protected Application _application;
-
- /// <summary>
- /// Dictionary to contain each type of event callback.
- /// </summary>
- protected IDictionary<EventType, object> Handlers = new Dictionary<EventType, object>();
-
- /// <summary>
- /// The default Constructor.
- /// </summary>
- public NUICoreBackend()
- {
- _application = Application.NewApplication();
- }
-
- /// <summary>
- /// The constructor with stylesheet.
- /// </summary>
- public NUICoreBackend(string stylesheet)
- {
- _application = Application.NewApplication(stylesheet);
- }
-
- /// <summary>
- /// The constructor with stylesheet and window mode.
- /// </summary>
- public NUICoreBackend(string stylesheet, NUIApplication.WindowMode windowMode)
- {
- _application = Application.NewApplication(stylesheet, (Application.WindowMode)windowMode );
- }
-
- /// <summary>
- /// Add NUIApplication event to Application.
- /// Put each type of event callback in Dictionary.
- /// </summary>
- /// <param name="evType">Type of event</param>
- /// <param name="handler">Event callback</param>
- public void AddEventHandler(EventType evType, Action handler)
- {
- Handlers.Add(evType, handler);
- }
-
- /// <summary>
- /// Add NUIApplication event to Application.
- /// Put each type of event callback in Dictionary.
- /// </summary>
- /// <typeparam name="TEventArgs">Argument type for the event</typeparam>
- /// <param name="evType">Type of event</param>
- /// <param name="handler">Event callback</param>
- public void AddEventHandler<TEventArgs>(EventType evType, Action<TEventArgs> handler) where TEventArgs : EventArgs
- {
- Handlers.Add(evType, handler);
- }
-
-
- /// <summary>
- /// Dispose function.
- /// </summary>
- public void Dispose()
- {
- _application.Dispose();
- }
-
- /// <summary>
- /// Exit Application.
- /// </summary>
- public void Exit()
- {
- _application.Quit();
- }
-
- /// <summary>
- /// Run Application.
- /// </summary>
- /// <param name="args">Arguments from commandline.</param>
- public void Run(string[] args)
- {
- _application.BatteryLow += OnBatteryLow;
- _application.LanguageChanged += OnLanguageChanged;
- _application.MemoryLow += OnMemoryLow;
- _application.RegionChanged += OnRegionChanged;
-
- _application.Initialized += OnInitialized;
- _application.Resumed += OnResumed;
- _application.Terminating += OnTerminated;
- _application.Paused += OnPaused;
- _application.AppControl += OnAppControl;
-
- _application.MainLoop();
- }
-
- /// <summary>
- /// Region changed event callback function.
- /// </summary>
- /// <param name="source">Application instance</param>
- /// <param name="e">Event argument for RegionChanged</param>
- private void OnRegionChanged(object source, NUIApplicationRegionChangedEventArgs e)
- {
- Log.Debug("NUI", "NUICorebackend OnRegionChanged Called");
- var handler = Handlers[EventType.RegionFormatChanged] as Action<RegionFormatChangedEventArgs>;
- // Need to make new signal return in native to return right value.
- handler?.Invoke( new RegionFormatChangedEventArgs(""));
- }
-
- /// <summary>
- /// Memory Low event callback function.
- /// </summary>
- /// <param name="source">Application instance</param>
- /// <param name="e">Event argument for MemoryLow</param>
- private void OnMemoryLow(object source, NUIApplicationMemoryLowEventArgs e)
- {
- Log.Debug("NUI", "NUICorebackend OnMemoryLow Called");
- var handler = Handlers[EventType.LowMemory] as Action<LowMemoryEventArgs>;
- // Need to make new signal return in native to return right value.
- handler?.Invoke( new LowMemoryEventArgs(LowMemoryStatus.None));
- }
-
- /// <summary>
- /// Language changed event callback function.
- /// </summary>
- /// <param name="source">Application instance</param>
- /// <param name="e">Event argument for LanguageChanged</param>
- private void OnLanguageChanged(object source, NUIApplicationLanguageChangedEventArgs e)
- {
- Log.Debug("NUI", "NUICorebackend OnLanguageChanged Called");
- var handler = Handlers[EventType.LocaleChanged] as Action<LocaleChangedEventArgs>;
- // Need to make new signal return in native to return right value.
- handler?.Invoke( new LocaleChangedEventArgs(""));
- }
-
- /// <summary>
- /// Battery low event callback function.
- /// </summary>
- /// <param name="source">Application instance</param>
- /// <param name="e">Event argument for BatteryLow</param>
- private void OnBatteryLow(object source, NUIApplicationBatteryLowEventArgs e)
- {
- Log.Debug("NUI", "NUICorebackend OnBatteryLow Called");
- var handler = Handlers[EventType.LowBattery] as Action<LowBatteryEventArgs>;
- // Need to make new signal return in native to return right value.
- handler?.Invoke(new LowBatteryEventArgs(LowBatteryStatus.None));
- }
-
- /// <summary>
- /// Initialized event callback function.
- /// </summary>
- /// <param name="source">Application instance</param>
- /// <param name="e">Event argument for Initialized</param>
- private void OnInitialized(object source, NUIApplicationInitEventArgs e)
- {
- Log.Debug("NUI", "NUICorebackend OnInitialized Called");
- var handler = Handlers[EventType.Created] as Action;
- handler?.Invoke();
- }
-
- /// <summary>
- /// Terminated event callback function.
- /// </summary>
- /// <param name="source">Application instance</param>
- /// <param name="e">Event argument for Terminated</param>
- private void OnTerminated(object source, NUIApplicationTerminatingEventArgs e)
- {
- Log.Debug("NUI", "NUICorebackend OnTerminated Called");
- var handler = Handlers[EventType.Terminated] as Action;
- handler?.Invoke();
- }
-
- /// <summary>
- /// Resumed event callback function.
- /// </summary>
- /// <param name="source">Application instance</param>
- /// <param name="e">Event argument for Resumed</param>
- private void OnResumed(object source, NUIApplicationResumedEventArgs e)
- {
- Log.Debug("NUI", "NUICorebackend OnResumed Called");
- var handler = Handlers[EventType.Resumed] as Action;
- handler?.Invoke();
- }
-
- /// <summary>
- /// App control event callback function.
- /// </summary>
- /// <param name="source">Application instance</param>
- /// <param name="e">Event argument for AppControl</param>
- private void OnAppControl(object source, NUIApplicationAppControlEventArgs e)
- {
- Log.Debug("NUI", "NUICorebackend OnAppControl Called");
- /* can invoke after making new api which getting control handle at application.
- var handler = Handlers[EventType.AppControlReceived] as Action<AppControlReceivedEventArgs>;
- handler?.Invoke();
- */
- }
-
- /// <summary>
- /// Paused event callback function.
- /// </summary>
- /// <param name="source">Application instance</param>
- /// <param name="e">Event argument for Paused</param>
- private void OnPaused(object source, NUIApplicationPausedEventArgs e)
- {
- Log.Debug("NUI", "NUICorebackend OnPaused Called");
- var handler = Handlers[EventType.Paused] as Action;
- handler?.Invoke();
- }
-
-
- internal Application ApplicationHandle
- {
- get
- {
- return _application;
- }
- }
-
- }
-}
+++ /dev/null
-/* 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 Tizen.Applications.CoreBackend;
-
-namespace Tizen.NUI
-{
- /// <summary>
- /// Class that represents the type of NUI event for backends. This class can be converted from string type.
- /// </summary>
- public class NUIEventType : EventType
- {
- /// <summary>
- /// Initializes the EventType class.
- /// </summary>
- /// <param name="name">The name of event type.</param>
- public NUIEventType(string name) : base(name)
- {
- }
-
- /// <summary>
- /// Pre-defined event type. "Reset"
- /// </summary>
- public static readonly NUIEventType Reset = "Reset";
-
- /// <summary>
- /// Converts a string to NUIEventType instance.
- /// </summary>
- public static implicit operator NUIEventType(string value)
- {
- return new NUIEventType(value);
- }
- }
-}
/*internal View GetParent()
{
- View ret;
IntPtr cPtr = NDalicPINVOKE.Actor_GetParent(swigCPtr);
- BaseHandle basehandle = Registry.GetManagedBaseHandleFromNativePtr(cPtr);
-
- if(basehandle is Layer)
- {
- ret = new View(cPtr,false);
- }
- else
- {
- ret = basehandle as View;
- }
+ View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
using System;
using Tizen.Applications;
-using Tizen.Applications.CoreBackend;
using Tizen.NUI;
namespace Tizen.NUI
/// <summary>
/// Represents an application that have UI screen. The NUIApplication class has a default stage.
/// </summary>
- public class NUIApplication : CoreApplication
+ public class NUIApplication : CoreUIApplication
{
/// <summary>
+ /// The instance of the Application.
+ /// </summary>
+ /// <remarks>
+ /// This application is created before OnCreate() or created event. And the NUIApplication will be terminated when this application is closed.
+ /// </remarks>
+ private Application _application;
+
+ /// <summary>
+ /// The instance of the Dali Application extension.
+ /// </summary>
+ private ApplicationExtensions _applicationExt;
+
+ /// <summary>
+ /// Store the stylesheet value.
+ /// </summary>
+ private string _stylesheet;
+
+ /// <summary>
+ /// Store the window mode value.
+ /// </summary>
+ private Application.WindowMode _windowMode;
+
+ /// <summary>
+ /// Store the app mode value.
+ /// </summary>
+ private AppMode _appMode;
+
+ /// <summary>
+ /// The instance of the Dali Stage.
+ /// </summary>
+ private Window _window;
+
+ /// <summary>
/// The default constructor.
/// </summary>
- public NUIApplication() : base(new NUICoreBackend())
+ public NUIApplication() : base()
{
+ _appMode = AppMode.Default;
}
/// <summary>
/// The constructor with stylesheet.
/// </summary>
- public NUIApplication(string stylesheet) : base(new NUICoreBackend(stylesheet))
+ public NUIApplication(string stylesheet) : base()
{
+ //handle the stylesheet
+ _appMode = AppMode.StyleSheetOnly;
+ _stylesheet = stylesheet;
}
/// <summary>
/// The constructor with stylesheet and window mode.
/// </summary>
- public NUIApplication(string stylesheet, WindowMode windowMode) : base(new NUICoreBackend(stylesheet,windowMode))
+ public NUIApplication(string stylesheet, WindowMode windowMode) : base()
{
+ //handle the stylesheet and windowMode
+ _appMode = AppMode.StyleSheetWithWindowMode;
+ _stylesheet = stylesheet;
+ _windowMode = (Application.WindowMode)windowMode;
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnLocaleChanged(LocaleChangedEventArgs e)
+ protected override void OnPause()
{
+ base.OnPause();
+ _applicationExt.Pause();
+ NUILog.Debug("OnPause() is called!");
}
/// <summary>
- /// Overrides this method if want to handle behavior.
+ /// Overrides this method if want to handle behavior before calling OnCreate().<br>
+ /// stage property is initialized in this overrided method.<br>
/// </summary>
- protected override void OnLowBattery(LowBatteryEventArgs e)
+ protected override void OnPreCreate()
{
- Log.Debug("NUI", "OnLowBattery() is called!");
+ // Initialize DisposeQueue Singleton class.
+ DisposeQueue disposeQ = DisposeQueue.Instance;
+ NUILog.Debug("1) DisposeQueue.Instance.Initialize()!");
+ switch (_appMode)
+ {
+ case AppMode.Default:
+ _application = Tizen.NUI.Application.NewApplication();
+ break;
+ case AppMode.StyleSheetOnly:
+ _application = Tizen.NUI.Application.NewApplication(_stylesheet);
+ break;
+ case AppMode.StyleSheetWithWindowMode:
+ _application = Tizen.NUI.Application.NewApplication(_stylesheet, _windowMode);
+ break;
+ default:
+ break;
+ }
+ _applicationExt = new ApplicationExtensions(_application);
+ _applicationExt.Init();
+ _applicationExt.Start();
+
+ // This is also required to create DisposeQueue on main thread.
+ disposeQ.Initialize();
+ NUILog.Debug("2) DisposeQueue.Instance.Initialize()!");
+ _window = Window.Instance;
+ _window.SetBackgroundColor(Color.White);
+ NUILog.Debug("OnPreCreate() is called!");
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnLowMemory(LowMemoryEventArgs e)
+ protected override void OnResume()
{
- Log.Debug("NUI", "OnLowMemory() is called!");
+ base.OnResume();
+ _applicationExt.Resume();
+ NUILog.Debug("OnResume() is called!");
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnRegionFormatChanged(RegionFormatChangedEventArgs e)
+ protected override void OnAppControlReceived(AppControlReceivedEventArgs e)
{
- Log.Debug("NUI", "OnRegionFormatChanged() is called!");
+ base.OnAppControlReceived(e);
+ NUILog.Debug("OnAppControlReceived() is called!");
+ if (e != null)
+ {
+ NUILog.Debug("OnAppControlReceived() is called! ApplicationId=" + e.ReceivedAppControl.ApplicationId);
+ NUILog.Debug("CallerApplicationId=" + e.ReceivedAppControl.CallerApplicationId + " IsReplyRequest=" + e.ReceivedAppControl.IsReplyRequest);
+ }
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnTerminate()
+ protected override void OnCreate()
{
- Log.Debug("NUI", "OnTerminate() is called!");
+ base.OnCreate();
+ NUILog.Debug("OnCreate() is called!");
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected void OnPause()
+ protected override void OnLocaleChanged(LocaleChangedEventArgs e)
{
+ base.OnLocaleChanged(e);
+ _applicationExt.LanguageChange();
+ NUILog.Debug("OnLocaleChanged() is called!");
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected void OnResume()
+ protected override void OnLowBattery(LowBatteryEventArgs e)
{
- Log.Debug("NUI", "OnResume() is called!");
+ base.OnLowBattery(e);
+ NUILog.Debug("OnLowBattery() is called!");
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnAppControlReceived(AppControlReceivedEventArgs e)
+ protected override void OnLowMemory(LowMemoryEventArgs e)
{
- Log.Debug("NUI", "OnAppControlReceived() is called!");
- if (e != null)
- {
- Log.Debug("NUI", "OnAppControlReceived() is called! ApplicationId=" + e.ReceivedAppControl.ApplicationId);
- Log.Debug("NUI", "CallerApplicationId=" + e.ReceivedAppControl.CallerApplicationId + " IsReplyRequest=" + e.ReceivedAppControl.IsReplyRequest);
- }
+ base.OnLowMemory(e);
+ NUILog.Debug("OnLowMemory() is called!");
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnCreate()
+ protected override void OnRegionFormatChanged(RegionFormatChangedEventArgs e)
{
- // This is also required to create DisposeQueue on main thread.
- DisposeQueue disposeQ = DisposeQueue.Instance;
- disposeQ.Initialize();
- Log.Debug("NUI","OnCreate() is called!");
+ base.OnRegionFormatChanged(e);
+ NUILog.Debug("OnRegionFormatChanged() is called!");
}
/// <summary>
- /// Run NUIApplication.
+ /// Overrides this method if want to handle behavior.
/// </summary>
- /// <param name="args">Arguments from commandline.</param>
- public override void Run(string[] args)
+ protected override void OnTerminate()
{
- string[] argsClone = null;
-
- if (args == null)
- {
- argsClone = new string[1];
- }
- else
- {
- argsClone = new string[args.Length + 1];
- args.CopyTo(argsClone, 1);
- }
- argsClone[0] = string.Empty;
-
- Backend.AddEventHandler(EventType.Resumed, OnResume);
- Backend.AddEventHandler<AppControlReceivedEventArgs>(EventType.AppControlReceived, OnAppControlReceived);
- Backend.AddEventHandler(EventType.Paused, OnPause);
- Backend.AddEventHandler(EventType.Terminated, OnTerminate);
- Backend.AddEventHandler<RegionFormatChangedEventArgs>(EventType.RegionFormatChanged, OnRegionFormatChanged);
- Backend.AddEventHandler<LowMemoryEventArgs>(EventType.LowMemory, OnLowMemory);
- Backend.AddEventHandler<LowBatteryEventArgs>(EventType.LowBattery, OnLowBattery);
- Backend.AddEventHandler<LocaleChangedEventArgs>(EventType.LocaleChanged, OnLocaleChanged);
- Backend.AddEventHandler(EventType.Created, OnCreate);
-
- Backend.Run(argsClone);
+ base.OnTerminate();
+ _applicationExt.Terminate();
+ NUILog.Debug("OnTerminate() is called!");
}
/// <summary>
- /// Exit NUIApplication.
+ /// The mode of creating NUI application.
/// </summary>
- public override void Exit()
+ private enum AppMode
{
- Backend.Exit();
+ Default = 0,
+ StyleSheetOnly = 1,
+ StyleSheetWithWindowMode = 2
}
/// <summary>
Transparent = 1
}
+ /// <summary>
+ /// Get the window instance.
+ /// </summary>
+ public Window Window
+ {
+ get
+ {
+ return _application.GetWindow();
+ }
+ }
internal Application ApplicationHandle
{
get
{
- return ((NUICoreBackend)this.Backend).ApplicationHandle;
+ return _application;
}
}
-
}
}