2 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 using Tizen.Applications;
18 using Tizen.Applications.CoreBackend;
19 using System.Collections.Generic;
25 /// Represents an application that have UI screen. The NUIWidgetApplication class has a default stage.
27 /// <since_tizen> 4 </since_tizen>
28 public class NUIWidgetApplication : CoreApplication
31 /// The default constructor.
33 /// <remarks>Widget ID will be replaced as the application ID.</remarks>
34 /// <param name="widgetType">Derived widget class type.</param>
35 public NUIWidgetApplication( System.Type widgetType ) : base(new NUIWidgetCoreBackend())
37 NUIWidgetCoreBackend core = Backend as NUIWidgetCoreBackend;
38 core?.RegisterWidgetInfo(new Dictionary<System.Type, string> { { widgetType, ApplicationInfo.ApplicationId } });
42 /// The default constructor with stylesheet.
44 /// <remarks>Widget ID will be replaced as the application ID.</remarks>
45 /// <param name="widgetType">Derived widget class type.</param>
46 /// <param name="styleSheet">The styleSheet url.</param>
47 /// <since_tizen> 4 </since_tizen>
48 public NUIWidgetApplication(System.Type widgetType, string styleSheet) : base(new NUIWidgetCoreBackend(styleSheet))
50 NUIWidgetCoreBackend core = Backend as NUIWidgetCoreBackend;
51 core?.RegisterWidgetInfo(new Dictionary<System.Type, string> { { widgetType, ApplicationInfo.ApplicationId } });
55 /// Overrides this method if want to handle OnLocaleChanged behavior.
57 /// <since_tizen> 4 </since_tizen>
58 protected override void OnLocaleChanged(LocaleChangedEventArgs e)
60 Log.Fatal("NUI", "OnLocaleChanged() is called!");
61 base.OnLocaleChanged(e);
65 /// Overrides this method if want to handle OnLowBattery behavior.
67 /// <since_tizen> 4 </since_tizen>
68 protected override void OnLowBattery(LowBatteryEventArgs e)
70 Log.Fatal("NUI", "OnLowBattery() is called!");
75 /// Overrides this method if want to handle OnLowMemory behavior.
77 /// <since_tizen> 4 </since_tizen>
78 protected override void OnLowMemory(LowMemoryEventArgs e)
80 Log.Fatal("NUI", "OnLowMemory() is called!");
85 /// Overrides this method if want to handle OnRegionFormatChanged behavior.
87 /// <since_tizen> 4 </since_tizen>
88 protected override void OnRegionFormatChanged(RegionFormatChangedEventArgs e)
90 Log.Fatal("NUI", "OnRegionFormatChanged() is called!");
91 base.OnRegionFormatChanged(e);
95 /// Overrides this method if want to handle OnTerminate behavior.
97 /// <since_tizen> 4 </since_tizen>
98 protected override void OnTerminate()
100 Log.Fatal("NUI", "OnTerminate() is called!");
105 /// Overrides this method if want to handle OnPreCreate behavior.
107 /// <since_tizen> 4 </since_tizen>
108 protected virtual void OnPreCreate()
110 Log.Fatal("NUI", "OnPreCreate() is called!");
114 /// Overrides this method if want to handle OnCreate behavior.
116 /// <since_tizen> 4 </since_tizen>
117 protected override void OnCreate()
119 // This is also required to create DisposeQueue on main thread.
120 DisposeQueue disposeQ = DisposeQueue.Instance;
121 disposeQ.Initialize();
122 Log.Fatal("NUI","OnCreate() is called!");
127 /// Run NUIWidgetApplication.
129 /// <param name="args">Arguments from commandline.</param>
130 /// <since_tizen> 4 </since_tizen>
131 public override void Run(string[] args)
133 Backend.AddEventHandler(EventType.PreCreated, OnPreCreate);
138 /// Exit NUIWidgetApplication.
140 /// <since_tizen> 4 </since_tizen>
141 public override void Exit()
143 Tizen.Log.Fatal("NUI", "### NUIWidgetApplication Exit called");
147 internal WidgetApplication ApplicationHandle
151 return ((NUIWidgetCoreBackend)this.Backend).WidgetApplicationHandle;