<Project Sdk="Microsoft.NET.Sdk">\r
\r
<PropertyGroup>\r
- <Version>0.2.49</Version>\r
+ <Version>0.2.48-pre1</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.UI" Version="1.5.8" />\r
+ <PackageReference Include="Tizen.Applications.Common" Version="1.5.8" />\r
</ItemGroup>\r
\r
</Project>\r
{
public const int ver1 = 1;
public const int ver2 = 2;
- public const int ver3 = 49;
+ public const int ver3 = 46;
public const int nuiVer1 = 0;
public const int nuiVer2 = 2;
- public const int nuiVer3 = 49;
+ public const int nuiVer3 = 47;
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);
- View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
+ BaseHandle basehandle = Registry.GetManagedBaseHandleFromNativePtr(cPtr);
+
+ if(basehandle is Layer)
+ {
+ ret = new View(cPtr,false);
+ }
+ else
+ {
+ ret = basehandle 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 : CoreUIApplication
+ public class NUIApplication : CoreApplication
{
/// <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()
+ public NUIApplication() : base(new NUICoreBackend())
{
- _appMode = AppMode.Default;
}
/// <summary>
/// The constructor with stylesheet.
/// </summary>
- public NUIApplication(string stylesheet) : base()
+ public NUIApplication(string stylesheet) : base(new NUICoreBackend(stylesheet))
{
- //handle the stylesheet
- _appMode = AppMode.StyleSheetOnly;
- _stylesheet = stylesheet;
}
/// <summary>
/// The constructor with stylesheet and window mode.
/// </summary>
- public NUIApplication(string stylesheet, WindowMode windowMode) : base()
+ public NUIApplication(string stylesheet, WindowMode windowMode) : base(new NUICoreBackend(stylesheet,windowMode))
{
- //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 OnPause()
+ protected override void OnLocaleChanged(LocaleChangedEventArgs e)
{
- base.OnPause();
- _applicationExt.Pause();
- NUILog.Debug("OnPause() is called!");
}
/// <summary>
- /// Overrides this method if want to handle behavior before calling OnCreate().<br>
- /// stage property is initialized in this overrided method.<br>
+ /// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnPreCreate()
+ protected override void OnLowBattery(LowBatteryEventArgs e)
{
- // 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!");
+ Log.Debug("NUI", "OnLowBattery() is called!");
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnResume()
+ protected override void OnLowMemory(LowMemoryEventArgs e)
{
- base.OnResume();
- _applicationExt.Resume();
- NUILog.Debug("OnResume() is called!");
+ Log.Debug("NUI", "OnLowMemory() is called!");
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnAppControlReceived(AppControlReceivedEventArgs e)
+ protected override void OnRegionFormatChanged(RegionFormatChangedEventArgs e)
{
- 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);
- }
+ Log.Debug("NUI", "OnRegionFormatChanged() is called!");
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnCreate()
+ protected override void OnTerminate()
{
- base.OnCreate();
- NUILog.Debug("OnCreate() is called!");
+ Log.Debug("NUI", "OnTerminate() is called!");
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnLocaleChanged(LocaleChangedEventArgs e)
+ protected void OnPause()
{
- base.OnLocaleChanged(e);
- _applicationExt.LanguageChange();
- NUILog.Debug("OnLocaleChanged() is called!");
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnLowBattery(LowBatteryEventArgs e)
+ protected void OnResume()
{
- base.OnLowBattery(e);
- NUILog.Debug("OnLowBattery() is called!");
+ Log.Debug("NUI", "OnResume() is called!");
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnLowMemory(LowMemoryEventArgs e)
+ protected override void OnAppControlReceived(AppControlReceivedEventArgs e)
{
- base.OnLowMemory(e);
- NUILog.Debug("OnLowMemory() is called!");
+ 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);
+ }
}
/// <summary>
/// Overrides this method if want to handle behavior.
/// </summary>
- protected override void OnRegionFormatChanged(RegionFormatChangedEventArgs e)
+ protected override void OnCreate()
{
- base.OnRegionFormatChanged(e);
- NUILog.Debug("OnRegionFormatChanged() is called!");
+ // This is also required to create DisposeQueue on main thread.
+ DisposeQueue disposeQ = DisposeQueue.Instance;
+ disposeQ.Initialize();
+ Log.Debug("NUI","OnCreate() is called!");
}
/// <summary>
- /// Overrides this method if want to handle behavior.
+ /// Run NUIApplication.
/// </summary>
- protected override void OnTerminate()
+ /// <param name="args">Arguments from commandline.</param>
+ public override void Run(string[] args)
{
- base.OnTerminate();
- _applicationExt.Terminate();
- NUILog.Debug("OnTerminate() is called!");
+ 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);
}
/// <summary>
- /// The mode of creating NUI application.
+ /// Exit NUIApplication.
/// </summary>
- private enum AppMode
+ public override void Exit()
{
- Default = 0,
- StyleSheetOnly = 1,
- StyleSheetWithWindowMode = 2
+ Backend.Exit();
}
/// <summary>
Transparent = 1
}
- /// <summary>
- /// Get the window instance.
- /// </summary>
- public Window Window
- {
- get
- {
- return _application.GetWindow();
- }
- }
internal Application ApplicationHandle
{
get
{
- return _application;
+ return ((NUICoreBackend)this.Backend).ApplicationHandle;
}
}
+
}
}
Name: csapi-nui
Summary: dali-NUI
-Version: 0.2.49
+Version: 0.2.48.pre1
Release: 1
Group: Development/Libraries
License: Apache-2.0 and BSD-3-Clause and MIT