Merge "Implement normalized Vector2/3/4 class." into tizen
authordongsug song <dongsug.song@samsung.com>
Tue, 11 Apr 2017 07:15:37 +0000 (00:15 -0700)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Tue, 11 Apr 2017 07:15:38 +0000 (00:15 -0700)
78 files changed:
packaging/csapi-nui.spec
src/Tizen.NUI/Tizen.NUI.csproj
src/Tizen.NUI/Tizen.NUI.nuspec
src/Tizen.NUI/Tizen.NUI.project.json
src/Tizen.NUI/src/internal/Application.cs
src/Tizen.NUI/src/internal/CustomAlgorithmInterface.cs
src/Tizen.NUI/src/internal/DaliEnumConstants.cs
src/Tizen.NUI/src/internal/DisposeQueue.cs
src/Tizen.NUI/src/internal/EventThreadCallback.cs [new file with mode: 0755]
src/Tizen.NUI/src/internal/FriendAssembly.cs
src/Tizen.NUI/src/internal/ItemFactory.cs
src/Tizen.NUI/src/internal/ManualPINVOKE.cs
src/Tizen.NUI/src/internal/NDalic.cs
src/Tizen.NUI/src/internal/NDalicPINVOKE.cs
src/Tizen.NUI/src/internal/PropertyRangeManager.cs
src/Tizen.NUI/src/internal/SWIGTYPE_p_Dali__SignalT_void_fboolF_t.cs [deleted file]
src/Tizen.NUI/src/internal/TimerSignalType.cs
src/Tizen.NUI/src/internal/ToggleButton.cs
src/Tizen.NUI/src/internal/TransitionData.cs
src/Tizen.NUI/src/internal/ViewImpl.cs
src/Tizen.NUI/src/internal/ViewRegistry.cs
src/Tizen.NUI/src/internal/ViewWrapper.cs
src/Tizen.NUI/src/internal/ViewWrapperImpl.cs
src/Tizen.NUI/src/internal/VisualType.cs
src/Tizen.NUI/src/internal/WindowFocusSignalType.cs [new file with mode: 0755]
src/Tizen.NUI/src/public/Actor.cs
src/Tizen.NUI/src/public/AlphaFunction.cs
src/Tizen.NUI/src/public/Animation.cs
src/Tizen.NUI/src/public/Button.cs
src/Tizen.NUI/src/public/CameraActor.cs
src/Tizen.NUI/src/public/CheckBoxButton.cs
src/Tizen.NUI/src/public/Color.cs
src/Tizen.NUI/src/public/CustomView.cs
src/Tizen.NUI/src/public/CustomView/Spin.cs
src/Tizen.NUI/src/public/CustomView/VisualView.cs
src/Tizen.NUI/src/public/Degree.cs
src/Tizen.NUI/src/public/FlexContainer.cs
src/Tizen.NUI/src/public/FocusManager.cs
src/Tizen.NUI/src/public/Gesture.cs
src/Tizen.NUI/src/public/Hover.cs
src/Tizen.NUI/src/public/ImageView.cs
src/Tizen.NUI/src/public/KeyFrames.cs
src/Tizen.NUI/src/public/Layer.cs
src/Tizen.NUI/src/public/LongPressGesture.cs
src/Tizen.NUI/src/public/NUIApplication.cs
src/Tizen.NUI/src/public/PanGesture.cs
src/Tizen.NUI/src/public/Path.cs
src/Tizen.NUI/src/public/PinchGesture.cs
src/Tizen.NUI/src/public/Popup.cs
src/Tizen.NUI/src/public/Position.cs
src/Tizen.NUI/src/public/Position2D.cs
src/Tizen.NUI/src/public/ProgressBar.cs
src/Tizen.NUI/src/public/Property.cs
src/Tizen.NUI/src/public/PushButton.cs
src/Tizen.NUI/src/public/RadioButton.cs
src/Tizen.NUI/src/public/Rectangle.cs
src/Tizen.NUI/src/public/Rotation.cs
src/Tizen.NUI/src/public/ScrollBar.cs
src/Tizen.NUI/src/public/Size.cs
src/Tizen.NUI/src/public/Size2D.cs
src/Tizen.NUI/src/public/Slider.cs
src/Tizen.NUI/src/public/Stage.cs
src/Tizen.NUI/src/public/StyleManager.cs
src/Tizen.NUI/src/public/TableView.cs
src/Tizen.NUI/src/public/TextEditor.cs
src/Tizen.NUI/src/public/TextField.cs
src/Tizen.NUI/src/public/TextLabel.cs
src/Tizen.NUI/src/public/Timer.cs
src/Tizen.NUI/src/public/Touch.cs
src/Tizen.NUI/src/public/Vector2.cs
src/Tizen.NUI/src/public/Vector3.cs
src/Tizen.NUI/src/public/Vector4.cs
src/Tizen.NUI/src/public/VideoView.cs
src/Tizen.NUI/src/public/View.cs
src/Tizen.NUI/src/public/VisualBase.cs
src/Tizen.NUI/src/public/VisualMaps.cs
src/Tizen.NUI/src/public/Wheel.cs
src/Tizen.NUI/src/public/Window.cs

index 0c2a580..ebc0d54 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       csapi-nui
 Summary:    dali-NUI
-Version:    0.2.32
+Version:    0.2.34
 Release:    1
 Group:      Development/Libraries
 License:    Apache-2.0
index f9d47be..67910c0 100755 (executable)
@@ -17,8 +17,8 @@
   </PropertyGroup>\r
   <PropertyGroup>\r
     <TargetFrameworkIdentifier>.NETStandard</TargetFrameworkIdentifier>\r
-    <TargetFrameworkVersion>v1.3</TargetFrameworkVersion>\r
-    <NuGetTargetMoniker>.NETStandard,Version=v1.3</NuGetTargetMoniker>\r
+    <TargetFrameworkVersion>v1.6</TargetFrameworkVersion>\r
+    <NuGetTargetMoniker>.NETStandard,Version=v1.6</NuGetTargetMoniker>\r
     <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
     <NoStdLib>true</NoStdLib>\r
     <NoWarn>$(NoWarn);1701</NoWarn>\r
@@ -29,7 +29,7 @@
     <DebugType>full</DebugType>\r
     <Optimize>false</Optimize>\r
     <OutputPath>bin\Debug\</OutputPath>\r
-    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
+    <DefineConstants>TRACE;DEBUG;DEBUG_ON;DOT_NET_CORE</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
     <Compile Include="src\internal\doublep.cs" />\r
     <Compile Include="src\internal\DragAndDropDetector.cs" />\r
     <Compile Include="src\internal\EncodedBufferImage.cs" />\r
+    <Compile Include="src\internal\EventThreadCallback.cs" />\r
     <Compile Include="src\internal\FaceCullingModeType.cs" />\r
     <Compile Include="src\internal\FilterModeType.cs" />\r
     <Compile Include="src\internal\FittingModeType.cs" />\r
     <Compile Include="src\internal\SWIGTYPE_p_Dali__RectT_unsigned_int_t.cs" />\r
     <Compile Include="src\internal\SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t.cs" />\r
     <Compile Include="src\internal\SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t.cs" />\r
-    <Compile Include="src\internal\SWIGTYPE_p_Dali__SignalT_void_fboolF_t.cs" />\r
     <Compile Include="src\internal\SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t.cs" />\r
     <Compile Include="src\internal\SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t.cs" />\r
     <Compile Include="src\internal\SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t.cs" />\r
     <Compile Include="src\internal\VisualTransformPolicyType.cs" />\r
     <Compile Include="src\internal\VisualTransformPropertyType.cs" />\r
     <Compile Include="src\internal\VisualType.cs" />\r
+    <Compile Include="src\internal\WindowFocusSignalType.cs" />\r
     <Compile Include="src\internal\VoidSignal.cs" />\r
     <Compile Include="src\internal\WrapModeType.cs" />\r
     <Compile Include="src\public\Actor.cs" />\r
index 80ea2ff..057f705 100755 (executable)
@@ -1,15 +1,21 @@
 <?xml version="1.0"?>
 <package>
-  <metadata>
-               <id>Tizen.NUI</id>
-               <version>$version$</version>
-               <authors>Tizen Developers</authors>
-               <description>Tizen NUI dll (dali c#) </description>
-    <dependencies>
-      <dependency id="Tizen.Applications" version="1.0.3"/>
-    </dependencies>
-       </metadata>
-  <files>
-    <file src="bin/$Configuration$/Tizen.NUI.dll" target="lib/netstandard1.3" />
-  </files>
+ <metadata>
+  <id>Tizen.NUI</id>
+  <version>$version$</version>
+  <authors>Samsung Electronics</authors>
+  <requireLicenseAcceptance>false</requireLicenseAcceptance>
+  <licenseUrl>https://www.apache.org/licenses/LICENSE-2.0</licenseUrl>
+  <projectUrl>https://www.tizen.org/</projectUrl>
+  <iconUrl>https://developer.tizen.org/sites/default/files/images/tizen-pinwheel-on-light-rgb_64_64.png</iconUrl>
+  <copyright>© Samsung Electronics Co., Ltd All Rights Reserved</copyright>
+  <description>Tizen NUI is the UI Framework based on DALi (Dynamic Animation Library) 3D Graphic engine. It is a quick and easy way of allowing developers to create Rich UI Applications like Image/Video galleries, Music players, Games, Homescreens/launch pads, and so on. </description>
+  <dependencies>
+   <dependency id="Tizen.Applications" version="1.0.3"/>
+  </dependencies>
+ </metadata>
+ <files>
+  <file src="bin/$Configuration$/Tizen.NUI.dll" target="lib/netstandard1.3" />
+ </files>
 </package>
+
index f44b2c7..bf9921e 100755 (executable)
@@ -1,12 +1,12 @@
 ï»¿{\r
   "dependencies": {\r
-    "Microsoft.CSharp": "4.0.1",\r
-    "NETStandard.Library": "1.6.0",\r
-    "System.Reflection": "4.1.0",\r
-    "System.Reflection.TypeExtensions": "4.1.0",\r
+    "Microsoft.CSharp": "4.3.0",\r
+    "NETStandard.Library": "1.6.1",\r
+    "System.Reflection": "4.3.0",\r
+    "System.Reflection.TypeExtensions": "4.3.0",\r
     "Tizen.Applications": "1.0.3"\r
   },\r
   "frameworks": {\r
-    "netstandard1.3": {}\r
+    "netstandard1.6": {}\r
   }\r
 }
\ No newline at end of file
index 6b6f102..5952e6a 100755 (executable)
@@ -14,6 +14,18 @@ namespace Tizen.NUI
     using System;
     using System.Runtime.InteropServices;
 
+    //This version should be updated and synced for every Dali native release
+    internal static class Version
+    {
+        public const int ver1 = 1;
+        public const int ver2 = 2;
+        public const int ver3 = 34;
+        public const int nuiVer1 = 0;
+        public const int nuiVer2 = 2;
+        public const int nuiVer3 = 34;
+        public const string nuiRelease = "";
+    }
+
     /**
       * @brief Event arguments that passed via NUIApplicationInit signal
       *
@@ -440,6 +452,8 @@ namespace Tizen.NUI
         // Callback for Application InitSignal
         private void OnApplicationInit(IntPtr data)
         {
+            // Initialize DisposeQueue Singleton class. This is also required to create DisposeQueue on main thread.
+            DisposeQueue.Instance.Initialize();
             NUIApplicationInitEventArgs e = new NUIApplicationInitEventArgs();
 
             // Populate all members of "e" (NUIApplicationInitEventArgs) with real data
@@ -1058,6 +1072,34 @@ namespace Tizen.NUI
 
         public static Application NewApplication(string stylesheet, Application.WindowMode windowMode)
         {
+            {
+                int ver1 = -1;
+                int ver2 = -1;
+                int ver3 = -1;
+
+                try
+                {
+                if (NDalicManualPINVOKE.NativeVersionCheck(ref ver1, ref ver2, ref ver3))
+                {
+                    if (ver1 != Version.ver1 || ver2 != Version.ver2 || ver3 != Version.ver3)
+                    {
+                            //throw new System.InvalidOperationException("Dali native version mismatch error! nui=" + Version.ver1 + "." + Version.ver2 + "." + Version.ver3 + " but dali=" + ver1 + "." + ver2 + "." + ver3);
+                            Tizen.Log.Fatal("NUI", "Dali native version mismatch error! nui=" + Version.nuiVer1 + "." + Version.nuiVer2 + "." + Version.nuiVer3 + Version.nuiRelease + " but native dali=" + ver1 + "." + ver2 + "." + ver3);
+                    }
+                }
+                else
+                {
+                        //throw new System.InvalidOperationException("Dali native version mismatch error! nui=" + Version.ver1 + "." + Version.ver2 + "." + Version.ver3 + " but dali=" + ver1 + "." + ver2 + "." + ver3);
+                        Tizen.Log.Fatal("NUI", "Dali native version mismatch error! nui=" + Version.nuiVer1 + "." + Version.nuiVer2 + "." + Version.nuiVer3 + Version.nuiRelease + " but native dali=" + ver1 + "." + ver2 + "." + ver3);
+                    }
+                }
+                catch (Exception e)
+                {
+                    //throw new System.InvalidOperationException("Dali native version is very old! nui=" + Version.ver1 + "." + Version.ver2 + "." + Version.ver3);
+                    Tizen.Log.Fatal("NUI", "Dali native version is very old! nui=" + Version.nuiVer1 + "." + Version.nuiVer2 + "." + Version.nuiVer3 + Version.nuiRelease);
+                }
+            }
+
             LOG(" NewApplication(string stylesheet, Application.WindowMode windowMode) is called! ");
 
             // register all Views with the type registry, so that can be created / styled via JSON
@@ -1073,7 +1115,8 @@ namespace Tizen.NUI
             return ret;
         }
 
-        public bool AddIdle(System.Delegate func)
+        //Removed from v0.2.33
+        /*public bool AddIdle(System.Delegate func)
         {
             System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
             System.IntPtr ip2 = NDalicManualPINVOKE.MakeCallback(new System.Runtime.InteropServices.HandleRef(this, ip));
@@ -1082,7 +1125,7 @@ namespace Tizen.NUI
 
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
-        }
+        }*/
 
 
 
index defb96b..9fcc50b 100755 (executable)
@@ -7,8 +7,8 @@
 // Do not make changes to this file unless you know what you are doing--modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
-#define DOT_NET_CORE
 
+#define DOT_NET_CORE
 #if (DOT_NET_CORE)
 using System.Reflection;
 #endif
@@ -29,10 +29,14 @@ internal class CustomAlgorithmInterface : global::System.IDisposable {
   }
 
   ~CustomAlgorithmInterface() {
-    Dispose();
+    DisposeQueue.Instance.Add(this);
   }
 
   public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
@@ -65,8 +69,8 @@ internal class CustomAlgorithmInterface : global::System.IDisposable {
 #if (DOT_NET_CORE)
   private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) {
     global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, methodTypes);
-    bool hasDerivedMethod = methodInfo.GetType().GetTypeInfo().IsSubclassOf(typeof(CustomAlgorithmInterface));
-    return hasDerivedMethod;
+    bool hasDerivedMethod = this.GetType().GetTypeInfo().IsSubclassOf(typeof(CustomAlgorithmInterface));
+    return hasDerivedMethod && (methodInfo != null);
   }
 #else
   private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) {
index 7b56c45..9877386 100755 (executable)
@@ -74,4 +74,9 @@ namespace Tizen.NUI
       }
     }
   } // namespace Constants
+
+    public struct InternalSetting
+    {
+        public static bool DefaultParentOriginAsTopLeft = true;
+    }
 } // namesapce Dali
index 2531371..f3b2016 100755 (executable)
@@ -15,16 +15,15 @@ namespace Tizen.NUI
 
     internal class DisposeQueue
     {
-        private static DisposeQueue _disposableQueue = new DisposeQueue();
+        private static readonly DisposeQueue _disposableQueue = new DisposeQueue();
         private List<IDisposable> _disposables = new List<IDisposable>();
         private Object _listLock = new object();
-        private delegate int ProcessDisposablesDelegate(IntPtr ptr);
-        private ProcessDisposablesDelegate _disposequeueProcessDisposablesDelegate;
-
+        /* temporary removal because of crash issue. this will be fixed later. 2017-04-04
+        private EventThreadCallback _eventThreadCallback;
+        private EventThreadCallback.CallbackDelegate _disposeQueueProcessDisposablesDelegate;
+        */
         private DisposeQueue()
         {
-          _disposequeueProcessDisposablesDelegate = new ProcessDisposablesDelegate(ProcessDisposables);
-          Application.Instance.AddIdle(_disposequeueProcessDisposablesDelegate);
         }
 
         ~DisposeQueue()
@@ -36,15 +35,27 @@ namespace Tizen.NUI
             get { return _disposableQueue; }
         }
 
+        public void Initialize()
+        {
+            /* temporary removal because of crash issue. this will be fixed later. 2017-04-04
+            _disposeQueueProcessDisposablesDelegate = new EventThreadCallback.CallbackDelegate(ProcessDisposables);
+            _eventThreadCallback = new EventThreadCallback(_disposeQueueProcessDisposablesDelegate);
+            */
+        }
+
         public void Add(IDisposable disposable)
         {
             lock(_listLock)
             {
                 _disposables.Add(disposable);
             }
+
+            /* temporary removal because of crash issue. this will be fixed later. 2017-04-04
+            _eventThreadCallback.Trigger();
+            */
         }
 
-        private int ProcessDisposables(IntPtr ptr)
+        private void ProcessDisposables()
         {
             lock(_listLock)
             {
@@ -54,7 +65,6 @@ namespace Tizen.NUI
                 }
                 _disposables.Clear();
             }
-            return 0;
         }
     }
 }
diff --git a/src/Tizen.NUI/src/internal/EventThreadCallback.cs b/src/Tizen.NUI/src/internal/EventThreadCallback.cs
new file mode 100755 (executable)
index 0000000..18a25b7
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * 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
+{
+
+    public class EventThreadCallback : global::System.IDisposable
+    {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        protected bool swigCMemOwn;
+        public delegate void CallbackDelegate();
+
+        internal EventThreadCallback(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(EventThreadCallback obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        ~EventThreadCallback()
+        {
+            Dispose();
+        }
+
+        public virtual void Dispose()
+        {
+            lock (this)
+            {
+                if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                {
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_EventThreadCallback(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                }
+                global::System.GC.SuppressFinalize(this);
+            }
+        }
+
+        public EventThreadCallback(CallbackDelegate func) : this(NDalicManualPINVOKE.new_EventThreadCallback(func), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        public void Trigger()
+        {
+            NDalicManualPINVOKE.EventThreadCallback_Trigger(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+    }
+
+}
index b580beb..60b87e6 100755 (executable)
 // This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
 // Some have been manually changed
 
-// friend assembly setting\r
-// compile with: /target:Tizen.NUI.ExtTEST /keyfile:FriendAssemblies.snk\r
-\r
-using System.Runtime.CompilerServices;\r
+// friend assembly setting
+// compile with: /target:Tizen.NUI.ExtTEST /keyfile:FriendAssemblies.snk
+
+using System.Runtime.CompilerServices;
 [assembly: InternalsVisibleTo("Tizen.NUI.Extension.Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004d7c7c03a196ecb8e7cc5056750e1f40ee2bbe99f0e53a07f2538f2b0f450bd731b9dca3706503a0378baca74a09cf3af6261b330c031f44817ab6ed64189460765a402279d3e0c1fa7295ae1dccb2e3ff329705fd85b58d66ae7cb7e95ba06e0d847c3e3ba918798f579e5caeb1c6149955e6baf24236eec46227a623e494b1")]
 [assembly: InternalsVisibleTo("Tizen.MM.Test, PublicKey=00240000048000009400000006020000002400005253413100040000010001004d7c7c03a196ecb8e7cc5056750e1f40ee2bbe99f0e53a07f2538f2b0f450bd731b9dca3706503a0378baca74a09cf3af6261b330c031f44817ab6ed64189460765a402279d3e0c1fa7295ae1dccb2e3ff329705fd85b58d66ae7cb7e95ba06e0d847c3e3ba918798f579e5caeb1c6149955e6baf24236eec46227a623e494b1")]
 namespace Tizen.NUI
index eac55d0..dfe6436 100755 (executable)
@@ -102,9 +102,9 @@ namespace Tizen.NUI
         private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes)
         {
             global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, methodTypes);
-            bool hasDerivedMethod = methodInfo.GetType().GetTypeInfo().IsSubclassOf(typeof(ItemFactory));
+            bool hasDerivedMethod = this.GetType().GetTypeInfo().IsSubclassOf(typeof(ItemFactory));
             Tizen.Log.Debug("NUI-APP", "hasDerivedMethod=" + hasDerivedMethod);
-            return hasDerivedMethod;
+            return hasDerivedMethod && (methodInfo != null);
         }
 #else
         private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes)
index 8a4a2d9..a70ec5c 100755 (executable)
@@ -184,8 +184,14 @@ namespace Tizen.NUI
         [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_ViewWrapperImpl_ApplyThemeStyle")]
         public static extern void ViewWrapperImpl_ApplyThemeStyle(global::System.Runtime.InteropServices.HandleRef jarg1);
 
-        [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_MakeCallback")]
-        public static extern global::System.IntPtr MakeCallback(global::System.Runtime.InteropServices.HandleRef jarg1);
+        [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_EventThreadCallback")]
+        public static extern global::System.IntPtr new_EventThreadCallback(EventThreadCallback.CallbackDelegate delegate1);
+
+        [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_EventThreadCallback")]
+        public static extern void delete_EventThreadCallback(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_EventThreadCallback_Trigger")]
+        public static extern void EventThreadCallback_Trigger(global::System.Runtime.InteropServices.HandleRef jarg1);
 
         [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Actor_Property_SIBLING_ORDER_get")]
         public static extern int Actor_Property_SIBLING_ORDER_get();
@@ -264,5 +270,12 @@ namespace Tizen.NUI
 
         [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Visual_Property_MIX_COLOR_get")]
         public static extern int Visual_Property_MIX_COLOR_get();
+
+        [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Image_Visual_BORDER_get")]
+        public static extern int Image_Visual_BORDER_get();
+
+        [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint = "CSharp_Dali_NativeVersionCheck")]
+        public static extern bool NativeVersionCheck(ref int ver1, ref int ver2, ref int ver3);
+
     }
 }
index 8168d23..3149f6e 100755 (executable)
@@ -21,6 +21,7 @@ namespace Tizen.NUI {
   public static readonly int VISUAL_PROPERTY_TRANSFORM = NDalicManualPINVOKE.Visual_Property_TRANSFORM_get();
   public static readonly int VISUAL_PROPERTY_PREMULTIPLIED_ALPHA = NDalicManualPINVOKE.Visual_Property_PREMULTIPLIED_ALPHA_get();
   public static readonly int VISUAL_PROPERTY_MIX_COLOR = NDalicManualPINVOKE.Visual_Property_MIX_COLOR_get();
+  public static readonly int IMAGE_VISUAL_BORDER = NDalicManualPINVOKE.Image_Visual_BORDER_get();
 
   public static void DaliAssertMessage(string location, string condition) {
     NDalicPINVOKE.DaliAssertMessage(location, condition);
@@ -1013,8 +1014,8 @@ System.IntPtr ip2 = System.Runtime.InteropServices.Marshal.GetFunctionPointerFor
     } 
   }
 
-  public static SWIGTYPE_p_Dali__SignalT_void_fboolF_t FocusChangedSignal(Window window) {
-    SWIGTYPE_p_Dali__SignalT_void_fboolF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fboolF_t(NDalicPINVOKE.FocusChangedSignal(Window.getCPtr(window)), false);
+    public static WindowFocusSignalType FocusChangedSignal(Window window) {
+    WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(Window.getCPtr(window)), false);
     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
     return ret;
   }
index ba9dc18..b2274c8 100755 (executable)
@@ -6155,25 +6155,22 @@ class NDalicPINVOKE {
   [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Window_GetNativeHandle")]
   public static extern global::System.IntPtr Window_GetNativeHandle(global::System.Runtime.InteropServices.HandleRef jarg1);
 
-  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Window_IndicatorVisibilityChangedSignal")]
-  public static extern global::System.IntPtr Window_IndicatorVisibilityChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FocusChangedSignal")]
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_FocusChangedSignal")]
   public static extern global::System.IntPtr FocusChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
 
-  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SetAcceptFocus")]
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_SetAcceptFocus")]
   public static extern void SetAcceptFocus(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
 
-  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IsFocusAcceptable")]
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_IsFocusAcceptable")]
   public static extern bool IsFocusAcceptable(global::System.Runtime.InteropServices.HandleRef jarg1);
 
-  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Show")]
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Show")]
   public static extern void Show(global::System.Runtime.InteropServices.HandleRef jarg1);
 
-  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Hide")]
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Hide")]
   public static extern void Hide(global::System.Runtime.InteropServices.HandleRef jarg1);
 
-  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IsVisible")]
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_IsVisible")]
   public static extern bool IsVisible(global::System.Runtime.InteropServices.HandleRef jarg1);
 
   [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Application_New__SWIG_0")]
@@ -6338,6 +6335,27 @@ class NDalicPINVOKE {
   [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_TimerSignalType")]
   public static extern void delete_TimerSignalType(global::System.Runtime.InteropServices.HandleRef jarg1);
 
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint = "CSharp_Dali_WindowFocusSignalType_Empty")]
+  public static extern bool WindowFocusSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint = "CSharp_Dali_WindowFocusSignalType_GetConnectionCount")]
+  public static extern uint WindowFocusSignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint = "CSharp_Dali_WindowFocusSignalType_Connect")]
+  public static extern void WindowFocusSignalType_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_WindowFocusSignalType_Disconnect")]
+  public static extern void WindowFocusSignalType_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_WindowFocusSignalType_Emit")]
+  public static extern void WindowFocusSignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint = "CSharp_Dali_new_WindowFocusSignalType")]
+  public static extern global::System.IntPtr new_WindowFocusSignalType();
+
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint = "CSharp_Dali_delete_WindowFocusSignalType")]
+  public static extern void delete_WindowFocusSignalType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
   [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_VISUAL_PROPERTY_TYPE_get")]
   public static extern int VISUAL_PROPERTY_TYPE_get();
 
@@ -10004,19 +10022,19 @@ class NDalicPINVOKE {
   [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_LoadImageSynchronously__SWIG_2")]
   public static extern global::System.IntPtr LoadImageSynchronously__SWIG_2(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, int jarg4, bool jarg5);
 
-  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_CustomAlgorithmInterface")]
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_CustomAlgorithmInterface")]
   public static extern void delete_CustomAlgorithmInterface(global::System.Runtime.InteropServices.HandleRef jarg1);
 
-  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomAlgorithmInterface_GetNextFocusableActor")]
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_CustomAlgorithmInterface_GetNextFocusableActor")]
   public static extern global::System.IntPtr CustomAlgorithmInterface_GetNextFocusableActor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4);
 
-  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_CustomAlgorithmInterface")]
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_CustomAlgorithmInterface")]
   public static extern global::System.IntPtr new_CustomAlgorithmInterface();
 
-  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomAlgorithmInterface_director_connect")]
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_CustomAlgorithmInterface_director_connect")]
   public static extern void CustomAlgorithmInterface_director_connect(global::System.Runtime.InteropServices.HandleRef jarg1, CustomAlgorithmInterface.SwigDelegateCustomAlgorithmInterface_0 delegate0);
 
-  [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SetCustomAlgorithm")]
+  [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_SetCustomAlgorithm")]
   public static extern void SetCustomAlgorithm(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
 
   [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_ItemIdContainer_Clear")]
index 7560286..e4fcf4a 100755 (executable)
@@ -1,11 +1,11 @@
-#define DOT_NET_CORE
 
-using System;
-using System.Runtime.InteropServices;
-using System.Collections.Generic;
+#define DOT_NET_CORE
 #if (DOT_NET_CORE)
 using System.Reflection;
 #endif
+using System;
+using System.Runtime.InteropServices;
+using System.Collections.Generic;
 
 namespace Tizen.NUI
 {
diff --git a/src/Tizen.NUI/src/internal/SWIGTYPE_p_Dali__SignalT_void_fboolF_t.cs b/src/Tizen.NUI/src/internal/SWIGTYPE_p_Dali__SignalT_void_fboolF_t.cs
deleted file mode 100755 (executable)
index c1b1a5b..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated />
-//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
-//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI {
-
-    internal class SWIGTYPE_p_Dali__SignalT_void_fboolF_t {
-  private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_Dali__SignalT_void_fboolF_t(global::System.IntPtr cPtr, bool futureUse) {
-    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_Dali__SignalT_void_fboolF_t() {
-    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-  }
-
-  internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__SignalT_void_fboolF_t obj) {
-    return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
index 6b31a11..34b1d06 100755 (executable)
@@ -25,10 +25,14 @@ namespace Tizen.NUI {
   }
 
   ~TimerSignalType() {
-    Dispose();
+    DisposeQueue.Instance.Add(this);
   }
 
   public virtual void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
index ad8697a..b3f5ad1 100755 (executable)
@@ -38,10 +38,14 @@ public class ToggleButton : Button {
   }
 
   ~ToggleButton() {
-    Dispose();
+    DisposeQueue.Instance.Add(this);
   }
 
   public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
index f927eea..74ea147 100755 (executable)
@@ -38,10 +38,14 @@ public class TransitionData : BaseHandle {
   }
 
   ~TransitionData() {
-    Dispose();
+    DisposeQueue.Instance.Add(this);
   }
 
   public override void Dispose() {
+    if (!Stage.IsInstalled()) {
+      DisposeQueue.Instance.Add(this);
+      return;
+    }
     lock(this) {
       if (swigCPtr.Handle != global::System.IntPtr.Zero) {
         if (swigCMemOwn) {
index 09d13e1..858deea 100755 (executable)
@@ -7,8 +7,8 @@
 // Do not make changes to this file unless you know what you are doing--modify
 // the SWIG interface file instead.
 //------------------------------------------------------------------------------
-#define DOT_NET_CORE
 
+#define DOT_NET_CORE
 #if (DOT_NET_CORE)
 using System.Reflection;
 #endif
@@ -171,13 +171,13 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        public void SetAsKeyboardFocusGroup(bool isFocusGroup)
+        public void SetAsFocusGroup(bool isFocusGroup)
         {
             NDalicPINVOKE.ViewImpl_SetAsKeyboardFocusGroup(swigCPtr, isFocusGroup);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        public bool IsKeyboardFocusGroup()
+        public bool IsFocusGroup()
         {
             bool ret = NDalicPINVOKE.ViewImpl_IsKeyboardFocusGroup(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
@@ -431,16 +431,16 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        public virtual Actor GetNextKeyboardFocusableActor(Actor currentFocusedActor, View.FocusDirection direction, bool loopEnabled)
+        public virtual Actor GetNextFocusableActor(Actor currentFocusedActor, View.FocusDirection direction, bool loopEnabled)
         {
-            Actor ret = new Actor((SwigDerivedClassHasMethod("GetNextKeyboardFocusableActor", swigMethodTypes32) ? NDalicPINVOKE.ViewImpl_GetNextKeyboardFocusableActorSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(currentFocusedActor), (int)direction, loopEnabled) : NDalicPINVOKE.ViewImpl_GetNextKeyboardFocusableActor(swigCPtr, Actor.getCPtr(currentFocusedActor), (int)direction, loopEnabled)), true);
+            Actor ret = new Actor((SwigDerivedClassHasMethod("GetNextFocusableActor", swigMethodTypes32) ? NDalicPINVOKE.ViewImpl_GetNextKeyboardFocusableActorSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(currentFocusedActor), (int)direction, loopEnabled) : NDalicPINVOKE.ViewImpl_GetNextKeyboardFocusableActor(swigCPtr, Actor.getCPtr(currentFocusedActor), (int)direction, loopEnabled)), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        public virtual void OnKeyboardFocusChangeCommitted(Actor commitedFocusableActor)
+        public virtual void OnFocusChangeCommitted(Actor commitedFocusableActor)
         {
-            if (SwigDerivedClassHasMethod("OnKeyboardFocusChangeCommitted", swigMethodTypes33)) NDalicPINVOKE.ViewImpl_OnKeyboardFocusChangeCommittedSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(commitedFocusableActor)); else NDalicPINVOKE.ViewImpl_OnKeyboardFocusChangeCommitted(swigCPtr, Actor.getCPtr(commitedFocusableActor));
+            if (SwigDerivedClassHasMethod("OnFocusChangeCommitted", swigMethodTypes33)) NDalicPINVOKE.ViewImpl_OnKeyboardFocusChangeCommittedSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(commitedFocusableActor)); else NDalicPINVOKE.ViewImpl_OnKeyboardFocusChangeCommitted(swigCPtr, Actor.getCPtr(commitedFocusableActor));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
@@ -553,9 +553,9 @@ namespace Tizen.NUI
                 swigDelegate30 = new SwigDelegateViewImpl_30(SwigDirectorOnKeyInputFocusGained);
             if (SwigDerivedClassHasMethod("OnKeyInputFocusLost", swigMethodTypes31))
                 swigDelegate31 = new SwigDelegateViewImpl_31(SwigDirectorOnKeyInputFocusLost);
-            if (SwigDerivedClassHasMethod("GetNextKeyboardFocusableActor", swigMethodTypes32))
+            if (SwigDerivedClassHasMethod("GetNextFocusableActor", swigMethodTypes32))
                 swigDelegate32 = new SwigDelegateViewImpl_32(SwigDirectorGetNextKeyboardFocusableActor);
-            if (SwigDerivedClassHasMethod("OnKeyboardFocusChangeCommitted", swigMethodTypes33))
+            if (SwigDerivedClassHasMethod("OnFocusChangeCommitted", swigMethodTypes33))
                 swigDelegate33 = new SwigDelegateViewImpl_33(SwigDirectorOnKeyboardFocusChangeCommitted);
             if (SwigDerivedClassHasMethod("OnKeyboardEnter", swigMethodTypes34))
                 swigDelegate34 = new SwigDelegateViewImpl_34(SwigDirectorOnKeyboardEnter);
@@ -579,10 +579,10 @@ namespace Tizen.NUI
         private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes)
         {
             global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, methodTypes);
-            bool hasDerivedMethod = methodInfo.GetType().GetTypeInfo().IsSubclassOf(typeof(ViewImpl));
+            bool hasDerivedMethod = this.GetType().GetTypeInfo().IsSubclassOf(typeof(ViewImpl));
 
             Tizen.Log.Debug("NUI-APP", "hasDerivedMethod=" + hasDerivedMethod);
-            return hasDerivedMethod;
+            return hasDerivedMethod && (methodInfo != null);
         }
 #else
         private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes)
@@ -755,12 +755,12 @@ namespace Tizen.NUI
 
         private global::System.IntPtr SwigDirectorGetNextKeyboardFocusableActor(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled)
         {
-            return Actor.getCPtr(GetNextKeyboardFocusableActor(new Actor(currentFocusedActor, true), (View.FocusDirection)direction, loopEnabled)).Handle;
+            return Actor.getCPtr(GetNextFocusableActor(new Actor(currentFocusedActor, true), (View.FocusDirection)direction, loopEnabled)).Handle;
         }
 
         private void SwigDirectorOnKeyboardFocusChangeCommitted(global::System.IntPtr commitedFocusableActor)
         {
-            OnKeyboardFocusChangeCommitted(new Actor(commitedFocusableActor, true));
+            OnFocusChangeCommitted(new Actor(commitedFocusableActor, true));
         }
 
         private bool SwigDirectorOnKeyboardEnter()
index e808f34..a1bf0cd 100755 (executable)
@@ -1,11 +1,11 @@
-#define DOT_NET_CORE
 
-using System;
-using System.Runtime.InteropServices;
-using System.Collections.Generic;
+#define DOT_NET_CORE
 #if (DOT_NET_CORE)
 using System.Reflection;
 #endif
+using System;
+using System.Runtime.InteropServices;
+using System.Collections.Generic;
 
 namespace Tizen.NUI
 {
@@ -540,4 +540,4 @@ namespace Tizen.NUI
     }
 
 
-}
\ No newline at end of file
+}
index ac80b47..4c22cc5 100755 (executable)
@@ -34,11 +34,16 @@ namespace Tizen.NUI
 
         ~ViewWrapper()
         {
-            Dispose();
+            DisposeQueue.Instance.Add(this);
         }
 
         public override void Dispose()
         {
+            if (!Stage.IsInstalled())
+            {
+                DisposeQueue.Instance.Add(this);
+                return;
+            }
             lock(this)
             {
                 if (swigCPtr.Handle != global::System.IntPtr.Zero)
index 5342294..ad95507 100755 (executable)
@@ -49,10 +49,10 @@ namespace Tizen.NUI
         public delegate bool OnAccessibilityTouchDelegate(Touch touch);
         public delegate bool OnAccessibilityValueChangeDelegate(bool isIncrease);
         public delegate bool OnAccessibilityZoomDelegate();
-        public delegate void OnKeyInputFocusGainedDelegate();
-        public delegate void OnKeyInputFocusLostDelegate();
-        public delegate View GetNextKeyboardFocusableViewDelegate(View currentFocusedView, View.FocusDirection direction, bool loopEnabled);
-        public delegate void OnKeyboardFocusChangeCommittedDelegate(View commitedFocusableView);
+        public delegate void OnFocusGainedDelegate();
+        public delegate void OnFocusLostDelegate();
+        public delegate View GetNextFocusableViewDelegate(View currentFocusedView, View.FocusDirection direction, bool loopEnabled);
+        public delegate void OnFocusChangeCommittedDelegate(View commitedFocusableView);
         public delegate bool OnKeyboardEnterDelegate();
         public delegate void OnPinchDelegate(PinchGesture pinch);
         public delegate void OnPanDelegate(PanGesture pan);
@@ -88,10 +88,10 @@ namespace Tizen.NUI
         public OnAccessibilityTouchDelegate OnAccessibilityTouch;
         public OnAccessibilityValueChangeDelegate OnAccessibilityValueChange;
         public OnAccessibilityZoomDelegate OnAccessibilityZoom;
-        public OnKeyInputFocusGainedDelegate OnKeyInputFocusGained;
-        public OnKeyInputFocusLostDelegate OnKeyInputFocusLost;
-        public GetNextKeyboardFocusableViewDelegate GetNextKeyboardFocusableView;
-        public OnKeyboardFocusChangeCommittedDelegate OnKeyboardFocusChangeCommitted;
+        public OnFocusGainedDelegate OnFocusGained;
+        public OnFocusLostDelegate OnFocusLost;
+        public GetNextFocusableViewDelegate GetNextFocusableView;
+        public OnFocusChangeCommittedDelegate OnFocusChangeCommitted;
         public OnKeyboardEnterDelegate OnKeyboardEnter;
         public OnPinchDelegate OnPinch;
         public OnPanDelegate OnPan;
@@ -110,11 +110,16 @@ namespace Tizen.NUI
 
         ~ViewWrapperImpl()
         {
-            Dispose();
+            DisposeQueue.Instance.Add(this);
         }
 
         public override void Dispose()
         {
+            if (!Stage.IsInstalled())
+            {
+                DisposeQueue.Instance.Add(this);
+                return;
+            }
             lock(this)
             {
                 if (swigCPtr.Handle != global::System.IntPtr.Zero)
@@ -230,7 +235,7 @@ namespace Tizen.NUI
             return ret;
         }
 
-        public void EmitKeyInputFocusSignal(bool focusGained)
+        public void EmitFocusSignal(bool focusGained)
         {
             NDalicManualPINVOKE.ViewWrapperImpl_EmitKeyInputFocusSignal(swigCPtr, focusGained);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
@@ -274,10 +279,10 @@ namespace Tizen.NUI
             Delegate27 = new DelegateViewWrapperImpl_27(DirectorOnAccessibilityTouch);
             Delegate28 = new DelegateViewWrapperImpl_28(DirectorOnAccessibilityValueChange);
             Delegate29 = new DelegateViewWrapperImpl_29(DirectorOnAccessibilityZoom);
-            Delegate30 = new DelegateViewWrapperImpl_30(DirectorOnKeyInputFocusGained);
-            Delegate31 = new DelegateViewWrapperImpl_31(DirectorOnKeyInputFocusLost);
-            Delegate32 = new DelegateViewWrapperImpl_32(DirectorGetNextKeyboardFocusableActor);
-            Delegate33 = new DelegateViewWrapperImpl_33(DirectorOnKeyboardFocusChangeCommitted);
+            Delegate30 = new DelegateViewWrapperImpl_30(DirectorOnFocusGained);
+            Delegate31 = new DelegateViewWrapperImpl_31(DirectorOnFocusLost);
+            Delegate32 = new DelegateViewWrapperImpl_32(DirectorGetNextFocusableActor);
+            Delegate33 = new DelegateViewWrapperImpl_33(DirectorOnFocusChangeCommitted);
             Delegate34 = new DelegateViewWrapperImpl_34(DirectorOnKeyboardEnter);
             Delegate35 = new DelegateViewWrapperImpl_35(DirectorOnPinch);
             Delegate36 = new DelegateViewWrapperImpl_36(DirectorOnPan);
@@ -441,24 +446,24 @@ namespace Tizen.NUI
             return OnAccessibilityZoom();
         }
 
-        private void DirectorOnKeyInputFocusGained()
+        private void DirectorOnFocusGained()
         {
-            OnKeyInputFocusGained();
+            OnFocusGained();
         }
 
-        private void DirectorOnKeyInputFocusLost()
+        private void DirectorOnFocusLost()
         {
-            OnKeyInputFocusLost();
+            OnFocusLost();
         }
 
-        private global::System.IntPtr DirectorGetNextKeyboardFocusableActor(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled)
+        private global::System.IntPtr DirectorGetNextFocusableActor(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled)
         {
-            return Actor.getCPtr(GetNextKeyboardFocusableView(new View(currentFocusedActor, false), (View.FocusDirection)direction, loopEnabled)).Handle;
+            return Actor.getCPtr(GetNextFocusableView(new View(currentFocusedActor, false), (View.FocusDirection)direction, loopEnabled)).Handle;
         }
 
-        private void DirectorOnKeyboardFocusChangeCommitted(global::System.IntPtr commitedFocusableView)
+        private void DirectorOnFocusChangeCommitted(global::System.IntPtr commitedFocusableView)
         {
-            OnKeyboardFocusChangeCommitted(new View(commitedFocusableView, false));
+            OnFocusChangeCommitted(new View(commitedFocusableView, false));
         }
 
         private bool DirectorOnKeyboardEnter()
index 81164c4..2c97737 100755 (executable)
@@ -20,7 +20,10 @@ namespace Tizen.NUI {
   WIREFRAME
 
   ,
-  TEXT
+  TEXT,
+  N_PATCH,
+  SVG,
+  ANIMATED_IMAGE
 }
 
 }
diff --git a/src/Tizen.NUI/src/internal/WindowFocusSignalType.cs b/src/Tizen.NUI/src/internal/WindowFocusSignalType.cs
new file mode 100755 (executable)
index 0000000..9931518
--- /dev/null
@@ -0,0 +1,97 @@
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.9
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Tizen.NUI
+{
+
+    public class WindowFocusSignalType : global::System.IDisposable
+    {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        protected bool swigCMemOwn;
+
+        internal WindowFocusSignalType(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(WindowFocusSignalType obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        ~WindowFocusSignalType()
+        {
+            Dispose();
+        }
+
+        public virtual void Dispose()
+        {
+            lock (this)
+            {
+                if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                {
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicPINVOKE.delete_WindowFocusSignalType(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                }
+                global::System.GC.SuppressFinalize(this);
+            }
+        }
+
+        public bool Empty()
+        {
+            bool ret = NDalicPINVOKE.WindowFocusSignalType_Empty(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        public uint GetConnectionCount()
+        {
+            uint ret = NDalicPINVOKE.WindowFocusSignalType_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);
+            {
+                NDalicPINVOKE.WindowFocusSignalType_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);
+            {
+                NDalicPINVOKE.WindowFocusSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+        }
+
+        public void Emit(bool arg)
+        {
+            NDalicPINVOKE.WindowFocusSignalType_Emit(swigCPtr, arg);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        public WindowFocusSignalType() : this(NDalicPINVOKE.new_WindowFocusSignalType(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+    }
+
+}
index c894a4d..c93e093 100755 (executable)
@@ -24,8 +24,8 @@ namespace Tizen.NUI
     using System.Runtime.InteropServices;
 
     /// <summary>
-    /// Actor is the primary object with which Dali applications interact.
-    /// UI controls can be built by combining multiple actors.
+    /// Actor is the primary object with which Dali applications interact.<br>
+    /// UI controls can be built by combining multiple actors.<br>
     /// </summary>
     public class Actor : Handle
     {
@@ -86,8 +86,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        ///  Retrieve the position of the Actor.
-        ///  The coordinates are relative to the Actor's parent.
+        ///  Retrieve the position of the Actor.<br>
+        ///  The coordinates are relative to the Actor's parent.<br>
         /// </summary>
         public Position CurrentPosition
         {
@@ -98,8 +98,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        ///  Retrieve the size of the Actor.
-        ///  The coordinates are relative to the Actor's parent.
+        ///  Retrieve the size of the Actor.<br>
+        ///  The coordinates are relative to the Actor's parent.<br>
         /// </summary>
         public Size CurrentSize
         {
@@ -110,7 +110,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the actor's parent.
+        /// Retrieves the actor's parent.<br>
         /// </summary>
         public Actor Parent
         {
@@ -121,7 +121,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves and sets the actor's opacity.
+        /// Retrieves and sets the actor's opacity.<br>
         /// </summary>
         public float Opacity
         {
@@ -138,7 +138,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves screen postion of actor's
+        /// Retrieves screen postion of actor's.<br>
         /// </summary>
         public Vector2 ScreenPosition
         {
@@ -151,28 +151,28 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Determines whether the anchor point should be used to determine the position of the actor.
-        /// This is true by default. 
-        /// Note: If false, then the top-left of the actor is used for the position.
-        /// Setting this to false will allow scaling or rotation around the anchor-point without affecting the actor's position.
+        /// Determines whether the anchor point should be used to determine the position of the actor.<br>
+        /// This is true by default.<br>
+        /// Note: If false, then the top-left of the actor is used for the position.<br>
+        /// Setting this to false will allow scaling or rotation around the anchor-point without affecting the actor's position.<br>
         /// </summary>
-        public bool PositionUsesAnchorPoint
+        protected bool PositionUsesAnchorPoint
         {
             get
             {
                 bool temp = false;
-                GetProperty(Actor.Property.POSITION_USES_ANCHOR_POINT).Get(ref temp);
+                if(this) GetProperty(Actor.Property.POSITION_USES_ANCHOR_POINT).Get(ref temp);
                 return temp;
             }
             set
             {
-                SetProperty(Actor.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
+                if(this) SetProperty(Actor.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
             }
         }
 
         /// <summary>
-        /// Queries whether the actor is connected to the Stage.
-        /// When an actor is connected, it will be directly or indirectly parented to the root Actor.
+        /// Queries whether the actor is connected to the Stage.<br>
+        /// When an actor is connected, it will be directly or indirectly parented to the root Actor.<br>
         /// </summary>
         public bool IsOnStage
         {
@@ -194,10 +194,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        ///  Sets the sibling order of the actor so depth position can be defined within the same parent. 
-        ///  Note The initial value is 0.
-        ///  Raise, Lower, RaiseToTop, LowerToBottom, RaiseAbove and LowerBelow will override the sibling order.
-        ///  The values set by this Property will likely change.
+        ///  Sets the sibling order of the actor so depth position can be defined within the same parent.<br>
+        ///  Note The initial value is 0.<br>
+        ///  Raise, Lower, RaiseToTop, LowerToBottom, RaiseAbove and LowerBelow will override the sibling order.<br>
+        ///  The values set by this Property will likely change.<br>
         /// </summary>
         public int SiblingOrder
         {
@@ -214,10 +214,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets the size of an actor for Width and Height.
-        /// Geometry can be scaled to fit within this area.
-        /// This does not interfere with the actors scale factor.
-        /// The actors default depth is the minimum of Width & Height.
+        /// Sets the size of an actor for Width and Height.<br>
+        /// Geometry can be scaled to fit within this area.<br>
+        /// This does not interfere with the actors scale factor.<br>
+        /// The actors default depth is the minimum of Width & Height.<br>
         /// </summary>
         public Size2D Size2D
         {
@@ -234,9 +234,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets the position of the Actor for X and Y.
-        /// By default, sets the position vector between the parent origin and anchor point(default).
-        /// If Position inheritance if disabled, sets the world position.
+        /// Sets the position of the Actor for X and Y.<br>
+        /// By default, sets the position vector between the parent origin and anchor point(default).<br>
+        /// If Position inheritance if disabled, sets the world position.<br>
         /// </summary>
         public Position2D Position2D
         {
@@ -253,10 +253,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets the visibility flag of an actor as true to be shown.
-        /// Note This is an asynchronous method; the value written may not match a value subsequently read with Visible.
-        /// If an actor's visibility flag is set to false, then the actor and its children will not be rendered.
-        /// This is regardless of the individual visibility values of the children i.e.an actor will only be rendered if all of its parents have visibility set to true.
+        /// Sets the visibility flag of an actor as true to be shown.<br>
+        /// Note This is an asynchronous method; the value written may not match a value subsequently read with Visible.<br>
+        /// If an actor's visibility flag is set to false, then the actor and its children will not be rendered.<br>
+        /// This is regardless of the individual visibility values of the children i.e.an actor will only be rendered if all of its parents have visibility set to true.<br>
         /// </summary>
         public void Show()
         {
@@ -272,11 +272,11 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Raise actor above the next highest level of actor(s).
-        /// Note Sibling order of actors within the parent will be updated automatically.
-        /// Initially actors added to a parent will have the same sibling order and shown in relation to insertion order.
-        /// Raising this actor above actors with the same sibling order as each other will raise this actor above them.
-        /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
+        /// Raise actor above the next highest level of actor(s).<br>
+        /// Note Sibling order of actors within the parent will be updated automatically.<br>
+        /// Initially actors added to a parent will have the same sibling order and shown in relation to insertion order.<br>
+        /// Raising this actor above actors with the same sibling order as each other will raise this actor above them.<br>
+        /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.<br>
         /// </summary>
         public void Raise()
         {
@@ -285,10 +285,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Lower the actor to underneath the level below actor(s).
-        /// Note Sibling order of actors within the parent will be updated automatically.
-        /// Lowering this actor below actors with the same sibling order as each other will lower this actor above them.
-        /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
+        /// Lower the actor to underneath the level below actor(s).<br>
+        /// Note Sibling order of actors within the parent will be updated automatically.<br>
+        /// Lowering this actor below actors with the same sibling order as each other will lower this actor above them.<br>
+        /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.<br>
         /// </summary>
         public void Lower()
         {
@@ -297,9 +297,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Raise actor above all other actors.
-        /// Note Sibling order of actors within the parent will be updated automatically.
-        /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
+        /// Raise actor above all other actors.<br>
+        /// Note Sibling order of actors within the parent will be updated automatically.<br>
+        /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.<br>
         /// </summary>
         public void RaiseToTop()
         {
@@ -308,9 +308,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Lower actor to the bottom of all actors.
-        /// Note Sibling order of actors within the parent will be updated automatically.
-        /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
+        /// Lower actor to the bottom of all actors.<br>
+        /// Note Sibling order of actors within the parent will be updated automatically.<br>
+        /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.<br>
         /// </summary>
         public void LowerToBottom()
         {
@@ -319,11 +319,11 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        ///  Raise the actor to above the target actor.
-        ///  Note Sibling order of actors within the parent will be updated automatically.
-        ///  Actors on the level above the target actor will still be shown above this actor.
-        ///  Raising this actor above actors with the same sibling order as each other will raise this actor above them.
-        ///  Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
+        ///  Raise the actor to above the target actor.<br>
+        ///  Note Sibling order of actors within the parent will be updated automatically.<br>
+        ///  Actors on the level above the target actor will still be shown above this actor.<br>
+        ///  Raising this actor above actors with the same sibling order as each other will raise this actor above them.<br>
+        ///  Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.<br>
         /// </summary>
         /// <param name="target">Will be raised above this actor</param>
         public void RaiseAbove(Actor target)
@@ -333,10 +333,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Lower the actor to below the target actor.
-        /// Note Sibling order of actors within the parent will be updated automatically.
-        /// Lowering this actor below actors with the same sibling order as each other will lower this actor above them.
-        /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
+        /// Lower the actor to below the target actor.<br>
+        /// Note Sibling order of actors within the parent will be updated automatically.<br>
+        /// Lowering this actor below actors with the same sibling order as each other will lower this actor above them.<br>
+        /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.<br>
         /// </summary>
         /// <param name="target">Will be lowered below this actor</param>
         public void LowerBelow(Actor target)
@@ -461,9 +461,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Downcasts a handle to Actor handle. 
-        /// If handle points to an Actor object, the downcast produces valid handle.
-        /// If not, the returned handle is left uninitialized.   *
+        /// Downcasts a handle to Actor handle.<br>
+        /// If handle points to an Actor object, the downcast produces valid handle.<br>
+        /// If not, the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">handle to An object</param>
         /// <returns>handle to a Actor object or an uninitialized handle</returns>
@@ -535,10 +535,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Adds a child Actor to this Actor.
-        /// Precondition : This Actor(the parent) has been initialized. The child actor has been initialized. The child actor is not the same as the parent actor.
-        /// PostCondition : The child will be referenced by its parent. This means that the child will be kept alive, even if the handle passed into this method is reset or destroyed.
-        /// Note : If the child already has a parent, it will be removed from old parent and reparented to this actor. This may change child's position, color, scale etc as it now inherits them from this actor.
+        /// Adds a child Actor to this Actor.<br>
+        /// Precondition : This Actor(the parent) has been initialized. The child actor has been initialized. The child actor is not the same as the parent actor.<br>
+        /// PostCondition : The child will be referenced by its parent. This means that the child will be kept alive, even if the handle passed into this method is reset or destroyed.<br>
+        /// Note : If the child already has a parent, it will be removed from old parent and reparented to this actor. This may change child's position, color, scale etc as it now inherits them from this actor.<br>
         /// </summary>
         /// <param name="child">The child</param>
         public void Add(Actor child)
@@ -548,8 +548,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Removes a child Actor from this Actor. If the actor was not a child of this actor, this is a no-op.
-        /// Precondition : This Actor(the parent) has been initialized. The child actor is not the same as the parent actor.
+        /// Removes a child Actor from this Actor. If the actor was not a child of this actor, this is a no-op.<br>
+        /// Precondition : This Actor(the parent) has been initialized. The child actor is not the same as the parent actor.<br>
         /// </summary>
         /// <param name="child">The child</param>
         public void Remove(Actor child)
@@ -565,8 +565,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the number of children held by the actor.
-        /// Precondition :  The Actor has been initialized.
+        /// Retrieves the number of children held by the actor.<br>
+        /// Precondition :  The Actor has been initialized.<br>
         /// </summary>
         /// <returns>The number of children</returns>
         public uint GetChildCount()
@@ -577,8 +577,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieve and child actor by index.
-        /// Precondition : The Actor has been initialized.
+        /// Retrieve and child actor by index.<br>
+        /// Precondition : The Actor has been initialized.<br>
         /// </summary>
         /// <param name="index">The index of the child to retrieve</param>
         /// <returns>The actor for the given index or empty handle if children not initialized</returns>
@@ -590,9 +590,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Search through this actor's hierarchy for an actor with the given name.
-        /// The actor itself is also considered in the search.
-        ///Precondition :  The Actor has been initialized.
+        /// Search through this actor's hierarchy for an actor with the given name.<br>
+        /// The actor itself is also considered in the search.<br>
+        ///Precondition :  The Actor has been initialized.<br>
         /// </summary>
         /// <param name="actorName">The name of the actor to find</param>
         /// <returns>A handle to the actor if found, or an empty handle if not</returns>
@@ -682,8 +682,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Returns the natural size of the actor.
-        /// Deriving classes stipulate the natural size and by default an actor has a ZERO natural size.
+        /// Returns the natural size of the actor.<br>
+        /// Deriving classes stipulate the natural size and by default an actor has a ZERO natural size.<br>
         /// </summary>
         /// <returns>The actor's natural size</returns>
         public Vector3 GetNaturalSize()
@@ -976,9 +976,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Converts screen coordinates into the actor's coordinate system using the default camera.
-        /// Precondition : The Actor has been initialized.
-        /// Note : The actor coordinates are relative to the top-left(0.0, 0.0, 0.5)
+        /// Converts screen coordinates into the actor's coordinate system using the default camera.<br>
+        /// Precondition : The Actor has been initialized.<br>
+        /// Note : The actor coordinates are relative to the top-left(0.0, 0.0, 0.5).<br>
         /// </summary>
         /// <param name="localX">On return, the X-coordinate relative to the actor</param>
         /// <param name="localY">On return, the Y-coordinate relative to the actor</param>
@@ -1045,10 +1045,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets the relative to parent size factor of the actor.
-        /// This factor is only used when ResizePolicy is set to either
-        /// This actor's size is set to the actor's size multiplied by or added to this factor, depending on ResizePolicy
-        /// Precondition : The Actor has been initialized.
+        /// Sets the relative to parent size factor of the actor.<br>
+        /// This factor is only used when ResizePolicy is set to either.<br>
+        /// This actor's size is set to the actor's size multiplied by or added to this factor, depending on ResizePolicy.<br>
+        /// Precondition : The Actor has been initialized.<br>
         /// </summary>
         /// <param name="factor">A Vector3 representing the relative factor to be applied to each axis</param>
         public void SetSizeModeFactor(Vector3 factor)
@@ -1065,9 +1065,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Calculates the height of the actor given a width.
-        /// The natural size is used for default calculation. 
-        /// size 0 is treated as aspect ratio 1:1.
+        /// Calculates the height of the actor given a width.<br>
+        /// The natural size is used for default calculation. <br>
+        /// size 0 is treated as aspect ratio 1:1.<br>
         /// </summary>
         /// <param name="width">Width to use</param>
         /// <returns>the height based on the width</returns>
@@ -1079,9 +1079,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Calculates the width of the actor given a height.
-        /// The natural size is used for default calculation.
-        /// size 0 is treated as aspect ratio 1:1.
+        /// Calculates the width of the actor given a height.<br>
+        /// The natural size is used for default calculation.<br>
+        /// size 0 is treated as aspect ratio 1:1.<br>
         /// </summary>
         /// <param name="height">Height to use</param>
         /// <returns>the width based on the height</returns>
@@ -1100,7 +1100,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets the padding for use in layout.
+        /// Sets the padding for use in layout.<br>
         /// </summary>
         /// <param name="padding">padding Padding for the actor</param>
         public void SetPadding(PaddingType padding)
@@ -1110,7 +1110,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Returns the value of the padding.
+        /// Returns the value of the padding.<br>
         /// </summary>
         /// <param name="paddingOut">The returned padding data</param>
         public void GetPadding(PaddingType paddingOut)
@@ -1235,11 +1235,11 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the origin of an actor, within its parent's area.
-        /// This is expressed in unit coordinates, such that(0.0, 0.0, 0.5) is the top-left corner of the parent, and(1.0, 1.0, 0.5) is the bottom-right corner.
-        /// The default parent-origin is ParentOrigin.TopLeft (0.0, 0.0, 0.5).
-        /// An actor's position is the distance between this origin, and the actor's anchor-point.
-        /// Precondition : The Actor has been initialized.
+        /// Gets/Sets the origin of an actor, within its parent's area.<br>
+        /// This is expressed in unit coordinates, such that(0.0, 0.0, 0.5) is the top-left corner of the parent, and(1.0, 1.0, 0.5) is the bottom-right corner.<br>
+        /// The default parent-origin is ParentOrigin.TopLeft (0.0, 0.0, 0.5).<br>
+        /// An actor's position is the distance between this origin, and the actor's anchor-point.<br>
+        /// Precondition : The Actor has been initialized.<br>
         /// </summary>
         public Position ParentOrigin
         {
@@ -1256,11 +1256,11 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the anchor-point of an actor. 
-        /// This is expressed in unit coordinates, such that (0.0, 0.0, 0.5) is the top-left corner of the actor, and(1.0, 1.0, 0.5) is the bottom-right corner.
-        /// The default anchor point is AnchorPoint.Center (0.5, 0.5, 0.5).
-        /// An actor position is the distance between its parent-origin and this anchor-point.
-        /// An actor's orientation is the rotation from its default orientation, the rotation is centered around its anchor-point.
+        /// Gets/Sets the anchor-point of an actor.<br>
+        /// This is expressed in unit coordinates, such that (0.0, 0.0, 0.5) is the top-left corner of the actor, and(1.0, 1.0, 0.5) is the bottom-right corner.<br>
+        /// The default anchor point is AnchorPoint.Center (0.5, 0.5, 0.5).<br>
+        /// An actor position is the distance between its parent-origin and this anchor-point.<br>
+        /// An actor's orientation is the rotation from its default orientation, the rotation is centered around its anchor-point.<br>
         /// Precondition : The Actor has been initialized.
         /// </summary>
         public Position AnchorPoint
@@ -1279,9 +1279,9 @@ namespace Tizen.NUI
 
 
         /// <summary>
-        /// Gets/Sets the size of an actor.
-        /// Geometry can be scaled to fit within this area.
-        /// This does not interfere with the actors scale factor.
+        /// Gets/Sets the size of an actor.<br>
+        /// Geometry can be scaled to fit within this area.<br>
+        /// This does not interfere with the actors scale factor.<br>
         /// </summary>
         public Size Size
         {
@@ -1349,9 +1349,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the position of the Actor.
-        /// By default, sets the position vector between the parent origin and anchor point(default).
-        /// If Position inheritance if disabled, sets the world position.
+        /// Gets/Sets the position of the Actor.<br>
+        /// By default, sets the position vector between the parent origin and anchor point(default).<br>
+        /// If Position inheritance if disabled, sets the world position.<br>
         /// </summary>
         public Position Position
         {
@@ -1433,9 +1433,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the orientation of the Actor.
-        /// An actor's orientation is the rotation from its default orientation, and the rotation is centered around its anchor-point.
-        /// Note: This is an asynchronous method.
+        /// Gets/Sets the orientation of the Actor.<br>
+        /// An actor's orientation is the rotation from its default orientation, and the rotation is centered around its anchor-point.<br>
+        /// Note: This is an asynchronous method.<br>
         /// </summary>
         public Rotation Orientation
         {
@@ -1452,7 +1452,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the world orientation of the Actor.
+        /// Gets/Sets the world orientation of the Actor.<br>
         /// </summary>
         public Rotation WorldOrientation
         {
@@ -1465,8 +1465,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the scale factor applied to an actor.
-        /// Note : This is an asynchronous method.
+        /// Gets/Sets the scale factor applied to an actor.<br>
+        /// Note : This is an asynchronous method.<br>
         /// </summary>
         public Vector3 Scale
         {
@@ -1547,9 +1547,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the visibility flag of an actor.
-        /// Note : If an actor is not visible, then the actor and its children will not be rendered.
-        /// This is regardless of the individual visibility values of the children i.e.an actor will only be rendered if all of its parents have visibility set to true.
+        /// Retrieves the visibility flag of an actor.<br>
+        /// Note : If an actor is not visible, then the actor and its children will not be rendered.<br>
+        /// This is regardless of the individual visibility values of the children i.e.an actor will only be rendered if all of its parents have visibility set to true.<br>
         /// </summary>
         public bool Visible
         {
@@ -1750,9 +1750,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the actor's color mode.
-        /// This specifies whether the Actor uses its own color, or inherits its parent color.
-        /// The default is UseOwnMultiplyParentAlpha.
+        /// Gets/Sets the actor's color mode.<br>
+        /// This specifies whether the Actor uses its own color, or inherits its parent color.<br>
+        /// The default is UseOwnMultiplyParentAlpha.<br>
         /// </summary>
         public ColorMode ColorMode
         {
@@ -1785,12 +1785,12 @@ namespace Tizen.NUI
 
 
         /// <summary>
-        /// Gets/Sets the status of how the actor and its children should be drawn.
-        /// Not all actors are renderable, but DrawMode can be inherited from any actor.
-        /// If an object is in a 3D layer, it will be depth-tested against other objects in the world i.e. it may be obscured if other objects are in front.
-        /// If DrawMode.Overlay2D is used, the actor and its children will be drawn as a 2D overlay.
-        /// Overlay actors are drawn in a separate pass, after all non-overlay actors within the Layer.
-        /// For overlay actors, the drawing order is with respect to tree levels of Actors, and depth-testing will not be used.
+        /// Gets/Sets the status of how the actor and its children should be drawn.<br>
+        /// Not all actors are renderable, but DrawMode can be inherited from any actor.<br>
+        /// If an object is in a 3D layer, it will be depth-tested against other objects in the world i.e. it may be obscured if other objects are in front.<br>
+        /// If DrawMode.Overlay2D is used, the actor and its children will be drawn as a 2D overlay.<br>
+        /// Overlay actors are drawn in a separate pass, after all non-overlay actors within the Layer.<br>
+        /// For overlay actors, the drawing order is with respect to tree levels of Actors, and depth-testing will not be used.<br>
         /// </summary>
         public DrawModeType DrawMode
         {
@@ -1820,9 +1820,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the relative to parent size factor of the actor.
-        /// This factor is only used when ResizePolicyType is set to either: ResizePolicyType.SizeRelativeToParent or ResizePolicyType.SizeFixedOffsetFromParent.
-        /// This actor's size is set to the actor's size multiplied by or added to this factor, depending on ResizePolicyType.
+        /// Gets/Sets the relative to parent size factor of the actor.<br>
+        /// This factor is only used when ResizePolicyType is set to either: ResizePolicyType.SizeRelativeToParent or ResizePolicyType.SizeFixedOffsetFromParent.<br>
+        /// This actor's size is set to the actor's size multiplied by or added to this factor, depending on ResizePolicyType.<br>
         /// </summary>
         public Vector3 SizeModeFactor
         {
@@ -1919,8 +1919,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the policy to use when setting size with size negotiation. 
-        /// Defaults to  SizeScalePolicyType.UseSizeSet.
+        /// Gets/Sets the policy to use when setting size with size negotiation.<br>
+        /// Defaults to  SizeScalePolicyType.UseSizeSet.<br>
         /// </summary>
         public SizeScalePolicyType SizeScalePolicy
         {
@@ -2061,9 +2061,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets whether a child actor inherits it's parent's position.
-        /// Default is to inherit. 
-        /// Switching this off means that using Position sets the actor's world position, i.e. translates from the world origin(0,0,0) to the anchor point of the actor.
+        /// Gets/Sets whether a child actor inherits it's parent's position.<br>
+        /// Default is to inherit.<br>
+        /// Switching this off means that using Position sets the actor's world position, i.e. translates from the world origin(0,0,0) to the anchor point of the actor.<br>
         /// </summary>
         public bool InheritPosition
         {
@@ -2080,7 +2080,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets clipping behavior(mode) of it's children 
+        /// Gets/Sets clipping behavior(mode) of it's children.
         /// </summary>
         public ClippingModeType ClippingMode
         {
@@ -2110,11 +2110,11 @@ namespace Tizen.NUI
     }
 
     /// <summary>
-    /// This specifies whether the Actor uses its own color, or inherits
-    /// ColorMode.UseOwnColor : Actor will use its own color
-    /// ColorMode.UseParentColor : Actor will use its parent color
-    /// ColorMode.UseOwnMultiplyParentColor : Actor will blend its color with its parents color.
-    /// ColorMode.UseOwnMultiplyParentAlpha : Actor will blend its alpha with its parents alpha. This means when parent fades in or out child does as well. This is the default.
+    /// This specifies whether the Actor uses its own color, or inherits.<br>
+    /// ColorMode.UseOwnColor : Actor will use its own color.<br>
+    /// ColorMode.UseParentColor : Actor will use its parent color.<br>
+    /// ColorMode.UseOwnMultiplyParentColor : Actor will blend its color with its parents color.<br>
+    /// ColorMode.UseOwnMultiplyParentAlpha : Actor will blend its alpha with its parents alpha. This means when parent fades in or out child does as well. This is the default.<br>
     /// </summary>
     public enum ColorMode
     {
index 4f7ff1c..342a3ad 100755 (executable)
@@ -20,7 +20,7 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// Alpha functions are used in animations to specify the rate of change of the animation parameter over time.
+    /// Alpha functions are used in animations to specify the rate of change of the animation parameter over time.<br>
     /// Understanding an animation as a parametric function over time, the alpha function is applied to the parameter of
     /// the animation before computing the final animation value.
     /// </summary>
@@ -72,8 +72,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Constructor.
-        /// Creates an alpha function object with user defined alpha function.
+        /// Constructor.<br>
+        /// Creates an alpha function object with user defined alpha function.<br>
         /// </summary>
         /// <param name="func">User defined fuction. It must be a method formatted as float alphafunction(float progress)</param>
         public AlphaFunction(System.Delegate func) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_2(SWIGTYPE_p_f_float__float.getCPtr(new SWIGTYPE_p_f_float__float(System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func), true))), true)
@@ -82,8 +82,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Default constructor.
-        /// Creates an alpha function object with the default built-in alpha function.
+        /// Default constructor.<br>
+        /// Creates an alpha function object with the default built-in alpha function.<br>
         /// </summary>
         public AlphaFunction() : this(NDalicPINVOKE.new_AlphaFunction__SWIG_0(), true)
         {
@@ -91,8 +91,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Constructor.
-        /// Creates an alpha function object with the built-in alpha function passed as a parameter to the constructor.
+        /// Constructor.<br>
+        /// Creates an alpha function object with the built-in alpha function passed as a parameter to the constructor.<br>
         /// </summary>
         /// <param name="function">One of the built-in alpha functions</param>
         public AlphaFunction(AlphaFunction.BuiltinFunctions function) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_1((int)function), true)
@@ -106,9 +106,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Constructor.
-        /// Creates a bezier alpha function.The bezier will have the first point at(0,0) and the end point at(1,1).
-        /// Note : The x components of the control points will be clamped to the range[0, 1] to prevent non monotonic curves.
+        /// Constructor.<br>
+        /// Creates a bezier alpha function.The bezier will have the first point at(0,0) and the end point at(1,1).<br>
+        /// Note : The x components of the control points will be clamped to the range[0, 1] to prevent non monotonic curves.<br>
         /// </summary>
         /// <param name="controlPoint0">A Vector2 which will be used as the first control point of the curve</param>
         /// <param name="controlPoint1">A Vector2 which will be used as the second control point of the curve</param>
@@ -118,7 +118,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrives the control points of the alpha function.
+        /// Retrives the control points of the alpha function.<br>
         /// </summary>
         /// <param name="controlPoint0">A Vector2 which is used as the first control point of the curve</param>
         /// <param name="controlPoint1">A Vector2 which is used as the second control point of the curve</param>
@@ -140,8 +140,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Returns the built-in function used by the alpha function. 
-        /// In case no built-in function has been specified, it will return AlphaFunction::DEFAULT
+        /// Returns the built-in function used by the alpha function.<br>
+        /// In case no built-in function has been specified, it will return AlphaFunction::DEFAULT.<br>
         /// </summary>
         /// <returns>One of the built-in alpha functions.</returns>
         public AlphaFunction.BuiltinFunctions GetBuiltinFunction()
index 4eadee8..cf631a1 100755 (executable)
@@ -23,11 +23,11 @@ namespace Tizen.NUI
     using System.Runtime.InteropServices;
 
     /// <summary>
-    /// Animation can be used to animate the properties of any number of objects, typically Actors.
-    /// If the "Finished" event is connected to a member function of an object, it must be disconnected before the object is destroyed.
-    /// This is typically done in the object destructor, and requires either the Animation handle to be stored.
-    /// The overall animation time is superseded by the values given in the Duration property used when calling the AnimateTo(), AnimateBy(), AnimateBetween() and AnimatePath() methods.
-    /// If any of the individual calls to those functions exceeds the overall animation time(Duration), then the overall animation time is automatically extended.
+    /// Animation can be used to animate the properties of any number of objects, typically Actors.<br>
+    /// If the "Finished" event is connected to a member function of an object, it must be disconnected before the object is destroyed.<br>
+    /// This is typically done in the object destructor, and requires either the Animation handle to be stored.<br>
+    /// The overall animation time is superseded by the values given in the Duration property used when calling the AnimateTo(), AnimateBy(), AnimateBetween() and AnimatePath() methods.<br>
+    /// If any of the individual calls to those functions exceeds the overall animation time(Duration), then the overall animation time is automatically extended.<br>
     /// </summary>
     public class Animation : BaseHandle
     {
@@ -76,11 +76,11 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Create an initialized Animation.
-        /// The animation will not loop.
-        /// The default end action is "Cancel".
-        /// The default Alpha function is linear.
-        /// Precodition : DurationmSeconds must be greater than zero.
+        /// Create an initialized Animation.<br>
+        /// The animation will not loop.<br>
+        /// The default end action is "Cancel".<br>
+        /// The default Alpha function is linear.<br>
+        /// Precodition : DurationmSeconds must be greater than zero.<br>
         /// </summary>
         /// <param name="durationMilliSeconds">The duration in milli seconds (int).</param>
         public Animation(int durationMilliSeconds) : this(NDalicPINVOKE.Animation_New((float)durationMilliSeconds / 1000.0f), true)
@@ -93,7 +93,7 @@ namespace Tizen.NUI
         private delegate void AnimationFinishedEventCallbackType(IntPtr data);
         private event EventHandler _animationFinishedEventHandler;
         /**
-        * @brief Event for Finished signal which can be used to subscribe/unsubscribe the event handler
+        * @brief Event for Finished signal which can be used to subscribe/unsubscribe the event handler.
         * Finished signal is emitted when an Animation's animations have finished.
         */
         public event EventHandler Finished
@@ -102,8 +102,16 @@ namespace Tizen.NUI
             {
                 if (_animationFinishedEventHandler == null)
                 {
+#if DEBUG_ON
+                    Tizen.Log.Debug("NUI", "con1) FinishedSignal().Empty = " + FinishedSignal().Empty());
+                    Tizen.Log.Debug("NUI", "con2) FinishedSignal().GetConnectionCount = " + FinishedSignal().GetConnectionCount());
+#endif
                     _animationFinishedEventCallback = OnFinished;
                     FinishedSignal().Connect(_animationFinishedEventCallback);
+#if DEBUG_ON
+                    Tizen.Log.Debug("NUI", "con3) FinishedSignal().Empty = " + FinishedSignal().Empty());
+                    Tizen.Log.Debug("NUI", "con4) FinishedSignal().GetConnectionCount = " + FinishedSignal().GetConnectionCount());
+#endif
                 }
 
                 _animationFinishedEventHandler += value;
@@ -112,9 +120,17 @@ namespace Tizen.NUI
             {
                 _animationFinishedEventHandler -= value;
 
-                if (_animationFinishedEventHandler == null && _animationFinishedEventCallback != null)
+                if (_animationFinishedEventHandler == null && FinishedSignal().Empty() == false)
                 {
+#if DEBUG_ON
+                    Tizen.Log.Debug("NUI", "discon1) FinishedSignal().Empty = " + FinishedSignal().Empty());
+                    Tizen.Log.Debug("NUI", "discon2) FinishedSignal().GetConnectionCount = " + FinishedSignal().GetConnectionCount());
+#endif
                     FinishedSignal().Disconnect(_animationFinishedEventCallback);
+#if DEBUG_ON
+                    Tizen.Log.Debug("NUI", "discon3) FinishedSignal().Empty = " + FinishedSignal().Empty());
+                    Tizen.Log.Debug("NUI", "discon4) FinishedSignal().GetConnectionCount = " + FinishedSignal().GetConnectionCount());
+#endif
                 }
             }
         }
@@ -147,7 +163,7 @@ namespace Tizen.NUI
 
 
         /// <summary>
-        /// Gets/Sets the duration of animation
+        /// Gets/Sets the duration of animation.
         /// </summary>
         public int Duration
         {
@@ -189,12 +205,11 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Set : Enables looping for 'count' repeats. A zero is the same as Looping = true; i.e.repeat forever.
-        /// If Play() Stop() or 'count' loops is reached, the loop counter will reset.
-        /// Setting this parameter does not cause the animation to Play().
-        /// 
-        /// Get : Gets the loop count. A zero is the same as Looping = true; ie repeat forever. 
-        /// The loop count is initially 1 for play once.
+        /// Set : Enables looping for 'count' repeats. A zero is the same as Looping = true; i.e.repeat forever.<br>
+        /// If Play() Stop() or 'count' loops is reached, the loop counter will reset.<br>
+        /// Setting this parameter does not cause the animation to Play().<br>
+        /// Get : Gets the loop count. A zero is the same as Looping = true; ie repeat forever.<br>
+        /// The loop count is initially 1 for play once.<br>
         /// </summary>
         public int LoopCount
         {
@@ -210,9 +225,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the status of whether the animation will loop.
-        /// This property resets the loop count and should not be used with LoopCount property.
-        /// Setting this parameter does not cause the animation to Play().
+        /// Gets/Sets the status of whether the animation will loop.<br>
+        /// This property resets the loop count and should not be used with LoopCount property.<br>
+        /// Setting this parameter does not cause the animation to Play().<br>
         /// </summary>
         public bool Looping
         {
@@ -229,9 +244,9 @@ namespace Tizen.NUI
 
 
         /// <summary>
-        /// Gets/Sets the end action of the animation.
-        /// This action is performed when the animation ends or if it is stopped.
-        /// Default end action is Cancel
+        /// Gets/Sets the end action of the animation.<br>
+        /// This action is performed when the animation ends or if it is stopped.<br>
+        /// Default end action is Cancel.<br>
         /// </summary>
         public EndActions EndAction
         {
@@ -258,8 +273,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets the current loop count.
-        /// A value 0 to CurrentLoop indicating the current loop count when looping.
+        /// Gets the current loop count.<br>
+        /// A value 0 to CurrentLoop indicating the current loop count when looping.<br>
         /// </summary>
         public int CurrentLoop
         {
@@ -270,9 +285,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the disconnect action.
-        /// If any of the animated property owners are disconnected from the stage while the animation is being played, then this action is performed.
-        /// Default action is to Cancel.
+        /// Gets/Sets the disconnect action.<br>
+        /// If any of the animated property owners are disconnected from the stage while the animation is being played, then this action is performed.<br>
+        /// Default action is to Cancel.<br>
         /// </summary>
         public EndActions DisconnectAction
         {
@@ -291,10 +306,10 @@ namespace Tizen.NUI
 
 
         /// <summary>
-        /// Gets/Sets the progress of the animation.
-        /// The animation will play(or continue playing) from this point.
-        /// The progress must be in the 0-1 interval or in the play range interval if defined
-        /// otherwise, it will be ignored.
+        /// Gets/Sets the progress of the animation.<br>
+        /// The animation will play(or continue playing) from this point.<br>
+        /// The progress must be in the 0-1 interval or in the play range interval if defined.<br>
+        /// otherwise, it will be ignored.<br>
         /// </summary>
         public float CurrentProgress
         {
@@ -312,10 +327,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets Specifies a speed factor for the animation.
-        /// The speed factor is a multiplier of the normal velocity of the animation.
-        /// Values between[0, 1] will slow down the animation and values above one will speed up the animation.
-        /// It is also possible to specify a negative multiplier to play the animation in reverse.
+        /// Gets/Sets Specifies a speed factor for the animation.<br>
+        /// The speed factor is a multiplier of the normal velocity of the animation.<br>
+        /// Values between[0, 1] will slow down the animation and values above one will speed up the animation.<br>
+        /// It is also possible to specify a negative multiplier to play the animation in reverse.<br>
         /// </summary>
         public float SpeedFactor
         {
@@ -333,9 +348,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the playing range.
+        /// Gets/Sets the playing range.<br>
         /// Animation will play between the values specified. Both values(range.x and range.y ) should be between 0-1,
-        /// otherwise they will be ignored.If the range provided is not in proper order(minimum, maximum ), it will be reordered.
+        /// otherwise they will be ignored.If the range provided is not in proper order(minimum, maximum ), it will be reordered.<br>
         /// </summary>
         public RelativeVector2 PlayRange
         {
@@ -353,9 +368,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Animates a property value by a relative amount.
-        /// The default alpha function will be used.
-        /// The effect will start & end when the animation begins & ends.
+        /// Animates a property value by a relative amount.<br>
+        /// The default alpha function will be used.<br>
+        /// The effect will start & end when the animation begins & ends.<br>
         /// </summary>
         /// <param name="target">The target object to animate</param>
         /// <param name="property">The target property to animate</param>
@@ -373,22 +388,23 @@ namespace Tizen.NUI
                 throw new System.Exception("second argument string property is invalid parameter!");
             }
 
-            dynamic obj = (object)relativeValue;
+            //dynamic obj = (object)relativeValue;
+            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
 
             if (alphaFunction != null)
             {
-                AnimateBy(_prop, new PropertyValue(obj), alphaFunction);
+                AnimateBy(_prop, new PropertyValue(val), alphaFunction);
             }
             else
             {
-                AnimateBy(_prop, new PropertyValue(obj));
+                AnimateBy(_prop, new PropertyValue(val));
             }
         }
 
         /// <summary>
-        /// Animates a property value by a relative amount.
-        /// The default alpha function will be used.
-        /// The effect will start & end when the animation begins & ends.
+        /// Animates a property value by a relative amount.<br>
+        /// The default alpha function will be used.<br>
+        /// The effect will start & end when the animation begins & ends.<br>
         /// </summary>
         /// <param name="target">The target object to animate</param>
         /// <param name="property">The target property to animate</param>
@@ -408,24 +424,25 @@ namespace Tizen.NUI
                 throw new System.Exception("second argument string property is invalid parameter!");
             }
 
-            dynamic obj = (object)relativeValue;
+            //dynamic obj = (object)relativeValue;
+            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
 
             if (alphaFunction != null)
             {
                 Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
-                AnimateBy(_prop, new PropertyValue(obj), alphaFunction, time);
+                AnimateBy(_prop, new PropertyValue(val), alphaFunction, time);
             }
             else
             {
                 Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
-                AnimateBy(_prop, new PropertyValue(obj), time);
+                AnimateBy(_prop, new PropertyValue(val), time);
             }
         }
 
         /// <summary>
-        /// Animates a property to a destination value.
-        /// The default alpha function will be used.
-        /// The effect will start & end when the animation begins & ends.
+        /// Animates a property to a destination value.<br>
+        /// The default alpha function will be used.<br>
+        /// The effect will start & end when the animation begins & ends.<br>
         /// </summary>
         /// <param name="target">The target object to animate</param>
         /// <param name="property">The target property to animate</param>
@@ -443,22 +460,23 @@ namespace Tizen.NUI
                 throw new System.Exception("second argument string property is invalid parameter!");
             }
 
-            dynamic obj = (object)destinationValue;
+            //dynamic obj = (object)destinationValue;
+            PropertyValue val = PropertyValue.CreateFromObject(destinationValue);
 
             if (alphaFunction != null)
             {
-                AnimateTo(_prop, new PropertyValue(obj), alphaFunction);
+                AnimateTo(_prop, new PropertyValue(val), alphaFunction);
             }
             else
             {
-                AnimateTo(_prop, new PropertyValue(obj));
+                AnimateTo(_prop, new PropertyValue(val));
             }
         }
 
         /// <summary>
-        /// Animates a property to a destination value.
-        /// The default alpha function will be used.
-        /// The effect will start & end when the animation begins & ends.
+        /// Animates a property to a destination value.<br>
+        /// The default alpha function will be used.<br>
+        /// The effect will start & end when the animation begins & ends.<br>
         /// </summary>
         /// <param name="target">The target object to animate</param>
         /// <param name="property">The target property to animate</param>
@@ -479,17 +497,18 @@ namespace Tizen.NUI
                 throw new System.Exception("second argument string property is invalid parameter!");
             }
 
-            dynamic obj = (object)destinationValue;
+            //dynamic obj = (object)destinationValue;
+            PropertyValue val = PropertyValue.CreateFromObject(destinationValue);
 
             if (alphaFunction != null)
             {
                 Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
-                AnimateTo(_prop, new PropertyValue(obj), alphaFunction, time);
+                AnimateTo(_prop, new PropertyValue(val), alphaFunction, time);
             }
             else
             {
                 Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
-                AnimateTo(_prop, new PropertyValue(obj), time);
+                AnimateTo(_prop, new PropertyValue(val), time);
             }
         }
 
@@ -558,9 +577,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Animates an actor's position and orientation through a predefined path.
-        /// The actor will rotate to orient the supplied forward vector with the path's tangent. 
-        /// If forward is the zero vector then no rotation will happen.
+        /// Animates an actor's position and orientation through a predefined path.<br>
+        /// The actor will rotate to orient the supplied forward vector with the path's tangent.<br>
+        /// If forward is the zero vector then no rotation will happen.<br>
         /// </summary>
         /// <param name="actor">The actor to animate</param>
         /// <param name="path">It defines position and orientation</param>
@@ -579,9 +598,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Animates an actor's position and orientation through a predefined path.
-        /// The actor will rotate to orient the supplied forward vector with the path's tangent. 
-        /// If forward is the zero vector then no rotation will happen.
+        /// Animates an actor's position and orientation through a predefined path.<br>
+        /// The actor will rotate to orient the supplied forward vector with the path's tangent.<br>
+        /// If forward is the zero vector then no rotation will happen.<br>
         /// </summary>
         /// <param name="actor">The actor to animate</param>
         /// <param name="path">It defines position and orientation</param>
@@ -603,10 +622,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Creates an initialized Animation.
-        /// The animation will not loop.
-        /// The default end action is "Cancel".
-        /// The default alpha function is linear.
+        /// Creates an initialized Animation.<br>
+        /// The animation will not loop.<br>
+        /// The default end action is "Cancel".<br>
+        /// The default alpha function is linear.<br>
         /// </summary>
         public Animation() : this(NDalicPINVOKE.Animation_New(0.0f), true)
         {
@@ -620,9 +639,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Downcasts a handle to Animation handle.
-        /// If handle points to an Animation object, the downcast produces valid handle.
-        /// If not, the returned handle is left uninitialized.
+        /// Downcasts a handle to Animation handle.<br>
+        /// If handle points to an Animation object, the downcast produces valid handle.<br>
+        /// If not, the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         /// <returns>Handle to an Animation object or an uninitialized handle</returns>
@@ -779,9 +798,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Plays the animation from a given point.
-        /// The progress must be in the 0-1 interval or in the play range interval if defined 
-        /// otherwise, it will be ignored.
+        /// Plays the animation from a given point.<br>
+        /// The progress must be in the 0-1 interval or in the play range interval if defined,
+        /// otherwise, it will be ignored.<br>
         /// </summary>
         /// <param name="progress">A value between [0,1], or between the play range if specified, from where the animation should start playing</param>
         public void PlayFrom(float progress)
@@ -816,8 +835,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Clears the animation.
-        /// This disconnects any objects that were being animated, effectively stopping the animation.
+        /// Clears the animation.<br>
+        /// This disconnects any objects that were being animated, effectively stopping the animation.<br>
         /// </summary>
         public void Clear()
         {
@@ -965,10 +984,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Enumeration for what to do when the animation ends, is stopped, or is destroyed.
-        /// Cancel : When the animation ends, the animated property values are saved.
-        /// Discard : When the animation ends, the animated property values are forgotten.
-        /// StopFinal : If the animation is stopped, the animated property values are saved as if the animation had run to completion, otherwise behaves like Cancel.
+        /// Enumeration for what to do when the animation ends, is stopped, or is destroyed.<br>
+        /// Cancel : When the animation ends, the animated property values are saved.<br>
+        /// Discard : When the animation ends, the animated property values are forgotten.<br>
+        /// StopFinal : If the animation is stopped, the animated property values are saved as if the animation had run to completion, otherwise behaves like Cancel.<br>
         /// </summary>
         public enum EndActions
         {
@@ -978,9 +997,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Enumeration for what interpolation method to use on key-frame animations.
-        /// Linear : Values in between key frames are interpolated using a linear polynomial. (Default)
-        /// Cubic : Values in between key frames are interpolated using a cubic polynomial.
+        /// Enumeration for what interpolation method to use on key-frame animations.<br>
+        /// Linear : Values in between key frames are interpolated using a linear polynomial. (Default).<br>
+        /// Cubic : Values in between key frames are interpolated using a cubic polynomial.<br>
         /// </summary>
         public enum Interpolation
         {
@@ -989,8 +1008,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Enumeration for what state the animation is in.
-        /// Note: Calling Reset() on this class will NOT reset the animation. It will call BaseHandle.Reset() which drops the object handle.
+        /// Enumeration for what state the animation is in.<br>
+        /// Note: Calling Reset() on this class will NOT reset the animation. It will call BaseHandle.Reset() which drops the object handle.<br>
         /// </summary>
         public enum States
         {
index d1bb50c..0964c4a 100755 (executable)
@@ -23,17 +23,17 @@ namespace Tizen.NUI
     using System.Runtime.InteropServices;
 
     /// <summary>
-    /// Button is a base class for different kinds of buttons.
-    /// This class provides the disabled property and the clicked signal.
-    /// A Clicked event handler is emitted when the button is touched and the touch point doesn't leave the boundary of the button.
-    /// When the disabled property is set to true, no signal is emitted.
-    /// 'Visual' describes not just traditional images like png, bmp but refers to whatever is used to show the button, it could be a color, gradient or some other kind of renderer.
-    /// The button's appearance can be modified by setting properties for the various visuals/images.
-    /// It is not mandatory to set all visuals. A button could be defined only by setting its background visual or by setting its background and selected visuals.
-    /// The button visual is shown over the background visual.
-    /// When pressed the unselected visuals are replaced by the selected visual.
-    /// The text label is always placed on the top of all images.
-    /// When the button is disabled, background, button and selected visuals are replaced by their disabled visuals.
+    /// Button is a base class for different kinds of buttons.<br>
+    /// This class provides the disabled property and the clicked signal.<br>
+    /// A Clicked event handler is emitted when the button is touched and the touch point doesn't leave the boundary of the button.<br>
+    /// When the disabled property is set to true, no signal is emitted.<br>
+    /// 'Visual' describes not just traditional images like png, bmp but refers to whatever is used to show the button, it could be a color, gradient or some other kind of renderer.<br>
+    /// The button's appearance can be modified by setting properties for the various visuals/images.<br>
+    /// It is not mandatory to set all visuals. A button could be defined only by setting its background visual or by setting its background and selected visuals.<br>
+    /// The button visual is shown over the background visual.<br>
+    /// When pressed the unselected visuals are replaced by the selected visual.<br>
+    /// The text label is always placed on the top of all images.<br>
+    /// When the button is disabled, background, button and selected visuals are replaced by their disabled visuals.<br>
     /// </summary>
     public class Button : View
     {
@@ -87,6 +87,9 @@ namespace Tizen.NUI
         private delegate bool ClickedCallbackType(global::System.IntPtr data);
         private ClickedCallbackType _clickedCallback;
 
+        /// <summary>
+        /// Clicked will be triggered when the button is touched and the touch point doesn't leave the boundary of the button.
+        /// </summary>
         public event EventHandlerWithReturnType<object, EventArgs, bool> Clicked
         {
             add
@@ -104,7 +107,7 @@ namespace Tizen.NUI
             {
                 _clickedEventHandler -= value;
 
-                if (_clickedEventHandler == null && _clickedCallback != null)
+                if (_clickedEventHandler == null && ClickedSignal().Empty() == false)
                 {
                     ClickedSignal().Disconnect(_clickedCallback);
                 }
@@ -128,6 +131,9 @@ namespace Tizen.NUI
         private delegate bool PressedCallbackType(global::System.IntPtr data);
         private PressedCallbackType _pressedCallback;
 
+        /// <summary>
+        /// Pressed will be triggered when the button is touched.
+        /// </summary>
         public event EventHandlerWithReturnType<object, EventArgs, bool> Pressed
         {
             add
@@ -145,7 +151,7 @@ namespace Tizen.NUI
             {
                 _pressedEventHandler -= value;
 
-                if (_pressedEventHandler == null && _pressedCallback != null)
+                if (_pressedEventHandler == null && PressedSignal().Empty() == false)
                 {
                     this.PressedSignal().Disconnect(_pressedCallback);
                 }
@@ -168,6 +174,9 @@ namespace Tizen.NUI
         private delegate bool ReleasedCallbackType(global::System.IntPtr data);
         private ReleasedCallbackType _releasedCallback;
 
+        /// <summary>
+        /// Released will be triggered when the button is touched and the touch point leaves the boundary of the button.
+        /// </summary>
         public event EventHandlerWithReturnType<object, EventArgs, bool> Released
         {
             add
@@ -184,7 +193,7 @@ namespace Tizen.NUI
             {
                 _releasedEventHandler -= value;
 
-                if (_releasedEventHandler == null && _releasedCallback != null)
+                if (_releasedEventHandler == null && ReleasedSignal().Empty() == false)
                 {
                     ReleasedSignal().Disconnect(_releasedCallback);
                 }
@@ -207,6 +216,9 @@ namespace Tizen.NUI
         private delegate bool StateChangedCallback(global::System.IntPtr data);
         private StateChangedCallback _stateChangedCallback;
 
+        /// <summary>
+        /// StateChanged will be triggered when the button's state is changed.
+        /// </summary>
         public event EventHandlerWithReturnType<object, EventArgs, bool> StateChanged
         {
             add
@@ -224,7 +236,7 @@ namespace Tizen.NUI
             {
                 _stateChangedEventHandler -= value;
 
-                if (_stateChangedEventHandler == null && _stateChangedCallback != null)
+                if (_stateChangedEventHandler == null && StateChangedSignal().Empty() == false)
                 {
                     StateChangedSignal().Disconnect(_stateChangedCallback);
                 }
@@ -508,8 +520,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Creates an uninitialized Button.
-        /// Only derived versions can be instantiated.
+        /// Creates an uninitialized Button.<br>
+        /// Only derived versions can be instantiated.<br>
         /// </summary>
         public Button() : this(NDalicPINVOKE.new_Button__SWIG_0(), true)
         {
@@ -529,9 +541,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Downcasts a handle to Button handle.
-        /// If handle points to a Button, the downcast produces valid handle.
-        /// If not the returned handle is left uninitialized.
+        /// Downcasts a handle to Button handle.<br>
+        /// If handle points to a Button, the downcast produces valid handle.<br>
+        /// If not the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         /// <returns>A handle to a Button or an uninitialized handle</returns>
@@ -686,7 +698,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// If the autorepeating property is set to true then the togglable property is set to false
+        /// If the autorepeating property is set to true then the togglable property is set to false.
         /// </summary>
         public bool AutoRepeating
         {
@@ -720,7 +732,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// default this value is set to 0.05 seconds
+        /// default this value is set to 0.05 seconds.
         /// </summary>
         public float NextAutoRepeatingDelay
         {
@@ -771,7 +783,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the unselected button foreground image
+        /// Gets/Sets the unselected button foreground image.
         /// </summary>
         public Tizen.NUI.PropertyMap UnselectedStateImage
         {
@@ -788,7 +800,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the selected button foreground image
+        /// Gets/Sets the selected button foreground image.
         /// </summary>
         public Tizen.NUI.PropertyMap SelectedStateImage
         {
@@ -805,7 +817,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the disabled whilst unselected foreground button visual
+        /// Gets/Sets the disabled whilst unselected foreground button visual.
         /// </summary>
         public Tizen.NUI.PropertyMap DisabledStateImage
         {
@@ -822,7 +834,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets unselected color 
+        /// Gets/Sets unselected color.
         /// </summary>
         public Color UnselectedColor
         {
@@ -839,7 +851,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets selected color 
+        /// Gets/Sets selected color.
         /// </summary>
         public Color SelectedColor
         {
@@ -856,7 +868,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets label
+        /// Gets/Sets label.
         /// </summary>
         public Tizen.NUI.PropertyMap Label
         {
@@ -873,7 +885,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets text of label
+        /// Gets/Sets text of label.
         /// </summary>
         public string LabelText
         {
index c405f7b..57f1af9 100755 (executable)
@@ -20,18 +20,19 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// CameraActor controls a camera. 
-    /// Allows the developer to use actor semantics to control a camera. 
-    /// NUI has a concept of a camera to display its virtual 3D world to a 2D screen.
-    /// There are 2 ways of using the camera in NUI: 
+    /// This class will be deprecated.<br>
+    /// CameraActor controls a camera.<br>
+    /// Allows the developer to use actor semantics to control a camera.<br>
+    /// NUI has a concept of a camera to display its virtual 3D world to a 2D screen.<br>
+    /// There are 2 ways of using the camera in NUI:<br>
     /// - For 2D applications, you do not need to care about the camera at all. The default camera is already best suited for 2D applications
-    /// (configured to have the origin of the coordinate system at the top-left corner of the screen, and unit 1 as 1 pixel of the screen). This is a typical way.
-    /// - For 3D applications, you can change the view by manipulating the camera.You can translate or rotate the camera in this case.
-    /// Note that the top-left corner of the screen and unit 1 no longer are (0,0,0) and 1 pixel after manipulating the camera.
-    /// There are two types of camera actor, FreeLook and LookAtTarget By default, the camera actor will be FreeLook. 
-    /// - A FreeLook camera uses actor's orientation to control where the camera is looking.
-    /// If no additional rotations are specified, the camera looks in the negative Z direction.
-    /// - For LookAtTarget, the actor's orientation is ignored, instead the camera looks at TargetPosition in world coordinates.
+    /// (configured to have the origin of the coordinate system at the top-left corner of the screen, and unit 1 as 1 pixel of the screen). This is a typical way.<br>
+    /// - For 3D applications, you can change the view by manipulating the camera.You can translate or rotate the camera in this case.<br>
+    /// Note that the top-left corner of the screen and unit 1 no longer are (0,0,0) and 1 pixel after manipulating the camera.<br>
+    /// There are two types of camera actor, FreeLook and LookAtTarget By default, the camera actor will be FreeLook.<br>
+    /// - A FreeLook camera uses actor's orientation to control where the camera is looking.<br>
+    /// If no additional rotations are specified, the camera looks in the negative Z direction.<br>
+    /// - For LookAtTarget, the actor's orientation is ignored, instead the camera looks at TargetPosition in world coordinates.<br>
     /// /// </summary>
     public class CameraActor : Actor
     {
@@ -150,8 +151,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Creates a CameraActor object.
-        /// Sets the default camera perspective projection for the given canvas size
+        /// Creates a CameraActor object.<br>
+        /// Sets the default camera perspective projection for the given canvas size.<br>
         /// </summary>
         /// <param name="size">The canvas size</param>
         public CameraActor(Size2D size) : this(NDalicPINVOKE.CameraActor_New__SWIG_1(Size2D.getCPtr(size)), true)
@@ -161,9 +162,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Downcasts a handle to CameraActor handle.
-        /// If handle points to a CameraActor, the downcast produces valid handle.
-        /// If not, the returned handle is left uninitialized.
+        /// Downcasts a handle to CameraActor handle.<br>
+        /// If handle points to a CameraActor, the downcast produces valid handle.<br>
+        /// If not, the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">to An object</param>
         /// <returns>Handle to a CameraActor or an uninitialized handle</returns>
@@ -377,7 +378,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets near plane distance
+        /// Gets/Sets near plane distance.
         /// </summary>
         public float NearPlaneDistance
         {
@@ -394,7 +395,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets far plane distance
+        /// Gets/Sets far plane distance.
         /// </summary>
         public float FarPlaneDistance
         {
@@ -411,7 +412,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets left plane distance
+        /// Gets/Sets left plane distance.
         /// </summary>
         public float LeftPlaneDistance
         {
@@ -428,7 +429,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets right plane distance
+        /// Gets/Sets right plane distance.
         /// </summary>
         public float RightPlaneDistance
         {
@@ -445,7 +446,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets top plane distance
+        /// Gets/Sets top plane distance.
         /// </summary>
         public float TopPlaneDistance
         {
@@ -462,7 +463,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets bottom plane distance
+        /// Gets/Sets bottom plane distance.
         /// </summary>
         public float BottomPlaneDistance
         {
@@ -534,9 +535,9 @@ namespace Tizen.NUI
     }
 
     /// <summary>
-    /// Enumeration for type determination of how camera operates.
-    /// FreeLook : Camera orientation is taken from CameraActor
-    /// LookAtTarget : Camera is oriented to always look at a target
+    /// Enumeration for type determination of how camera operates.<br>
+    /// FreeLook : Camera orientation is taken from CameraActor.<br>
+    /// LookAtTarget : Camera is oriented to always look at a target.<br>
     /// </summary>
     public enum CameraType
     {
@@ -545,9 +546,9 @@ namespace Tizen.NUI
     }
 
     /// <summary>
-    /// Enumeration for projection modes.
-    /// PerspectiveProjection : Distance causes foreshortening; objects further from the camera appear smaller
-    /// OrthographicProjection : Relative distance from the camera does not affect the size of objects
+    /// Enumeration for projection modes.<br>
+    /// PerspectiveProjection : Distance causes foreshortening; objects further from the camera appear smaller.<br>
+    /// OrthographicProjection : Relative distance from the camera does not affect the size of objects.<br>
     /// </summary>
     public enum ProjectionMode
     {
index 9ea9bd4..09bab6a 100755 (executable)
@@ -20,13 +20,13 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// CheckBoxButton provides a check box button which user can check or uncheck.
-    /// By default, a CheckBoxButton emits a Button.Clicked event when the button changes its state to selected or unselected.
-    /// The button's appearance could be modified by Button.UnselectedImage, Button.BackgroundImage, Button.SelectedImage, 
-    /// Button.SelectedBackgroundImage, Button.DisabledBackgroundImage, Button.DisabledImage, and Button.DisabledSelectedImage. 
-    /// When the button is not disabled, if it's not selected it only shows the background image. 
-    /// The selected image is shown over the background image when the box is selected (background image is not replaced by \e selected image).
-    /// When the button is disabled, background image and selected image are replaced by disabled images.
+    /// CheckBoxButton provides a check box button which user can check or uncheck.<br>
+    /// By default, a CheckBoxButton emits a Button.Clicked event when the button changes its state to selected or unselected.<br>
+    /// The button's appearance could be modified by Button.UnselectedImage, Button.BackgroundImage, Button.SelectedImage,
+    /// Button.SelectedBackgroundImage, Button.DisabledBackgroundImage, Button.DisabledImage, and Button.DisabledSelectedImage.<br>
+    /// When the button is not disabled, if it's not selected it only shows the background image.<br>
+    /// The selected image is shown over the background image when the box is selected (background image is not replaced by \e selected image).<br>
+    /// When the button is disabled, background image and selected image are replaced by disabled images.<br>
     /// /// </summary>
     public class CheckBoxButton : Button
     {
index 9b19875..38100f3 100755 (executable)
@@ -22,7 +22,7 @@ namespace Tizen.NUI
     using System;
 
     /// <summary>
-    /// Color class
+    /// Color class.
     /// </summary>
     public class Color : global::System.IDisposable
     {
@@ -289,7 +289,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// red component
+        /// red component.
         /// </summary>
         public float R
         {
@@ -307,7 +307,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// green component
+        /// green component.
         /// </summary>
         public float G
         {
@@ -325,7 +325,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// blue component
+        /// blue component.
         /// </summary>
         public float B
         {
@@ -343,7 +343,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// alpha component
+        /// alpha component.
         /// </summary>
         public float A
         {
@@ -361,7 +361,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Get black colored Color class
+        /// Get black colored Color class.
         /// </summary>
         public static Color Black
         {
@@ -375,7 +375,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Get white colored Color class
+        /// Get white colored Color class.
         /// </summary>
         public static Color White
         {
@@ -389,7 +389,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Get red colored Color class
+        /// Get red colored Color class.
         /// </summary>
         public static Color Red
         {
@@ -403,7 +403,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Get green colored Color class
+        /// Get green colored Color class.
         /// </summary>
         public static Color Green
         {
@@ -417,7 +417,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Get blue colored Color class
+        /// Get blue colored Color class.
         /// </summary>
         public static Color Blue
         {
@@ -431,7 +431,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Get yellow colored Color class
+        /// Get yellow colored Color class.
         /// </summary>
         public static Color Yellow
         {
@@ -445,7 +445,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Get magenta colored Color class
+        /// Get magenta colored Color class.
         /// </summary>
         public static Color Magenta
         {
@@ -459,7 +459,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Get cyan colored Color class
+        /// Get cyan colored Color class.
         /// </summary>
         public static Color Cyan
         {
@@ -473,7 +473,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Get transparent colored Color class
+        /// Get transparent colored Color class.
         /// </summary>
         public static Color Transparent
         {
index 7f2acf5..f5b11f6 100755 (executable)
@@ -54,10 +54,10 @@ namespace Tizen.NUI
             viewWrapperImpl.OnAccessibilityTouch = new ViewWrapperImpl.OnAccessibilityTouchDelegate(OnAccessibilityTouch);
             viewWrapperImpl.OnAccessibilityValueChange = new ViewWrapperImpl.OnAccessibilityValueChangeDelegate(OnAccessibilityValueChange);
             viewWrapperImpl.OnAccessibilityZoom = new ViewWrapperImpl.OnAccessibilityZoomDelegate(OnAccessibilityZoom);
-            viewWrapperImpl.OnKeyInputFocusGained = new ViewWrapperImpl.OnKeyInputFocusGainedDelegate(OnKeyInputFocusGained);
-            viewWrapperImpl.OnKeyInputFocusLost = new ViewWrapperImpl.OnKeyInputFocusLostDelegate(OnKeyInputFocusLost);
-            viewWrapperImpl.GetNextKeyboardFocusableView = new ViewWrapperImpl.GetNextKeyboardFocusableViewDelegate(GetNextKeyboardFocusableView);
-            viewWrapperImpl.OnKeyboardFocusChangeCommitted = new ViewWrapperImpl.OnKeyboardFocusChangeCommittedDelegate(OnKeyboardFocusChangeCommitted);
+            viewWrapperImpl.OnFocusGained = new ViewWrapperImpl.OnFocusGainedDelegate(OnFocusGained);
+            viewWrapperImpl.OnFocusLost = new ViewWrapperImpl.OnFocusLostDelegate(OnFocusLost);
+            viewWrapperImpl.GetNextFocusableView = new ViewWrapperImpl.GetNextFocusableViewDelegate(GetNextFocusableView);
+            viewWrapperImpl.OnFocusChangeCommitted = new ViewWrapperImpl.OnFocusChangeCommittedDelegate(OnFocusChangeCommitted);
             viewWrapperImpl.OnKeyboardEnter = new ViewWrapperImpl.OnKeyboardEnterDelegate(OnKeyboardEnter);
             viewWrapperImpl.OnPinch = new ViewWrapperImpl.OnPinchDelegate(OnPinch);
             viewWrapperImpl.OnPan = new ViewWrapperImpl.OnPanDelegate(OnPan);
@@ -85,27 +85,21 @@ namespace Tizen.NUI
             viewWrapperImpl.SetBackground(map);
         }
 
-        /**
-         * @brief Allows deriving classes to enable any of the gesture detectors that are available.
-         *
-         * Gesture detection can be enabled one at a time or in bitwise format as shown:
-         * @code
-         * EnableGestureDetection(Gesture.Type.Pinch | Gesture.Type.Tap | Gesture.Type.Pan));
-         * @endcode
-         * @param[in]  type  The gesture type(s) to enable.
-         */
+        /// <summary>
+        /// Allows deriving classes to enable any of the gesture detectors that are available.<br>
+        /// Gesture detection can be enabled one at a time or in bitwise format.<br>
+        /// </summary>
+        /// <param name="type">The gesture type(s) to enable</param>
         public void EnableGestureDetection(Gesture.GestureType type)
         {
             viewWrapperImpl.EnableGestureDetection(type);
         }
 
-        /**
-         * @brief Allows deriving classes to disable any of the gesture detectors.
-         *
-         * Like EnableGestureDetection, this can also be called using bitwise or.
-         * @param[in]  type  The gesture type(s) to disable.
-         * @see EnableGetureDetection
-         */
+        /// <summary>
+        /// Allows deriving classes to disable any of the gesture detectors.<br>
+        /// Like EnableGestureDetection, this can also be called using bitwise or one at a time.<br>
+        /// </summary>
+        /// <param name="type">The gesture type(s) to disable</param>
         internal void DisableGestureDetection(Gesture.GestureType type)
         {
             viewWrapperImpl.DisableGestureDetection(type);
@@ -113,8 +107,8 @@ namespace Tizen.NUI
 
         /// <summary>
         /// Sets whether this control supports two dimensional keyboard navigation
-        /// (i.e. whether it knows how to handle the keyboard focus movement between its child actors).
-        /// The control doesn't support it by default.
+        /// (i.e. whether it knows how to handle the keyboard focus movement between its child actors).<br>
+        /// The control doesn't support it by default.<br>
         /// </summary>
         /// <param name="isSupported">Whether this control supports two dimensional keyboard navigation.</param>
         public bool FocusNavigationSupport
@@ -134,12 +128,10 @@ namespace Tizen.NUI
             viewWrapperImpl.SetKeyboardNavigationSupport(isSupported);
         }
 
-
-        /**
-         * @brief Gets whether this control supports two dimensional keyboard navigation.
-         *
-         * @return true if this control supports two dimensional keyboard navigation.
-         */
+        /// <summary>
+        /// Gets whether this control supports two dimensional keyboard navigation.
+        /// </summary>
+        /// <returns>true if this control supports two dimensional keyboard navigation</returns>
         internal bool IsKeyboardNavigationSupported()
         {
             return viewWrapperImpl.IsKeyboardNavigationSupported();
@@ -162,32 +154,27 @@ namespace Tizen.NUI
             }
         }
 
-        /**
-         * @brief Sets whether this control is a focus group for keyboard navigation.
-         *
-         * (i.e. the scope of keyboard focus movement
-         * can be limitied to its child actors). The control is not a focus group by default.
-         * @param[in] isFocusGroup Whether this control is set as a focus group for keyboard navigation.
-         */
+        /// <summary>
+        /// Sets whether this control is a focus group for keyboard navigation.
+        /// (i.e. the scope of keyboard focus movement can be limitied to its child actors). The control is not a focus group by default.
+        /// </summary>
+        /// <param name="isFocusGroup">Whether this control is set as a focus group for keyboard navigation</param>
         internal void SetAsKeyboardFocusGroup(bool isFocusGroup)
         {
-            viewWrapperImpl.SetAsKeyboardFocusGroup(isFocusGroup);
+            viewWrapperImpl.SetAsFocusGroup(isFocusGroup);
         }
 
-        /**
-         * @brief Gets whether this control is a focus group for keyboard navigation.
-         *
-         * @return true if this control is set as a focus group for keyboard navigation.
-         */
+        /// <summary>
+        /// Gets whether this control is a focus group for keyboard navigation.
+        /// </summary>
         internal bool IsKeyboardFocusGroup()
         {
-            return viewWrapperImpl.IsKeyboardFocusGroup();
+            return viewWrapperImpl.IsFocusGroup();
         }
 
-        /**
-         * @brief Called by the AccessibilityManager to activate the Control.
-         * @SINCE_1_0.0
-         */
+        /// <summary>
+        /// Called by the AccessibilityManager to activate the Control.
+        /// </summary>
         internal void AccessibilityActivate()
         {
             viewWrapperImpl.AccessibilityActivate();
@@ -211,628 +198,511 @@ namespace Tizen.NUI
             return viewWrapperImpl.EmitKeyEventSignal(key);
         }
 
-        /**
-         * @brief Request a relayout, which means performing a size negotiation on this actor, its parent and children (and potentially whole scene).
-         *
-         * This method can also be called from a derived class every time it needs a different size.
-         * At the end of event processing, the relayout process starts and
-         * all controls which requested Relayout will have their sizes (re)negotiated.
-         *
-         * @note RelayoutRequest() can be called multiple times; the size negotiation is still
-         * only performed once, i.e. there is no need to keep track of this in the calling side.
-         */
+        /// <summary>
+        /// Request a relayout, which means performing a size negotiation on this actor, its parent and children (and potentially whole scene).<br>
+        /// This method can also be called from a derived class every time it needs a different size.<br>
+        /// At the end of event processing, the relayout process starts and all controls which requested Relayout will have their sizes (re)negotiated.<br>
+        /// It can be called multiple times; the size negotiation is still only performed once, i.e. there is no need to keep track of this in the calling side.<br>
+        /// <summary>
         protected void RelayoutRequest()
         {
             viewWrapperImpl.RelayoutRequest();
         }
 
-        /**
-         * @brief Provides the Actor implementation of GetHeightForWidth.
-         * @param width Width to use.
-         * @return The height based on the width.
-         */
+        /// <summary>
+        /// Provides the Actor implementation of GetHeightForWidth.
+        /// <summary>
+        /// <param name="width">Width to use</param>
+        /// <returns>The height based on the width</returns>
         protected float GetHeightForWidthBase(float width)
         {
             return viewWrapperImpl.GetHeightForWidthBase(width);
         }
 
-        /**
-         * @brief Provides the Actor implementation of GetWidthForHeight.
-         * @param height Height to use.
-         * @return The width based on the height.
-         */
+        /// <summary>
+        /// Provides the Actor implementation of GetWidthForHeight.
+        /// </summary>
+        /// <param name="height">Height to use</param>
+        /// <returns>The width based on the height</returns>
         protected float GetWidthForHeightBase(float height)
         {
             return viewWrapperImpl.GetWidthForHeightBase(height);
         }
 
-        /**
-         * @brief Calculate the size for a child using the base actor object.
-         *
-         * @param[in] child The child actor to calculate the size for
-         * @param[in] dimension The dimension to calculate the size for. E.g. width or height
-         * @return Return the calculated size for the given dimension. If more than one dimension is requested, just return the first one found.
-         */
+        /// <summary>
+        /// Calculate the size for a child using the base actor object.
+        /// </summary>
+        /// <param name="child">The child actor to calculate the size for</param>
+        /// <param name="dimension">The dimension to calculate the size for. E.g. width or height</param>
+        /// <returns>Return the calculated size for the given dimension. If more than one dimension is requested, just return the first one found</returns>
         protected float CalculateChildSizeBase(Actor child, DimensionType dimension)
         {
             return viewWrapperImpl.CalculateChildSizeBase(child, dimension);
         }
 
-        /**
-         * @brief Determine if this actor is dependent on it's children for relayout from the base class.
-         *
-         * @param dimension The dimension(s) to check for
-         * @return Return if the actor is dependent on it's children.
-         */
+        /// <summary>
+        /// Determine if this actor is dependent on it's children for relayout from the base class.
+        /// </summary>
+        /// <param name="dimension">The dimension(s) to check for</param>
+        /// <returns>Return if the actor is dependent on it's children</returns>
         protected bool RelayoutDependentOnChildrenBase(DimensionType dimension)
         {
             return viewWrapperImpl.RelayoutDependentOnChildrenBase(dimension);
         }
 
-        /**
-         * @brief Determine if this actor is dependent on it's children for relayout from the base class.
-         *
-         * @param dimension The dimension(s) to check for
-         * @return Return if the actor is dependent on it's children.
-         */
+        /// <summary>
+        /// Determine if this actor is dependent on it's children for relayout from the base class.
+        /// </summary>
+        /// <returns>Return if the actor is dependent on it's children</returns>
         protected bool RelayoutDependentOnChildrenBase()
         {
             return viewWrapperImpl.RelayoutDependentOnChildrenBase();
         }
 
-        /**
-         * @brief Register a visual by Property Index, linking an Actor to visual when required.
-         * In the case of the visual being an actor or control deeming visual not required then visual should be an empty handle.
-         * No parenting is done during registration, this should be done by derived class.
-         *
-         * @param[in] index The Property index of the visual, used to reference visual
-         * @param[in] visual The visual to register
-         * @note Derived class should not call visual.SetOnStage(actor). It is the responsibility of the base class to connect/disconnect registered visual to stage.
-         *       Use below API with enabled set to false if derived class wishes to control when visual is staged.
-         */
+        /// <summary>
+        /// Register a visual by Property Index, linking an Actor to visual when required.<br>
+        /// In the case of the visual being an actor or control deeming visual not required then visual should be an empty handle.<br>
+        /// No parenting is done during registration, this should be done by derived class.<br>
+        /// </summary>
+        /// <param name="index">The Property index of the visual, used to reference visual</param>
+        /// <param name="visual">The visual to register</param>
         protected void RegisterVisual(int index, VisualBase visual)
         {
             viewWrapperImpl.RegisterVisual(index, visual);
         }
 
-        /**
-         * @brief Register a visual by Property Index, linking an Actor to visual when required.
-         * In the case of the visual being an actor or control deeming visual not required then visual should be an empty handle.
-         * If enabled is false then the visual is not set on stage until enabled by the derived class.
-         * @see EnableVisual
-         *
-         * @param[in] index The Property index of the visual, used to reference visual
-         * @param[in] visual The visual to register
-         * @param[in] enabled false if derived class wants to control when visual is set on stage.
-         *
-         */
+        /// <summary>
+        /// Register a visual by Property Index, linking an Actor to visual when required.<br>
+        /// In the case of the visual being an actor or control deeming visual not required then visual should be an empty handle.<br>
+        /// If enabled is false then the visual is not set on stage until enabled by the derived class.<br>
+        /// </summary>
+        /// <param name="index">The Property index of the visual, used to reference visual</param>
+        /// <param name="visual">The visual to register</param>
+        /// <param name="enabled">false if derived class wants to control when visual is set on stage</param>
         protected void RegisterVisual(int index, VisualBase visual, bool enabled)
         {
             viewWrapperImpl.RegisterVisual(index, visual, enabled);
         }
 
-        /**
-         * @brief Erase the entry matching the given index from the list of registered visuals
-         * @param[in] index The Property index of the visual, used to reference visual
-         *
-         */
+        /// <summary>
+        /// Erase the entry matching the given index from the list of registered visuals.
+        /// </summary>
+        /// <param name="index">The Property index of the visual, used to reference visual</param>
         protected void UnregisterVisual(int index)
         {
             viewWrapperImpl.UnregisterVisual(index);
         }
 
-        /**
-         * @brief Retrieve the visual associated with the given property index.
-         *
-         * @param[in] index The Property index of the visual.
-         * @return The registered visual if exist, otherwise empty handle.
-         * @note For managing object life-cycle, do not store the returned visual as a member which increments its reference count.
-         */
+        /// <summary>
+        /// Retrieve the visual associated with the given property index.<br>
+        /// For managing object life-cycle, do not store the returned visual as a member which increments its reference count.<br>
+        /// </summary>
+        /// <param name="index">The Property index of the visual, used to reference visual</param>
+        /// <returns>The registered visual if exist, otherwise empty handle</returns>
         protected VisualBase GetVisual(int index)
         {
             return viewWrapperImpl.GetVisual(index);
         }
 
-        /**
-         * @brief Sets the given visual to be displayed or not when parent staged.
-         *
-         * @param[in] index The Property index of the visual
-         * @param[in] enable flag to set enabled or disabled.
-         */
+        /// <summary>
+        /// Sets the given visual to be displayed or not when parent staged.<br>
+        /// For managing object life-cycle, do not store the returned visual as a member which increments its reference count.<br>
+        /// </summary>
+        /// <param name="index">The Property index of the visual, used to reference visual</param>
+        /// <param name="enable">flag to set enabled or disabled</param>
         protected void EnableVisual(int index, bool enable)
         {
             viewWrapperImpl.EnableVisual(index, enable);
         }
 
-        /**
-         * @brief Queries if the given visual is to be displayed when parent staged.
-         *
-         * @param[in] index The Property index of the visual
-         * @return bool whether visual is enabled or not
-         */
+        /// <summary>
+        /// Queries if the given visual is to be displayed when parent staged.<br>
+        /// For managing object life-cycle, do not store the returned visual as a member which increments its reference count.<br>
+        /// </summary>
+        /// <param name="index">The Property index of the visual</param>
+        /// <returns>Whether visual is enabled or not</returns>
         protected bool IsVisualEnabled(int index)
         {
             return viewWrapperImpl.IsVisualEnabled(index);
         }
 
-        /**
-         * @brief Create a transition effect on the control.
-         *
-         * @param[in] transitionData The transition data describing the effect to create
-         * @return A handle to an animation defined with the given effect, or an empty
-         * handle if no properties match.
-         */
+        /// <summary>
+        /// Create a transition effect on the control.
+        /// </summary>
+        /// <param name="transitionData">transitionData The transition data describing the effect to create</param>
+        /// <returns>A handle to an animation defined with the given effect, or an empty handle if no properties match </returns>
         protected Animation CreateTransition(TransitionData transitionData)
         {
             return viewWrapperImpl.CreateTransition(transitionData);
         }
 
-        /**
-         * @brief Emits KeyInputFocusGained signal if true else emits KeyInputFocusLost signal
-         *
-         * Should be called last by the control after it acts on the Input Focus change.
-         *
-         * @param[in] focusGained True if gained, False if lost
-         */
-        protected void EmitKeyInputFocusSignal(bool focusGained)
+        /// <summary>
+        /// Emits KeyInputFocusGained signal if true else emits KeyInputFocusLost signal.<br>
+        /// Should be called last by the control after it acts on the Input Focus change.<br>
+        /// </summary>
+        /// <param name="focusGained">focusGained True if gained, False if lost</param>
+        protected void EmitFocusSignal(bool focusGained)
         {
-            viewWrapperImpl.EmitKeyInputFocusSignal(focusGained);
+            viewWrapperImpl.EmitFocusSignal(focusGained);
         }
 
-        /**
-         * @brief This method is called after the Control has been initialized.
-         *
-         * Derived classes should do any second phase initialization by overriding this method.
-         */
+        /// <summary>
+        /// This method is called after the Control has been initialized.<br>
+        /// Derived classes should do any second phase initialization by overriding this method.<br>
+        /// </summary>
         public virtual void OnInitialize()
         {
         }
 
-        /**
-         * @brief Called after the actor has been connected to the stage.
-         *
-         * When an actor is connected, it will be directly or indirectly parented to the root Actor.
-         * @param[in] depth The depth in the hierarchy for the actor
-         *
-         * @note The root Actor is provided automatically by Dali::Stage, and is always considered to be connected.
-         * When the parent of a set of actors is connected to the stage, then all of the children
-         * will received this callback.
-         * For the following actor tree, the callback order will be A, B, D, E, C, and finally F.
-         *
-         * @code
-         *
-         *       A (parent)
-         *      / \
-         *     B   C
-         *    / \   \
-         *   D   E   F
-         *
-         * @endcode
-         * @param[in] depth The depth in the hierarchy for the actor
-         */
+        /// <summary>
+        /// Called after the actor has been connected to the stage.<br>
+        /// When an actor is connected, it will be directly or indirectly parented to the root Actor.<br>
+        /// The root Actor is provided automatically by Tizen.NUI.Stage, and is always considered to be connected.<br>
+        /// When the parent of a set of actors is connected to the stage, then all of the children will received this callback.<br>
+        /// </summary>
+        /// <param name="depth">The depth in the hierarchy for the actor</param>
         public virtual void OnStageConnection(int depth)
         {
         }
 
-        /**
-         * @brief Called after the actor has been disconnected from Stage.
-         *
-         * If an actor is disconnected it either has no parent, or is parented to a disconnected actor.
-         *
-         * @note When the parent of a set of actors is disconnected to the stage, then all of the children
-         * will received this callback, starting with the leaf actors.
-         * For the following actor tree, the callback order will be D, E, B, F, C, and finally A.
-         *
-         * @code
-         *
-         *       A (parent)
-         *      / \
-         *     B   C
-         *    / \   \
-         *   D   E   F
-         *
-         * @endcode
-         */
+        /// <summary>
+        /// Called after the actor has been disconnected from Stage.<br>
+        /// If an actor is disconnected it either has no parent, or is parented to a disconnected actor.<br>
+        /// When the parent of a set of actors is disconnected to the stage, then all of the children will received this callback, starting with the leaf actors.<br>
+        /// </summary>
         public virtual void OnStageDisconnection()
         {
         }
 
-        /**
-         * @brief Called after a child has been added to the owning actor.
-         *
-         * @param[in] child The child which has been added
-         */
+        /// <summary>
+        /// Called after a child has been added to the owning actor.
+        /// </summary>
+        /// <param name="actor">The child which has been added</param>
         public virtual void OnChildAdd(Actor actor)
         {
         }
 
-        /**
-         * @brief Called after the owning actor has attempted to remove a child( regardless of whether it succeeded or not ).
-         *
-         * @param[in] child The child being removed
-         */
+        /// <summary>
+        /// Called after the owning actor has attempted to remove a child( regardless of whether it succeeded or not ).
+        /// </summary>
+        /// <param name="actor">The child being removed</param>
         public virtual void OnChildRemove(Actor actor)
         {
         }
 
-        /**
-         * @brief Called when the owning actor property is set.
-         *
-         * @param[in] index The Property index that was set
-         * @param[in] propertyValue The value to set
-         */
+        /// <summary>
+        /// Called when the owning actor property is set.
+        /// </summary>
+        /// <param name="index">The Property index that was set</param>
+        /// <param name="propertyValue">The value to set</param>
         public virtual void OnPropertySet(int index, Tizen.NUI.PropertyValue propertyValue)
         {
         }
 
-        /**
-         * @brief Called when the owning actor's size is set e.g. using Actor::SetSize().
-         *
-         * @param[in] targetSize The target size. Note that this target size may not match the size returned via Actor.GetTargetSize.
-         */
+        /// <summary>
+        /// Called when the owning actor's size is set e.g. using Actor.SetSize().
+        /// </summary>
+        /// <param name="targetSize">The target size. Note that this target size may not match the size returned via Actor.GetTargetSize</param>
         public virtual void OnSizeSet(Vector3 targetSize)
         {
         }
 
-        /**
-         * @brief Called when the owning actor's size is animated e.g. using Animation::AnimateTo( Property( actor, Actor::Property::SIZE ), ... ).
-         *
-         * @param[in] animation The object which is animating the owning actor.
-         * @param[in] targetSize The target size. Note that this target size may not match the size returned via @ref Actor.GetTargetSize.
-         */
+        /// <summary>
+        /// Called when the owning actor's size is animated e.g. using Animation::AnimateTo( Property( actor, Actor::Property::SIZE ), ... ).
+        /// </summary>
+        /// <param name="animation">The object which is animating the owning actor</param>
+        /// <param name="targetSize">The target size. Note that this target size may not match the size returned via @ref Actor.GetTargetSize</param>
         public virtual void OnSizeAnimation(Animation animation, Vector3 targetSize)
         {
         }
 
-        /**
-         * @DEPRECATED_1_1.37 Connect to TouchSignal() instead.
-         *
-         * @brief Called after a touch-event is received by the owning actor.
-         *
-         * @param[in] touch The touch event
-         * @return True if the event should be consumed.
-         * @note CustomViewBehaviour.REQUIRES_TOUCH_EVENTS must be enabled during construction. See CustomView(ViewWrapperImpl.CustomViewBehaviour behaviour).
-         */
+        /// <summary>
+        /// Called after a touch-event is received by the owning actor.<br>
+        /// CustomViewBehaviour.REQUIRES_TOUCH_EVENTS must be enabled during construction. See CustomView(ViewWrapperImpl.CustomViewBehaviour behaviour).<br>
+        /// </summary>
+        /// <param name="touch">The touch event</param>
+        /// <returns>True if the event should be consumed</returns>
         public virtual bool OnTouch(Touch touch)
         {
             return false; // Do not consume
         }
 
-        /**
-         * @brief Called after a hover-event is received by the owning actor.
-         *
-         * @param[in] hover The hover event
-         * @return True if the hover event should be consumed.
-         * @note CustomViewBehaviour.REQUIRES_HOVER_EVENTS must be enabled during construction. See CustomView(ViewWrapperImpl.CustomViewBehaviour behaviour).
-         */
+        /// <summary>
+        /// Called after a hover-event is received by the owning actor.<br>
+        /// CustomViewBehaviour.REQUIRES_HOVER_EVENTS must be enabled during construction. See CustomView(ViewWrapperImpl.CustomViewBehaviour behaviour).<br>
+        /// </summary>
+        /// <param name="hover">The hover event</param>
+        /// <returns>True if the hover event should be consumed</returns>
         public virtual bool OnHover(Hover hover)
         {
             return false; // Do not consume
         }
 
-        /**
-         * @brief Called after a key-event is received by the actor that has had its focus set.
-         *
-         * @param[in] key the Key Event
-         * @return True if the event should be consumed.
-         */
+        /// <summary>
+        /// Called after a key-event is received by the actor that has had its focus set.
+        /// </summary>
+        /// <param name="key">The key event</param>
+        /// <returns>True if the key event should be consumed</returns>
         public virtual bool OnKey(Key key)
         {
             return false; // Do not consume
         }
 
-        /**
-         * @brief Called after a wheel-event is received by the owning actor.
-         *
-         * @param[in] wheel The wheel event
-         * @return True if the event should be consumed.
-         * @note CustomViewBehaviour.REQUIRES_WHEEL_EVENTS must be enabled during construction. See CustomView(ViewWrapperImpl.CustomViewBehaviour behaviour).
-         */
+        /// <summary>
+        /// Called after a wheel-event is received by the owning actor.<br>
+        /// CustomViewBehaviour.REQUIRES_WHEEL_EVENTS must be enabled during construction. See CustomView(ViewWrapperImpl.CustomViewBehaviour behaviour).<br>
+        /// </summary>
+        /// <param name="wheel">The wheel event</param>
+        /// <returns>True if the wheel event should be consumed</returns>
         public virtual bool OnWheel(Wheel wheel)
         {
             return false; // Do not consume
         }
 
-        /**
-         * @brief Called after the size negotiation has been finished for this control.
-         *
-         * The control is expected to assign this given size to itself/its children.
-         *
-         * Should be overridden by derived classes if they need to layout
-         * actors differently after certain operations like add or remove
-         * actors, resize or after changing specific properties.
-         *
-         * @param[in]      size       The allocated size.
-         * @param[in,out]  container  The control should add actors to this container that it is not able
-         *                            to allocate a size for.
-         * @note  As this function is called from inside the size negotiation algorithm, you cannot
-         * call RequestRelayout (the call would just be ignored).
-         */
+        /// <summary>
+        /// Called after the size negotiation has been finished for this control.<br>
+        /// The control is expected to assign this given size to itself/its children.<br>
+        /// Should be overridden by derived classes if they need to layout actors differently after certain operations like add or remove actors, resize or after changing specific properties.<br>
+        /// As this function is called from inside the size negotiation algorithm, you cannot call RequestRelayout (the call would just be ignored).<br>
+        /// </summary>
+        /// <param name="size">The allocated size</param>
+        /// <param name="container">The control should add actors to this container that it is not able to allocate a size for</param>
         public virtual void OnRelayout(Vector2 size, RelayoutContainer container)
         {
         }
 
-        /**
-         * @brief Notification for deriving classes
-         *
-         * @param[in] policy The policy being set
-         * @param[in] dimension The dimension the policy is being set for
-         */
+        /// <summary>
+        /// Notification for deriving classes.
+        /// </summary>
+        /// <param name="policy">policy The policy being set</param>
+        /// <param name="dimension">dimension The dimension the policy is being set for</param>
         public virtual void OnSetResizePolicy(ResizePolicyType policy, DimensionType dimension)
         {
         }
 
-        /**
-         * @brief Return the natural size of the actor.
-         *
-         * @return The actor's natural size
-         */
+        /// <summary>
+        /// Return the natural size of the actor.
+        /// </summary>
+        /// <returns>The actor's natural size</returns>
         public virtual Size GetNaturalSize()
         {
             return new Size(0.0f, 0.0f, 0.0f);
         }
 
-        /**
-         * @brief Calculate the size for a child.
-         *
-         * @param[in] child The child actor to calculate the size for
-         * @param[in] dimension The dimension to calculate the size for. E.g. width or height.
-         * @return Return the calculated size for the given dimension.
-         */
+        /// <summary>
+        /// Calculate the size for a child.
+        /// </summary>
+        /// <param name="child">The child actor to calculate the size for</param>
+        /// <param name="dimension">The dimension to calculate the size for. E.g. width or height</param>
+        /// <returns>Return the calculated size for the given dimension</returns>
         public virtual float CalculateChildSize(Actor child, DimensionType dimension)
         {
             return viewWrapperImpl.CalculateChildSizeBase(child, dimension);
         }
 
-        /**
-         * @brief This method is called during size negotiation when a height is required for a given width.
-         *
-         * Derived classes should override this if they wish to customize the height returned.
-         *
-         * @param width Width to use.
-         * @return The height based on the width.
-         */
+        /// <summary>
+        /// This method is called during size negotiation when a height is required for a given width.<br>
+        /// Derived classes should override this if they wish to customize the height returned.<br>
+        /// </summary>
+        /// <param name="width">Width to use</param>
+        /// <returns>The height based on the width</returns>
         public virtual float GetHeightForWidth(float width)
         {
             return viewWrapperImpl.GetHeightForWidthBase(width);
         }
 
-        /**
-         * @brief This method is called during size negotiation when a width is required for a given height.
-         *
-         * Derived classes should override this if they wish to customize the width returned.
-         *
-         * @param height Height to use.
-         * @return The width based on the width.
-         */
+        /// <summary>
+        /// This method is called during size negotiation when a width is required for a given height.<br>
+        /// Derived classes should override this if they wish to customize the width returned.<br>
+        /// </summary>
+        /// <param name="height">Height to use</param>
+        /// <returns>The width based on the width</returns>
         public virtual float GetWidthForHeight(float height)
         {
             return viewWrapperImpl.GetWidthForHeightBase(height);
         }
 
-        /**
-         * @brief Determine if this actor is dependent on it's children for relayout.
-         *
-         * @param dimension The dimension(s) to check for
-         * @return Return if the actor is dependent on it's children.
-         */
+        /// <summary>
+        /// Determine if this actor is dependent on it's children for relayout.
+        /// </summary>
+        /// <param name="dimension">The dimension(s) to check for</param>
+        /// <returns>Return if the actor is dependent on it's children</returns>
         public virtual bool RelayoutDependentOnChildren(DimensionType dimension)
         {
             return viewWrapperImpl.RelayoutDependentOnChildrenBase(dimension);
         }
 
-        /**
-         * @brief Determine if this actor is dependent on it's children for relayout from the base class.
-         *
-         * @return Return if the actor is dependent on it's children.
-         */
+        /// <summary>
+        /// Determine if this actor is dependent on it's children for relayout from the base class.
+        /// </summary>
+        /// <returns>Return true if the actor is dependent on it's children</returns>
         public virtual bool RelayoutDependentOnChildren()
         {
             return viewWrapperImpl.RelayoutDependentOnChildrenBase();
         }
 
-        /**
-         * @brief Virtual method to notify deriving classes that relayout dependencies have been
-         * met and the size for this object is about to be calculated for the given dimension
-         *
-         * @param dimension The dimension that is about to be calculated
-         */
+        /// <summary>
+        /// Virtual method to notify deriving classes that relayout dependencies have been
+        /// met and the size for this object is about to be calculated for the given dimension.
+        /// </summary>
+        /// <param name="dimension">The dimension that is about to be calculated</param>
         public virtual void OnCalculateRelayoutSize(DimensionType dimension)
         {
         }
 
-        /**
-         * @brief Virtual method to notify deriving classes that the size for a dimension
-         * has just been negotiated
-         *
-         * @param[in] size The new size for the given dimension
-         * @param[in] dimension The dimension that was just negotiated
-         */
+        /// <summary>
+        /// Virtual method to notify deriving classes that the size for a dimension has just been negotiated.
+        /// </summary>
+        /// <param name="size">The new size for the given dimension</param>
+        /// <param name="dimension">The dimension that was just negotiated</param>
         public virtual void OnLayoutNegotiated(float size, DimensionType dimension)
         {
         }
 
-        /**
-         * @brief This method should be overridden by deriving classes requiring notifications when the style changes.
-         *
-         * @param[in] styleManager  The StyleManager object.
-         * @param[in] change  Information denoting what has changed.
-         */
+        /// <summary>
+        /// This method should be overridden by deriving classes requiring notifications when the style changes.
+        /// </summary>
+        /// <param name="styleManager">The StyleManager object</param>
+        /// <param name="change">Information denoting what has changed</param>
         public virtual void OnStyleChange(StyleManager styleManager, StyleChangeType change)
         {
         }
 
-        /**
-         * @brief This method is called when the control is accessibility activated.
-         *
-         * Derived classes should override this to perform custom accessibility activation.
-         * @return true if this control can perform accessibility activation.
-         */
+        /// <summary>
+        /// This method is called when the control is accessibility activated.<br>
+        /// Derived classes should override this to perform custom accessibility activation.<br>
+        /// </summary>
+        /// <returns>true if this control can perform accessibility activation</returns>
         internal virtual bool OnAccessibilityActivated()
         {
             return false;
         }
 
-        /**
-         * @brief This method should be overridden by deriving classes when they wish to respond the accessibility
-         * pan gesture.
-         *
-         * @param[in] gesture The pan gesture.
-         * @return true if the pan gesture has been consumed by this control
-         */
+        /// <summary>
+        /// This method should be overridden by deriving classes when they wish to respond the accessibility.
+        /// </summary>
+        /// <param name="gestures">The pan gesture</param>
+        /// <returns>true if the pan gesture has been consumed by this control</returns>
         internal virtual bool OnAccessibilityPan(PanGesture gestures)
         {
             return false;
         }
 
-        /**
-         * @brief This method should be overridden by deriving classes when they wish to respond the accessibility
-         * touch event.
-         *
-         * @param[in] touch The touch event.
-         * @return true if the touch event has been consumed by this control
-         */
+        /// <summary>
+        /// This method should be overridden by deriving classes when they wish to respond the accessibility
+        /// </summary>
+        /// <param name="touch">The touch gesture</param>
+        /// <returns>true if the touch event has been consumed by this control</returns>
         internal virtual bool OnAccessibilityTouch(Touch touch)
         {
             return false;
         }
 
-        /**
-         * @brief This method should be overridden by deriving classes when they wish to respond
-         * the accessibility up and down action (i.e. value change of slider control).
-         *
-         * @param[in] isIncrease Whether the value should be increased or decreased
-         * @return true if the value changed action has been consumed by this control
-         */
+        /// <summary>
+        /// This method should be overridden by deriving classes when they wish to respond the accessibility up and down action (i.e. value change of slider control).
+        /// </summary>
+        /// <param name="isIncrease">isIncrease Whether the value should be increased or decreased</param>
+        /// <returns>true if the value changed action has been consumed by this control</returns>
         internal virtual bool OnAccessibilityValueChange(bool isIncrease)
         {
             return false;
         }
 
-        /**
-         * @brief This method should be overridden by deriving classes when they wish to respond
-         * the accessibility zoom action.
-         *
-         * @return true if the zoom action has been consumed by this control
-         */
+        /// <summary>
+        /// This method should be overridden by deriving classes when they wish to respond the accessibility zoom action.
+        /// </summary>
+        /// <returns>true if the zoom action has been consumed by this control</returns>
         internal virtual bool OnAccessibilityZoom()
         {
             return false;
         }
 
-        /**
-         * @brief This method should be overridden by deriving classes when they wish to respond
-         * the accessibility zoom action.
-         *
-         * @return true if the zoom action has been consumed by this control
-         */
-        public virtual void OnKeyInputFocusGained()
+        /// <summary>
+        /// Called when the control gain key input focus. Should be overridden by derived classes if they need to customize what happens when focus is gained.
+        /// </summary>
+        public virtual void OnFocusGained()
         {
         }
 
-        /**
-         * @brief Called when the control loses key input focus.
-         *
-         * Should be overridden by derived classes if they need to customize what happens when focus is lost.
-         */
-        public virtual void OnKeyInputFocusLost()
+        /// <summary>
+        /// Called when the control loses key input focus. Should be overridden by derived classes if they need to customize what happens when focus is lost.
+        /// </summary>
+        public virtual void OnFocusLost()
         {
         }
 
-        /**
-         * @brief Gets the next keyboard focusable actor in this control towards the given direction.
-         *
-         * A control needs to override this function in order to support two dimensional keyboard navigation.
-         * @param[in] currentFocusedActor The current focused actor.
-         * @param[in] direction The direction to move the focus towards.
-         * @param[in] loopEnabled Whether the focus movement should be looped within the control.
-         * @return the next keyboard focusable actor in this control or an empty handle if no actor can be focused.
-         */
-        public virtual View GetNextKeyboardFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)
+        /// <summary>
+        /// Gets the next keyboard focusable actor in this control towards the given direction.<br>
+        /// A control needs to override this function in order to support two dimensional keyboard navigation.<br>
+        /// </summary>
+        /// <param name="currentFocusedView">The current focused actor</param>
+        /// <param name="direction">The direction to move the focus towards</param>
+        /// <param name="loopEnabled">Whether the focus movement should be looped within the control</param>
+        /// <returns>the next keyboard focusable actor in this control or an empty handle if no actor can be focused</returns>
+        public virtual View GetNextFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)
         {
             return new View();
         }
 
-        /**
-         * @brief Informs this control that its chosen focusable actor will be focused.
-         *
-         * This allows the application to preform any actions if wishes
-         * before the focus is actually moved to the chosen actor.
-         *
-         * @param[in] commitedFocusableActor The commited focusable actor.
-         */
-        public virtual void OnKeyboardFocusChangeCommitted(View commitedFocusableView)
+        /// <summary>
+        /// Informs this control that its chosen focusable actor will be focused.<br>
+        /// This allows the application to preform any actions if wishes before the focus is actually moved to the chosen actor.<br>
+        /// </summary>
+        /// <param name="commitedFocusableView">The commited focused actor</param>
+        public virtual void OnFocusChangeCommitted(View commitedFocusableView)
         {
         }
 
-        /**
-         * @brief This method is called when the control has enter pressed on it.
-         *
-         * Derived classes should override this to perform custom actions.
-         * @return true if this control supported this action.
-         */
+        /// <summary>
+        /// This method is called when the control has enter pressed on it.<br>
+        /// Derived classes should override this to perform custom actions.<br>
+        /// </summary>
+        /// <returns>true if this control supported this action</returns>
         public virtual bool OnKeyboardEnter()
         {
             return false;
         }
 
-        /**
-         * @brief Called whenever a pinch gesture is detected on this control.
-         *
-         * This can be overridden by deriving classes when pinch detection
-         * is enabled.  The default behaviour is to scale the control by the
-         * pinch scale.
-         *
-         * @param[in]  pinch  The pinch gesture.
-         * @note If overridden, then the default behaviour will not occur.
-         * @note Pinch detection should be enabled via EnableGestureDetection().
-         * @see EnableGestureDetection
-         */
+        /// <summary>
+        /// Called whenever a pinch gesture is detected on this control.<br>
+        /// This can be overridden by deriving classes when pinch detection is enabled. The default behaviour is to scale the control by the pinch scale.<br>
+        /// If overridden, then the default behaviour will not occur.<br>
+        /// Pinch detection should be enabled via EnableGestureDetection().<br>
+        /// </summary>
+        /// <param name="pinch">pinch tap gesture</param>
         internal virtual void OnPinch(PinchGesture pinch)
         {
         }
 
-        /**
-         * @brief Called whenever a pan gesture is detected on this control.
-         *
-         * This should be overridden by deriving classes when pan detection
-         * is enabled.
-         *
-         * @param[in]  pan  The pan gesture.
-         * @note There is no default behaviour with panning.
-         * @note Pan detection should be enabled via EnableGestureDetection().
-         * @see EnableGestureDetection
-         */
+        /// <summary>
+        /// Called whenever a pan gesture is detected on this control.<br>
+        /// This should be overridden by deriving classes when pan detection is enabled.<br>
+        /// There is no default behaviour with panning.<br>
+        /// Pan detection should be enabled via EnableGestureDetection().<br>
+        /// </summary>
+        /// <param name="pan">The pan gesture</param>
         public virtual void OnPan(PanGesture pan)
         {
         }
 
-        /**
-         * @brief Called whenever a tap gesture is detected on this control.
-         *
-         * This should be overridden by deriving classes when tap detection
-         * is enabled.
-         *
-         * @param[in]  tap  The tap gesture.
-         * @note There is no default behaviour with a tap.
-         * @note Tap detection should be enabled via EnableGestureDetection().
-         * @see EnableGestureDetection
-         */
+        /// <summary>
+        /// Called whenever a tap gesture is detected on this control.<br>
+        /// This should be overridden by deriving classes when tap detection is enabled.<br>
+        /// There is no default behaviour with a tap.<br>
+        /// Tap detection should be enabled via EnableGestureDetection().<br>
+        /// </summary>
+        /// <param name="tap">The tap gesture</param>
         public virtual void OnTap(TapGesture tap)
         {
         }
 
-        /**
-         * @brief Called whenever a long press gesture is detected on this control.
-         *
-         * This should be overridden by deriving classes when long press
-         * detection is enabled.
-         *
-         * @param[in]  longPress  The long press gesture.
-         * @note There is no default behaviour associated with a long press.
-         * @note Long press detection should be enabled via EnableGestureDetection().
-         * @see EnableGestureDetection
-         */
+        /// <summary>
+        /// Called whenever a long press gesture is detected on this control.<br>
+        /// This should be overridden by deriving classes when long press detection is enabled.<br>
+        /// There is no default behaviour associated with a long press.<br>
+        /// Long press detection should be enabled via EnableGestureDetection().<br>
+        /// </summary>
+        /// <param name="longPress">The long press gesture</param>
         internal virtual void OnLongPress(LongPressGesture longPress)
         {
         }
@@ -845,6 +715,10 @@ namespace Tizen.NUI
         {
         }
     }
+
+    /// <summary>
+    /// This specifies ccustomView behaviour types.
+    /// </summary>
     public enum CustomViewBehaviour
     {
         ViewBehaviourDefault = 0,
index 79ad32f..4fe2bcd 100755 (executable)
@@ -54,20 +54,24 @@ namespace Tizen.NUI
         // static constructor registers the control type (only runs once)
         static Spin()
         {
+            InternalSetting.DefaultParentOriginAsTopLeft = false;
+
             // ViewRegistry registers control type with DALi type registery
             // also uses introspection to find any properties that need to be registered with type registry
             ViewRegistry.Instance.Register(CreateInstance, typeof(Spin));
         }
 
+        /// <summary>
+        /// Creates an initialized Spin.
+        /// </summary>
         public Spin() : base(typeof(Spin).Name, CustomViewBehaviour.RequiresKeyboardNavigationSupport)
         {
-
         }
 
         /// <summary>
-        /// Override method of OnInitialize() for CustomView class.
-        /// This method is called after the Control has been initialized.
-        /// Derived classes should do any second phase initialization by overriding this method.
+        /// Override method of OnInitialize() for CustomView class.<br>
+        /// This method is called after the Control has been initialized.<br>
+        /// Derived classes should do any second phase initialization by overriding this method.<br>
         /// </summary>
         public override void OnInitialize()
         {
@@ -106,8 +110,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Override method of GetNaturalSize() for CustomView class.
-        /// Return the natural size of the actor.
+        /// Override method of GetNaturalSize() for CustomView class.<br>
+        /// Return the natural size of the actor.<br>
         /// </summary>
         /// <returns> Natural size of this Spin itself</returns>
         public override Size GetNaturalSize()
@@ -116,9 +120,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Event handler when the TextField in Spin gets the Key focus
-        /// Make sure when the current spin that takes input focus also takes the keyboard focus
-        /// For example, when you tap the spin directly
+        /// Event handler when the TextField in Spin gets the Key focus.<br>
+        /// Make sure when the current spin that takes input focus also takes the keyboard focus.<br>
+        /// For example, when you tap the spin directly.<br>
         /// </summary>
         /// <param name="source">Sender of this event</param>
         /// <param name="e">Event arguments</param>
@@ -154,15 +158,15 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Override method of GetNextKeyboardFocusableView() for CustomView class.
-        /// Gets the next key focusable view in this View towards the given direction.
-        /// A View needs to override this function in order to support two dimensional key navigation.
+        /// Override method of GetNextKeyboardFocusableView() for CustomView class.<br>
+        /// Gets the next key focusable view in this View towards the given direction.<br>
+        /// A View needs to override this function in order to support two dimensional key navigation.<br>
         /// </summary>
         /// <param name="currentFocusedView">The current focused view</param>
         /// <param name="direction">The direction to move the focus towards</param>
         /// <param name="loopEnabled">Whether the focus movement should be looped within the control</param>
         /// <returns>The next keyboard focusable view in this control or an empty handle if no view can be focused</returns>
-        public override View GetNextKeyboardFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)
+        public override View GetNextFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)
         {
             // Respond to Up/Down keys to change the value while keeping the current spin focused
             View nextFocusedView = currentFocusedView;
@@ -187,7 +191,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Value to be set in Spin
+        /// Value to be set in Spin.
         /// </summary>
         [ScriptableProperty()]
         public int Value
@@ -218,7 +222,7 @@ namespace Tizen.NUI
         }
         
         /// <summary>
-        /// Minimum Value of Spin Value
+        /// Minimum Value of Spin Value.
         /// </summary>
         // MinValue property of type int:
         [ScriptableProperty()]
@@ -235,7 +239,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Maximum Value of Spin Value
+        /// Maximum Value of Spin Value.
         /// </summary>
         // MaxValue property of type int:
         [ScriptableProperty()]
@@ -252,7 +256,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        ///  Increasing, decresing step of Spin Value when Up or Down key is pressed
+        ///  Increasing, decresing step of Spin Value when Up or Down key is pressed.
         /// </summary>
         // Step property of type int:
         [ScriptableProperty()]
@@ -269,7 +273,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Wrapping enabled status
+        /// Wrapping enabled status.
         /// </summary>
         // WrappingEnabled property of type bool:
         [ScriptableProperty()]
@@ -286,7 +290,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        ///  Text point size of Spin Value
+        ///  Text point size of Spin Value.
         /// </summary>
         // TextPointSize property of type int:
         [ScriptableProperty()]
@@ -304,7 +308,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The color of Spin Value
+        /// The color of Spin Value.
         /// </summary>
         // TextColor property of type Color:
         [ScriptableProperty()]
@@ -324,7 +328,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Maximum text lengh of Spin Value
+        /// Maximum text lengh of Spin Value.
         /// </summary>
         // MaxTextLength property of type int:
         [ScriptableProperty()]
@@ -342,7 +346,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Reference of TextField of Spin
+        /// Reference of TextField of Spin.
         /// </summary>
         public TextField SpinText
         {
index e685890..82684a7 100755 (executable)
@@ -21,17 +21,17 @@ namespace Tizen.NUI
     using System.Linq;
 
     /// <summary>
-    /// A visual view control for user add any visual to it.
-    /// Example:
-    /// VisualView _visualView = new VisualView();
-    /// ImageVisualMap imageVisualMap1 = new ImageVisualMap();
-    /// imageVisualMap1.URL = "./NUISample/res/images/image-1.jpg";
-    /// imageVisualMap1.VisualSize = new Vector2( 300.0f, 300.0f );
-    /// imageVisualMap1.Offset = new Vector2( 50.0f, 50.0f );
-    /// imageVisualMap1.OffsetSizeMode = new Vector4( 1.0f, 1.0f, 1.0f, 1.0f );
-    /// imageVisualMap1.Origin = AlignType.TOP_BEGIN;
-    /// imageVisualMap1.AnchorPoint = AlignType.TOP_BEGIN;
-    /// _visualView.AddVisual("imageVisual1", imageVisualMap1);
+    /// A visual view control for user add any visual to it.<br>
+    /// Example:<br>
+    /// VisualView _visualView = new VisualView();<br>
+    /// ImageVisualMap imageVisualMap1 = new ImageVisualMap();<br>
+    /// imageVisualMap1.URL = "./NUISample/res/images/image-1.jpg";<br>
+    /// imageVisualMap1.VisualSize = new Vector2( 300.0f, 300.0f );<br>
+    /// imageVisualMap1.Offset = new Vector2( 50.0f, 50.0f );<br>
+    /// imageVisualMap1.OffsetSizeMode = new Vector4( 1.0f, 1.0f, 1.0f, 1.0f );<br>
+    /// imageVisualMap1.Origin = AlignType.TOP_BEGIN;<br>
+    /// imageVisualMap1.AnchorPoint = AlignType.TOP_BEGIN;<br>
+    /// _visualView.AddVisual("imageVisual1", imageVisualMap1);<br>
     /// </summary>
     public class VisualView : CustomView
     {
@@ -107,6 +107,10 @@ namespace Tizen.NUI
                 _visualDictionary.Add(visualIndex, visual);
                 _tranformDictionary.Add(visualIndex, visualMap.OutputTransformMap);
 
+                visualMap.VisualIndex = visualIndex;
+                visualMap.Name = visualName;
+                visualMap.Parent = this;
+
                 RelayoutRequest();
             }
         }
@@ -129,14 +133,17 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// A visual view control for user add any visual to it.
+        ///  Get the total number of Visuals which are added by users
         /// </summary>
-        /// <returns> The number of visuals. </returns>
-        public int NumberOfVisuals()
+        public int NumberOfVisuals
         {
-            return _visualDictionary.Count;
+            get
+            {
+                return _visualDictionary.Count;
+            }
         }
 
+
         /// <summary>
         /// Remove all visuals of visual view.
         /// </summary>
@@ -146,11 +153,11 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Override method of OnRelayout() for CustomView class.
-        /// Called after the size negotiation has been finished for this control.
-        /// The control is expected to assign this given size to itself/its children.
-        /// Should be overridden by derived classes if they need to layout actors differently after certain operations like add or remove actors, resize or after changing specific properties.
-        /// Note! As this function is called from inside the size negotiation algorithm, you cannot call RequestRelayout (the call would just be ignored)
+        /// Override method of OnRelayout() for CustomView class.<br>
+        /// Called after the size negotiation has been finished for this control.<br>
+        /// The control is expected to assign this given size to itself/its children.<br>
+        /// Should be overridden by derived classes if they need to layout actors differently after certain operations like add or remove actors, resize or after changing specific properties.<br>
+        /// Note! As this function is called from inside the size negotiation algorithm, you cannot call RequestRelayout (the call would just be ignored).<br>
         /// </summary>
         /// <param name="size">The allocated size</param>
         /// <param name="container">The control should add actors to this container that it is not able to allocate a size for.</param>
@@ -162,6 +169,42 @@ namespace Tizen.NUI
                 EnableVisual(item.Key, true);
             }
         }
+
+        internal void UpdateVisual(int visualIndex, string visualName, VisualMap visualMap)
+        {
+            VisualBase visual = null;
+
+            visual = VisualFactory.Get().CreateVisual(visualMap.OutputVisualMap);
+            visual.Name = visualName;
+            visual.DepthIndex = visualMap.DepthIndex;
+
+            RegisterVisual(visualIndex, visual);
+
+            _visualDictionary[visualIndex] = visual;
+            _tranformDictionary[visualIndex] = visualMap.OutputTransformMap;
+
+            RelayoutRequest();
+
+            Tizen.Log.Debug("NUI", "UpdateVisual() name=" + visualName);
+        }
+
+        /// <summary>
+        /// Create visual animation (transition) with the input property map
+        /// </summary>
+        /// <param name="visualMap">property map to define visual animation</param>
+        /// <returns>Animation instance</returns>
+        public Animation AnimateVisual(AnimatorVisual visualMap)
+        {
+            foreach (var item in _visualDictionary.ToList())
+            {
+                if (item.Value.Name == visualMap.Target)
+                {
+                    TransitionData _transitionData = new TransitionData(visualMap.OutputVisualMap);
+                    return this.CreateTransition(_transitionData);
     }
+            }
+            return null;
+        }
 
+    }
 }
index 184c062..ba254e5 100755 (executable)
@@ -12,8 +12,8 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// An angle in degrees.
-    /// This reduces ambiguity when using methods which accept angles in degrees or radians.
+    /// An angle in degrees.<br>
+    /// This reduces ambiguity when using methods which accept angles in degrees or radians.<br>
     /// </summary>
     public class Degree : global::System.IDisposable
     {
index 54f451d..4c22b38 100755 (executable)
 
 namespace Tizen.NUI
 {
-
+    /// <summary>
+    /// FlexContainer implements a subset of the flexbox spec (defined by W3C):https://www.w3.org/TR/css3-flexbox/<br>
+    /// It aims at providing a more efficient way to lay out, align and distribute space among items in the container, even when their size is unknown or dynamic.<br>
+    /// FlexContainer has the ability to alter the width and height of its children (i.e. flex items) to fill the available space in the best possible way on different screen sizes.<br>
+    /// FlexContainer can expand items to fill available free space, or shrink them to prevent overflow.<br>
+    /// </summary>
     public class FlexContainer : View
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
index 2d4e4aa..09b7bc5 100755 (executable)
@@ -24,9 +24,9 @@ namespace Tizen.NUI
     using System.Runtime.InteropServices;
 
     /// <summary>
-    /// Provides the functionality of handling keyboard navigation and maintaining the two dimensional keyboard focus chain.
-    /// It provides functionality of setting the focus and moving the focus in four directions(i.e.Left, Right, Up and Down).
-    /// It also draws a highlight for the focused View and sends a event when the focus is changed.
+    /// Provides the functionality of handling keyboard navigation and maintaining the two dimensional keyboard focus chain.<br>
+    /// It provides functionality of setting the focus and moving the focus in four directions(i.e.Left, Right, Up and Down).<br>
+    /// It also draws a highlight for the focused View and sends a event when the focus is changed.<br>
     /// </summary>
     public class FocusManager : BaseHandle
     {
@@ -127,23 +127,46 @@ namespace Tizen.NUI
         internal delegate IntPtr PreFocusChangeEventCallback(IntPtr current, IntPtr proposed, View.FocusDirection direction);
         private PreFocusChangeEventCallback _preFocusChangeCallback;
 
+        /// <summary>
+        /// PreFocusChange will be triggered before the focus is going to be changed.<br>
+        /// FocusManager makes the best guess for which actor to focus towards the given direction, but applications might want to change that.<br>
+        /// By connecting with this event, they can check the proposed actor to focus and return a different actor if they wish.<br>
+        /// This event is only triggered when the navigation key is pressed and KeyboardFocusManager tries to move the focus automatically.<br>
+        /// It won't be emitted for focus movement by calling SetCurrentFocusView directly.<br>
+        /// </summary>
         public event EventHandlerWithReturnType<object, PreFocusChangeEventArgs, View> PreFocusChange
         {
             add
             {
                 if (_preFocusChangeEventHandler == null)
                 {
+#if DEBUG_ON
+                    Tizen.Log.Debug("NUI", "con1) PreFocusChangeSignal().Empty = " + PreFocusChangeSignal().Empty());
+                    Tizen.Log.Debug("NUI", "con2) PreFocusChangeSignal().GetConnectionCount = " + PreFocusChangeSignal().GetConnectionCount());
+#endif
                     _preFocusChangeCallback = OnPreFocusChange;
                     PreFocusChangeSignal().Connect(_preFocusChangeCallback);
+#if DEBUG_ON
+                    Tizen.Log.Debug("NUI", "con3) PreFocusChangeSignal().Empty = " + PreFocusChangeSignal().Empty());
+                    Tizen.Log.Debug("NUI", "con4) PreFocusChangeSignal().GetConnectionCount = " + PreFocusChangeSignal().GetConnectionCount());
+#endif
                 }
                 _preFocusChangeEventHandler += value;
             }
             remove
             {
                 _preFocusChangeEventHandler -= value;
-                if (_preFocusChangeEventHandler == null && _preFocusChangeCallback != null)
+                if (_preFocusChangeEventHandler == null && PreFocusChangeSignal().Empty() == false)
                 {
+#if DEBUG_ON
+                    Tizen.Log.Debug("NUI", "discon1) PreFocusChangeSignal().Empty = " + PreFocusChangeSignal().Empty());
+                    Tizen.Log.Debug("NUI", "discon2) PreFocusChangeSignal().GetConnectionCount = " + PreFocusChangeSignal().GetConnectionCount());
+#endif
                     PreFocusChangeSignal().Disconnect(_preFocusChangeCallback);
+#if DEBUG_ON
+                    Tizen.Log.Debug("NUI", "discon3) PreFocusChangeSignal().Empty = " + PreFocusChangeSignal().Empty());
+                    Tizen.Log.Debug("NUI", "discon4) PreFocusChangeSignal().GetConnectionCount = " + PreFocusChangeSignal().GetConnectionCount());
+#endif
                 }
             }
         }
@@ -174,7 +197,7 @@ namespace Tizen.NUI
         }
 
         ///<summary>
-        ///Event arguments that passed via FocusChanged signal
+        ///Event arguments that passed via FocusChanged signal.
         /// </summary>
         public class FocusChangedEventArgs : EventArgs
         {
@@ -211,6 +234,9 @@ namespace Tizen.NUI
         internal delegate void FocusChangedEventCallback(IntPtr current, IntPtr next);
         private FocusChangedEventCallback _focusChangedEventCallback;
 
+        /// <summary>
+        /// FocusGroupChanged will be triggered after the current focused actor has been changed.
+        /// </summary>
         public event EventHandler<FocusChangedEventArgs> FocusChanged
         {
             add
@@ -226,7 +252,7 @@ namespace Tizen.NUI
             {
                 _focusChangedEventHandler -= value;
 
-                if (_focusChangedEventCallback == null && _focusChangedEventCallback != null)
+                if (_focusChangedEventCallback == null && FocusChangedSignal().Empty() == false)
                 {
                     FocusChangedSignal().Disconnect(_focusChangedEventCallback);
                 }
@@ -247,7 +273,7 @@ namespace Tizen.NUI
         }
 
         ///<summary>
-        ///Event arguments that passed via FocusGroupChanged signal
+        ///Event arguments that passed via FocusGroupChanged signal.
         /// </summary>
         public class FocusGroupChangedEventArgs : EventArgs
         {
@@ -284,6 +310,11 @@ namespace Tizen.NUI
         private delegate void FocusGroupChangedEventCallback(IntPtr current, bool forwardDirection);
         private FocusGroupChangedEventCallback _focusGroupChangedEventCallback;
 
+        /// <summary>
+        /// FocusGroupChanged will be triggered when the focus group has been changed.<br>
+        /// If the current focus group has a parent layout control, FocusManager will make the best guess for the next focus group to move the focus to in the given direction (forward or backward).<br>
+        /// If not, the application has to set the new focus.<br>
+        /// </summary>
         public event EventHandler<FocusGroupChangedEventArgs> FocusGroupChanged
         {
             add
@@ -299,7 +330,7 @@ namespace Tizen.NUI
             {
                 _focusGroupChangedEventHandler -= value;
 
-                if (_focusGroupChangedEventCallback == null && _focusGroupChangedEventCallback != null)
+                if (_focusGroupChangedEventCallback == null && FocusGroupChangedSignal().Empty() == false)
                 {
                     FocusGroupChangedSignal().Disconnect(_focusGroupChangedEventCallback);
                 }
@@ -344,6 +375,9 @@ namespace Tizen.NUI
         private delegate void FocusedViewEnterKeyEventCallback(IntPtr view);
         private FocusedViewEnterKeyEventCallback _focusedViewEnterKeyEventCallback;
 
+        /// <summary>
+        /// FocusedViewEnterKeyPressed will be triggered when the current focused actor has the enter key pressed on it.
+        /// </summary>
         public event EventHandler<FocusedViewEnterKeyEventArgs> FocusedViewEnterKeyPressed
         {
             add
@@ -359,7 +393,7 @@ namespace Tizen.NUI
             {
                 _focusedViewEnterKeyEventHandler -= value;
 
-                if (_focusedViewEnterKeyEventCallback == null && _focusedViewEnterKeyEventCallback != null)
+                if (_focusedViewEnterKeyEventCallback == null && FocusedActorEnterKeySignal().Empty() == false)
                 {
                     FocusedActorEnterKeySignal().Disconnect(_focusedViewEnterKeyEventCallback);
                 }
@@ -392,9 +426,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Moves the keyboard focus to the given View.
-        /// Only one View can be focused at the same time.
-        /// The View must be in the stage already and keyboard focusable.
+        /// Moves the keyboard focus to the given View.<br>
+        /// Only one View can be focused at the same time.<br>
+        /// The View must be in the stage already and keyboard focusable.<br>
         /// </summary>
         /// <param name="view">The View to be focused</param>
         /// <returns>Whether the focus is successful or not</returns>
@@ -429,8 +463,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Clears the focus from the current focused actor if any, so that no actor is focused in the focus chain.
-        /// It will emit FocusChanged event without current focused View.
+        /// Clears the focus from the current focused actor if any, so that no actor is focused in the focus chain.<br>
+        /// It will emit FocusChanged event without current focused View.<br>
         /// </summary>
         public void ClearFocus()
         {
@@ -439,8 +473,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets/Gets the status of whether the focus movement should be looped within the same focus group.
-        /// The focus movement is not looped by default.
+        /// Sets/Gets the status of whether the focus movement should be looped within the same focus group.<br>
+        /// The focus movement is not looped by default.<br>
         /// </summary>
         public bool FocusGroupLoop
         {
@@ -468,8 +502,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets whether an View is a focus group that can limit the scope of focus movement to its child actors in the focus chain.
-        /// Layout controls set themselves as focus groups by default.
+        /// Sets whether an View is a focus group that can limit the scope of focus movement to its child actors in the focus chain.<br>
+        /// Layout controls set themselves as focus groups by default.<br>
         /// </summary>
         /// <param name="view">The View to be set as a focus group</param>
         /// <param name="isFocusGroup">Whether to set the View as a focus group or not</param>
@@ -504,8 +538,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets/Gets the focus indicator View.
-        /// This will replace the default focus indicator view in FocusManager and will be added to the focused view as a highlight.
+        /// Sets/Gets the focus indicator View.<br>
+        /// This will replace the default focus indicator view in FocusManager and will be added to the focused view as a highlight.<br>
         /// </summary>
         public View FocusIndicator
         {
@@ -532,7 +566,12 @@ namespace Tizen.NUI
             return ret;
         }
 
-        public void SetCustomAlgorithm(ICustomFocusAlgorithm arg0) {
+        /// <summary>
+        /// Provide the implementation of custom Focus algorithm interface to allow the app define the focus logic.<br>
+        /// </summary>
+        /// <param name="arg0">The user's implementation of ICustomFocusAlgorithm</param>
+        public void SetCustomAlgorithm(ICustomFocusAlgorithm arg0)
+        {
             _customAlgorithmInterfaceWrapper = new CustomAlgorithmInterfaceWrapper();
             _customAlgorithmInterfaceWrapper.SetFocusAlgorithm(arg0);
 
@@ -581,6 +620,13 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// ICustomFocusAlgorithm is used to provide custom keyboard focus algorithm for retrieving the next focusable actor.<br>
+        /// The application can implement the interface and override the keyboard focus behaviour.<br>
+        /// If focus is changing within a layout container, then the layout container is queried first to provide the next focusable actor.<br>
+        /// If this does not provide a valid actor, then the Keyboard FocusManager will check focusable properties to determine next focusable actor.<br>
+        /// If focusable properties are not set, then the Keyboard FocusManager calls the GetNextFocusableActor() method of this interface.<br>
+        /// </summary>
         public interface ICustomFocusAlgorithm
         {
             View GetNextFocusableActor(View current, View proposed, View.FocusDirection direction);
index e618442..97fbcf0 100755 (executable)
@@ -12,9 +12,9 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// Base structure for different gestures that an application can receive.
+    /// Base structure for different gestures that an application can receive.<br>
     /// A gesture is an event that is produced from a combination of several touch events
-    /// in a particular order or within a certain time frame (e.g pinch).
+    /// in a particular order or within a certain time frame (e.g pinch).<br>
     /// </summary>
     public class Gesture : global::System.IDisposable
     {
index ba47a69..4ccdafa 100755 (executable)
@@ -12,9 +12,9 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// Hover events are a collection of points at a specific moment in time.
+    /// Hover events are a collection of points at a specific moment in time.<br>
     /// When a multi event occurs, each point represents the points that are currently being
-    /// hovered or the points where a hover has stopped.
+    /// hovered or the points where a hover has stopped.<br>
     /// </summary>
     public class Hover : global::System.IDisposable
     {
@@ -80,9 +80,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Returns the ID of the device used for the Point specified.
+        /// Returns the ID of the device used for the Point specified.<br>
         /// Each point has a unique device ID which specifies the device used for that
-        /// point. This is returned by this method.
+        /// point. This is returned by this method.<br>
         /// </summary>
         /// <param name="point">The point required</param>
         /// <returns>The Device ID of this poin</returns>
index 60259da..db6e756 100755 (executable)
@@ -28,8 +28,8 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// ImageView is a class for displaying an image resource.
-    /// An instance of ImageView can be created using a URL or an Image instance.
+    /// ImageView is a class for displaying an image resource.<br>
+    /// An instance of ImageView can be created using a URL or an Image instance.<br>
     /// </summary>
     public class ImageView : View
     {
@@ -134,8 +134,8 @@ namespace Tizen.NUI
 
         }
         /// <summary>
-        /// Creates an initialized ImageView from an URL to an image resource.
-        /// If the string is empty, ImageView will not display anything.
+        /// Creates an initialized ImageView from an URL to an image resource.<br>
+        /// If the string is empty, ImageView will not display anything.<br>
         /// </summary>
         /// <param name="url">The url of the image resource to display</param>
         public ImageView(string url) : this(NDalicPINVOKE.ImageView_New__SWIG_2(url), true)
@@ -159,9 +159,9 @@ namespace Tizen.NUI
             return ret;
         }
         /// <summary>
-        /// Downcasts a handle to ImageView handle.
-        /// If handle points to a ImageView, the downcast produces valid handle.
-        /// If not, the returned handle is left uninitialized.
+        /// Downcasts a handle to ImageView handle.<br>
+        /// If handle points to a ImageView, the downcast produces valid handle.<br>
+        /// If not, the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         /// <returns>Handle to a ImageView or an uninitialized handle</returns>
@@ -172,8 +172,8 @@ namespace Tizen.NUI
             return ret;
         }
         /// <summary>
-        /// Sets this ImageView from the given URL.
-        /// If the URL is empty, ImageView will not display anything.
+        /// Sets this ImageView from the given URL.<br>
+        /// If the URL is empty, ImageView will not display anything.<br>
         /// </summary>
         /// <param name="url">The URL to the image resource to display</param>
         public void SetImage(string url)
@@ -227,8 +227,8 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// ImageView PreMultipliedAlpha, type Boolean
-        /// Image must be initialized.
+        /// ImageView PreMultipliedAlpha, type Boolean.<br>
+        /// Image must be initialized.<br>
         /// </summary>
         public bool PreMultipliedAlpha
         {
@@ -244,8 +244,8 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// ImageView PixelArea, type Vector4 (Animatable property)
-        /// Pixel area is a relative value with the whole image area as [0.0, 0.0, 1.0, 1.0].
+        /// ImageView PixelArea, type Vector4 (Animatable property).<br>
+        /// Pixel area is a relative value with the whole image area as [0.0, 0.0, 1.0, 1.0].<br>
         /// </summary>
         public RelativeVector4 PixelArea
         {
index 0c1d63a..7fd8194 100755 (executable)
@@ -28,8 +28,8 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// A set of key frames for a property that can be animated using Dali Animation.
-    /// This allows the generation of key frame objects from individual Property::Values.
+    /// A set of key frames for a property that can be animated using Dali Animation.<br>
+    /// This allows the generation of key frame objects from individual Property::Values.<br>
     /// </summary>
     public class KeyFrames : BaseHandle
     {
@@ -108,9 +108,9 @@ namespace Tizen.NUI
 
         }
         /// <summary>
-        /// Downcasts a handle to KeyFrames handle.
-        /// If handle points to a KeyFrames object, the downcast produces valid handle.
-        /// If not, the returned handle is left uninitialized.
+        /// Downcasts a handle to KeyFrames handle.<br>
+        /// If handle points to a KeyFrames object, the downcast produces valid handle.<br>
+        /// If not, the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         /// <returns>Handle to a KeyFrames object or an uninitialized handle</returns>
index f5a323a..203bb94 100755 (executable)
@@ -132,9 +132,9 @@ namespace Tizen.NUI
 
         }
         /// <summary>
-        /// Downcasts a handle to Layer handle.
-        /// If handle points to a Layer, the downcast produces valid handle.
-        /// If not, the returned handle is left uninitialized.
+        /// Downcasts a handle to Layer handle.<br>
+        /// If handle points to a Layer, the downcast produces valid handle.<br>
+        /// If not, the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         /// <returns>Handle to a Layer or an uninitialized handle</returns>
@@ -158,8 +158,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Queries the depth of the layer.
-        /// 0 is the bottom most layer, higher number is on top.
+        /// Queries the depth of the layer.<br>
+        /// 0 is the bottom most layer, higher number is on top.<br>
         /// </summary>
         public uint Depth
         {
@@ -225,8 +225,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Moves the layer directly above the given layer.
-        /// After the call, this layers depth will be immediately above target.
+        /// Moves the layer directly above the given layer.<br>
+        /// After the call, this layers depth will be immediately above target.<br>
         /// </summary>
         /// <param name="target">Layer to get on top of</param>
         public void MoveAbove(Layer target)
@@ -236,8 +236,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Moves the layer directly below the given layer
-        /// After the call, this layers depth will be immediately below target.
+        /// Moves the layer directly below the given layer.<br>
+        /// After the call, this layers depth will be immediately below target.<br>
         /// </summary>
         /// <param name="target">Layer to get below of</param>
         public void MoveBelow(Layer target)
@@ -279,9 +279,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets the clipping box of a layer, in window coordinates.
+        /// Sets the clipping box of a layer, in window coordinates.<br>
         /// The contents of the layer will not be visible outside this box, when clipping is
-        /// enabled. The default clipping box is empty (0,0,0,0) which means everything is clipped.
+        /// enabled. The default clipping box is empty (0,0,0,0) which means everything is clipped.<br>
         /// </summary>
         /// <param name="box">The clipping box</param>
         public void SetClippingBox(Rectangle box)
index b69a996..9729581 100755 (executable)
@@ -12,8 +12,8 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// A LongPressGesture is emitted when the user holds the screen with the stated number of fingers.
-    /// Long press gesture finishes when all touches have been released.
+    /// A LongPressGesture is emitted when the user holds the screen with the stated number of fingers.<br>
+    /// Long press gesture finishes when all touches have been released.<br>
     /// </summary>
     public class LongPressGesture : Gesture
     {
@@ -68,7 +68,7 @@ namespace Tizen.NUI
 
         /// <summary>
         /// The number of touch points in this long press gesture, i.e. the number of fingers the user had
-        /// on the screen to generate the long press gesture.
+        /// on the screen to generate the long press gesture.<br>
         /// </summary>
         public uint NumberOfTouches
         {
@@ -79,8 +79,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// This is the point, in screen coordinates, where the long press occurred.
-        /// If a multi-touch long press, then this is the centroid of all the touch points.
+        /// This is the point, in screen coordinates, where the long press occurred.<br>
+        /// If a multi-touch long press, then this is the centroid of all the touch points.<br>
         /// </summary>
         public Vector2 ScreenPoint
         {
@@ -91,8 +91,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// This is the point, in local actor coordinates, where the long press occurred.
-        /// If a multi-touch long press, then this is the centroid of all the touch points.
+        /// This is the point, in local actor coordinates, where the long press occurred.<br>
+        /// If a multi-touch long press, then this is the centroid of all the touch points.<br>
         /// </summary>
         public Vector2 LocalPoint
         {
index f54a0ca..e2e80a8 100755 (executable)
@@ -106,8 +106,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Overrides this method if want to handle behavior before calling OnCreate().
-        /// stage property is initialized in this overrided method.
+        /// 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 OnPreCreate()
         {
@@ -232,5 +232,15 @@ namespace Tizen.NUI
             Transparent = 1
         }
 
+        /// <summary>
+        /// Get the window instance.
+        /// </summary>
+        public Window Window
+        {
+            get
+            {
+                return _application.GetWindow();
+            }
+        }
     }
 }
\ No newline at end of file
index 97ea9cd..1da2516 100755 (executable)
@@ -12,13 +12,13 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// A PanGesture is emitted when the user moves one or more fingers in a particular direction.
-    /// A pan gesture will end in the following ways:
-    /// - User releases the primary finger (the first touch).
-    /// - User has more fingers on the screen than the maximum specified.
-    /// - User has less fingers on the screen than the minimum specified.
-    /// - Cancelled by the system.
-    /// A pan gesture will continue to be sent to the actor under than initial pan until it ends.
+    /// A PanGesture is emitted when the user moves one or more fingers in a particular direction.<br>
+    /// A pan gesture will end in the following ways:<br>
+    /// - User releases the primary finger (the first touch).<br>
+    /// - User has more fingers on the screen than the maximum specified.<br>
+    /// - User has less fingers on the screen than the minimum specified.<br>
+    /// - Cancelled by the system.<br>
+    /// A pan gesture will continue to be sent to the actor under than initial pan until it ends.<br>
     /// </summary>
     public class PanGesture : Gesture
     {
@@ -72,10 +72,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The velocity at which the user is moving their fingers.
-        /// This is represented as a Vector2 and is the pixel movement per millisecond.
-        /// A positive x value shows that the user is panning to the right, a negative x value means the opposite.
-        /// A positive y value shows that the user is panning downwards, a negative y values means upwards.
+        /// The velocity at which the user is moving their fingers.<br>
+        /// This is represented as a Vector2 and is the pixel movement per millisecond.<br>
+        /// A positive x value shows that the user is panning to the right, a negative x value means the opposite.<br>
+        /// A positive y value shows that the user is panning downwards, a negative y values means upwards.<br>
         /// </summary>
         public Vector2 Velocity
         {
@@ -87,9 +87,9 @@ namespace Tizen.NUI
 
         /// <summary>
         /// This is a Vector2 showing how much the user has panned (dragged) since the last pan gesture or,
-        /// if the gesture has just started, then the amount panned since the user touched the screen.
-        /// A positive x value shows that the user is panning to the right, a negative x value means the opposite.
-        /// A positive y value shows that the user is panning downwards, a negative y value means upwards.
+        /// if the gesture has just started, then the amount panned since the user touched the screen.<br>
+        /// A positive x value shows that the user is panning to the right, a negative x value means the opposite.<br>
+        /// A positive y value shows that the user is panning downwards, a negative y value means upwards.<br>
         /// </summary>
         public Vector2 Displacement
         {
@@ -111,11 +111,11 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The velocity at which the user is moving their fingers.
-        /// This is represented as a Vector2 and is the pixel movement per millisecond.
-        /// A positive x value shows that the user is panning to the right, a negative x value means the opposite.
-        /// A positive y value shows that the user is panning downwards, a negative y values means upwards.
-        /// This value represents the screen coordinates.
+        /// The velocity at which the user is moving their fingers.<br>
+        /// This is represented as a Vector2 and is the pixel movement per millisecond.<br>
+        /// A positive x value shows that the user is panning to the right, a negative x value means the opposite.<br>
+        /// A positive y value shows that the user is panning downwards, a negative y values means upwards.<br>
+        /// This value represents the screen coordinates.<br>
         /// </summary>
         public Vector2 ScreenVelocity
         {
@@ -127,10 +127,10 @@ namespace Tizen.NUI
 
         /// <summary>
         /// This is a Vector2 showing how much the user has panned (dragged) since the last pan gesture or,
-        /// if the gesture has just started, then the amount panned since the user touched the screen.
-        /// A positive x value shows that the user is panning to the right, a negative x value means the opposite.
-        /// A positive y value shows that the user is panning downwards, a negative y value means upwards.
-        /// This value is in screen coordinates.
+        /// if the gesture has just started, then the amount panned since the user touched the screen.<br>
+        /// A positive x value shows that the user is panning to the right, a negative x value means the opposite.<br>
+        /// A positive y value shows that the user is panning downwards, a negative y value means upwards.<br>
+        /// This value is in screen coordinates.<br>
         /// </summary>
         public Vector2 ScreenDisplacement
         {
@@ -312,8 +312,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Returns the speed at which the user is moving their fingers.
-        /// This is the pixel movement per millisecond.
+        /// Returns the speed at which the user is moving their fingers.<br>
+        /// This is the pixel movement per millisecond.<br>
         /// </summary>
         /// <returns>The speed of the pan (in pixels per millisecond)</returns>
         public float GetSpeed()
@@ -325,8 +325,8 @@ namespace Tizen.NUI
 
         /// <summary>
         /// This returns the distance the user has panned (dragged) since the last pan gesture or,
-        /// if the gesture has just started, then the distance moved since the user touched the screen.
-        /// This is always a positive value.
+        /// if the gesture has just started, then the distance moved since the user touched the screen.<br>
+        /// This is always a positive value.<br>
         /// </summary>
         /// <returns>The distance, as a float, a user's finger has panned</returns>
         public float GetDistance()
@@ -337,8 +337,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Returns the speed at which the user is moving their fingers relative to screen coordinates.
-        /// This is the pixel movement per millisecond.
+        /// Returns the speed at which the user is moving their fingers relative to screen coordinates.<br>
+        /// This is the pixel movement per millisecond.<br>
         /// </summary>
         /// <returns>The speed of the pan (in pixels per millisecond)</returns>
         public float GetScreenSpeed()
@@ -351,8 +351,8 @@ namespace Tizen.NUI
         /// <summary>
         /// This returns the distance the user has panned (dragged) since the last pan gesture in screen
         /// coordinates or, if the gesture has just started, then the distance in screen coordinates moved
-        /// since the user touched the screen.
-        /// This is always a positive value.
+        /// since the user touched the screen.<br>
+        /// This is always a positive value.<br>
         /// </summary>
         /// <returns>The distance, as a float, a user's finger has panned</returns>
         public float GetScreenDistance()
index 04aa017..63237f9 100755 (executable)
@@ -28,8 +28,8 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// A 3D parametric curve.
-    /// Paths can be used to animate position and orientation of actors.
+    /// A 3D parametric curve.<br>
+    /// Paths can be used to animate position and orientation of actors.<br>
     /// </summary> 
     public class Path : Handle
     {
@@ -132,9 +132,9 @@ namespace Tizen.NUI
 
         }
         /// <summary>
-        /// Downcasts a handle to Path handle.
-        /// If handle points to a Path object, the downcast produces valid handle.
-        /// If not, the returned handle is left uninitialized.
+        /// Downcasts a handle to Path handle.<br>
+        /// If handle points to a Path object, the downcast produces valid handle.<br>
+        /// If not, the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         public new static Path DownCast(BaseHandle handle)
@@ -177,12 +177,12 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Automatic generation of control points. Generated control points which result in a smooth join between the splines of each segment.
-        /// The generating algorithm is as follows:
-        /// For a given knot point K[N], find the vector that bisects K[N-1],[N] and [N],[N+1].
-        /// Calculate the tangent vector by taking the normal of this bisector.
-        /// The in control point is the length of the preceding segment back along this bisector multiplied by the curvature.
-        /// The out control point is the length of the succeeding segment forward along this bisector multiplied by the curvature.
+        /// Automatic generation of control points. Generated control points which result in a smooth join between the splines of each segment.<br>
+        /// The generating algorithm is as follows:<br>
+        /// For a given knot point K[N], find the vector that bisects K[N-1],[N] and [N],[N+1].<br>
+        /// Calculate the tangent vector by taking the normal of this bisector.<br>
+        /// The in control point is the length of the preceding segment back along this bisector multiplied by the curvature.<br>
+        /// The out control point is the length of the succeeding segment forward along this bisector multiplied by the curvature.<br>
         /// </summary>
         /// <param name="curvature">The curvature of the spline. 0 gives straight lines between the knots, negative values means the spline contains loops, positive values up to  0.5 result in a smooth curve, positive values between 0.5 and 1 result  in looped curves where the loops are not distinct (i.e. the curve appears to be non-continuous), positive values higher than 1 result in looped curves</param>
         public void GenerateControlPoints(float curvature)
index b0b361c..caf5556 100755 (executable)
@@ -12,8 +12,8 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// A PinchGesture is emitted when the user moves two fingers towards or away from each other.
-    /// A pinch gesture will continue to be sent to the actor under the center point of the pinch until the pinch ends.
+    /// A PinchGesture is emitted when the user moves two fingers towards or away from each other.<br>
+    /// A pinch gesture will continue to be sent to the actor under the center point of the pinch until the pinch ends.<br>
     /// </summary>
     public class PinchGesture : Gesture
     {
@@ -67,10 +67,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The scale factor from the start of the pinch gesture till the latest pinch gesture.
+        /// The scale factor from the start of the pinch gesture till the latest pinch gesture.<br>
         /// If the user is moving their fingers away from each other, then
         /// this value increases.  Conversely, if the user is moving their
-        /// fingers towards each other, this value will decrease.
+        /// fingers towards each other, this value will decrease.<br>
         /// </summary>
         public float Scale
         {
@@ -81,8 +81,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The speed at which the user is moving their fingers.
-        /// This is the pixel movement per second.
+        /// The speed at which the user is moving their fingers.<br>
+        /// This is the pixel movement per second.<br>
         /// </summary>
         public float Speed
         {
index 78953e5..f9f3c4e 100755 (executable)
@@ -156,7 +156,7 @@ namespace Tizen.NUI
             remove
             {
                 _popUpOutsideTouchedEventHandler -= value;
-                if (_popUpOutsideTouchedEventHandler == null && _popUpOutsideTouchedEventCallbackDelegate != null)
+                if (_popUpOutsideTouchedEventHandler == null && OutsideTouchedSignal().Empty() == false)
                 {
                     this.OutsideTouchedSignal().Disconnect(_popUpOutsideTouchedEventCallbackDelegate);
                 }
@@ -192,7 +192,7 @@ namespace Tizen.NUI
             remove
             {
                 _popUpShowingEventHandler -= value;
-                if (_popUpShowingEventHandler == null && _popUpShowingEventCallbackDelegate != null)
+                if (_popUpShowingEventHandler == null && ShowingSignal().Empty() == false)
                 {
                     ShowingSignal().Disconnect(_popUpShowingEventCallbackDelegate);
                 }
@@ -229,7 +229,7 @@ namespace Tizen.NUI
             remove
             {
                 _popUpShownEventHandler -= value;
-                if (_popUpShownEventHandler == null && _popUpShownEventCallbackDelegate != null)
+                if (_popUpShownEventHandler == null && ShownSignal().Empty() == false)
                 {
                     ShownSignal().Disconnect(_popUpShownEventCallbackDelegate);
                 }
@@ -265,7 +265,7 @@ namespace Tizen.NUI
             remove
             {
                 _popUpHidingEventHandler -= value;
-                if (_popUpHidingEventHandler == null && _popUpHidingEventCallbackDelegate != null)
+                if (_popUpHidingEventHandler == null && HidingSignal().Empty() == false)
                 {
                     HidingSignal().Disconnect(_popUpHidingEventCallbackDelegate);
                 }
@@ -301,7 +301,7 @@ namespace Tizen.NUI
             remove
             {
                 _popUpHiddenEventHandler -= value;
-                if (_popUpHiddenEventHandler == null && _popUpHiddenEventCallbackDelegate != null)
+                if (_popUpHiddenEventHandler == null && HiddenSignal().Empty() == false)
                 {
                     HiddenSignal().Disconnect(_popUpHiddenEventCallbackDelegate);
                 }
@@ -408,9 +408,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Downcasts a handle to Popup handle.
-        /// If handle points to a Popup, the downcast produces valid handle.
-        /// If not the returned handle is left uninitialized.
+        /// Downcasts a handle to Popup handle.<br>
+        /// If handle points to a Popup, the downcast produces valid handle.<br>
+        /// If not the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         /// <returns>handle to a Popup or an uninitialized handle</returns>
@@ -473,20 +473,20 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets the display state of Popup.
-        /// There are 4 total display states.
-        /// Only 2 can be set, but all four can be read for better inspection of the current popup state.
-        ///
-        /// The other two states are getable, but not setable and are there for consistency.
-        ///
-        /// | Value    | Setting the state              | Getting the state              |
-        /// |----------|--------------------------------|--------------------------------|
-        /// | SHOWN    | Show the popup                 | The popup is fully shown       |
-        /// | HIDDEN   | Hide the popup                 | The popup is fully hidden      |
-        /// | SHOWING  |                                | The popup is transitioning in  |
-        /// | HIDING   |                                | The popup is transitioning out |
-        ///
-        /// All 4 state changes cause notifications via 4 respective signals that can be connected to.
+        /// Sets the display state of Popup.<br>
+        /// There are 4 total display states.<br>
+        /// Only 2 can be set, but all four can be read for better inspection of the current popup state.<br>
+        /// <br>
+        /// The other two states are getable, but not setable and are there for consistency.<br>
+        /// <br>
+        /// | Value    | Setting the state              | Getting the state              |<br>
+        /// |----------|--------------------------------|--------------------------------|<br>
+        /// | SHOWN    | Show the popup                 | The popup is fully shown       |<br>
+        /// | HIDDEN   | Hide the popup                 | The popup is fully hidden      |<br>
+        /// | SHOWING  |                                | The popup is transitioning in  |<br>
+        /// | HIDING   |                                | The popup is transitioning out |<br>
+        /// <br>
+        /// All 4 state changes cause notifications via 4 respective signals that can be connected to.<br>
         /// </summary>
         /// <param name="displayState">The desired display state to change to</param>
         public void SetDisplayState(Popup.DisplayStateType displayState)
@@ -555,8 +555,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The animation mode within popup.
-        /// Choose from a predefined mode or "CUSTOM" to use the ANIMATION_IN and ANIMATION_OUT properties.
+        /// The animation mode within popup.<br>
+        /// Choose from a predefined mode or "CUSTOM" to use the ANIMATION_IN and ANIMATION_OUT properties.<br>
         /// </summary>
         public enum AnimationModeType
         {
@@ -567,9 +567,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Types of contextual layout.
-        /// The Popup is positioned adjacent to it's parent in the direction specified by this mode.
-        /// NON_CONTEXTUAL disables any contextual positioning.
+        /// Types of contextual layout.<br>
+        /// The Popup is positioned adjacent to it's parent in the direction specified by this mode.<br>
+        /// NON_CONTEXTUAL disables any contextual positioning.<br>
         /// </summary>
         public enum ContextualModeType
         {
@@ -581,7 +581,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Popup title
+        /// Popup title.
         /// </summary>
         public PropertyMap Title
         {
@@ -597,7 +597,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Popup content
+        /// Popup content.
         /// </summary>
         public PropertyMap Content
         {
@@ -613,7 +613,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Popup footer
+        /// Popup footer.
         /// </summary>
         public PropertyMap Footer
         {
@@ -629,7 +629,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Popup display state
+        /// Popup display state.
         /// </summary>
         public string DisplayState
         {
@@ -645,7 +645,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Touch transparent
+        /// Touch transparent.
         /// </summary>
         public bool TouchTransparent
         {
@@ -661,7 +661,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Popup tail visibility
+        /// Popup tail visibility.
         /// </summary>
         public bool TailVisibility
         {
@@ -677,7 +677,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Popup tail position
+        /// Popup tail position.
         /// </summary>
         public Vector3 TailPosition
         {
@@ -693,7 +693,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Contextual mode
+        /// Contextual mode.
         /// </summary>
         public string ContextualMode
         {
@@ -709,7 +709,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Animation duration
+        /// Animation duration.
         /// </summary>
         public float AnimationDuration
         {
@@ -725,7 +725,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Animation mode
+        /// Animation mode.
         /// </summary>
         public string AnimationMode
         {
@@ -741,7 +741,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Entry animation
+        /// Entry animation.
         /// </summary>
         public PropertyMap EntryAnimation
         {
@@ -757,7 +757,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Exit animation
+        /// Exit animation.
         /// </summary>
         public PropertyMap ExitAnimation
         {
@@ -773,7 +773,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Auto hide delay
+        /// Auto hide delay.
         /// </summary>
         public int AutoHideDelay
         {
@@ -789,7 +789,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Backing enabled
+        /// Backing enabled.
         /// </summary>
         public bool BackingEnabled
         {
@@ -805,7 +805,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Backing color
+        /// Backing color.
         /// </summary>
         public Vector4 BackingColor
         {
@@ -821,7 +821,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Background image
+        /// Background image.
         /// </summary>
         public string PopupBackgroundImage
         {
@@ -837,7 +837,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Background border
+        /// Background border.
         /// </summary>
         public Rectangle PopupBackgroundBorder
         {
@@ -853,7 +853,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Tail up image
+        /// Tail up image.
         /// </summary>
         public string TailUpImage
         {
@@ -869,7 +869,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Tail down image
+        /// Tail down image.
         /// </summary>
         public string TailDownImage
         {
@@ -885,7 +885,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Tail left image
+        /// Tail left image.
         /// </summary>
         public string TailLeftImage
         {
@@ -901,7 +901,7 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// Tail right image
+        /// Tail right image.
         /// </summary>
         public string TailRightImage
         {
index 3aa8a4e..24e9160 100755 (executable)
@@ -808,6 +808,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Convert a position instance to a vector3 instance.
         /// </summary>
         public static implicit operator Vector3(Position Position)
         {
@@ -815,6 +816,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Convert a vector3 instance to a position instance.
         /// </summary>
         public static implicit operator Position(Vector3 vec)
         {
@@ -823,6 +825,9 @@ namespace Tizen.NUI
 
     }
 
+    /// <summary>
+    /// ParentOrigin constants.
+    /// </summary>
     public struct ParentOrigin
     {
         public static readonly float Top = Position.ParentOriginTop;
@@ -840,6 +845,10 @@ namespace Tizen.NUI
         public static readonly Position BottomCenter = Position.ParentOriginBottomCenter;
         public static readonly Position BottomRight = Position.ParentOriginBottomRight;
     }
+
+    /// <summary>
+    /// AnchorPoint constants.
+    /// </summary>
     public struct AnchorPoint
     {
         public static readonly float Top = Position.AnchorPointTop;
@@ -857,6 +866,10 @@ namespace Tizen.NUI
         public static readonly Position BottomCenter = Position.AnchorPointBottomCenter;
         public static readonly Position BottomRight = Position.AnchorPointBottomRight;
     }
+
+    /// <summary>
+    /// PositionAxis constants.
+    /// </summary>
     public struct PositionAxis
     {
         public static readonly Position X = Position.XAxis;
index 86ee0a6..009f669 100755 (executable)
@@ -17,6 +17,9 @@
 
 namespace Tizen.NUI {
 
+/// <summary>
+/// Position2D is a two dimensional vector.
+/// </summary>
 public class Position2D : global::System.IDisposable {
   private global::System.Runtime.InteropServices.HandleRef swigCPtr;
   protected bool swigCMemOwn;
@@ -52,35 +55,80 @@ public class Position2D : global::System.IDisposable {
     }
   }
 
-
+  /// <summary>
+  /// Addition operator.
+  /// </summary>
+  /// <param name="arg1">Vector to add</param>
+  /// <param name="arg2">Vector to add</param>
+  /// <returns>A vector containing the result of the addition</returns>
   public static Position2D operator+(Position2D arg1, Position2D arg2) {
     return arg1.Add(arg2);
   }
 
+  /// <summary>
+  /// Subtraction operator.
+  /// </summary>
+  /// <param name="arg1">Vector to subtract</param>
+  /// <param name="arg2">Vector to subtract</param>
+  /// <returns>A vector containing the result of the subtraction</returns>
   public static Position2D operator-(Position2D arg1, Position2D arg2) {
     return arg1.Subtract(arg2);
   }
 
+  /// <summary>
+  /// Unary negation operator.
+  /// </summary>
+  /// <param name="arg1">Vector to netate</param>
+  /// <returns>A vector containing the negation</returns>
   public static Position2D operator-(Position2D arg1) {
     return arg1.Subtract();
   }
 
+  /// <summary>
+  /// Multiplication operator.
+  /// </summary>
+  /// <param name="arg1">Vector to multiply</param>
+  /// <param name="arg2">Vector to multiply</param>
+  /// <returns>A vector containing the result of the multiplication</returns>
   public static Position2D operator*(Position2D arg1, Position2D arg2) {
     return arg1.Multiply(arg2);
   }
 
+  /// <summary>
+  /// Multiplication operator.
+  /// </summary>
+  /// <param name="arg1">Vector to multiply</param>
+  /// <param name="arg2">The int value to scale the vector</param>
+  /// <returns>A vector containing the result of the multiplication</returns>
   public static Position2D operator*(Position2D arg1, int arg2) {
     return arg1.Multiply(arg2);
   }
 
+  /// <summary>
+  /// Division operator.
+  /// </summary>
+  /// <param name="arg1">Vector to divide</param>
+  /// <param name="arg2">Vector to divide</param>
+  /// <returns>A vector containing the result of the division</returns>
   public static Position2D operator/(Position2D arg1, Position2D arg2) {
     return arg1.Divide(arg2);
   }
 
+  /// <summary>
+  /// Division operator.
+  /// </summary>
+  /// <param name="arg1">Vector to divide</param>
+  /// <param name="arg2">The int value to scale the vector by</param>
+  /// <returns>A vector containing the result of the division</returns>
   public static Position2D operator/(Position2D arg1, int arg2) {
     return arg1.Divide(arg2);
   }
 
+  /// <summary>
+  /// Const array subscript operator overload. Should be 0, or 1.
+  /// </summary>
+  /// <param name="index">Subscript index</param>
+  /// <returns>The float at the given index</returns>
   public float this[uint index]
   {
     get
@@ -95,15 +143,26 @@ public class Position2D : global::System.IDisposable {
     return ret;
   }
 
-
+  /// <summary>
+  /// Constructor
+  /// </summary>
   public Position2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true) {
     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
   }
 
+  /// <summary>
+  /// Constructor
+  /// </summary>
+  /// <param name="x">x component</param>
+  /// <param name="y">y component</param>
   public Position2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true) {
     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
   }
 
+  /// <summary>
+  /// Constructor
+  /// </summary>
+  /// <param name="position">Position to create this vector from</param>
   public Position2D(Position position) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Position.getCPtr(position)), true) {
     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
   }
@@ -152,12 +211,22 @@ public class Position2D : global::System.IDisposable {
     return ret;
   }
 
+  /// <summary>
+  /// Compare if rhs is equal to.
+  /// </summary>
+  /// <param name="rhs">The vector to compare</param>
+  /// <returns>Returns true if the two vectors are equal, otherwise false</returns>
   public bool EqualTo(Position2D rhs) {
     bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Position2D.getCPtr(rhs));
     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
     return ret;
   }
 
+  /// <summary>
+  /// Compare if rhs is not equal to.
+  /// </summary>
+  /// <param name="rhs">The vector to compare</param>
+  /// <returns>Returns true if the two vectors are not equal, otherwise false</returns>
   public bool NotEqualTo(Position2D rhs) {
     bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Position2D.getCPtr(rhs));
     if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
@@ -170,7 +239,9 @@ public class Position2D : global::System.IDisposable {
     return ret;
   }
 
-
+  /// <summary>
+  /// x component.
+  /// </summary>
   public int X {
     set {
       NDalicPINVOKE.Vector2_X_set(swigCPtr, (float)value);
@@ -183,6 +254,9 @@ public class Position2D : global::System.IDisposable {
     }
   }
 
+  /// <summary>
+  /// y component.
+  /// </summary>
   public int Y {
     set {
       NDalicPINVOKE.Vector2_Y_set(swigCPtr, (float)value);
@@ -195,11 +269,17 @@ public class Position2D : global::System.IDisposable {
     }
   }
 
+  /// <summary>
+  /// Convert a position2D instance to a vector2 instance.
+  /// </summary>
   public static implicit operator Vector2(Position2D position2d)
   {
     return new Vector2((float)position2d.X, (float)position2d.Y);
   }
 
+  /// <summary>
+  /// Convert a vector2 instance to a position2D instance.
+  /// </summary>
   public static implicit operator Position2D(Vector2 vec)
   {
     return new Position2D((int)vec.X, (int)vec.Y);
index 2c7353c..316f746 100755 (executable)
@@ -53,6 +53,9 @@ namespace Tizen.NUI
             DisposeQueue.Instance.Add(this);
         }
 
+        /// <summary>
+        /// To make ProgressBar instance be disposed.
+        /// </summary>
         public override void Dispose()
         {
             if (!Stage.IsInstalled())
@@ -148,7 +151,7 @@ namespace Tizen.NUI
             remove
             {
                 _progressBarValueChangedEventHandler -= value;
-                if (_progressBarValueChangedEventHandler == null && _progressBarValueChangedCallbackDelegate != null)
+                if (_progressBarValueChangedEventHandler == null && ValueChangedSignal().Empty() == false)
                 {
                     ValueChangedSignal().Disconnect(_progressBarValueChangedCallbackDelegate);
                 }
@@ -257,9 +260,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Downcasts a handle to ProgressBar handle.
-        /// If handle points to a ProgressBar, the downcast produces valid handle.
-        /// If not the returned handle is left uninitialized.
+        /// Downcasts a handle to ProgressBar handle.<br>
+        /// If handle points to a ProgressBar, the downcast produces valid handle.<br>
+        /// If not the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         /// <returns>handle to a ProgressBar or an uninitialized handle</returns>
@@ -284,10 +287,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The progress value of progress bar, progress runs form 0 to 1.
-        /// If Value is set to 0, progress bar will be set to beginning.
-        /// If Value is set to 1, progress bar will be set to end.
-        /// Any Value outside of the range is ignored.
+        /// The progress value of progress bar, progress runs form 0 to 1.<br>
+        /// If Value is set to 0, progress bar will be set to beginning.<br>
+        /// If Value is set to 1, progress bar will be set to end.<br>
+        /// Any Value outside of the range is ignored.<br>
         /// </summary>
         public float ProgressValue
         {
@@ -303,11 +306,11 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// The secondary progress value of progress bar, secondary progress runs form 0 to 1.
-        /// Optional. If not supplied, the default is 0.
-        /// If Value is set to 0, progress bar will be set secondary progress to beginning.
-        /// If Value is set to 1, progress bar will be set secondary progress to end.
-        /// Any Value outside of the range is ignored.
+        /// The secondary progress value of progress bar, secondary progress runs form 0 to 1.<br>
+        /// Optional. If not supplied, the default is 0.<br>
+        /// If Value is set to 0, progress bar will be set secondary progress to beginning.<br>
+        /// If Value is set to 1, progress bar will be set secondary progress to end.<br>
+        /// Any Value outside of the range is ignored.<br>
         /// </summary>
         public float SecondaryProgressValue
         {
@@ -339,8 +342,8 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// The track Visual value of progress bar, it's a full progress area and it's shown behind PROGRESS_VISUAL.
-        /// Optional. If not supplied, the default track visual will be shown.
+        /// The track Visual value of progress bar, it's a full progress area and it's shown behind PROGRESS_VISUAL.<br>
+        /// Optional. If not supplied, the default track visual will be shown.<br>
         /// </summary>
         public Tizen.NUI.PropertyMap TrackVisual
         {
@@ -356,8 +359,8 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// The progress Visual value of progress bar, size of the progress visual is changed based on PROGRESS_VALUE.
-        /// Optional. If not supplied, the default progress visual will be shown.
+        /// The progress Visual value of progress bar, size of the progress visual is changed based on PROGRESS_VALUE.<br>
+        /// Optional. If not supplied, the default progress visual will be shown.<br>
         /// </summary>
         public Tizen.NUI.PropertyMap ProgressVisual
         {
@@ -373,8 +376,8 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// The secondary progress visual of progress bar, size of the secondary progress visual is changed based on SECONDARY_PROGRESS_VALUE.
-        /// Optional. If not supplied, the secondary progress visual will not be shown.
+        /// The secondary progress visual of progress bar, size of the secondary progress visual is changed based on SECONDARY_PROGRESS_VALUE.<br>
+        /// Optional. If not supplied, the secondary progress visual will not be shown.<br>
         /// </summary>
         public Tizen.NUI.PropertyMap SecondaryProgressVisual
         {
@@ -390,8 +393,8 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// The indeterminate visual of progress bar.
-        /// Optional. If not supplied, the default inditerminate visual will be shown.
+        /// The indeterminate visual of progress bar.<br>
+        /// Optional. If not supplied, the default inditerminate visual will be shown.<br>
         /// </summary>
         public Tizen.NUI.PropertyMap IndeterminateVisual
         {
@@ -407,8 +410,8 @@ namespace Tizen.NUI
             }
         }
         /// <summary>
-        /// The transition data for indeterminate visual animation.
-        /// Optional. If not supplied, default animation will be played.
+        /// The transition data for indeterminate visual animation.<br>
+        /// Optional. If not supplied, default animation will be played.<br>
         /// </summary>
         public Tizen.NUI.PropertyArray IndeterminateVisualAnimation
         {
index abf111c..38931eb 100755 (executable)
@@ -86,21 +86,45 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// Constructor. Create a Property instance.
+        /// </summary>
+        /// <param name="arg0">A valid handle to the target object</param>
+        /// <param name="propertyIndex">The index of a property</param>
         public Property(Handle arg0, int propertyIndex) : this(NDalicPINVOKE.new_Property__SWIG_0(Handle.getCPtr(arg0), propertyIndex), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        /// <summary>
+        /// Constructor. Create a Property instance.
+        /// </summary>
+        /// <param name="arg0">A valid handle to the target object</param>
+        /// <param name="propertyIndex">The index of a property</param>
+        /// <param name="componentIndex">Index to a sub component of a property, for use with Vector2, Vector3 and Vector4. -1 for main property (default is -1)</param>
         public Property(Handle arg0, int propertyIndex, int componentIndex) : this(NDalicPINVOKE.new_Property__SWIG_1(Handle.getCPtr(arg0), propertyIndex, componentIndex), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        /// <summary>
+        /// Constructor. Create a Property instance.<br>
+        /// This performs a property index query and is therefore slower than constructing a Property directly with the index.<br>
+        /// </summary>
+        /// <param name="arg0">A valid handle to the target object</param>
+        /// <param name="propertyName">The property name</param>
         public Property(Handle arg0, string propertyName) : this(NDalicPINVOKE.new_Property__SWIG_2(Handle.getCPtr(arg0), propertyName), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        /// <summary>
+        /// Constructor. Create a Property instance.<br>
+        /// This performs a property index query and is therefore slower than constructing a Property directly with the index.<br>
+        /// </summary>
+        /// <param name="arg0">A valid handle to the target object</param>
+        /// <param name="propertyName">The property name</param>
+        /// <param name="componentIndex">Index to a sub component of a property, for use with Vector2, Vector3 and Vector4. -1 for main property (default is -1)</param>
         public Property(Handle arg0, string propertyName, int componentIndex) : this(NDalicPINVOKE.new_Property__SWIG_3(Handle.getCPtr(arg0), propertyName, componentIndex), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
@@ -121,6 +145,9 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// Gets/Sets the index of the property.
+        /// </summary>
         public int propertyIndex
         {
             set
@@ -136,6 +163,9 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// Gets/Sets the componentIndex of the property.
+        /// </summary>
         public int componentIndex
         {
             set
@@ -590,8 +620,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Operator to access the element with the specified string key.
-        /// If an element with the key does not exist, then it is created.
+        /// Operator to access the element with the specified string key.<br>
+        /// If an element with the key does not exist, then it is created.<br>
         /// </summary>
         /// <param name="key">The key whose value to access</param>
         /// <returns>A value for the element with the specified key</returns>
@@ -604,8 +634,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Operator to access the element with the specified index key.
-        /// If an element with the key does not exist, then it is created.
+        /// Operator to access the element with the specified index key.<br>
+        /// If an element with the key does not exist, then it is created.<br>
         /// </summary>
         /// <param name="key">The key whose value to access</param>
         /// <returns>A value for the element with the specified key</returns>
@@ -657,8 +687,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Inserts the key-value pair in the Map, with the key type as string.
-        /// Does not check for duplicates.
+        /// Inserts the key-value pair in the Map, with the key type as string.<br>
+        /// Does not check for duplicates.<br>
         /// </summary>
         /// <param name="key">The key to insert</param>
         /// <param name="value">The value to insert</param>
@@ -669,8 +699,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Inserts the key-value pair in the Map, with the key type as index.
-        /// Does not check for duplicates.
+        /// Inserts the key-value pair in the Map, with the key type as index.<br>
+        /// Does not check for duplicates.<br>
         /// </summary>
         /// <param name="key">The key to insert</param>
         /// <param name="value">The value to insert</param>
@@ -681,8 +711,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Inserts the key-value pair in the Map, with the key type as string.
-        /// Does not check for duplicates.
+        /// Inserts the key-value pair in the Map, with the key type as string.<br>
+        /// Does not check for duplicates.<br>
         /// </summary>
         /// <param name="key">The key to insert</param>
         /// <param name="value">The value to insert</param>
@@ -695,8 +725,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Inserts the key-value pair in the Map, with the key type as string.
-        /// Does not check for duplicates.
+        /// Inserts the key-value pair in the Map, with the key type as string.<br>
+        /// Does not check for duplicates.<br>
         /// </summary>
         /// <param name="key">The key to insert</param>
         /// <param name="value">The value to insert</param>
@@ -829,8 +859,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Merges values from the map 'from' to the current.
-        /// Any values in 'from' will overwrite the values in the current map.
+        /// Merges values from the map 'from' to the current.<br>
+        /// Any values in 'from' will overwrite the values in the current map.<br>
         /// </summary>
         /// <param name="from">The map to merge from</param>
         public void Merge(PropertyMap from)
@@ -921,7 +951,7 @@ namespace Tizen.NUI
 
         /// <summary>
         /// Extension to property value class that allows us to create a
-        /// PropertyValue from a C# object, e.g. int, float, string
+        /// PropertyValue from a C# object, e.g. int, float, string.<br>
         /// </summary>
         /// <param name="obj">An object to create</param>
         /// <returns>The created value</returns>
@@ -1440,6 +1470,9 @@ namespace Tizen.NUI
 
     }
 
+    /// <summary>
+    /// This specifies all the property types.
+    /// </summary>
     public enum PropertyType
     {
         None,
@@ -1458,6 +1491,9 @@ namespace Tizen.NUI
         Map
     }
 
+    /// <summary>
+    /// This specifies the property access mode types.
+    /// </summary>
     public enum PropertyAccessMode
     {
         ReadOnly,
index ca01c05..4a22ce2 100755 (executable)
@@ -49,6 +49,9 @@ namespace Tizen.NUI
             DisposeQueue.Instance.Add(this);
         }
 
+        /// <summary>
+        /// To make PushButton instance be disposed.
+        /// </summary>
         public override void Dispose()
         {
             if (!Stage.IsInstalled())
@@ -146,9 +149,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Downcasts a handle to PushButton handle.
-        /// If handle points to a PushButton, the downcast produces valid handle.
-        /// If not the returned handle is left uninitialized.
+        /// Downcasts a handle to PushButton handle.<br>
+        /// If handle points to a PushButton, the downcast produces valid handle.<br>
+        /// If not the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         /// <returns>handle to a PushButton or an uninitialized handle</returns>
index 48527dc..27af97e 100755 (executable)
@@ -28,17 +28,17 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// A RadioButton provides a radio button which two states \e selected or \e unselected.
-    /// Radio buttons are designed to select one of many option at the same time.
-    /// RadioButton can change its current state using Selected.
-    /// 
-    /// RadioButtons can be grouped.
-    /// Two or more RadioButtons are in one group when they have this same parent.
-    /// In each groups only one RadioButton can be \e selected at a given time.
-    /// So when RadioButton is set to \e selected, other RadioButtons in its group are set to \e unselected.
-    /// When \e selected RadioButton is set to \e unselected no other RadioButtons in his group is set to \e selected.
-    /// 
-    ///  A StateChanged Event is emitted when the RadioButton change its state to \e selected or \e unselected.
+    /// A RadioButton provides a radio button which two states \e selected or \e unselected.<br>
+    /// Radio buttons are designed to select one of many option at the same time.<br>
+    /// RadioButton can change its current state using Selected.<br>
+    /// <br>
+    /// RadioButtons can be grouped.<br>
+    /// Two or more RadioButtons are in one group when they have this same parent.<br>
+    /// In each groups only one RadioButton can be \e selected at a given time.<br>
+    /// So when RadioButton is set to \e selected, other RadioButtons in its group are set to \e unselected.<br>
+    /// When \e selected RadioButton is set to \e unselected no other RadioButtons in his group is set to \e selected.<br>
+    /// <br>
+    ///  A StateChanged Event is emitted when the RadioButton change its state to \e selected or \e unselected.<br>
     /// </summary>
     public class RadioButton : Button
     {
@@ -59,6 +59,9 @@ namespace Tizen.NUI
             DisposeQueue.Instance.Add(this);
         }
 
+        /// <summary>
+        /// To make RadioButton instance be disposed.
+        /// </summary>
         public override void Dispose()
         {
             if (!Stage.IsInstalled())
index dada221..5216099 100755 (executable)
@@ -59,6 +59,17 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Constructor
+        /// </summary>
+        /// <param name="x">position in x coordinate</param>
+        /// <param name="y">position in y coordinate</param>
+        /// <param name="width">Width of the rectangle</param>
+        /// <param name="height">Height of the rectangle</param>
+        public Rectangle(float x, float y, float width, float height) : this( (int)x, (int)y, (int)width, (int)height )
+        {
+        }
+
+        /// <summary>
         /// Equality operator.
         /// </summary>
         /// <param name="a">First operand</param>
@@ -96,26 +107,26 @@ namespace Tizen.NUI
         /// <summary>
         /// X position of the rectangle
         /// </summary>
-        public int X
+        public float X
         {
             set
             {
-                x = value;
+                x = (int)( value );
             }
             get
             {
                 return x;
             }
-        }
+            }
 
         /// <summary>
         /// Y position of the rectangle
         /// </summary>
-        public int Y
+        public float Y
         {
             set
             {
-                y = value;
+                y = (int)( value );
             }
             get
             {
@@ -126,11 +137,11 @@ namespace Tizen.NUI
         /// <summary>
         /// Width of the rectangle
         /// </summary>
-        public int Width
+        public float Width
         {
             set
             {
-                width = value;
+                width = (int)( value );
             }
             get
             {
@@ -141,11 +152,11 @@ namespace Tizen.NUI
         /// <summary>
         /// Height of the rectangle
         /// </summary>
-        public int Height
+        public float Height
         {
             set
             {
-                height = value;
+                height = (int)( value );
             }
             get
             {
index b42ab5b..5236f5d 100755 (executable)
@@ -35,6 +35,9 @@ namespace Tizen.NUI
             DisposeQueue.Instance.Add(this);
         }
 
+        /// <summary>
+        /// To make Rotation instance be disposed.
+        /// </summary>
         public virtual void Dispose()
         {
             if (!Stage.IsInstalled())
index 0324903..fb93738 100755 (executable)
@@ -32,7 +32,7 @@ namespace Tizen.NUI
 
     /// <summary>
     /// ScrollBar is a UI component that can be linked to the scrollable objects
-    /// indicating the current scroll position of the scrollable object.
+    /// indicating the current scroll position of the scrollable object.<br>
     /// </summary>
     public class ScrollBar : View
     {
@@ -53,6 +53,9 @@ namespace Tizen.NUI
             DisposeQueue.Instance.Add(this);
         }
 
+        /// <summary>
+        /// To make ScrollBar instance be disposed.
+        /// </summary>
         public override void Dispose()
         {
             if (!Stage.IsInstalled())
@@ -134,7 +137,7 @@ namespace Tizen.NUI
             remove
             {
                 _scrollBarPanFinishedEventHandler -= value;
-                if (_scrollBarPanFinishedEventHandler == null && _scrollBarPanFinishedEventCallbackDelegate != null)
+                if (_scrollBarPanFinishedEventHandler == null && PanFinishedSignal().Empty() == false)
                 {
                     PanFinishedSignal().Disconnect(_scrollBarPanFinishedEventCallbackDelegate);
                 }
@@ -171,7 +174,7 @@ namespace Tizen.NUI
             remove
             {
                 _scrollBarScrollPositionIntervalReachedEventHandler -= value;
-                if (_scrollBarScrollPositionIntervalReachedEventHandler == null && _scrollBarScrollPositionIntervalReachedEventCallbackDelegate != null)
+                if (_scrollBarScrollPositionIntervalReachedEventHandler == null && ScrollPositionIntervalReachedSignal().Empty() == false)
                 {
                     ScrollPositionIntervalReachedSignal().Disconnect(_scrollBarScrollPositionIntervalReachedEventCallbackDelegate);
                 }
@@ -276,9 +279,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Downcasts a handle to ScrollBar handle.
-        /// If handle points to a ScrollBar, the downcast produces valid handle.
-        /// If not, the returned handle is left uninitialized.
+        /// Downcasts a handle to ScrollBar handle.<br>
+        /// If handle points to a ScrollBar, the downcast produces valid handle.<br>
+        /// If not, the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         /// <returns>Handle to a ScrollBar or an uninitialized handle</returns>
index 395302d..4c717eb 100755 (executable)
@@ -263,8 +263,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Check equality.
-        /// Utilizes appropriate machine epsilon values.
+        /// Check equality.<br>
+        /// Utilizes appropriate machine epsilon values.<br>
         /// </summary>
         /// <param name="rhs">The Size to test against</param>
         /// <returns>True if the Sizes are equal</returns>
@@ -276,8 +276,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Check inequality.
-        /// Utilizes appropriate machine epsilon values.
+        /// Check inequality.<br>
+        /// Utilizes appropriate machine epsilon values.<br>
         /// </summary>
         /// <param name="rhs">The Size to test against</param>
         /// <returns>True if the Sizes are not equal</returns>
index abb45eb..1ae26fd 100755 (executable)
@@ -249,8 +249,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Check equality.
-        /// Utilizes appropriate machine epsilon values.
+        /// Check equality.<br>
+        /// Utilizes appropriate machine epsilon values.<br>
         /// </summary>
         /// <param name="rhs">The Size to test against</param>
         /// <returns>True if the Sizes are equal</returns>
@@ -262,8 +262,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Check inequality.
-        /// Utilizes appropriate machine epsilon values.
+        /// Check inequality.<br>
+        /// Utilizes appropriate machine epsilon values.<br>
         /// </summary>
         /// <param name="rhs">The Size to test against</param>
         /// <returns>True if the Sizes are not equal</returns>
index 06ba997..6d7144f 100755 (executable)
@@ -231,7 +231,7 @@ namespace Tizen.NUI
             remove
             {
                 _sliderValueChangedEventHandler -= value;
-                if (_sliderValueChangedEventHandler == null && _sliderValueChangedCallbackDelegate != null)
+                if (_sliderValueChangedEventHandler == null && ValueChangedSignal().Empty() == false)
                 {
                     ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
                 }
@@ -272,7 +272,7 @@ namespace Tizen.NUI
             remove
             {
                 _sliderSlidingFinishedEventHandler -= value;
-                if (_sliderSlidingFinishedEventHandler == null && _sliderSlidingFinishedCallbackDelegate != null)
+                if (_sliderSlidingFinishedEventHandler == null && SlidingFinishedSignal().Empty() == false)
                 {
                     SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
                 }
@@ -313,7 +313,7 @@ namespace Tizen.NUI
             remove
             {
                 _sliderMarkReachedEventHandler -= value;
-                if (_sliderMarkReachedEventHandler == null && _sliderMarkReachedCallbackDelegate != null)
+                if (_sliderMarkReachedEventHandler == null && MarkReachedSignal().Empty() == false)
                 {
                     MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
                 }
@@ -431,9 +431,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Downcasts an Object handle to Slider.
-        /// If handle points to a Slider, the downcast produces valid handle.
-        /// If not, the returned handle is left uninitialized.
+        /// Downcasts an Object handle to Slider.<br>
+        /// If handle points to a Slider, the downcast produces valid handle.<br>
+        /// If not, the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         /// <returns>Handle to a Slider or an uninitialized handle</returns>
index 727c724..83caf58 100755 (executable)
@@ -15,14 +15,14 @@ namespace Tizen.NUI
     using System.Runtime.InteropServices;
 
     /// <summary>
-    /// The Stage is a top-level object used for displaying a tree of Actors.
-    /// Stage is a top-level object that represents the entire screen.
+    /// The Stage is a top-level object used for displaying a tree of Actors.<br>
+    /// Stage is a top-level object that represents the entire screen.<br>
     /// It is used for displaying a hierarchy of actors managed by the scene graph structure,
     /// which means an actor inherits a position relative to its parent,
-    /// and can be moved in relation to this point.
+    /// and can be moved in relation to this point.<br>
     /// The stage instance is a singleton object (the only instance of its class during the
-    /// lifetime of the program). You can get it using a static function.
-    /// To display the contents of an actor, it must be added to a stage.
+    /// lifetime of the program). You can get it using a static function.<br>
+    /// To display the contents of an actor, it must be added to a stage.<br>
     /// </summary>
     public class Stage : BaseHandle
     {
@@ -97,10 +97,10 @@ namespace Tizen.NUI
         private EventCallbackDelegateType1 _stageTouchCallbackDelegate;
 
         /// <summary>
-        /// This is emitted when the screen is touched and when the touch ends.
+        /// This is emitted when the screen is touched and when the touch ends.<br>
         /// If there are multiple touch points, then this will be emitted when the first touch occurs and
-        /// then when the last finger is lifted.
-        /// An interrupted event will also be emitted (if it occurs).
+        /// then when the last finger is lifted.<br>
+        /// An interrupted event will also be emitted (if it occurs).<br>
         /// </summary>
         public event EventHandler<TouchEventArgs> Touch
         {
@@ -116,7 +116,7 @@ namespace Tizen.NUI
             remove
             {
                 _stageTouchHandler -= value;
-                if (_stageTouchHandler == null && _stageTouchCallbackDelegate != null)
+                if (_stageTouchHandler == null && TouchSignal().Empty() == false)
                 {
                     TouchSignal().Disconnect(_stageTouchCallbackDelegate);
                 }
@@ -181,7 +181,7 @@ namespace Tizen.NUI
             remove
             {
                 _stageWheelHandler -= value;
-                if (_stageWheelHandler == null && _stageWheelCallbackDelegate != null)
+                if (_stageWheelHandler == null && WheelEventSignal().Empty() == false)
                 {
                     WheelEventSignal().Disconnect(_stageWheelCallbackDelegate);
                 }
@@ -246,7 +246,7 @@ namespace Tizen.NUI
             remove
             {
                 _stageKeyHandler -= value;
-                if (_stageKeyHandler == null && _stageKeyCallbackDelegate != null)
+                if (_stageKeyHandler == null && KeyEventSignal().Empty() == false)
                 {
                     KeyEventSignal().Disconnect(_stageKeyCallbackDelegate);
                 }
@@ -289,7 +289,7 @@ namespace Tizen.NUI
             remove
             {
                 _stageEventProcessingFinishedEventHandler -= value;
-                if (_stageEventProcessingFinishedEventHandler == null && _stageEventProcessingFinishedEventCallbackDelegate != null)
+                if (_stageEventProcessingFinishedEventHandler == null && EventProcessingFinishedSignal().Empty() == false)
                 {
                     EventProcessingFinishedSignal().Disconnect(_stageEventProcessingFinishedEventCallbackDelegate);
                 }
@@ -323,7 +323,7 @@ namespace Tizen.NUI
             remove
             {
                 _stageContextLostEventHandler -= value;
-                if (_stageContextLostEventHandler == null && _stageContextLostEventCallbackDelegate != null)
+                if (_stageContextLostEventHandler == null && ContextLostSignal().Empty() == false)
                 {
                     ContextLostSignal().Disconnect(_stageContextLostEventCallbackDelegate);
                 }
@@ -357,7 +357,7 @@ namespace Tizen.NUI
             remove
             {
                 _stageContextRegainedEventHandler -= value;
-                if (_stageContextRegainedEventHandler == null && _stageContextRegainedEventCallbackDelegate != null)
+                if (_stageContextRegainedEventHandler == null && ContextRegainedSignal().Empty() == false)
                 {
                     this.ContextRegainedSignal().Disconnect(_stageContextRegainedEventCallbackDelegate);
                 }
@@ -391,7 +391,7 @@ namespace Tizen.NUI
             remove
             {
                 _stageSceneCreatedEventHandler -= value;
-                if (_stageSceneCreatedEventHandler == null && _stageSceneCreatedEventCallbackDelegate != null)
+                if (_stageSceneCreatedEventHandler == null && SceneCreatedSignal().Empty() == false)
                 {
                     SceneCreatedSignal().Disconnect(_stageSceneCreatedEventCallbackDelegate);
                 }
@@ -436,8 +436,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dpi property (read-only).
-        /// Retrieves the DPI of the display device to which the stage is connected.
+        /// Dpi property (read-only).<br>
+        /// Retrieves the DPI of the display device to which the stage is connected.<br>
         /// </summary>
         public Vector2 Dpi
         {
@@ -448,8 +448,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Layer count property (read-only).
-        /// Queries the number of on-stage layers.
+        /// Layer count property (read-only).<br>
+        /// Queries the number of on-stage layers.<br>
         /// </summary>
         public uint LayerCount
         {
@@ -462,8 +462,8 @@ namespace Tizen.NUI
         private static readonly Stage instance = Stage.GetCurrent();
 
         /// <summary>
-        /// Stage instance property (read-only).
-        /// Gets the current Stage.
+        /// Stage instance property (read-only).<br>
+        /// Gets the current Stage.<br>
         /// </summary>
         public static Stage Instance
         {
index 17ac80e..c1f77bd 100755 (executable)
@@ -16,16 +16,16 @@ namespace Tizen.NUI
 
     /// <summary>
     /// StyleManager informs applications of system theme change,
-    /// and supports application theme change at runtime.
-    /// Applies various styles to Controls using the properties system.
+    /// and supports application theme change at runtime.<br>
+    /// Applies various styles to Controls using the properties system.<br>
     /// On theme change, it automatically updates all controls, then raises
-    /// a event to inform the application.
-    ///
+    /// a event to inform the application.<br>
+    /// <br>
     /// If the application wants to customize the theme, RequestThemeChange
-    /// needs to be called.
+    /// needs to be called.<br>
     /// It provides the path to the  application resource root folder, 
     /// from there the filename can an be specified along with
-    /// any sub folders, e.g Images, Models etc.
+    /// any sub folders, e.g Images, Models etc.<br>
     /// </summary>
     public class StyleManager : BaseHandle
     {
@@ -98,7 +98,7 @@ namespace Tizen.NUI
 
             /// <summary>
             /// StyleChange - contains Style change information (default font changed or
-            /// default font size changed or theme has changed)
+            /// default font size changed or theme has changed).<br>
             /// </summary>
             public StyleChangeType StyleChange
             {
@@ -121,9 +121,9 @@ namespace Tizen.NUI
 
         /// <summary>
         /// Event for StyleChanged signal which can be used to subscribe/unsubscribe the
-        /// event handler provided by the user. 
+        /// event handler provided by the user.<br>
         /// StyleChanged signal is is emitted after the style (e.g. theme/font change) has changed
-        /// and the controls have been informed.
+        /// and the controls have been informed.<br>
         /// </summary>
         public event EventHandler<StyleChangedEventArgs> StyleChanged
         {
@@ -139,7 +139,7 @@ namespace Tizen.NUI
             remove
             {
                 _styleManagerStyleChangedEventHandler -= value;
-                if (_styleManagerStyleChangedEventHandler == null && _styleManagerStyleChangedCallbackDelegate != null)
+                if (_styleManagerStyleChangedEventHandler == null && StyleChangedSignal().Empty() == false)
                 {
                     StyleChangedSignal().Disconnect(_styleManagerStyleChangedCallbackDelegate);
                 }
@@ -170,8 +170,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Creates a StyleManager handle.
-        /// this can be initialized with StyleManager::Get().
+        /// Creates a StyleManager handle.<br>
+        /// this can be initialized with StyleManager::Get().<br>
         /// </summary>
         public StyleManager() : this(NDalicPINVOKE.new_StyleManager(), true)
         {
@@ -190,11 +190,11 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Applies a new theme to the application. 
-        /// This will be merged on top of the default Toolkit theme.
+        /// Applies a new theme to the application. <br>
+        /// This will be merged on top of the default Toolkit theme.<br>
         /// If the application theme file doesn't style all controls that the
         /// application uses, then the default Toolkit theme will be used
-        /// instead for those controls.
+        /// instead for those controls.<br>
         /// </summary>
         /// <param name="themeFile">A relative path is specified for style theme</param>
         public void ApplyTheme(string themeFile)
index a82bb9e..39b484e 100755 (executable)
@@ -28,10 +28,10 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// TableView is a layout container for aligning child actors in a grid like layout.
-    /// TableView constrains the x and y position and width and height of the child actors.
+    /// TableView is a layout container for aligning child actors in a grid like layout.<br>
+    /// TableView constrains the x and y position and width and height of the child actors.<br>
     /// z position and depth are left intact so that 3D model actors can also be laid out
-    /// in a grid without loosing their depth scaling.
+    /// in a grid without loosing their depth scaling.<br>
     /// </summary>
     public class TableView : View
     {
@@ -377,9 +377,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Downcasts a handle to TableView handle.
-        /// If handle points to a TableView, the downcast produces valid handle.
-        /// If not, the returned handle is left uninitialized.
+        /// Downcasts a handle to TableView handle.<br>
+        /// If handle points to a TableView, the downcast produces valid handle.<br>
+        /// If not, the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         /// <returns>Handle to a TableView or an uninitialized handle</returns>
@@ -391,8 +391,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Adds a child to the table.
-        /// If the row or column index is outside the table, the table gets resized bigger.
+        /// Adds a child to the table.<br>
+        /// If the row or column index is outside the table, the table gets resized bigger.<br>
         /// </summary>
         /// <param name="child">The child to add</param>
         /// <param name="position">The position for the child</param>
@@ -452,8 +452,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Deletes a row from the given index.
-        /// Removed elements are deleted.
+        /// Deletes a row from the given index.<br>
+        /// Removed elements are deleted.<br>
         /// </summary>
         /// <param name="rowIndex">The rowIndex of the row to delete</param>
         public void DeleteRow(uint rowIndex)
@@ -479,8 +479,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Deletes a column from the given index.
-        /// Removed elements are deleted.
+        /// Deletes a column from the given index.<br>
+        /// Removed elements are deleted.<br>
         /// </summary>
         /// <param name="columnIndex">The columnIndex of the column to delete</param>
         public void DeleteColumn(uint columnIndex)
@@ -578,8 +578,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets a row to have fixed height.
-        /// Setting a fixed height of 0 has no effect.
+        /// Sets a row to have fixed height.<br>
+        /// Setting a fixed height of 0 has no effect.<br>
         /// </summary>
         /// <param name="rowIndex">The rowIndex for row with fixed height</param>
         /// <param name="height">The height in world coordinate units</param>
@@ -603,8 +603,8 @@ namespace Tizen.NUI
 
         /// <summary>
         /// Sets a row to have relative height. Relative height means percentage of
-        /// the remainder of the table height after subtracting Padding and Fixed height rows.
-        /// Setting a relative height of 0 has no effect.
+        /// the remainder of the table height after subtracting Padding and Fixed height rows.<br>
+        /// Setting a relative height of 0 has no effect.<br>
         /// </summary>
         /// <param name="rowIndex">The rowIndex for row with relative height</param>
         /// <param name="heightPercentage">The height percentage between 0.0f and 1.0f</param>
@@ -627,8 +627,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets a column to have fixed width.
-        /// Setting a fixed width of 0 has no effect.
+        /// Sets a column to have fixed width.<br>
+        /// Setting a fixed width of 0 has no effect.<br>
         /// </summary>
         /// <param name="columnIndex">The columnIndex for column with fixed width</param>
         /// <param name="width">The width in world coordinate units</param>
@@ -652,8 +652,8 @@ namespace Tizen.NUI
 
         /// <summary>
         /// Sets a column to have relative width. Relative width means percentage of
-        /// the remainder of table width after subtracting Padding and Fixed width columns.
-        /// Setting a relative width of 0 has no effect.
+        /// the remainder of table width after subtracting Padding and Fixed width columns.<br>
+        /// Setting a relative width of 0 has no effect.<br>
         /// </summary>
         /// <param name="columnIndex">The columnIndex for column with fixed width</param>
         /// <param name="widthPercentage">The widthPercentage between 0.0f and 1.0f</param>
@@ -698,8 +698,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets the alignment on a cell.
-        /// Cells without calling this function have the default values of LEFT and TOP respectively.
+        /// Sets the alignment on a cell.<br>
+        /// Cells without calling this function have the default values of LEFT and TOP respectively.<br>
         /// </summary>
         /// <param name="position">The cell to set alignment on</param>
         /// <param name="horizontal">The horizontal alignment</param>
index ceb83b1..bb48788 100755 (executable)
@@ -111,7 +111,7 @@ namespace Tizen.NUI
 
         /// <summary>
         /// Event for TextChanged signal which can be used to subscribe/unsubscribe the event handler
-        /// provided by the user. TextChanged signal is emitted when the text changes.
+        /// provided by the user. TextChanged signal is emitted when the text changes.<br>
         /// </summary>
         public event EventHandler<TextChangedEventArgs> TextChanged
         {
@@ -127,7 +127,7 @@ namespace Tizen.NUI
             remove
             {
                 _textEditorTextChangedEventHandler -= value;
-                if (_textEditorTextChangedEventHandler == null && _textEditorTextChangedCallbackDelegate != null)
+                if (_textEditorTextChangedEventHandler == null && TextChangedSignal().Empty() == false)
                 {
                     TextChangedSignal().Disconnect(_textEditorTextChangedCallbackDelegate);
                 }
index a81f554..f6f0496 100755 (executable)
@@ -153,7 +153,7 @@ namespace Tizen.NUI
             remove
             {
                 _textFieldTextChangedEventHandler -= value;
-                if (_textFieldTextChangedEventHandler == null && _textFieldTextChangedCallbackDelegate != null)
+                if (_textFieldTextChangedEventHandler == null && TextChangedSignal().Empty() == false)
                 {
                     TextChangedSignal().Disconnect(_textFieldTextChangedCallbackDelegate);
                 }
@@ -191,7 +191,7 @@ namespace Tizen.NUI
             }
             remove
             {
-                if (_textFieldMaxLengthReachedEventHandler == null && _textFieldMaxLengthReachedCallbackDelegate != null)
+                if (_textFieldMaxLengthReachedEventHandler == null && MaxLengthReachedSignal().Empty() == false)
                 {
                     this.MaxLengthReachedSignal().Disconnect(_textFieldMaxLengthReachedCallbackDelegate);
                 }
index 13b94ed..bef9af1 100755 (executable)
@@ -28,8 +28,8 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// A control which renders a short text string.
-    /// Text labels are lightweight, non-editable and do not respond to user input.
+    /// A control which renders a short text string.<br>
+    /// Text labels are lightweight, non-editable and do not respond to user input.<br>
     /// </summary>
     public class TextLabel : View
     {
@@ -196,7 +196,7 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// RenderingBackend property
+        /// RenderingBackend property.<br>
         /// The type of rendering e.g. bitmap-based.
         /// </summary>
         public int RenderingBackend
@@ -214,8 +214,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Text property
-        /// The text to display in UTF-8 format.
+        /// Text property.<br>
+        /// The text to display in UTF-8 format.<br>
         /// </summary>
         public string Text
         {
@@ -232,8 +232,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// FontFamily property
-        /// The requested font family to use.
+        /// FontFamily property.<br>
+        /// The requested font family to use.<br>
         /// </summary>
         public string FontFamily
         {
@@ -250,8 +250,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// FontStyle property
-        /// The requested font style to use.
+        /// FontStyle property.<br>
+        /// The requested font style to use.<br>
         /// </summary>
         public PropertyMap FontStyle
         {
@@ -268,8 +268,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// PointSize property
-        /// The size of font in points.
+        /// PointSize property.<br>
+        /// The size of font in points.<br>
         /// </summary>
         public float PointSize
         {
@@ -286,8 +286,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// MultiLine property
-        /// The single-line or multi-line layout option.
+        /// MultiLine property.<br>
+        /// The single-line or multi-line layout option.<br>
         /// </summary>
         public bool MultiLine
         {
@@ -304,8 +304,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// HorizontalAlignment property
-        /// The line horizontal alignment.
+        /// HorizontalAlignment property.<br>
+        /// The line horizontal alignment.<br>
         /// </summary>
         public string HorizontalAlignment
         {
@@ -322,8 +322,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// VerticalAlignment property
-        /// The line vertical alignment.
+        /// VerticalAlignment property.<br>
+        /// The line vertical alignment.<br>
         /// </summary>
         public string VerticalAlignment
         {
@@ -340,8 +340,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// TextColor property
-        /// The color of the text.
+        /// TextColor property.<br>
+        /// The color of the text.<br>
         /// </summary>
         public Color TextColor
         {
@@ -358,8 +358,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ShadowOffset property
-        /// The drop shadow offset 0 indicates no shadow.
+        /// ShadowOffset property.<br>
+        /// The drop shadow offset 0 indicates no shadow.<br>
         /// </summary>
         public Vector2 ShadowOffset
         {
@@ -376,8 +376,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ShadowColor property
-        /// The color of a drop shadow.
+        /// ShadowColor property.<br>
+        /// The color of a drop shadow.<br>
         /// </summary>
         public Vector4 ShadowColor
         {
@@ -394,8 +394,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// UnderlineEnabled property
-        /// The underline enabled flag.
+        /// UnderlineEnabled property.<br>
+        /// The underline enabled flag.<br>
         /// </summary>
         public bool UnderlineEnabled
         {
@@ -412,8 +412,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// UnderlineColor property
-        /// Overrides the underline height from font metrics.
+        /// UnderlineColor property.<br>
+        /// Overrides the underline height from font metrics.<br>
         /// </summary>
         public Vector4 UnderlineColor
         {
@@ -430,8 +430,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// UnderlineHeight property
-        /// Overrides the underline height from font metrics.
+        /// UnderlineHeight property.<br>
+        /// Overrides the underline height from font metrics.<br>
         /// </summary>
         public float UnderlineHeight
         {
@@ -448,8 +448,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// EnableMarkup property
-        /// Whether the mark-up processing is enabled.
+        /// EnableMarkup property.<br>
+        /// Whether the mark-up processing is enabled.<br>
         /// </summary>
         public bool EnableMarkup
         {
@@ -466,8 +466,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// EnableAutoScroll property
-        /// Starts or stops auto scrolling.
+        /// EnableAutoScroll property.<br>
+        /// Starts or stops auto scrolling.<br>
         /// </summary>
         public bool EnableAutoScroll
         {
@@ -484,8 +484,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// AutoScrollSpeed property
-        /// Sets the speed of scrolling in pixels per second.
+        /// AutoScrollSpeed property.<br>
+        /// Sets the speed of scrolling in pixels per second.<br>
         /// </summary>
         public int AutoScrollSpeed
         {
@@ -502,8 +502,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// AutoScrollLoopCount property
-        /// Number of complete loops when scrolling enabled.
+        /// AutoScrollLoopCount property.<br>
+        /// Number of complete loops when scrolling enabled.<br>
         /// </summary>
         public int AutoScrollLoopCount
         {
@@ -520,8 +520,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// AutoScrollGap property
-        /// Gap before scrolling wraps.
+        /// AutoScrollGap property.<br>
+        /// Gap before scrolling wraps.<br>
         /// </summary>
         public float AutoScrollGap
         {
@@ -538,8 +538,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// LineSpacing property
-        /// The default extra space between lines in points.
+        /// LineSpacing property.<br>
+        /// The default extra space between lines in points.<br>
         /// </summary>
         public float LineSpacing
         {
@@ -556,8 +556,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Underline property
-        /// The default underline parameters.
+        /// Underline property.<br>
+        /// The default underline parameters.<br>
         /// </summary>
         public PropertyMap Underline
         {
@@ -574,8 +574,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Shadow property
-        /// The default shadow parameters.
+        /// Shadow property.<br>
+        /// The default shadow parameters.<br>
         /// </summary>
         public PropertyMap Shadow
         {
@@ -592,8 +592,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Emboss property
-        /// The default emboss parameters.
+        /// Emboss property.<br>
+        /// The default emboss parameters.<br>
         /// </summary>
         public string Emboss
         {
@@ -610,8 +610,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Outline property
-        /// The default outline parameters.
+        /// Outline property.<br>
+        /// The default outline parameters.<br>
         /// </summary>
         public string Outline
         {
index fbe2abe..549ea52 100755 (executable)
@@ -31,14 +31,14 @@ namespace Tizen.NUI
     using System.Runtime.InteropServices;
 
     /// <summary>
-    /// Mechanism to issue simple periodic or one-shot events.
+    /// Mechanism to issue simple periodic or one-shot events.<br>
     /// Timer is provided for application developers to be able to issue
     /// simple periodic or one-shot events.  Please note that timer
     /// callback functions should return as soon as possible, because they
     /// block the next SignalTick.  Please note that timer signals are not
-    /// in sync with Dali's render timer.
+    /// in sync with Dali's render timer.<br>
     /// This class is a handle class so it can be stack allocated and used
-    /// as a member.
+    /// as a member.<br>
     /// </summary>
     public class Timer : BaseHandle
     {
@@ -85,7 +85,7 @@ namespace Tizen.NUI
 
 
         /// <summary>
-        /// Event arguments that passed via Tick event
+        /// Event arguments that passed via Tick event.
         /// </summary>
         public class TickEventArgs : EventArgs
         {
@@ -98,8 +98,8 @@ namespace Tizen.NUI
 
         /// <summary>
         /// brief Event for Ticked signal which can be used to subscribe/unsubscribe the event handler
-        /// (in the type of TickEventHandler-DaliEventHandlerWithReturnType<object,TickEventArgs,bool>) 
-        /// provided by the user. Ticked signal is emitted after specified time interval.
+        /// (in the type of TickEventHandler-DaliEventHandlerWithReturnType<object,TickEventArgs,bool>).<br>
+        /// provided by the user. Ticked signal is emitted after specified time interval.<br>
         /// </summary>
         public event EventHandlerWithReturnType<object, TickEventArgs, bool> Tick
         {
@@ -115,7 +115,7 @@ namespace Tizen.NUI
             remove
             {
                 _timerTickEventHandler -= value;
-                if (_timerTickEventHandler == null && _timerTickCallbackDelegate != null)
+                if (_timerTickEventHandler == null && TickSignal().Empty() == false)
                 {
                     TickSignal().Disconnect(_timerTickCallbackDelegate);
                 }
@@ -169,8 +169,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Starts timer
-        /// In case a Timer is already running, its time is reset and timer is restarted.
+        /// Starts timer.<br>
+        /// In case a Timer is already running, its time is reset and timer is restarted.<br>
         /// </summary>
         public void Start()
         {
@@ -188,8 +188,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets a new interval on the timer and starts the timer.
-        /// Cancels the previous timer.
+        /// Sets a new interval on the timer and starts the timer.<br>
+        /// Cancels the previous timer.<br>
         /// </summary>
         /// <param name="milliSec">milliSec Interval in milliseconds</param>
         internal void SetInterval(uint milliSec)
index 6118a84..c8ae465 100755 (executable)
@@ -11,9 +11,9 @@
 namespace Tizen.NUI
 {
     /// <summary>
-    /// Touch events are a collection of points at a specific moment in time.
+    /// Touch events are a collection of points at a specific moment in time.<br>
     /// When a multi-touch event occurs, each point represents the points that are currently being
-    /// touched or the points where a touch has stopped.
+    /// touched or the points where a touch has stopped.<br>
     /// </summary>
     public class Touch : BaseHandle
     {
@@ -67,8 +67,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// An uninitialized Touch instance.
-        /// Calling member functions with an uninitialized Touch handle is not allowed.
+        /// An uninitialized Touch instance.<br>
+        /// Calling member functions with an uninitialized Touch handle is not allowed.<br>
         /// </summary>
         public Touch() : this(NDalicPINVOKE.new_Touch__SWIG_0(), true)
         {
@@ -110,10 +110,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Returns the ID of the device used for the Point specified.
+        /// Returns the ID of the device used for the Point specified.<br>
         /// Each point has a unique device ID which specifies the device used for that
-        /// point. This is returned by this method.
-        /// If point is greater than GetPointCount() then this method will return -1.
+        /// point. This is returned by this method.<br>
+        /// If point is greater than GetPointCount() then this method will return -1.<br>
         /// </summary>
         /// <param name="point">The point required</param>
         /// <returns>The Device ID of this point</returns>
@@ -125,8 +125,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the State of the point specified.
-        /// If point is greater than GetPointCount() then this method will return PointState.Finished.
+        /// Retrieves the State of the point specified.<br>
+        /// If point is greater than GetPointCount() then this method will return PointState.Finished.<br>
         /// </summary>
         /// <param name="point">The point required</param>
         /// <returns>The state of the point specified</returns>
@@ -138,8 +138,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the actor that was underneath the point specified.
-        /// If point is greater than GetPointCount() then this method will return an empty handle.
+        /// Retrieves the actor that was underneath the point specified.<br>
+        /// If point is greater than GetPointCount() then this method will return an empty handle.<br>
         /// </summary>
         /// <param name="point">The point required</param>
         /// <returns>The actor that was underneath the point specified</returns>
@@ -151,11 +151,11 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the co-ordinates relative to the top-left of the hit-actor at the point specified.
-        /// The top-left of an actor is (0.0, 0.0, 0.5).
+        /// Retrieves the co-ordinates relative to the top-left of the hit-actor at the point specified.<br>
+        /// The top-left of an actor is (0.0, 0.0, 0.5).<br>
         /// If you require the local coordinates of another actor (e.g the parent of the hit actor),
-        /// then you should use Actor::ScreenToLocal().
-        /// If point is greater than GetPointCount() then this method will return Vector2.Zero.
+        /// then you should use Actor::ScreenToLocal().<br>
+        /// If point is greater than GetPointCount() then this method will return Vector2.Zero.<br>
         /// </summary>
         /// <param name="point">The point required</param>
         /// <returns>The co-ordinates relative to the top-left of the hit-actor of the point specified</returns>
@@ -167,8 +167,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the co-ordinates relative to the top-left of the screen of the point specified.
-        /// If point is greater than GetPointCount() then this method will return Vector2.Zero.
+        /// Retrieves the co-ordinates relative to the top-left of the screen of the point specified.<br>
+        /// If point is greater than GetPointCount() then this method will return Vector2.Zero.<br>
         /// </summary>
         /// <param name="point">The point required</param>
         /// <returns>The co-ordinates relative to the top-left of the screen of the point specified</returns>
@@ -180,9 +180,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the radius of the press point.
-        /// This is the average of both the horizontal and vertical radii of the press point.
-        /// If point is greater than GetPointCount() then this method will return 0.0f.
+        /// Retrieves the radius of the press point.<br>
+        /// This is the average of both the horizontal and vertical radii of the press point.<br>
+        /// If point is greater than GetPointCount() then this method will return 0.0f.<br>
         /// </summary>
         /// <param name="point">The point required</param>
         /// <returns>The radius of the press point</returns>
@@ -194,8 +194,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves BOTH the horizontal and the vertical radii of the press point.
-        /// If point is greater than GetPointCount() then this method will return Vector2.Zero.
+        /// Retrieves BOTH the horizontal and the vertical radii of the press point.<br>
+        /// If point is greater than GetPointCount() then this method will return Vector2.Zero.<br>
         /// </summary>
         /// <param name="point">The point required</param>
         /// <returns>The horizontal and vertical radii of the press point</returns>
@@ -207,12 +207,12 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the touch pressure.
-        /// The pressure range starts at 0.0f.
-        /// Normal pressure is defined as 1.0f.
-        /// A value between 0.0f and 1.0f means light pressure has been applied.
-        /// A value greater than 1.0f means more pressure than normal has been applied.
-        /// If point is greater than GetPointCount() then this method will return 1.0f.
+        /// Retrieves the touch pressure.<br>
+        /// The pressure range starts at 0.0f.<br>
+        /// Normal pressure is defined as 1.0f.<br>
+        /// A value between 0.0f and 1.0f means light pressure has been applied.<br>
+        /// A value greater than 1.0f means more pressure than normal has been applied.<br>
+        /// If point is greater than GetPointCount() then this method will return 1.0f.<br>
         /// </summary>
         /// <param name="point">point The point required</param>
         /// <returns>The touch pressure</returns>
index 888130d..27d0fc4 100755 (executable)
@@ -428,9 +428,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Returns the length of the vector squared.
+        /// Returns the length of the vector squared.<br>
         /// This is more efficient than Length() for threshold
-        /// testing as it avoids the use of a square root.
+        /// testing as it avoids the use of a square root.<br>
         /// </summary>
         /// <returns>The length of the vector squared</returns>
         public float LengthSquared()
index ef7f883..1bc3de0 100755 (executable)
@@ -478,9 +478,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Returns the length of the vector squared.
+        /// Returns the length of the vector squared.<br>
         /// This is more efficient than Length() for threshold
-        /// testing as it avoids the use of a square root.
+        /// testing as it avoids the use of a square root.<br>
         /// </summary>
         /// <returns>The length of the vector squared</returns>
         public float LengthSquared()
index 491dc51..627e5bd 100755 (executable)
@@ -444,9 +444,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Returns the length of the vector squared.
+        /// Returns the length of the vector squared.<br>
         /// This is faster than using Length() when performing
-        /// threshold checks as it avoids use of the square root.
+        /// threshold checks as it avoids use of the square root.<br>
         /// </summary>
         /// <returns>The length of the vector squared</returns>
         public float LengthSquared()
@@ -457,8 +457,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Normalizes the vector.
-        /// Sets the vector to unit length whilst maintaining its direction.
+        /// Normalizes the vector.<br>
+        /// Sets the vector to unit length whilst maintaining its direction.<br>
         /// </summary>
         public void Normalize()
         {
index b8dfa97..e295efc 100755 (executable)
@@ -108,8 +108,8 @@ namespace Tizen.NUI
 
         /// <summary>
         /// Event for Finished signal which can be used to subscribe/unsubscribe the event handler
-        /// (in the type of FinishedEventHandler-DaliEventHandler<object,FinishedEventArgs>) provided by the user.
-        /// Finished signal is emitted when a video playback have finished.
+        /// (in the type of FinishedEventHandler-DaliEventHandler<object,FinishedEventArgs>) provided by the user.<br>
+        /// Finished signal is emitted when a video playback have finished.<br>
         /// </summary>
         public event EventHandler<FinishedEventArgs> Finished
         {
@@ -125,7 +125,7 @@ namespace Tizen.NUI
             remove
             {
                 _videoViewFinishedEventHandler -= value;
-                if (_videoViewFinishedEventHandler == null && _videoViewFinishedCallbackDelegate != null)
+                if (_videoViewFinishedEventHandler == null && FinishedSignal().Empty() == false)
                 {
                     FinishedSignal().Disconnect(_videoViewFinishedCallbackDelegate);
                 }
@@ -215,8 +215,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Creates an initialized VideoView.
-        /// If the string is empty, VideoView will not display anything.
+        /// Creates an initialized VideoView.<br>
+        /// If the string is empty, VideoView will not display anything.<br>
         /// </summary>
         /// <param name="url">The url of the video resource to display</param>
         public VideoView(string url) : this(NDalicPINVOKE.VideoView_New__SWIG_1(url), true)
@@ -237,9 +237,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Downcasts a handle to VideoView handle.
-        /// If handle points to a VideoView, the downcast produces valid handle.
-        /// If not, the returned handle is left uninitialized.
+        /// Downcasts a handle to VideoView handle.<br>
+        /// If handle points to a VideoView, the downcast produces valid handle.<br>
+        /// If not, the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         /// <returns>Handle to a VideoView or an uninitialized handle</returns>
index ae2db50..42bd8da 100755 (executable)
@@ -36,6 +36,7 @@ namespace Tizen.NUI
 
             // By default, we do not want the position to use the anchor point
             //this.PositionUsesAnchorPoint = false;
+            this.PositionUsesAnchorPoint = !(InternalSetting.DefaultParentOriginAsTopLeft);
         }
 
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(View obj)
@@ -82,10 +83,10 @@ namespace Tizen.NUI
         private delegate void KeyInputFocusGainedCallbackType(IntPtr control);
         private KeyInputFocusGainedCallbackType _keyInputFocusGainedCallback;
 
-        /**
-          * @brief Event for KeyInputFocusGained signal which can be used to subscribe/unsubscribe the event handler
-          * provided by the user. KeyInputFocusGained signal is emitted when the control gets Key Input Focus.
-          */
+        /// <summary>
+        /// Event for KeyInputFocusGained signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
+        /// KeyInputFocusGained signal is emitted when the control gets Key Input Focus.<br>
+        /// </summary>
         public event EventHandler FocusGained
         {
             add
@@ -103,7 +104,7 @@ namespace Tizen.NUI
             {
                 _keyInputFocusGainedEventHandler -= value;
 
-                if (_keyInputFocusGainedEventHandler == null && _keyInputFocusGainedCallback != null)
+                if (_keyInputFocusGainedEventHandler == null && KeyInputFocusGainedSignal().Empty() == false)
                 {
                     this.KeyInputFocusGainedSignal().Disconnect(_keyInputFocusGainedCallback);
                 }
@@ -124,10 +125,10 @@ namespace Tizen.NUI
         private delegate void KeyInputFocusLostCallbackType(IntPtr control);
         private KeyInputFocusLostCallbackType _keyInputFocusLostCallback;
 
-        /**
-          * @brief Event for KeyInputFocusLost signal which can be used to subscribe/unsubscribe the event handler
-          * provided by the user. KeyInputFocusLost signal is emitted when the control loses Key Input Focus.
-          */
+        /// <summary>
+        /// Event for KeyInputFocusLost signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
+        /// KeyInputFocusLost signal is emitted when the control loses Key Input Focus.<br>
+        /// </summary>
         public event EventHandler FocusLost
         {
             add
@@ -145,7 +146,7 @@ namespace Tizen.NUI
             {
                 _keyInputFocusLostEventHandler -= value;
 
-                if (_keyInputFocusLostEventHandler == null && _keyInputFocusLostCallback != null)
+                if (_keyInputFocusLostEventHandler == null && KeyInputFocusLostSignal().Empty() == false)
                 {
                     this.KeyInputFocusLostSignal().Disconnect(_keyInputFocusLostCallback);
                 }
@@ -160,19 +161,16 @@ namespace Tizen.NUI
             }
         }
 
-
-        /**
-          * @brief Event arguments that passed via KeyEvent signal
-          *
-          */
+        /// <summary>
+        /// Event arguments that passed via KeyEvent signal.
+        /// </summary>
         public class KeyEventArgs : EventArgs
         {
             private Key _key;
 
-            /**
-              * @brief KeyEvent - is the keyevent sent to the View.
-              *
-              */
+            /// <summary>
+            /// Key - is the key sent to the View.
+            /// </summary>
             public Key Key
             {
                 get
@@ -191,10 +189,10 @@ namespace Tizen.NUI
         private delegate bool KeyCallbackType(IntPtr control, IntPtr keyEvent);
         private KeyCallbackType _keyCallback;
 
-        /**
-          * @brief Event for KeyPressed signal which can be used to subscribe/unsubscribe the event handler
-          * provided by the user. KeyPressed signal is emitted when key event is received.
-          */
+        /// <summary>
+        /// Event for KeyPressed signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
+        /// KeyPressed signal is emitted when key event is received.<br>
+        /// </summary>
         public event EventHandlerWithReturnType<object, KeyEventArgs, bool> KeyEvent
         {
             add
@@ -212,7 +210,7 @@ namespace Tizen.NUI
             {
                 _keyEventHandler -= value;
 
-                if (_keyEventHandler == null && _keyCallback != null)
+                if (_keyEventHandler == null && KeyEventSignal().Empty() == false)
                 {
                     this.KeyEventSignal().Disconnect(_keyCallback);
                 }
@@ -238,10 +236,10 @@ namespace Tizen.NUI
         private delegate void OnRelayoutEventCallbackType(IntPtr control);
         private OnRelayoutEventCallbackType _onRelayoutEventCallback;
 
-        /**
-          * @brief Event for OnRelayout signal which can be used to subscribe/unsubscribe the event handler
-          * OnRelayout signal is emitted after the size has been set on the view during relayout.
-          */
+        /// <summary>
+        /// Event for OnRelayout signal which can be used to subscribe/unsubscribe the event handler.<br>
+        /// OnRelayout signal is emitted after the size has been set on the view during relayout.<br>
+        /// </summary>
         public event EventHandler OnRelayoutEvent
         {
             add
@@ -259,7 +257,7 @@ namespace Tizen.NUI
             {
                 _onRelayoutEventHandler -= value;
 
-                if (_onRelayoutEventHandler == null && _onRelayoutEventCallback != null)
+                if (_onRelayoutEventHandler == null && OnRelayoutSignal().Empty() == false)
                 {
                     this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
                 }
@@ -276,19 +274,16 @@ namespace Tizen.NUI
             }
         }
 
-
-        /**
-          * @brief Event arguments that passed via Touch signal
-          *
-          */
+        /// <summary>
+        /// Event arguments that passed via Touch signal.
+        /// </summary>
         public class TouchEventArgs : EventArgs
         {
             private Touch _touch;
 
-            /**
-              * @brief TouchData - contains the information of touch points
-              *
-              */
+            /// <summary>
+            /// Touch - contains the information of touch points
+            /// </summary>
             public Touch Touch
             {
                 get
@@ -307,10 +302,10 @@ namespace Tizen.NUI
         private delegate bool TouchDataCallbackType(IntPtr view, IntPtr touchData);
         private TouchDataCallbackType _touchDataCallback;
 
-        /**
-          * @brief Event for Touched signal which can be used to subscribe/unsubscribe the event handler
-          * provided by the user. Touched signal is emitted when touch input is received.
-          */
+        /// <summary>
+        /// Event for Touched signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
+        /// Touched signal is emitted when touch input is received.<br>
+        /// </summary>
         public event EventHandlerWithReturnType<object, TouchEventArgs, bool> Touched
         {
             add
@@ -328,7 +323,7 @@ namespace Tizen.NUI
             {
                 _touchDataEventHandler -= value;
 
-                if (_touchDataEventHandler == null && _touchDataCallback != null)
+                if (_touchDataEventHandler == null && TouchSignal().Empty() == false)
                 {
                     this.TouchSignal().Disconnect(_touchDataCallback);
                 }
@@ -351,18 +346,16 @@ namespace Tizen.NUI
         }
 
 
-        /**
-          * @brief Event arguments that passed via Hover signal
-          *
-          */
+        /// <summary>
+        /// Event arguments that passed via Hover signal.
+        /// </summary>
         public class HoverEventArgs : EventArgs
         {
             private Hover _hover;
-            /**
-              * @brief HoverEvent - contains touch points that represent the points
-              * that are currently being hovered or the points where a hover has stopped
-              *
-              */
+
+            /// <summary>
+            /// Hover - contains touch points that represent the points that are currently being hovered or the points where a hover has stopped.
+            /// </summary>
             public Hover Hover
             {
                 get
@@ -381,10 +374,10 @@ namespace Tizen.NUI
         private delegate bool HoverEventCallbackType(IntPtr view, IntPtr hoverEvent);
         private HoverEventCallbackType _hoverEventCallback;
 
-        /**
-          * @brief Event for Hovered signal which can be used to subscribe/unsubscribe the event handler
-          * provided by the user. Hovered signal is emitted when hover input is received.
-          */
+        /// <summary>
+        /// Event for Hovered signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
+        /// Hovered signal is emitted when hover input is received.<br>
+        /// </summary>
         public event EventHandlerWithReturnType<object, HoverEventArgs, bool> Hovered
         {
             add
@@ -402,7 +395,7 @@ namespace Tizen.NUI
             {
                 _hoverEventHandler -= value;
 
-                if (_hoverEventHandler == null && _hoverEventCallback != null)
+                if (_hoverEventHandler == null && HoveredSignal().Empty() == false)
                 {
                     this.HoveredSignal().Disconnect(_hoverEventCallback);
                 }
@@ -425,17 +418,16 @@ namespace Tizen.NUI
         }
 
 
-        /**
-          * @brief Event arguments that passed via Wheel signal
-          *
-          */
+        /// <summary>
+        /// Event arguments that passed via Wheel signal.
+        /// </summary>
         public class WheelEventArgs : EventArgs
         {
             private Wheel _wheel;
-            /**
-              * @brief WheelEvent - store a wheel rolling type : MOUSE_WHEEL or CUSTOM_WHEEL
-              *
-              */
+
+            /// <summary>
+            /// WheelEvent - store a wheel rolling type : MOUSE_WHEEL or CUSTOM_WHEEL
+            /// </summary>
             public Wheel Wheel
             {
                 get
@@ -454,10 +446,10 @@ namespace Tizen.NUI
         private delegate bool WheelEventCallbackType(IntPtr view, IntPtr wheelEvent);
         private WheelEventCallbackType _wheelEventCallback;
 
-        /**
-          * @brief Event for WheelMoved signal which can be used to subscribe/unsubscribe the event handler
-          * provided by the user. WheelMoved signal is emitted when wheel event is received.
-          */
+        /// <summary>
+        /// Event for WheelMoved signal which can be used to subscribe/unsubscribe the event handler provided by the user.<br>
+        /// WheelMoved signal is emitted when wheel event is received.<br>
+        /// </summary>
         public event EventHandlerWithReturnType<object, WheelEventArgs, bool> WheelMoved
         {
             add
@@ -475,7 +467,7 @@ namespace Tizen.NUI
             {
                 _wheelEventHandler -= value;
 
-                if (_wheelEventHandler == null && _wheelEventCallback != null)
+                if (_wheelEventHandler == null && WheelEventSignal().Empty() == false)
                 {
                     this.WheelEventSignal().Disconnect(_wheelEventCallback);
                 }
@@ -503,10 +495,10 @@ namespace Tizen.NUI
         private delegate void OnStageEventCallbackType(IntPtr control);
         private OnStageEventCallbackType _onStageEventCallback;
 
-        /**
-          * @brief Event for OnStage signal which can be used to subscribe/unsubscribe the event handler
-          * OnStage signal is emitted after the view has been connected to the stage.
-          */
+        /// <summary>
+        /// Event for OnStage signal which can be used to subscribe/unsubscribe the event handler.<br>
+        /// OnStage signal is emitted after the view has been connected to the stage.<br>
+        /// </summary>
         public event EventHandler OnStageEvent
         {
             add
@@ -524,7 +516,7 @@ namespace Tizen.NUI
             {
                 _onStageEventHandler -= value;
 
-                if (_onStageEventHandler == null && _onStageEventCallback != null)
+                if (_onStageEventHandler == null && OnStageSignal().Empty() == false)
                 {
                     this.OnStageSignal().Disconnect(_onStageEventCallback);
                 }
@@ -546,10 +538,10 @@ namespace Tizen.NUI
         private delegate void OffStageEventCallbackType(IntPtr control);
         private OffStageEventCallbackType _offStageEventCallback;
 
-        /**
-          * @brief Event for OffStage signal which can be used to subscribe/unsubscribe the event handler
-          * OffStage signal is emitted after the view has been disconnected from the stage.
-          */
+        /// <summary>
+        /// Event for OffStage signal which can be used to subscribe/unsubscribe the event handler.<br>
+        /// OffStage signal is emitted after the view has been disconnected from the stage.<br>
+        /// </summary>
         public event EventHandler OffStageEvent
         {
             add
@@ -567,7 +559,7 @@ namespace Tizen.NUI
             {
                 _offStageEventHandler -= value;
 
-                if (_offStageEventHandler == null && _offStageEventCallback != null)
+                if (_offStageEventHandler == null && OffStageSignal().Empty() == false)
                 {
                     this.OffStageSignal().Disconnect(_offStageEventCallback);
                 }
@@ -689,9 +681,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Downcasts a handle to View handle.
-        /// If handle points to a View, the downcast produces valid handle.
-        /// If not, the returned handle is left uninitialized.
+        /// Downcasts a handle to View handle.<br>
+        /// If handle points to a View, the downcast produces valid handle.<br>
+        /// If not, the returned handle is left uninitialized.<br>
         /// </summary>
         /// <param name="handle">Handle to an object</param>
         /// <returns>A handle to a View or an uninitialized handle</returns>
@@ -737,10 +729,10 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Quries whether the view has key input focus.
+        /// Quries whether the view has focus.
         /// </summary>
-        /// <returns>true if this view has keyboard input focus</returns>
-        public bool HasKeyInputFocus()
+        /// <returns>true if this view has focus</returns>
+        public bool HasFocus()
         {
             bool ret = NDalicPINVOKE.View_HasKeyInputFocus(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
@@ -968,27 +960,27 @@ namespace Tizen.NUI
         {
             get
             {
-                int temp = 0;\r
-                GetProperty(View.Property.STATE).Get(ref temp);\r
-                switch (temp)\r
-                {\r
-                    case 0:\r
-                    {\r
-                        return "NORMAL";\r
-                    }\r
-                    case 1:\r
-                    {\r
-                        return "FOCUSED";\r
-                    }\r
-                    case 2:\r
-                    {\r
-                        return "DISABLED";\r
-                    }\r
-                    default:\r
-                    {\r
-                        return "";\r
-                    }\r
-                }\r
+                int temp = 0;
+                GetProperty(View.Property.STATE).Get(ref temp);
+                switch (temp)
+                {
+                    case 0:
+                    {
+                        return "NORMAL";
+                    }
+                    case 1:
+                    {
+                        return "FOCUSED";
+                    }
+                    case 2:
+                    {
+                        return "DISABLED";
+                    }
+                    default:
+                    {
+                        return "";
+                    }
+                }
             }
             set
             {
@@ -1098,9 +1090,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Child Property of FlexContainer
-        /// The proportion of the free space in the container the flex item will receive. 
-        /// If all items in the container set this property, their sizes will be proportional to the specified flex factor
+        /// Child Property of FlexContainer.<br>
+        /// The proportion of the free space in the container the flex item will receive.<br>
+        /// If all items in the container set this property, their sizes will be proportional to the specified flex factor.<br>
         /// </summary> 
         public float Flex
         {
@@ -1117,8 +1109,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Child Property of FlexContainer
-        /// The alignment of the flex item along the cross axis, which, if set, overides the default alignment for all items in the container
+        /// Child Property of FlexContainer.<br>
+        /// The alignment of the flex item along the cross axis, which, if set, overides the default alignment for all items in the container.<br>
         /// </summary> 
         public int AlignSelf
         {
@@ -1135,8 +1127,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Child Property of FlexContainer
-        /// The space around the flex item
+        /// Child Property of FlexContainer.<br>
+        /// The space around the flex item.<br>
         /// </summary> 
         public Vector4 FlexMargin
         {
@@ -1238,9 +1230,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The left focusable view.
-        /// This will return NULL if not set.
-        /// This will also return NULL if the specified left focusable view is not on stage.
+        /// The left focusable view.<br>
+        /// This will return NULL if not set.<br>
+        /// This will also return NULL if the specified left focusable view is not on stage.<br>
         /// </summary>
         public View LeftFocusableView
         {
@@ -1260,9 +1252,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The right focusable view.
-        /// This will return NULL if not set.
-        /// This will also return NULL if the specified right focusable view is not on stage.
+        /// The right focusable view.<br>
+        /// This will return NULL if not set.<br>
+        /// This will also return NULL if the specified right focusable view is not on stage.<br>
         /// </summary>
         public View RightFocusableView
         {
@@ -1282,9 +1274,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The up focusable view.
-        /// This will return NULL if not set.
-        /// This will also return NULL if the specified up focusable view is not on stage.
+        /// The up focusable view.<br>
+        /// This will return NULL if not set.<br>
+        /// This will also return NULL if the specified up focusable view is not on stage.<br>
         /// </summary>
         public View UpFocusableView
         {
@@ -1304,9 +1296,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The down focusable view.
-        /// This will return NULL if not set.
-        /// This will also return NULL if the specified down focusable view is not on stage.
+        /// The down focusable view.<br>
+        /// This will return NULL if not set.<br>
+        /// This will also return NULL if the specified down focusable view is not on stage.<br>
         /// </summary>
         public View DownFocusableView
         {
index 91bb66e..155dca8 100755 (executable)
@@ -12,10 +12,10 @@ namespace Tizen.NUI
 {
 
     /// <summary>
-    /// Sets whether the actor should be focusable by keyboard navigation.
-    /// Visuals reuse geometry, shader etc. across controls. They ensure that the renderer and texture sets exist only when control is on-stage.
-    /// Each visual also responds to actor size and color change, and provides clipping at the renderer level.
-    /// Note: The visual responds to the the Actor::COLOR by blending it with the 'Multiply' operator.
+    /// Sets whether the actor should be focusable by keyboard navigation.<br>
+    /// Visuals reuse geometry, shader etc. across controls. They ensure that the renderer and texture sets exist only when control is on-stage.<br>
+    /// Each visual also responds to actor size and color change, and provides clipping at the renderer level.<br>
+    /// Note: The visual responds to the the Actor::COLOR by blending it with the 'Multiply' operator.<br>
     /// </summary>
     public class VisualBase : BaseHandle
     {
@@ -33,11 +33,16 @@ namespace Tizen.NUI
 
         ~VisualBase()
         {
-            Dispose();
+            DisposeQueue.Instance.Add(this);
         }
 
         public override void Dispose()
         {
+            if (!Stage.IsInstalled())
+            {
+                DisposeQueue.Instance.Add(this);
+                return;
+            }
             lock (this)
             {
                 if (swigCPtr.Handle != global::System.IntPtr.Zero)
@@ -138,9 +143,9 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Return the natural size of the visual.
-        /// Deriving classes stipulate the natural size and by default a visual has a ZERO natural size.
-        /// A visual may not actually have a natural size until it has been placed on stage and acquired all it's resources.
+        /// Return the natural size of the visual.<br>
+        /// Deriving classes stipulate the natural size and by default a visual has a ZERO natural size.<br>
+        /// A visual may not actually have a natural size until it has been placed on stage and acquired all it's resources.<br>
         /// </summary>
         /// <param name="naturalSize">The visual's natural size</param>
         public void GetNaturalSize(Size2D naturalSize)
index 2a1b65d..143c889 100755 (executable)
@@ -23,28 +23,44 @@ namespace Tizen.NUI
     /// </summary>
     public class VisualMap
     {
-        private Vector2 _visualSize = Vector2.Zero;
-        private Vector2 _visualOffset = Vector2.Zero;
-        private Vector2 _visualOffsetPolicy = new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute); // default absolute
-        private Vector2 _visualSizePolicy = new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute); // default absolute
-        private AlignType _visualOrigin = AlignType.TopBegin;
-        private AlignType _visualAnchorPoint = AlignType.TopBegin;
+        private Vector2 _visualSize = null;
+        private Vector2 _visualOffset = null;
+        private Vector2 _visualOffsetPolicy = null;
+        private Vector2 _visualSizePolicy = null;
+        private Visual.AlignType? _visualOrigin = null;
+        private Visual.AlignType? _visualAnchorPoint = null;
 
         private PropertyMap _visualTransformMap = null;
 
         private float _depthIndex = 0.0f;
         protected PropertyMap _outputVisualMap = null;
 
+        internal string Name
+        {
+            set;
+            get;
+        }
+        internal int VisualIndex
+        {
+            set;
+            get;
+        }
+        internal VisualView Parent
+        {
+            set;
+            get;
+        }
+
         public VisualMap()
         {
         }
 
         /// <summary>
-        /// Get or set size of the visual.
+        /// Get or set size of the visual.<br>
         /// It can be either relative (percentage of the parent)
-        /// or absolute (in world units).
+        /// or absolute (in world units).<br>
         /// </summary>
-        public Vector2 VisualSize
+        public Vector2 Size
         {
             get
             {
@@ -53,15 +69,16 @@ namespace Tizen.NUI
             set
             {
                 _visualSize = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set offset of the visual.
+        /// Get or set offset of the visual.<br>
         /// It can be either relative (percentage of the parent)
-        /// or absolute (in world units).
+        /// or absolute (in world units).<br>
         /// </summary>
-        public Vector2 Offset
+        public Vector2 Position
         {
             get
             {
@@ -70,16 +87,17 @@ namespace Tizen.NUI
             set
             {
                 _visualOffset = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set offset policy of the visual.
+        /// Get or set offset policy of the visual.<br>
         /// Indicates which components of the offset are relative
-        /// (percentage of the parent) or absolute (in world units).
-        /// 0 indicates the component is relative, and 1 absolute.
+        /// (percentage of the parent) or absolute (in world units).<br>
+        /// 0 indicates the component is relative, and 1 absolute.<br>
         /// </summary>
-        public Vector2 OffsetPolicy
+        public Vector2 PositionPolicy
         {
             get
             {
@@ -88,14 +106,15 @@ namespace Tizen.NUI
             set
             {
                 _visualOffsetPolicy = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set size policy of the visual.
+        /// Get or set size policy of the visual.<br>
         /// Indicates which components of the size are relative
-        /// (percentage of the parent) or absolute (in world units).
-        /// 0 indicates the component is relative, and 1 absolute.
+        /// (percentage of the parent) or absolute (in world units).<br>
+        /// 0 indicates the component is relative, and 1 absolute.<br>
         /// </summary>
         public Vector2 SizePolicy
         {
@@ -106,36 +125,39 @@ namespace Tizen.NUI
             set
             {
                 _visualSizePolicy = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
         /// Get or set the origin of the visual within its control area.
         /// </summary>
-        public AlignType Origin
+        public Visual.AlignType Origin
         {
             get
             {
-                return _visualOrigin;
+                return _visualOrigin ?? (Visual.AlignType)(-1);
             }
             set
             {
                 _visualOrigin = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
         /// Get or set the anchor-point of the visual.
         /// </summary>
-        public AlignType AnchorPoint
+        public Visual.AlignType AnchorPoint
         {
             get
             {
-                return _visualAnchorPoint;
+                return _visualAnchorPoint ?? (Visual.AlignType)(-1);
             }
             set
             {
                 _visualAnchorPoint = value;
+                UpdateVisual();
             }
         }
 
@@ -156,16 +178,13 @@ namespace Tizen.NUI
 
         private void ComposingTransformMap()
         {
-            if (_visualSize != Vector2.Zero)
-            {
-                _visualTransformMap = new PropertyMap();
-                _visualTransformMap.Add((int)VisualTransformPropertyType.Size, new PropertyValue(_visualSize));
-                _visualTransformMap.Add((int)VisualTransformPropertyType.Offset, new PropertyValue(_visualOffset));
-                _visualTransformMap.Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(_visualOffsetPolicy));
-                _visualTransformMap.Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(_visualSizePolicy));
-                _visualTransformMap.Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)_visualOrigin));
-                _visualTransformMap.Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)_visualAnchorPoint));
-            }
+            _visualTransformMap = new PropertyMap();
+            if (_visualSize != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Size, new PropertyValue(_visualSize)); }
+            if (_visualOffset != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Offset, new PropertyValue(_visualOffset)); }
+            if (_visualOffsetPolicy != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(_visualOffsetPolicy)); }
+            if (_visualSizePolicy != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(_visualSizePolicy)); }
+            if (_visualOrigin != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)_visualOrigin)); }
+            if (_visualAnchorPoint != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)_visualAnchorPoint)); }
         }
 
         /// <summary>
@@ -196,27 +215,41 @@ namespace Tizen.NUI
                 return _outputVisualMap;
             }
         }
+
+        internal void UpdateVisual()
+        {
+            if (VisualIndex > 0)
+            {
+                Tizen.Log.Debug("NUI", "UpdateVisual()! VisualIndex=" + VisualIndex);
+                Parent.UpdateVisual(VisualIndex, Name, this);
+            }
+            else
+            {
+                Tizen.Log.Debug("NUI", "VisualIndex was not set");
+            }
+        }
+
     }
 
     /// <summary>
     /// A class encapsulating the property map of a image visual.
     /// </summary>
-    public class ImageVisualMap : VisualMap
+    public class ImageVisual : VisualMap
     {
-        public ImageVisualMap() : base()
+        public ImageVisual() : base()
         {
         }
 
-        private string _url = "";
-        private FittingModeType _fittingMode = FittingModeType.ShrinkToFit;
-        private SamplingModeType _samplingMode = SamplingModeType.Box;
-        private int _desiredWidth = 0;
-        private int _desiredHeight = 0;
-        private bool _synchronousLoading = false;
-        private bool _borderOnly = false;
-        private Vector4 _pixelArea = new Vector4(0.0f, 0.0f, 1.0f, 1.0f);
-        private WrapModeType _wrapModeU = WrapModeType.ClampToEdge;
-        private WrapModeType _wrapModeV = WrapModeType.ClampToEdge;
+        private string _url = null;
+        private FittingModeType? _fittingMode = null;
+        private SamplingModeType? _samplingMode = null;
+        private int? _desiredWidth = null;
+        private int? _desiredHeight = null;
+        private bool? _synchronousLoading = false;
+        private bool? _borderOnly = null;
+        private Vector4 _pixelArea = null;
+        private WrapModeType? _wrapModeU = null;
+        private WrapModeType? _wrapModeV = null;
 
         /// <summary>
         /// Get or set the URL of the image.
@@ -230,117 +263,124 @@ namespace Tizen.NUI
             set
             {
                 _url = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set fitting options, used when resizing images to fit desired dimensions.
-        /// If not supplied, default is FittingMode::SHRINK_TO_FIT.
-        /// For Normal Quad images only.
+        /// Get or set fitting options, used when resizing images to fit desired dimensions.<br>
+        /// If not supplied, default is FittingMode::SHRINK_TO_FIT.<br>
+        /// For Normal Quad images only.<br>
         /// </summary>
         public FittingModeType FittingMode
         {
             get
             {
-                return _fittingMode;
+                return _fittingMode ?? (FittingModeType)(-1);
             }
             set
             {
                 _fittingMode = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set filtering options, used when resizing images to sample original pixels.
-        /// If not supplied, default is SamplingMode::BOX.
-        /// For Normal Quad images only.
+        /// Get or set filtering options, used when resizing images to sample original pixels.<br>
+        /// If not supplied, default is SamplingMode::BOX.<br>
+        /// For Normal Quad images only.<br>
         /// </summary>
         public SamplingModeType SamplingMode
         {
             get
             {
-                return _samplingMode;
+                return _samplingMode ?? (SamplingModeType)(-1);
             }
             set
             {
                 _samplingMode = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the desired image width.
-        /// If not specified, the actual image width is used.
-        /// For Normal Quad images only.
+        /// Get or set the desired image width.<br>
+        /// If not specified, the actual image width is used.<br>
+        /// For Normal Quad images only.<br>
         /// </summary>
         public int DesiredWidth
         {
             get
             {
-                return _desiredWidth;
+                return _desiredWidth ?? (-1);
             }
             set
             {
                 _desiredWidth = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the desired image height.
-        /// If not specified, the actual image height is used.
-        /// For Normal Quad images only.
+        /// Get or set the desired image height.<br>
+        /// If not specified, the actual image height is used.<br>
+        /// For Normal Quad images only.<br>
         /// </summary>
         public int DesiredHeight
         {
             get
             {
-                return _desiredHeight;
+                return _desiredHeight ?? (-1);
             }
             set
             {
                 _desiredHeight = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set whether to load the image synchronously.
-        /// If not specified, the default is false, i.e. the image is loaded asynchronously.
-        /// For Normal Quad images only.
+        /// Get or set whether to load the image synchronously.<br>
+        /// If not specified, the default is false, i.e. the image is loaded asynchronously.<br>
+        /// For Normal Quad images only.<br>
         /// </summary>
         public bool SynchronousLoading
         {
             get
             {
-                return _synchronousLoading;
+                return _synchronousLoading ?? false;
             }
             set
             {
                 _synchronousLoading = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set whether to draws the borders only(If true).
-        /// If not specified, the default is false.
-        /// For N-Patch images only.
+        /// Get or set whether to draws the borders only(If true).<br>
+        /// If not specified, the default is false.<br>
+        /// For N-Patch images only.<br>
         /// </summary>
         public bool BorderOnly
         {
             get
             {
-                return _borderOnly;
+                return _borderOnly ?? false;
             }
             set
             {
                 _borderOnly = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the image area to be displayed.
-        /// It is a rectangular area.
-        /// The first two elements indicate the top-left position of the area, and the last two elements are the area width and height respectively.
-        /// If not specified, the default value is [0.0, 0.0, 1.0, 1.0], i.e. the entire area of the image.
-        /// For For Normal QUAD image only.
+        /// Get or set the image area to be displayed.<br>
+        /// It is a rectangular area.<br>
+        /// The first two elements indicate the top-left position of the area, and the last two elements are the area width and height respectively.<br>
+        /// If not specified, the default value is [0.0, 0.0, 1.0, 1.0], i.e. the entire area of the image.<br>
+        /// For For Normal QUAD image only.<br>
         /// </summary>
         public Vector4 PixelArea
         {
@@ -351,93 +391,85 @@ namespace Tizen.NUI
             set
             {
                 _pixelArea = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the wrap mode for u coordinate.
-        /// It decides how the texture should be sampled when the u coordinate exceeds the range of 0.0 to 1.0.
-        /// If not specified, the default is CLAMP.
-        /// For Normal QUAD image only.
+        /// Get or set the wrap mode for u coordinate.<br>
+        /// It decides how the texture should be sampled when the u coordinate exceeds the range of 0.0 to 1.0.<br>
+        /// If not specified, the default is CLAMP.<br>
+        /// For Normal QUAD image only.<br>
         /// </summary>
         public WrapModeType WrapModeU
         {
             get
             {
-                return _wrapModeU;
+                return _wrapModeU ?? (WrapModeType)(-1);
             }
             set
             {
                 _wrapModeU = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the wrap mode for v coordinate.
-        /// It decides how the texture should be sampled when the v coordinate exceeds the range of 0.0 to 1.0.
-        /// The first two elements indicate the top-left position of the area, and the last two elements are the area width and height respectively.
-        /// If not specified, the default is CLAMP.
+        /// Get or set the wrap mode for v coordinate.<br>
+        /// It decides how the texture should be sampled when the v coordinate exceeds the range of 0.0 to 1.0.<br>
+        /// The first two elements indicate the top-left position of the area, and the last two elements are the area width and height respectively.<br>
+        /// If not specified, the default is CLAMP.<br>
         /// For Normal QUAD image only.
         /// </summary>
         public WrapModeType WrapModeV
         {
             get
             {
-                return _wrapModeV;
+                return _wrapModeV ?? (WrapModeType)(-1);
             }
             set
             {
                 _wrapModeV = value;
+                UpdateVisual();
             }
         }
 
         protected override void ComposingPropertyMap()
         {
-            if (_url != "")
-            {
-                _outputVisualMap = new PropertyMap();
-                _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Image));
-                _outputVisualMap.Add(ImageVisualProperty.URL, new PropertyValue(_url));
-                _outputVisualMap.Add(ImageVisualProperty.FittingMode, new PropertyValue((int)_fittingMode));
-                _outputVisualMap.Add(ImageVisualProperty.SamplingMode, new PropertyValue((int)_samplingMode));
-
-                if (_desiredWidth != 0)
-                {
-                    _outputVisualMap.Add(ImageVisualProperty.DesiredWidth, new PropertyValue(_desiredWidth));
-                }
-
-                if (_desiredHeight != 0)
-                {
-                    _outputVisualMap.Add(ImageVisualProperty.DesiredHeight, new PropertyValue(_desiredHeight));
-                }
-
-                _outputVisualMap.Add(ImageVisualProperty.SynchronousLoading, new PropertyValue(_synchronousLoading));
-                _outputVisualMap.Add(ImageVisualProperty.BorderOnly, new PropertyValue(_borderOnly));
-                _outputVisualMap.Add(ImageVisualProperty.PixelArea, new PropertyValue(_pixelArea));
-                _outputVisualMap.Add(ImageVisualProperty.WrapModeU, new PropertyValue((int)_wrapModeU));
-                _outputVisualMap.Add(ImageVisualProperty.WrapModeV, new PropertyValue((int)_wrapModeV));
-            }
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Image));
+            if (_url != null) { _outputVisualMap.Add(ImageVisualProperty.URL, new PropertyValue(_url)); }
+            if (_fittingMode != null) { _outputVisualMap.Add(ImageVisualProperty.FittingMode, new PropertyValue((int)_fittingMode)); }
+            if (_samplingMode != null) { _outputVisualMap.Add(ImageVisualProperty.SamplingMode, new PropertyValue((int)_samplingMode)); }
+            if (_desiredWidth != null) { _outputVisualMap.Add(ImageVisualProperty.DesiredWidth, new PropertyValue((int)_desiredWidth)); }
+            if (_desiredHeight != null) { _outputVisualMap.Add(ImageVisualProperty.DesiredHeight, new PropertyValue((int)_desiredHeight)); }
+            if (_synchronousLoading != null) { _outputVisualMap.Add(ImageVisualProperty.SynchronousLoading, new PropertyValue((bool)_synchronousLoading)); }
+            if (_borderOnly != null) { _outputVisualMap.Add(ImageVisualProperty.BorderOnly, new PropertyValue((bool)_borderOnly)); }
+            if (_pixelArea != null) { _outputVisualMap.Add(ImageVisualProperty.PixelArea, new PropertyValue(_pixelArea)); }
+            if (_wrapModeU != null) { _outputVisualMap.Add(ImageVisualProperty.WrapModeU, new PropertyValue((int)_wrapModeU)); }
+            if (_wrapModeV != null) { _outputVisualMap.Add(ImageVisualProperty.WrapModeV, new PropertyValue((int)_wrapModeV)); }
         }
+
     }
 
     /// <summary>
     /// A class encapsulating the property map of a text visual.
     /// </summary>
-    public class TextVisualMap : VisualMap
+    public class TextVisual : VisualMap
     {
-        public TextVisualMap() : base()
+        public TextVisual() : base()
         {
         }
 
-        private string _text = "";
-        private string _fontFamily = "";
+        private string _text = null;
+        private string _fontFamily = null;
         private PropertyMap _fontStyle = null;
-        private float _pointSize = 0.0f;
-        private bool _multiLine = false;
-        private string _horizontalAlignment = "BEGIN";
-        private string _verticalAlignment = "TOP";
-        private Color _textColor = Color.Black;
-        private bool _enableMarkup = false;
+        private float? _pointSize = null;
+        private bool? _multiLine = null;
+        private string _horizontalAlignment = null;
+        private string _verticalAlignment = null;
+        private Color _textColor = null;
+        private bool? _enableMarkup = null;
 
         /// <summary>
         /// Get or set the text to display in UTF-8 format.
@@ -451,6 +483,7 @@ namespace Tizen.NUI
             set
             {
                 _text = value;
+                UpdateVisual();
             }
         }
 
@@ -466,6 +499,7 @@ namespace Tizen.NUI
             set
             {
                 _fontFamily = value;
+                UpdateVisual();
             }
         }
 
@@ -481,6 +515,7 @@ namespace Tizen.NUI
             set
             {
                 _fontStyle = value;
+                UpdateVisual();
             }
         }
 
@@ -491,11 +526,12 @@ namespace Tizen.NUI
         {
             get
             {
-                return _pointSize;
+                return _pointSize ?? (-1.0f);
             }
             set
             {
                 _pointSize = value;
+                UpdateVisual();
             }
         }
 
@@ -506,17 +542,18 @@ namespace Tizen.NUI
         {
             get
             {
-                return _multiLine;
+                return _multiLine ?? false;
             }
             set
             {
                 _multiLine = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the line horizontal alignment.
-        /// If not specified, the default is BEGIN.
+        /// Get or set the line horizontal alignment.<br>
+        /// If not specified, the default is BEGIN.<br>
         /// </summary>
         public string HorizontalAlignment
         {
@@ -527,12 +564,13 @@ namespace Tizen.NUI
             set
             {
                 _horizontalAlignment = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the line vertical alignment.
-        /// If not specified, the default is TOP.
+        /// Get or set the line vertical alignment.<br>
+        /// If not specified, the default is TOP.<br>
         /// </summary>
         public string VerticalAlignment
         {
@@ -543,6 +581,7 @@ namespace Tizen.NUI
             set
             {
                 _verticalAlignment = value;
+                UpdateVisual();
             }
         }
 
@@ -558,6 +597,7 @@ namespace Tizen.NUI
             set
             {
                 _textColor = value;
+                UpdateVisual();
             }
         }
 
@@ -568,58 +608,43 @@ namespace Tizen.NUI
         {
             get
             {
-                return _enableMarkup;
+                return _enableMarkup ?? false;
             }
             set
             {
                 _enableMarkup = value;
+                UpdateVisual();
             }
         }
 
         protected override void ComposingPropertyMap()
         {
-            if (_text != "")
-            {
-                _outputVisualMap = new PropertyMap();
-                _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
-                _outputVisualMap.Add(TextVisualProperty.Text, new PropertyValue(_text));
-
-                if (_fontFamily != "")
-                {
-                    _outputVisualMap.Add(TextVisualProperty.FontFamily, new PropertyValue(_fontFamily));
-                }
-
-                if (_fontStyle != null)
-                {
-                    _outputVisualMap.Add(TextVisualProperty.FontStyle, new PropertyValue(_fontStyle));
-                }
-
-                if (_pointSize != 0)
-                {
-                    _outputVisualMap.Add(TextVisualProperty.PointSize, new PropertyValue(_pointSize));
-                }
-
-                _outputVisualMap.Add(TextVisualProperty.MultiLine, new PropertyValue(_multiLine));
-                _outputVisualMap.Add(TextVisualProperty.HorizontalAlignment, new PropertyValue(_horizontalAlignment));
-                _outputVisualMap.Add(TextVisualProperty.VerticalAlignment, new PropertyValue(_verticalAlignment));
-                _outputVisualMap.Add(TextVisualProperty.TextColor, new PropertyValue(_textColor));
-                _outputVisualMap.Add(TextVisualProperty.EnableMarkup, new PropertyValue(_enableMarkup));
-            }
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
+            if (_text != null) { _outputVisualMap.Add(TextVisualProperty.Text, new PropertyValue(_text)); }
+            if (_fontFamily != null) { _outputVisualMap.Add(TextVisualProperty.FontFamily, new PropertyValue(_fontFamily)); }
+            if (_fontStyle != null) { _outputVisualMap.Add(TextVisualProperty.FontStyle, new PropertyValue(_fontStyle)); }
+            if (_pointSize != null) { _outputVisualMap.Add(TextVisualProperty.PointSize, new PropertyValue((float)_pointSize)); }
+            if (_multiLine != null) { _outputVisualMap.Add(TextVisualProperty.MultiLine, new PropertyValue((bool)_multiLine)); }
+            if (_horizontalAlignment != null) { _outputVisualMap.Add(TextVisualProperty.HorizontalAlignment, new PropertyValue(_horizontalAlignment)); }
+            if (_verticalAlignment != null) { _outputVisualMap.Add(TextVisualProperty.VerticalAlignment, new PropertyValue(_verticalAlignment)); }
+            if (_textColor != null) { _outputVisualMap.Add(TextVisualProperty.TextColor, new PropertyValue(_textColor)); }
+            if (_enableMarkup != null) { _outputVisualMap.Add(TextVisualProperty.EnableMarkup, new PropertyValue((bool)_enableMarkup)); }
         }
     }
 
     /// <summary>
     /// A class encapsulating the property map of a border visual.
     /// </summary>
-    public class BorderVisualMap : VisualMap
+    public class BorderVisual : VisualMap
     {
-        public BorderVisualMap() : base()
+        public BorderVisual() : base()
         {
         }
 
-        private Color _color = Color.Black;
-        private float _size = 0.000001f;
-        private bool _antiAliasing = false;
+        private Color _color = null;
+        private float? _size = null;
+        private bool? _antiAliasing = null;
 
         /// <summary>
         /// Get or set the color of the border.
@@ -633,63 +658,63 @@ namespace Tizen.NUI
             set
             {
                 _color = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
         /// Get or set the width of the border (in pixels).
         /// </summary>
-        public float Size
+        public float BorderSize
         {
             get
             {
-                return _size;
+                return _size ?? (-1.0f);
             }
             set
             {
                 _size = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set whether anti-aliasing of the border is required.
-        /// If not supplied, default is false.
+        /// Get or set whether anti-aliasing of the border is required.<br>
+        /// If not supplied, default is false.<br>
         /// </summary>
         public bool AntiAliasing
         {
             get
             {
-                return _antiAliasing;
+                return _antiAliasing ?? false;
             }
             set
             {
                 _antiAliasing = value;
+                UpdateVisual();
             }
         }
 
         protected override void ComposingPropertyMap()
         {
-            if (_size > 0.000001f)
-            {
-                _outputVisualMap = new PropertyMap();
-                _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Border));
-                _outputVisualMap.Add(BorderVisualProperty.Color, new PropertyValue(_color));
-                _outputVisualMap.Add(BorderVisualProperty.Size, new PropertyValue(_size));
-                _outputVisualMap.Add(BorderVisualProperty.AntiAliasing, new PropertyValue(_antiAliasing));
-            }
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Border));
+            if (_color != null) { _outputVisualMap.Add(BorderVisualProperty.Color, new PropertyValue(_color)); }
+            if (_size != null) { _outputVisualMap.Add(BorderVisualProperty.Size, new PropertyValue((float)_size)); }
+            if (_antiAliasing != null) { _outputVisualMap.Add(BorderVisualProperty.AntiAliasing, new PropertyValue((bool)_antiAliasing)); }
         }
     }
 
     /// <summary>
     /// A class encapsulating the property map of a color visual.
     /// </summary>
-    public class ColorVisualMap : VisualMap
+    public class ColorVisual : VisualMap
     {
-        public ColorVisualMap() : base()
+        public ColorVisual() : base()
         {
         }
 
-        private Color _mixColor = Color.Black;
+        private Color _mixColor = null;
 
         /// <summary>
         /// Get or set the solid color required.
@@ -703,6 +728,7 @@ namespace Tizen.NUI
             set
             {
                 _mixColor = value;
+                UpdateVisual();
             }
         }
 
@@ -710,31 +736,31 @@ namespace Tizen.NUI
         {
             _outputVisualMap = new PropertyMap();
             _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Color));
-            _outputVisualMap.Add(ColorVisualProperty.MixColor, new PropertyValue(_mixColor));
+            if (_mixColor != null) { _outputVisualMap.Add(ColorVisualProperty.MixColor, new PropertyValue(_mixColor)); }
         }
     }
 
     /// <summary>
     /// A class encapsulating the property map of a gradient visual.
     /// </summary>
-    public class GradientVisualMap : VisualMap
+    public class GradientVisual : VisualMap
     {
-        public GradientVisualMap() : base()
+        public GradientVisual() : base()
         {
         }
 
-        private Vector2 _startPosition = Vector2.Zero;
-        private Vector2 _endPosition = Vector2.Zero;
-        private Vector2 _center = Vector2.Zero;
-        private float _radius = 0.000001f;
-        private PropertyArray _stopOffset = null; //0.0, 1.0
-        private PropertyArray _stopColor = null; // Color.Black, Color.Blue
-        private GradientVisualUnitsType _units = GradientVisualUnitsType.ObjectBoundingBox;
-        private GradientVisualSpreadMethodType _spreadMethod = GradientVisualSpreadMethodType.Pad;
+        private Vector2 _startPosition = null;
+        private Vector2 _endPosition = null;
+        private Vector2 _center = null;
+        private float? _radius = null;
+        private PropertyArray _stopOffset = null;
+        private PropertyArray _stopColor = null;
+        private GradientVisualUnitsType? _units = null;
+        private GradientVisualSpreadMethodType? _spreadMethod = null;
 
         /// <summary>
-        /// Get or set the start position of a linear gradient.
-        /// Mandatory for Linear.
+        /// Get or set the start position of a linear gradient.<br>
+        /// Mandatory for Linear.<br>
         /// </summary>
         public Vector2 StartPosition
         {
@@ -745,12 +771,13 @@ namespace Tizen.NUI
             set
             {
                 _startPosition = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the end position of a linear gradient.
-        /// Mandatory for Linear.
+        /// Get or set the end position of a linear gradient.<br>
+        /// Mandatory for Linear.<br>
         /// </summary>
         public Vector2 EndPosition
         {
@@ -761,12 +788,13 @@ namespace Tizen.NUI
             set
             {
                 _endPosition = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the center point of a radial gradient.
-        /// Mandatory for Radial.
+        /// Get or set the center point of a radial gradient.<br>
+        /// Mandatory for Radial.<br>
         /// </summary>
         public Vector2 Center
         {
@@ -777,29 +805,31 @@ namespace Tizen.NUI
             set
             {
                 _center = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the size of the radius of a radial gradient.
-        /// Mandatory for Radial.
+        /// Get or set the size of the radius of a radial gradient.<br>
+        /// Mandatory for Radial.<br>
         /// </summary>
         public float Radius
         {
             get
             {
-                return _radius;
+                return _radius ?? (-1.0f);
             }
             set
             {
                 _radius = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set all the stop offsets.
-        /// A PropertyArray of float.
-        /// If not supplied, default is 0.0f and 1.0f.
+        /// Get or set all the stop offsets.<br>
+        /// A PropertyArray of float.<br>
+        /// If not supplied, default is 0.0f and 1.0f.<br>
         /// </summary>
         public PropertyArray StopOffset
         {
@@ -810,13 +840,14 @@ namespace Tizen.NUI
             set
             {
                 _stopOffset = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the color at the stop offsets.
-        /// A PropertyArray of Color.
-        /// At least 2 values required to show a gradient.
+        /// Get or set the color at the stop offsets.<br>
+        /// A PropertyArray of Color.<br>
+        /// At least 2 values required to show a gradient.<br>
         /// </summary>
         public PropertyArray StopColor
         {
@@ -827,81 +858,75 @@ namespace Tizen.NUI
             set
             {
                 _stopColor = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set defines the coordinate system for certain attributes of the points in a gradient.
-        /// If not supplied, default is GradientVisualUnitsType.OBJECT_BOUNDING_BOX.
+        /// Get or set defines the coordinate system for certain attributes of the points in a gradient.<br>
+        /// If not supplied, default is GradientVisualUnitsType.OBJECT_BOUNDING_BOX.<br>
         /// </summary>
         public GradientVisualUnitsType Units
         {
             get
             {
-                return _units;
+                return _units ?? (GradientVisualUnitsType)(-1);
             }
             set
             {
                 _units = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set indicates what happens if the gradient starts or ends inside the bounds of the target rectangle.
-        /// If not supplied, default is GradientVisualSpreadMethodType.PAD.
+        /// Get or set indicates what happens if the gradient starts or ends inside the bounds of the target rectangle.<br>
+        /// If not supplied, default is GradientVisualSpreadMethodType.PAD.<br>
         /// </summary>
         public GradientVisualSpreadMethodType SpreadMethod
         {
             get
             {
-                return _spreadMethod;
+                return _spreadMethod ?? (GradientVisualSpreadMethodType)(-1);
             }
             set
             {
                 _spreadMethod = value;
+                UpdateVisual();
             }
         }
 
         protected override void ComposingPropertyMap()
         {
-            if (_startPosition != Vector2.Zero && _endPosition != Vector2.Zero && _center != Vector2.Zero
-                && _radius > 0.000001f && _stopColor != null)
-            {
-                _outputVisualMap = new PropertyMap();
-                _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Gradient));
-                _outputVisualMap.Add(GradientVisualProperty.StartPosition, new PropertyValue(_startPosition));
-                _outputVisualMap.Add(GradientVisualProperty.EndPosition, new PropertyValue(_endPosition));
-                _outputVisualMap.Add(GradientVisualProperty.Center, new PropertyValue(_center));
-                _outputVisualMap.Add(GradientVisualProperty.Radius, new PropertyValue(_radius));
-
-                if (_stopOffset != null)
-                {
-                    _outputVisualMap.Add(GradientVisualProperty.StopOffset, new PropertyValue(_stopOffset));
-                }
-
-                _outputVisualMap.Add(GradientVisualProperty.StopColor, new PropertyValue(_stopColor));
-                _outputVisualMap.Add(GradientVisualProperty.Units, new PropertyValue((int)_units));
-                _outputVisualMap.Add(GradientVisualProperty.SpreadMethod, new PropertyValue((int)_spreadMethod));
-            }
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Gradient));
+            if (_startPosition != null) { _outputVisualMap.Add(GradientVisualProperty.StartPosition, new PropertyValue(_startPosition)); }
+            if (_endPosition != null) { _outputVisualMap.Add(GradientVisualProperty.EndPosition, new PropertyValue(_endPosition)); }
+            if (_center != null) { _outputVisualMap.Add(GradientVisualProperty.Center, new PropertyValue(_center)); }
+            if (_radius != null) { _outputVisualMap.Add(GradientVisualProperty.Radius, new PropertyValue((float)_radius)); }
+            if (_stopOffset != null) { _outputVisualMap.Add(GradientVisualProperty.StopOffset, new PropertyValue(_stopOffset)); }
+            if (_stopColor != null) { _outputVisualMap.Add(GradientVisualProperty.StopColor, new PropertyValue(_stopColor)); }
+            if (_units != null) { _outputVisualMap.Add(GradientVisualProperty.Units, new PropertyValue((int)_units)); }
+            if (_spreadMethod != null) { _outputVisualMap.Add(GradientVisualProperty.SpreadMethod, new PropertyValue((int)_spreadMethod)); }
         }
     }
 
     /// <summary>
     /// A class encapsulating the property map of a mesh visual.
     /// </summary>
-    public class MeshVisualMap : VisualMap
+    public class MeshVisual : VisualMap
     {
-        public MeshVisualMap() : base()
+        public MeshVisual() : base()
         {
         }
 
-        private string _objectURL = "";
-        private string _materialtURL = "";
-        private string _texturesPath = "";
-        private MeshVisualShadingModeValue _shadingMode = MeshVisualShadingModeValue.TexturedWithDetailedSpecularLighting;
-        private bool _useMipmapping = true;
-        private bool _useSoftNormals = true;
-        private Vector3 _lightPosition = null; //default center of screen
+        private string _objectURL = null;
+        private string _materialtURL = null;
+        private string _texturesPath = null;
+        private MeshVisualShadingModeValue? _shadingMode = null;
+        private bool? _useMipmapping = null;
+        private bool? _useSoftNormals = null;
+        private Vector3 _lightPosition = null;
 
         /// <summary>
         /// Get or set the location of the ".obj" file.
@@ -915,12 +940,13 @@ namespace Tizen.NUI
             set
             {
                 _objectURL = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the location of the ".mtl" file.
-        /// If not specified, then a textureless object is assumed.
+        /// Get or set the location of the ".mtl" file.<br>
+        /// If not specified, then a textureless object is assumed.<br>
         /// </summary>
         public string MaterialtURL
         {
@@ -931,12 +957,13 @@ namespace Tizen.NUI
             set
             {
                 _materialtURL = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set path to the directory the textures (including gloss and normal) are stored in.
-        /// Mandatory if using material.
+        /// Get or set path to the directory the textures (including gloss and normal) are stored in.<br>
+        /// Mandatory if using material.<br>
         /// </summary>
         public string TexturesPath
         {
@@ -947,63 +974,67 @@ namespace Tizen.NUI
             set
             {
                 _texturesPath = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the type of shading mode that the mesh will use.
-        /// If anything the specified shading mode requires is missing, a simpler mode that can be handled with what has been supplied will be used instead.
-        /// If not specified, it will use the best it can support (will try MeshVisualShadingModeValue.TEXTURED_WITH_DETAILED_SPECULAR_LIGHTING first).
+        /// Get or set the type of shading mode that the mesh will use.<br>
+        /// If anything the specified shading mode requires is missing, a simpler mode that can be handled with what has been supplied will be used instead.<br>
+        /// If not specified, it will use the best it can support (will try MeshVisualShadingModeValue.TEXTURED_WITH_DETAILED_SPECULAR_LIGHTING first).<br>
         /// </summary>
         public MeshVisualShadingModeValue ShadingMode
         {
             get
             {
-                return _shadingMode;
+                return _shadingMode??(MeshVisualShadingModeValue)(-1);
             }
             set
             {
                 _shadingMode = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set whether to use mipmaps for textures or not.
-        /// If not specified, the default is true.
+        /// Get or set whether to use mipmaps for textures or not.<br>
+        /// If not specified, the default is true.<br>
         /// </summary>
         public bool UseMipmapping
         {
             get
             {
-                return _useMipmapping;
+                return _useMipmapping??false;
             }
             set
             {
                 _useMipmapping = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set whether to average normals at each point to smooth textures or not.
-        /// If not specified, the default is true.
+        /// Get or set whether to average normals at each point to smooth textures or not.<br>
+        /// If not specified, the default is true.<br>
         /// </summary>
         public bool UseSoftNormals
         {
             get
             {
-                return _useSoftNormals;
+                return _useSoftNormals??false;
             }
             set
             {
                 _useSoftNormals = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the position, in stage space, of the point light that applies lighting to the model.
+        /// Get or set the position, in stage space, of the point light that applies lighting to the model.<br>
         /// This is based off the stage's dimensions, so using the width and height of the stage halved will correspond to the center,
-        /// and using all zeroes will place the light at the top left corner.
-        /// If not specified, the default is an offset outwards from the center of the screen.
+        /// and using all zeroes will place the light at the top left corner.<br>
+        /// If not specified, the default is an offset outwards from the center of the screen.<br>
         /// </summary>
         public Vector3 LightPosition
         {
@@ -1014,77 +1045,66 @@ namespace Tizen.NUI
             set
             {
                 _lightPosition = value;
+                UpdateVisual();
             }
         }
 
         protected override void ComposingPropertyMap()
         {
-            if (_objectURL != "")
-            {
-                _outputVisualMap = new PropertyMap();
-                _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Mesh));
-                _outputVisualMap.Add(MeshVisualProperty.ObjectURL, new PropertyValue(_objectURL));
-
-                if (_materialtURL != "" && _texturesPath != "")
-                {
-                    _outputVisualMap.Add(MeshVisualProperty.MaterialtURL, new PropertyValue(_materialtURL));
-                    _outputVisualMap.Add(MeshVisualProperty.TexturesPath, new PropertyValue(_texturesPath));
-                }
-
-                _outputVisualMap.Add(MeshVisualProperty.ShadingMode, new PropertyValue((int)_shadingMode));
-                _outputVisualMap.Add(MeshVisualProperty.UseMipmapping, new PropertyValue(_useMipmapping));
-                _outputVisualMap.Add(MeshVisualProperty.UseSoftNormals, new PropertyValue(_useSoftNormals));
-
-                if (_lightPosition != null)
-                {
-                    _outputVisualMap.Add(MeshVisualProperty.LightPosition, new PropertyValue(_lightPosition));
-                }
-            }
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Mesh));
+            if (_objectURL != null) { _outputVisualMap.Add(MeshVisualProperty.ObjectURL, new PropertyValue(_objectURL)); }
+            if (_materialtURL != null) { _outputVisualMap.Add(MeshVisualProperty.MaterialtURL, new PropertyValue(_materialtURL)); }
+            if (_texturesPath != null) { _outputVisualMap.Add(MeshVisualProperty.TexturesPath, new PropertyValue(_texturesPath)); }
+            if (_shadingMode != null) { _outputVisualMap.Add(MeshVisualProperty.ShadingMode, new PropertyValue((int)_shadingMode)); }
+            if (_useMipmapping != null) { _outputVisualMap.Add(MeshVisualProperty.UseMipmapping, new PropertyValue((bool)_useMipmapping)); }
+            if (_useSoftNormals != null) { _outputVisualMap.Add(MeshVisualProperty.UseSoftNormals, new PropertyValue((bool)_useSoftNormals)); }
         }
     }
 
     /// <summary>
     /// A class encapsulating the property map of a primetive visual.
     /// </summary>
-    public class PrimitiveVisualMap : VisualMap
+    public class PrimitiveVisual : VisualMap
     {
-        public PrimitiveVisualMap() : base()
+        public PrimitiveVisual() : base()
         {
         }
 
-        private PrimitiveVisualShapeType _shape = PrimitiveVisualShapeType.Sphere;
-        private Color _mixColor = new Color(0.5f, 0.5f, 0.5f, 1.0f);
-        private int _slices = 128;
-        private int _stacks = 128;
-        private float _scaleTopRadius = 1.0f;
-        private float _scaleBottomRadius = 1.5f;
-        private float _scaleHeight = 3.0f;
-        private float _scaleRadius = 1.0f;
-        private Vector3 _scaleDimensions = Vector3.One;
-        private float _bevelPercentage = 0.0f;
-        private float _bevelSmoothness = 0.0f;
-        private Vector3 _lightPosition = null; // default ?? center of screen
+        private PrimitiveVisualShapeType? _shape = null;
+        private Color _mixColor = null;
+        private int? _slices = null;
+        private int? _stacks = null;
+        private float? _scaleTopRadius = null;
+        private float? _scaleBottomRadius = null;
+        private float? _scaleHeight = null;
+        private float? _scaleRadius = null;
+        private Vector3 _scaleDimensions = null;
+        private float? _bevelPercentage = null;
+        private float? _bevelSmoothness = null;
+        private Vector3 _lightPosition = null;
 
         /// <summary>
-        /// Get or set the specific shape to render.
-        /// If not specified, the default is PrimitiveVisualShapeType.SPHERE.
+        /// Get or set the specific shape to render.<br>
+        /// If not specified, the default is PrimitiveVisualShapeType.SPHERE.<br>
         /// </summary>
         public PrimitiveVisualShapeType Shape
         {
             get
             {
-                return _shape;
+                return _shape??(PrimitiveVisualShapeType)(-1);
             }
             set
             {
                 _shape = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the color of the shape.
-        /// If not specified, the default is Color(0.5, 0.5, 0.5, 1.0).
-        /// Applies to ALL shapes.
+        /// Get or set the color of the shape.<br>
+        /// If not specified, the default is Color(0.5, 0.5, 0.5, 1.0).<br>
+        /// Applies to ALL shapes.<br>
         /// </summary>
         public Color MixColor
         {
@@ -1095,130 +1115,137 @@ namespace Tizen.NUI
             set
             {
                 _mixColor = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the number of slices as you go around the shape.
-        /// For spheres and conical frustrums, this determines how many divisions there are as you go around the object.
-        /// If not specified, the default is 128.
-        /// The range is from 1 to 255.
+        /// Get or set the number of slices as you go around the shape.<br>
+        /// For spheres and conical frustrums, this determines how many divisions there are as you go around the object.<br>
+        /// If not specified, the default is 128.<br>
+        /// The range is from 1 to 255.<br>
         /// </summary>
         public int Slices
         {
             get
             {
-                return _slices;
+                return _slices??(-1);
             }
             set
             {
                 _slices = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the number of stacks as you go down the shape.
-        /// For spheres, 'stacks' determines how many layers there are as you go down the object.
-        /// If not specified, the default is 128.
-        /// The range is from 1 to 255.
+        /// Get or set the number of stacks as you go down the shape.<br>
+        /// For spheres, 'stacks' determines how many layers there are as you go down the object.<br>
+        /// If not specified, the default is 128.<br>
+        /// The range is from 1 to 255.<br>
         /// </summary>
         public int Stacks
         {
             get
             {
-                return _stacks;
+                return _stacks??(-1);
             }
             set
             {
                 _stacks = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the scale of the radius of the top circle of a conical frustrum.
-        /// If not specified, the default is 1.0f.
-        /// Applies to: - PrimitiveVisualShapeType.CONICAL_FRUSTRUM
-        /// Only values greater than or equal to 0.0f are accepted.
+        /// Get or set the scale of the radius of the top circle of a conical frustrum.<br>
+        /// If not specified, the default is 1.0f.<br>
+        /// Applies to: - PrimitiveVisualShapeType.CONICAL_FRUSTRUM<br>
+        /// Only values greater than or equal to 0.0f are accepted.<br>
         /// </summary>
         public float ScaleTopRadius
         {
             get
             {
-                return _scaleTopRadius;
+                return _scaleTopRadius ?? (-1.0f);
             }
             set
             {
                 _scaleTopRadius = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the scale of the radius of the bottom circle of a conical frustrum.
-        /// If not specified, the default is 1.5f.
-        /// Applies to:  - PrimitiveVisualShapeType.CONICAL_FRUSTRUM
-        ///              - PrimitiveVisualShapeType.CONE
-        /// Only values greater than or equal to 0.0f are accepted.
+        /// Get or set the scale of the radius of the bottom circle of a conical frustrum.<br>
+        /// If not specified, the default is 1.5f.<br>
+        /// Applies to:  - PrimitiveVisualShapeType.CONICAL_FRUSTRUM<br>
+        ///              - PrimitiveVisualShapeType.CONE<br>
+        /// Only values greater than or equal to 0.0f are accepted.<br>
         /// </summary>
         public float ScaleBottomRadius
         {
             get
             {
-                return _scaleBottomRadius;
+                return _scaleBottomRadius ?? (-1.0f);
             }
             set
             {
                 _scaleBottomRadius = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the scale of the height of a conic.
-        /// If not specified, the default is 3.0f.
-        /// Applies to:
-        ///      - Shape::CONICAL_FRUSTRUM
-        ///      - Shape::CONE
-        ///      - Shape::CYLINDER
-        /// Only values greater than or equal to 0.0f are accepted.
+        /// Get or set the scale of the height of a conic.<br>
+        /// If not specified, the default is 3.0f.<br>
+        /// Applies to:<br>
+        ///      - Shape::CONICAL_FRUSTRUM<br>
+        ///      - Shape::CONE<br>
+        ///      - Shape::CYLINDER<br>
+        /// Only values greater than or equal to 0.0f are accepted.<br>
         /// </summary>
         public float ScaleHeight
         {
             get
             {
-                return _scaleHeight;
+                return _scaleHeight??(-1.0f);
             }
             set
             {
                 _scaleHeight = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the scale of the radius of a cylinder.
-        /// If not specified, the default is 1.0f.
-        /// Applies to:
-        ///      - Shape::CYLINDER
-        /// Only values greater than or equal to 0.0f are accepted.
+        /// Get or set the scale of the radius of a cylinder.<br>
+        /// If not specified, the default is 1.0f.<br>
+        /// Applies to:<br>
+        ///      - Shape::CYLINDER<br>
+        /// Only values greater than or equal to 0.0f are accepted.<br>
         /// </summary>
         public float ScaleRadius
         {
             get
             {
-                return _scaleRadius;
+                return _scaleRadius ?? (-1.0f);
             }
             set
             {
                 _scaleRadius = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the dimensions of a cuboid. Scales in the same fashion as a 9-patch image.
-        /// If not specified, the default is Vector3.One.
-        /// Applies to:
-        ///      - Shape::CUBE
-        ///      - Shape::OCTAHEDRON
-        ///      - Shape::BEVELLED_CUBE
-        /// Each vector3 parameter should be greater than or equal to 0.0f.
+        /// Get or set the dimensions of a cuboid. Scales in the same fashion as a 9-patch image.<br>
+        /// If not specified, the default is Vector3.One.<br>
+        /// Applies to:<br>
+        ///      - Shape::CUBE<br>
+        ///      - Shape::OCTAHEDRON<br>
+        ///      - Shape::BEVELLED_CUBE<br>
+        /// Each vector3 parameter should be greater than or equal to 0.0f.<br>
         /// </summary>
         public Vector3 ScaleDimensions
         {
@@ -1229,53 +1256,56 @@ namespace Tizen.NUI
             set
             {
                 _scaleDimensions = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set determines how bevelled the cuboid should be, based off the smallest dimension.
-        /// Bevel percentage ranges from 0.0 to 1.0. It affects the ratio of the outer face widths to the width of the overall cube.
-        /// If not specified, the default is 0.0f (no bevel).
-        /// Applies to:
-        ///      - Shape::BEVELLED_CUBE
-        /// The range is from 0.0f to 1.0f.
+        /// Get or set determines how bevelled the cuboid should be, based off the smallest dimension.<br>
+        /// Bevel percentage ranges from 0.0 to 1.0. It affects the ratio of the outer face widths to the width of the overall cube.<br>
+        /// If not specified, the default is 0.0f (no bevel).<br>
+        /// Applies to:<br>
+        ///      - Shape::BEVELLED_CUBE<br>
+        /// The range is from 0.0f to 1.0f.<br>
         /// </summary>
         public float BevelPercentage
         {
             get
             {
-                return _bevelPercentage;
+                return _bevelPercentage ?? (-1.0f);
             }
             set
             {
                 _bevelPercentage = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set defines how smooth the bevelled edges should be.
-        /// If not specified, the default is 0.0f (sharp edges).
-        /// Applies to:
-        ///      - Shape::BEVELLED_CUBE
-        /// The range is from 0.0f to 1.0f.
+        /// Get or set defines how smooth the bevelled edges should be.<br>
+        /// If not specified, the default is 0.0f (sharp edges).<br>
+        /// Applies to:<br>
+        ///      - Shape::BEVELLED_CUBE<br>
+        /// The range is from 0.0f to 1.0f.<br>
         /// </summary>
         public float BevelSmoothness
         {
             get
             {
-                return _bevelSmoothness;
+                return _bevelSmoothness ?? (-1.0f);
             }
             set
             {
                 _bevelSmoothness = value;
+                UpdateVisual();
             }
         }
 
         /// <summary>
-        /// Get or set the position, in stage space, of the point light that applies lighting to the model.
+        /// Get or set the position, in stage space, of the point light that applies lighting to the model.<br>
         /// This is based off the stage's dimensions, so using the width and height of the stage halved will correspond to the center,
-        /// and using all zeroes will place the light at the top left corner.
-        /// If not specified, the default is an offset outwards from the center of the screen.
+        /// and using all zeroes will place the light at the top left corner.<br>
+        /// If not specified, the default is an offset outwards from the center of the screen.<br>
         /// Applies to ALL shapes.
         /// </summary>
         public Vector3 LightPosition
@@ -1287,6 +1317,7 @@ namespace Tizen.NUI
             set
             {
                 _lightPosition = value;
+                UpdateVisual();
             }
         }
 
@@ -1294,26 +1325,98 @@ namespace Tizen.NUI
         {
             _outputVisualMap = new PropertyMap(); ;
             _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Primitive));
-            _outputVisualMap.Add(PrimitiveVisualProperty.Shape, new PropertyValue((int)_shape));
-            _outputVisualMap.Add(PrimitiveVisualProperty.MixColor, new PropertyValue(_mixColor));
-            _outputVisualMap.Add(PrimitiveVisualProperty.Slices, new PropertyValue(_slices));
-            _outputVisualMap.Add(PrimitiveVisualProperty.Stacks, new PropertyValue(_stacks));
-            _outputVisualMap.Add(PrimitiveVisualProperty.ScaleTopRadius, new PropertyValue(_scaleTopRadius));
-            _outputVisualMap.Add(PrimitiveVisualProperty.ScaleBottomRadius, new PropertyValue(_scaleBottomRadius));
-            _outputVisualMap.Add(PrimitiveVisualProperty.ScaleHeight, new PropertyValue(_scaleHeight));
-            _outputVisualMap.Add(PrimitiveVisualProperty.ScaleRadius, new PropertyValue(_scaleRadius));
-            _outputVisualMap.Add(PrimitiveVisualProperty.ScaleDimensions, new PropertyValue(_scaleDimensions));
-            _outputVisualMap.Add(PrimitiveVisualProperty.BevelPercentage, new PropertyValue(_bevelPercentage));
-            _outputVisualMap.Add(PrimitiveVisualProperty.BevelSmoothness, new PropertyValue(_bevelSmoothness));
+            if (_shape != null) { _outputVisualMap.Add(PrimitiveVisualProperty.Shape, new PropertyValue((int)_shape)); }
+            if (_mixColor != null) { _outputVisualMap.Add(PrimitiveVisualProperty.MixColor, new PropertyValue(_mixColor)); }
+            if (_slices != null) { _outputVisualMap.Add(PrimitiveVisualProperty.Slices, new PropertyValue((int)_slices)); }
+            if (_stacks != null) { _outputVisualMap.Add(PrimitiveVisualProperty.Stacks, new PropertyValue((int)_stacks)); }
+            if (_scaleTopRadius != null) { _outputVisualMap.Add(PrimitiveVisualProperty.ScaleTopRadius, new PropertyValue((float)_scaleTopRadius)); }
+            if (_scaleBottomRadius != null) { _outputVisualMap.Add(PrimitiveVisualProperty.ScaleBottomRadius, new PropertyValue((float)_scaleBottomRadius)); }
+            if (_scaleHeight != null) { _outputVisualMap.Add(PrimitiveVisualProperty.ScaleHeight, new PropertyValue((float)_scaleHeight)); }
+            if (_scaleRadius != null) { _outputVisualMap.Add(PrimitiveVisualProperty.ScaleRadius, new PropertyValue((float)_scaleRadius)); }
+            if (_scaleDimensions != null) { _outputVisualMap.Add(PrimitiveVisualProperty.ScaleDimensions, new PropertyValue(_scaleDimensions)); }
+            if (_bevelPercentage != null) { _outputVisualMap.Add(PrimitiveVisualProperty.BevelPercentage, new PropertyValue((float)_bevelPercentage)); }
+            if (_bevelSmoothness != null) { _outputVisualMap.Add(PrimitiveVisualProperty.BevelSmoothness, new PropertyValue((float)_bevelSmoothness)); }
+            if (_lightPosition != null) { _outputVisualMap.Add(PrimitiveVisualProperty.LightPosition, new PropertyValue(_lightPosition)); }
+        }
+    }
+
+    /// <summary>
+    /// A class encapsulating the property map of a n-patch image visual.
+    /// </summary>
+    public class NPatchVisual : VisualMap
+    {
+        public NPatchVisual() : base()
+        {
+        }
+
+        private string _url = null;
+        private bool? _borderOnly = null;
+        private Rectangle _border = null;
+
+        /// <summary>
+        /// Get or set the URL of the image.
+        /// </summary>
+        public string URL
+        {
+            get
+            {
+                return _url;
+            }
+            set
+            {
+                _url = value;
+                UpdateVisual();
+            }
+        }
 
-            if (_lightPosition != null)
+        /// <summary>
+        /// Get or set whether to draws the borders only(If true).<br>
+        /// If not specified, the default is false.<br>
+        /// For N-Patch images only.<br>
+        /// </summary>
+        public bool BorderOnly
+        {
+            get
+            {
+                return _borderOnly ?? false;
+            }
+            set
             {
-                _outputVisualMap.Add(PrimitiveVisualProperty.LightPosition, new PropertyValue(_lightPosition));
+                _borderOnly = value;
+                UpdateVisual();
             }
         }
+
+        /// <summary>
+        ///  The border of the image in the order: left, right, bottom, top.
+        /// </summary>
+        public Rectangle Border
+        {
+            get
+            {
+                return _border;
+            }
+            set
+            {
+                _border = value;
+                UpdateVisual();
+            }
+        }
+
+        protected override void ComposingPropertyMap()
+        {
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.NPatch));
+            if (_url != null) { _outputVisualMap.Add(NpatchImageVisualProperty.URL, new PropertyValue(_url)); }
+            if (_borderOnly != null) { _outputVisualMap.Add(NpatchImageVisualProperty.BorderOnly, new PropertyValue((bool)_borderOnly)); }
+            if (_border != null) { _outputVisualMap.Add(NpatchImageVisualProperty.Border, new PropertyValue(_border)); }
+        }
     }
 
 
+    /// <summary>
+    /// This specifies wrap mode types
+    /// </summary>
     public enum WrapModeType
     {
         Default = 0,
@@ -1322,12 +1425,19 @@ namespace Tizen.NUI
         MirroredRepeat
     }
 
+    /// <summary>
+    /// This specifies all kind os types of coordinate system for certain attributes of the points in a gradient.
+    /// </summary>
     public enum GradientVisualUnitsType
     {
         ObjectBoundingBox,
         UserSpace
     }
 
+    /// <summary>
+    /// This specifies SpreadMethod types.<br>
+    /// SpreadMethod defines what happens if the gradient starts or ends inside the bounds of the target rectangle.<br>
+    /// </summary>
     public enum GradientVisualSpreadMethodType
     {
         Pad,
@@ -1335,6 +1445,9 @@ namespace Tizen.NUI
         Repeat
     }
 
+    /// <summary>
+    /// This specifies shading mode types.
+    /// </summary>
     public enum MeshVisualShadingModeValue
     {
         TexturelessWithDiffuseLighting,
@@ -1342,6 +1455,9 @@ namespace Tizen.NUI
         TexturedWithDetailedSpecularLighting
     }
 
+    /// <summary>
+    /// This specifies shape types.
+    /// </summary>
     public enum PrimitiveVisualShapeType
     {
         Sphere,
@@ -1353,6 +1469,11 @@ namespace Tizen.NUI
         BevelledCube
     }
 
+    /// <summary>
+    /// This specifies fitting mode types. Fitting options, used when resizing images to fit desired dimensions.<br>
+    /// A fitting mode controls the region of a loaded image to be mapped to the desired image rectangle.<br>
+    /// All fitting modes preserve the aspect ratio of the image contents.<br>
+    /// </summary>
     public enum FittingModeType
     {
         ShrinkToFit,
@@ -1361,6 +1482,12 @@ namespace Tizen.NUI
         FitHeight
     }
 
+    /// <summary>
+    /// This specifies sampling mode types. Filtering options, used when resizing images to sample original pixels.<br>
+    /// A SamplingMode controls how pixels in an input image are sampled and combined to generate each pixel of a destination image during a scaling.<br>
+    /// NoFilter and Box modes do not guarantee that the output pixel array exactly matches the rectangle specified by the desired dimensions and FittingMode,
+    /// but all other filter modes do if the desired dimensions are `<=` the raw dimensions of the input image file.<br>
+    /// </summary>
     public enum SamplingModeType
     {
         Box,
@@ -1372,25 +1499,18 @@ namespace Tizen.NUI
         DontCare
     }
 
+    /// <summary>
+    /// This specifies policy types that could be used by the transform for the offset or size.
+    /// </summary>
     public enum VisualTransformPolicyType
     {
         Relative = 0,
         Absolute = 1
     }
 
-    public enum AlignType
-    {
-        TopBegin = 0,
-        TopCenter,
-        TopEnd,
-        CenterBegin,
-        Center,
-        CenterEnd,
-        BottomBegin,
-        BottomCenter,
-        BottomEnd
-    }
-
+    /// <summary>
+    /// This specifies all the transform property types.
+    /// </summary>
     public enum VisualTransformPropertyType
     {
         Offset,
@@ -1401,6 +1521,9 @@ namespace Tizen.NUI
         SizePolicy
     }
 
+    /// <summary>
+    /// This specifies visual types.
+    /// </summary>
     public struct Visual
     {
         public enum Type
@@ -1412,9 +1535,15 @@ namespace Tizen.NUI
             Mesh,
             Primitive,
             Wireframe,
-            Text
+            Text,
+            NPatch,
+            SVG,
+            AnimatedImage
         }
 
+        /// <summary>
+        /// This specifies visual properties.
+        /// </summary>
         public struct Property
         {
             public static readonly int Type = NDalic.VISUAL_PROPERTY_TYPE;
@@ -1424,6 +1553,9 @@ namespace Tizen.NUI
             public static readonly int MixColor = NDalic.VISUAL_PROPERTY_MIX_COLOR;
         }
 
+        /// <summary>
+        /// This specifies shader properties.
+        /// </summary>
         public struct ShaderProperty
         {
             public static readonly int VertexShader = NDalic.VISUAL_SHADER_VERTEX;
@@ -1432,8 +1564,27 @@ namespace Tizen.NUI
             public static readonly int ShaderSubdivideGridY = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_Y;
             public static readonly int ShaderHints = NDalic.VISUAL_SHADER_HINTS;
         }
+
+        /// <summary>
+        /// This specifies Visaul align types.
+        /// </summary>
+        public enum AlignType
+        {
+            TopBegin = 0,
+            TopCenter,
+            TopEnd,
+            CenterBegin,
+            Center,
+            CenterEnd,
+            BottomBegin,
+            BottomCenter,
+            BottomEnd
+        }
     }
 
+    /// <summary>
+    /// This specifies properties of BorderVisual.
+    /// </summary>
     public struct BorderVisualProperty
     {
         public static readonly int Color = NDalic.BORDER_VISUAL_COLOR;
@@ -1441,11 +1592,17 @@ namespace Tizen.NUI
         public static readonly int AntiAliasing = NDalic.BORDER_VISUAL_ANTI_ALIASING;
     }
 
+    /// <summary>
+    /// This specifies properties of ColorVisual.
+    /// </summary>
     public struct ColorVisualProperty
     {
         public static readonly int MixColor = NDalic.COLOR_VISUAL_MIX_COLOR;
     }
 
+    /// <summary>
+    /// This specifies properties of GradientVisual.
+    /// </summary>
     public struct GradientVisualProperty
     {
         public static readonly int StartPosition = NDalic.GRADIENT_VISUAL_START_POSITION;
@@ -1458,6 +1615,9 @@ namespace Tizen.NUI
         public static readonly int SpreadMethod = NDalic.GRADIENT_VISUAL_SPREAD_METHOD;
     }
 
+    /// <summary>
+    /// This specifies properties of ImageVisual.
+    /// </summary>
     public struct ImageVisualProperty
     {
         public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
@@ -1470,8 +1630,12 @@ namespace Tizen.NUI
         public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
         public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
         public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
+        public static readonly int Border = NDalic.IMAGE_VISUAL_BORDER;
     }
 
+    /// <summary>
+    /// This specifies properties of MeshVisual.
+    /// </summary>
     public struct MeshVisualProperty
     {
         public static readonly int ObjectURL = NDalic.MESH_VISUAL_OBJECT_URL;
@@ -1483,6 +1647,9 @@ namespace Tizen.NUI
         public static readonly int LightPosition = NDalic.MESH_VISUAL_LIGHT_POSITION;
     }
 
+    /// <summary>
+    /// This specifies properties of PrimitiveVisual.
+    /// </summary>
     public struct PrimitiveVisualProperty
     {
         public static readonly int Shape = NDalic.PRIMITIVE_VISUAL_SHAPE;
@@ -1499,6 +1666,9 @@ namespace Tizen.NUI
         public static readonly int LightPosition = NDalic.PRIMITIVE_VISUAL_LIGHT_POSITION;
     }
 
+    /// <summary>
+    /// This specifies properties of TextVisual.
+    /// </summary>
     public struct TextVisualProperty
     {
         public static readonly int Text = NDalic.TEXT_VISUAL_TEXT;
@@ -1512,5 +1682,201 @@ namespace Tizen.NUI
         public static readonly int EnableMarkup = NDalic.TEXT_VISUAL_ENABLE_MARKUP;
     }
 
+    /// <summary>
+    /// This specifies properties of NpatchImageVisual.
+    /// </summary>
+    public struct NpatchImageVisualProperty
+    {
+        public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
+        public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
+        public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
+        public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
+        public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
+        public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
+        public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
+        public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
+        public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
+        public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
+        public static readonly int Border = NDalic.IMAGE_VISUAL_WRAP_MODE_V + 1;
+    }
+
+    /// <summary>
+    /// A class encapsulating the property map of a SVG visual. 
+    /// </summary>
+    public class SVGVisual : VisualMap
+    {
+        public SVGVisual() : base()
+        {
+        }
+
+        private string _url = null;
+
+        public string URL
+        {
+            get
+            {
+                return _url;
+            }
+            set
+            {
+                _url = value;
+                UpdateVisual();
+            }
+        }
+
+        protected override void ComposingPropertyMap()
+        {
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.SVG));
+            if (_url != null) { _outputVisualMap.Add(ImageVisualProperty.URL, new PropertyValue(_url)); }
+        }
+    }
+
+    /// <summary>
+    /// A class encapsulating the property map of a Animated Image(AGIF) visual.
+    /// </summary>
+    public class AnimatedImageVisual : VisualMap
+    {
+        public AnimatedImageVisual() : base()
+        {
+        }
+
+        private string _url = null;
+
+        public string URL
+        {
+            get
+            {
+                return _url;
+            }
+            set
+            {
+                _url = value;
+                UpdateVisual();
+            }
+        }
+
+        protected override void ComposingPropertyMap()
+        {
+            _outputVisualMap = new PropertyMap();
+            _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.AnimatedImage));
+            if (_url != null) { _outputVisualMap.Add(ImageVisualProperty.URL, new PropertyValue(_url)); }
+        }
+    }
+
+    /// <summary>
+    /// A class encapsulating the property map of a visual transition(Animator).
+    /// </summary>
+    public class AnimatorVisual : VisualMap
+    {
+        public AnimatorVisual() : base()
+        {
+        }
+
+        private string _alphaFunction = null;
+        private int _startTime = 0;
+        private int _endTime = 0;
+        private string _target = null;
+        private string _propertyIndex = null;
+        private object _destinationValue = null;
+
+        public string AlphaFunction
+        {
+            get
+            {
+                return _alphaFunction;
+            }
+            set
+            {
+                _alphaFunction = value;
+            }
+        }
+
+        public int StartTime
+        {
+            get
+            {
+                return _startTime;
+            }
+            set
+            {
+                _startTime = value;
+            }
+        }
+
+        public int EndTime
+        {
+            get
+            {
+                return _endTime;
+            }
+            set
+            {
+                _endTime = value;
+            }
+        }
+
+        public string Target
+        {
+            get
+            {
+                return _target;
+            }
+            set
+            {
+                _target = value;
+            }
+        }
+
+        public string PropertyIndex
+        {
+            get
+            {
+                return _propertyIndex;
+            }
+            set
+            {
+                _propertyIndex = value;
+            }
+        }
+
+        public object DestinationValue
+        {
+            get
+            {
+                return _destinationValue;
+            }
+            set
+            {
+                _destinationValue = value;
+            }
+        }
+
+        protected override void ComposingPropertyMap()
+        {
+            PropertyMap _animator = new PropertyMap();
+            _animator.Add("alphaFunction", new PropertyValue(_alphaFunction));
+
+            PropertyMap _timePeriod = new PropertyMap();
+            _timePeriod.Add("duration", new PropertyValue((_endTime - _startTime) / 1000.0f));
+            _timePeriod.Add("delay", new PropertyValue(_startTime / 1000.0f));
+            _animator.Add("timePeriod", new PropertyValue(_timePeriod));
+
+            string _str1 = _propertyIndex.Substring(0, 1);
+            string _str2 = _propertyIndex.Substring(1);
+            string _str = _str1.ToLower() + _str2;
+            
+            //dynamic _obj = (object)_destinationValue;
+            PropertyValue val = PropertyValue.CreateFromObject(_destinationValue);
+
+            PropertyMap _transition = new PropertyMap();
+            _transition.Add("target", new PropertyValue(_target));
+            _transition.Add("property", new PropertyValue(_str));
+            _transition.Add("targetValue", new PropertyValue(val));
+            _transition.Add("animator", new PropertyValue(_animator));
+
+            _outputVisualMap = _transition;
+        }
+    }
 
 }
index 280956f..8ee1324 100755 (executable)
@@ -13,13 +13,13 @@ namespace Tizen.NUI
 
     /// <summary>
     /// The wheel event structure is used to store a wheel rolling, it facilitates
-    /// processing of the wheel rolling and passing to other libraries like Toolkit.
-    /// 
+    /// processing of the wheel rolling and passing to other libraries like Toolkit.<br>
+    /// <br>
     /// There is a key modifier which relates to keys like alt, shift and control functions are
-    /// supplied to check if they have been pressed when the wheel is being rolled.
-    /// 
-    /// We support a mouse device and there may be another custom device that support the wheel event. The device type is specified as \e type.
-    /// The mouse wheel event can be sent to the specific actor but the custom wheel event will be sent to the stage.
+    /// supplied to check if they have been pressed when the wheel is being rolled.<br>
+    /// <br>
+    /// We support a mouse device and there may be another custom device that support the wheel event. The device type is specified as \e type.<br>
+    /// The mouse wheel event can be sent to the specific actor but the custom wheel event will be sent to the stage.<br>
     /// </summary>
     public class Wheel : global::System.IDisposable
     {
index fac98d1..eb741e9 100755 (executable)
 
 namespace Tizen.NUI
 {
+
+    using System;
+    using System.Runtime.InteropServices;
+    
+
     /// <summary>
-    /// The window class is used internally for drawing.
-    /// A Window has an orientation and indicator properties.
+    /// The window class is used internally for drawing.<br>
+    /// A Window has an orientation and indicator properties.<br>
     /// </summary>
     public class Window : BaseHandle
     {
@@ -49,6 +54,9 @@ namespace Tizen.NUI
             DisposeQueue.Instance.Add(this);
         }
 
+        /// <summary>
+        /// To make Window instance be disposed.
+        /// </summary>
         public override void Dispose()
         {
             if (!Stage.IsInstalled())
@@ -73,24 +81,109 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// Sets the focus acceptable flag of an window as true.
+        /// </summary>
+        public void SetAcceptFocus(bool accept)
+        {
+            NDalicPINVOKE.SetAcceptFocus(swigCPtr, accept);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Retrieves whether the window is focus acceptable or not.
+        /// </summary>
+        public bool IsFocusAcceptable()
+        {
+            return NDalicPINVOKE.IsFocusAcceptable(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Shows the window if it is hidden.
+        /// </summary>
         public void Show()
         {
             NDalicPINVOKE.Show(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        /// <summary>
+        /// Hides the window if it is showing.
+        /// </summary>
         public void Hide()
         {
             NDalicPINVOKE.Hide(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        /// <summary>
+        /// Retrieves whether the window is visible or not.
+        /// </summary>
         public void IsVisible()
         {
             NDalicPINVOKE.IsVisible(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        public class WindowFocusChangedEventArgs : EventArgs
+        {
+            public bool FocusGained
+            {
+                get;
+                set;
+            }
+        }
+
+        private WindowFocusChangedEventCallbackType _windowFocusChangedEventCallback;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WindowFocusChangedEventCallbackType(bool focusGained);
+        private event EventHandler<WindowFocusChangedEventArgs> _windowFocusChangedEventHandler;
+
+        public event EventHandler<WindowFocusChangedEventArgs> WindowFocusChanged
+        {
+            add
+            {
+                if (_windowFocusChangedEventHandler == null)
+                {
+                    _windowFocusChangedEventCallback = OnWindowFocusedChanged;
+                    WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback);
+                }
+
+                _windowFocusChangedEventHandler += value;
+            }
+            remove
+            {
+                _windowFocusChangedEventHandler -= value;
+
+                if (_windowFocusChangedEventHandler == null && WindowFocusChangedSignal().Empty() == false)
+                {
+                    WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback);
+                }
+            }
+        }
+
+        private void OnWindowFocusedChanged(bool focusGained)
+        {
+            WindowFocusChangedEventArgs e = new WindowFocusChangedEventArgs();
+
+            e.FocusGained = focusGained;
+
+            if (_windowFocusChangedEventHandler != null)
+            {
+                _windowFocusChangedEventHandler(this, e);
+            }
+        }
+
+        public WindowFocusSignalType WindowFocusChangedSignal()
+        {
+            WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+
+
         /// <summary>
         /// Creates an initialized handle to a new Window.
         /// </summary>
@@ -171,8 +264,8 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// This sets the orientation of indicator bar.
-        /// It does not implicitly show the indicator if it is currently hidden.
+        /// This sets the orientation of indicator bar.<br>
+        /// It does not implicitly show the indicator if it is currently hidden.<br>
         /// </summary>
         /// <param name="orientation">The orientation</param>
         internal void RotateIndicator(Window.WindowOrientation orientation)
@@ -253,13 +346,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal SWIGTYPE_p_Dali__SignalT_void_fboolF_t IndicatorVisibilityChangedSignal()
-        {
-            SWIGTYPE_p_Dali__SignalT_void_fboolF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fboolF_t(NDalicPINVOKE.Window_IndicatorVisibilityChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Enumeration for orientation of the window is the way in which a rectangular page is oriented for normal viewing.
         /// </summary>