friend assembly, nuget lib test
authordongsug.song <dongsug.song@samsung.com>
Sat, 18 Mar 2017 13:51:56 +0000 (22:51 +0900)
committerdongsug.song <dongsug.song@samsung.com>
Tue, 21 Mar 2017 07:59:56 +0000 (16:59 +0900)
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
Change-Id: Ibbcae16b742d6423ba5993e6951095b003d86ef6

41 files changed:
NUISample2/NUISample2.sln [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/NUISample2.Tizen.cs [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/NUISample2.Tizen.csproj [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/NUISample2.Tizen.project.json [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/Properties/AssemblyInfo.cs [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/application-icon-0.png [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/arrow.png [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/background-blocks.jpg [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-0.jpg [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-1.jpg [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-2.jpg [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-3.jpg [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-4.jpg [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-5.jpg [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/image-1.jpg [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/image-2.jpg [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/image-3.jpg [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/not_yet_sign.png [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/star-dim.png [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/star-highlight.png [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/images/star-mod.png [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/json/control-dashboard-theme.json [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/json/control-dashboard.json [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/json/date-picker-template.json [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/json/date-picker-theme.json [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/json/date-picker.json [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/json/spin.json [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/res/json/style-example-theme-one.json [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/shared/res/NUISample2.Tizen.png [new file with mode: 0755]
NUISample2/NUISample2/NUISample2.Tizen/tizen-manifest.xml [new file with mode: 0755]
NUISamples/NUISamples.TizenTV/NUISamples.TizenTV.csproj
NUISamples/NUISamples.TizenTV/examples/hello-world.cs
Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST.sln [new file with mode: 0755]
Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/ActorTest.cs [new file with mode: 0755]
Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/Properties/AssemblyInfo.cs [new file with mode: 0755]
Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST.csproj [new file with mode: 0755]
Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/bin/Debug/Tizen.NUI.ExtTEST.dll [new file with mode: 0755]
Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/packages.config [new file with mode: 0755]
Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/test_make_key.snk [new file with mode: 0755]
src/Tizen.NUI/Tizen.NUI.csproj
src/Tizen.NUI/src/internal/FriendAssembly.cs [new file with mode: 0755]

diff --git a/NUISample2/NUISample2.sln b/NUISample2/NUISample2.sln
new file mode 100755 (executable)
index 0000000..c0ce68d
--- /dev/null
@@ -0,0 +1,22 @@
+\r
+Microsoft Visual Studio Solution File, Format Version 12.00\r
+# Visual Studio 14\r
+VisualStudioVersion = 14.0.25420.1\r
+MinimumVisualStudioVersion = 10.0.40219.1\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NUISample2.Tizen", "NUISample2\NUISample2.Tizen\NUISample2.Tizen.csproj", "{1BC32B91-AF24-45AE-99A7-ACF5E0740993}"\r
+EndProject\r
+Global\r
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+               Debug|Any CPU = Debug|Any CPU\r
+               Release|Any CPU = Release|Any CPU\r
+       EndGlobalSection\r
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+               {1BC32B91-AF24-45AE-99A7-ACF5E0740993}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {1BC32B91-AF24-45AE-99A7-ACF5E0740993}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {1BC32B91-AF24-45AE-99A7-ACF5E0740993}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+               {1BC32B91-AF24-45AE-99A7-ACF5E0740993}.Release|Any CPU.Build.0 = Release|Any CPU\r
+       EndGlobalSection\r
+       GlobalSection(SolutionProperties) = preSolution\r
+               HideSolutionNode = FALSE\r
+       EndGlobalSection\r
+EndGlobal\r
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/NUISample2.Tizen.cs b/NUISample2/NUISample2/NUISample2.Tizen/NUISample2.Tizen.cs
new file mode 100755 (executable)
index 0000000..e84a93a
--- /dev/null
@@ -0,0 +1,500 @@
+/*\r
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ *\r
+ */\r
+\r
+using System;\r
+using Tizen.NUI;\r
+\r
+namespace ControlDashboard\r
+{\r
+    class Example : NUIApplication\r
+    {\r
+        // This is simple structure to contain Control name and implement state at once\r
+        // name : control name\r
+        // isImplemented : the state which the control is implemented in public or not\r
+        private struct Item\r
+        {\r
+            public String name;\r
+            public bool isImplemented;\r
+\r
+            public Item(String name, bool isImplemented)\r
+            {\r
+                this.name = name;\r
+                this.isImplemented = isImplemented;\r
+            }\r
+        }\r
+\r
+        private TableView _contentContainer;\r
+        private Timer _timer;\r
+        private Stage _stage;\r
+        private Popup _popup;\r
+        private ProgressBar _progressBar;\r
+        private const string _resPath = "/home/owner/apps_rw/NUISample2.Tizen/res";\r
+\r
+        // List of items\r
+        private Item[] mViewList = {\r
+      new Item("PushButton", true),  new Item("DropDown", false),    new Item("Toggle", true),\r
+      new Item("InputField", false),  new Item("AnimateGif", false),  new Item("Loading", false),\r
+      new Item("ProgressBar", true), new Item("CheckBox", false),    new Item("RadioButton", true),\r
+      new Item("Tooltip", true),     new Item("Popup", true),       new Item("Toast", true),\r
+      new Item("ItemView", false),    new Item("CheckBox", true)\r
+    };\r
+\r
+        public Example() : base()\r
+        {\r
+        }\r
+\r
+        public Example(string stylesheet) : base(stylesheet)\r
+        {\r
+        }\r
+\r
+        public Example(string stylesheet, NUIApplication.WindowMode windowMode) : base(stylesheet, windowMode)\r
+        {\r
+        }\r
+\r
+        protected override void OnCreate()\r
+        {\r
+            base.OnCreate();\r
+            Initialize();\r
+        }\r
+\r
+        protected override void OnTerminate()\r
+        {\r
+            base.OnTerminate();\r
+        }\r
+\r
+        public void Initialize()\r
+        {\r
+            Console.WriteLine("Customized Application Initialize event handler");\r
+            _stage = Stage.Instance;\r
+            _stage.BackgroundColor = Color.White;\r
+            _stage.Key += _stage_Key;\r
+\r
+            // Top label\r
+            TextLabel topLabel = new TextLabel();\r
+            topLabel.WidthResizePolicy = ResizePolicyType.FillToParent;\r
+            topLabel.HeightResizePolicy = ResizePolicyType.SizeRelativeToParent;\r
+            topLabel.AnchorPoint = AnchorPoint.TopCenter;\r
+            topLabel.ParentOrigin = ParentOrigin.TopCenter;\r
+            topLabel.SetSizeModeFactor(new Vector3(0.0f, 0.1f, 0.0f));\r
+            topLabel.BackgroundColor = new Color(43.0f / 255.0f, 145.0f / 255.0f, 175.0f / 255.0f, 1.0f);\r
+            topLabel.TextColor = Color.White;\r
+            topLabel.Text = " DALi Views";\r
+            topLabel.HorizontalAlignment = "BEGIN";\r
+            topLabel.VerticalAlignment = "CENTER";\r
+            topLabel.PointSize = 42.0f;\r
+            _stage.GetDefaultLayer().Add(topLabel);\r
+            //StyleManager.Get().ApplyStyle(topLabel, _resPath + "/json/control-dashboard-theme.json", "TextFieldFontSize4");\r
+            topLabel.SetStyleName("TextFieldFontSize4");\r
+\r
+            // Grid container to contain items. Use tableView because FlexContainer support focus navigation just two direction ( up/down or left/right )\r
+            _contentContainer = new TableView(6, 5);\r
+            _contentContainer.WidthResizePolicy = ResizePolicyType.FillToParent;\r
+            _contentContainer.HeightResizePolicy = ResizePolicyType.SizeRelativeToParent;\r
+            _contentContainer.SetSizeModeFactor(new Vector3(0.0f, 0.9f, 0.0f));\r
+            _contentContainer.AnchorPoint = AnchorPoint.BottomCenter;\r
+            _contentContainer.ParentOrigin = ParentOrigin.BottomCenter;\r
+            _contentContainer.SetRelativeHeight(0, 0.07f);\r
+            _contentContainer.SetRelativeHeight(1, 0.26f);\r
+            _contentContainer.SetRelativeHeight(2, 0.07f);\r
+            _contentContainer.SetRelativeHeight(3, 0.26f);\r
+            _contentContainer.SetRelativeHeight(4, 0.07f);\r
+            _contentContainer.SetRelativeHeight(5, 0.26f);\r
+            _contentContainer.Focusable = (true);\r
+            _stage.GetDefaultLayer().Add(_contentContainer);\r
+\r
+            CreateContent();\r
+\r
+            FocusManager.Instance.PreFocusChange += OnPreFocusChange;\r
+        }\r
+\r
+        private void _stage_Key(object sender, Stage.KeyEventArgs e)\r
+        {\r
+            if (e.Key.KeyPressedName == "XF86Back")\r
+            {\r
+                OnTerminate();\r
+            }\r
+        }\r
+\r
+        // Callback for KeyboardFocusManager\r
+        private View OnPreFocusChange(object source, FocusManager.PreFocusChangeEventArgs e)\r
+        {\r
+            if (!e.ProposedView && !e.CurrentView)\r
+            {\r
+                e.ProposedView = View.DownCast(_contentContainer.GetChildAt(1));\r
+            }\r
+            return e.ProposedView;\r
+        }\r
+\r
+        private void CreateContent()\r
+        {\r
+            for (int i = 0; i < mViewList.Length; i++)\r
+            {\r
+                CreateItem(mViewList[i], i);\r
+            }\r
+        }\r
+\r
+        private void CreateItem(Item item, int idx)\r
+        {\r
+            // Make label for item\r
+            TextLabel itemLabel = new TextLabel("    " + item.name);\r
+            itemLabel.Size = new Vector3(_stage.Size.Width * 0.2f, _stage.Size.Height * 0.05f, 0.0f);\r
+            itemLabel.HorizontalAlignment = "BEGIN";\r
+            itemLabel.VerticalAlignment = "BOTTOM";\r
+            //itemLabel.PointSize = 18.0f;\r
+            _contentContainer.AddChild(itemLabel, new TableView.CellPosition(((uint)idx / 5) * 2, (uint)idx % 5));\r
+\r
+            // If item is implemented in public, attach it on stage\r
+            if (item.isImplemented)\r
+            {\r
+                if (item.name.CompareTo("PushButton") == 0)\r
+                {\r
+                    PushButton pushButton = new PushButton();\r
+                    pushButton.LabelText = "Push Button";\r
+                    pushButton.WidthResizePolicy = ResizePolicyType.FillToParent;\r
+                    pushButton.HeightResizePolicy = ResizePolicyType.FillToParent;\r
+                    pushButton.UnselectedColor = new Vector4(1.0f, 0.0f, 0.0f, 1.0f);\r
+                    pushButton.SelectedColor = new Vector4(0.0f, 1.0f, 0.0f, 1.0f);\r
+                    pushButton.Clicked += (obj, e) =>\r
+                    {\r
+                        Button sender = obj as Button;\r
+                        sender.LabelText = "Click Me";\r
+                        sender.UnselectedColor = new Vector4(0.0f, 0.0f, 1.0f, 1.0f);\r
+                        return true;\r
+                    };\r
+\r
+                    _contentContainer.AddChild(pushButton, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));\r
+                }\r
+                if (item.name.CompareTo("DropDown") == 0)\r
+                {\r
+\r
+                }\r
+                if (item.name.CompareTo("Toggle") == 0)\r
+                {\r
+                    ToggleButton toggleButton = new ToggleButton();\r
+                    PropertyArray array = new PropertyArray();\r
+                    array.Add(new PropertyValue(_resPath + "/images/star-highlight.png"));\r
+                    array.Add(new PropertyValue(_resPath + "/images/star-mod.png"));\r
+                    array.Add(new PropertyValue(_resPath + "/images/star-dim.png"));\r
+                    toggleButton.StateVisuals = array;\r
+\r
+                    PropertyArray tooltips = new PropertyArray();\r
+                    tooltips.Add(new PropertyValue("State A"));\r
+                    tooltips.Add(new PropertyValue("State B"));\r
+                    tooltips.Add(new PropertyValue("State C"));\r
+                    toggleButton.Tooltips = tooltips;\r
+\r
+                    toggleButton.WidthResizePolicy = ResizePolicyType.FillToParent;\r
+                    toggleButton.HeightResizePolicy = ResizePolicyType.FillToParent;\r
+                    toggleButton.Clicked += (obj, e) =>\r
+                    {\r
+                        Console.WriteLine("Toggle button state changed.");\r
+                        return true;\r
+                    };\r
+\r
+                    _contentContainer.AddChild(toggleButton, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));\r
+                }\r
+                if (item.name.CompareTo("InputField") == 0)\r
+                {\r
+\r
+                }\r
+                if (item.name.CompareTo("AnimateGif") == 0)\r
+                {\r
+\r
+                }\r
+                if (item.name.CompareTo("Loading") == 0)\r
+                {\r
+\r
+                }\r
+                if (item.name.CompareTo("ProgressBar") == 0)\r
+                {\r
+                    _progressBar = new ProgressBar();\r
+                    _progressBar.WidthResizePolicy = ResizePolicyType.FillToParent;\r
+                    _progressBar.HeightResizePolicy = ResizePolicyType.Fixed;\r
+                    _progressBar.Size2D = new Size2D(0, 100);\r
+\r
+                    _progressBar.ValueChanged += OnProgressBarValueChanged;\r
+\r
+                    _timer = new Timer(100);\r
+                    _timer.Tick += (obj, e) =>\r
+                    {\r
+                        float progress = (float)Math.Round(_progressBar.ProgressValue, 2);\r
+\r
+                        if (progress == 1.0f)\r
+                        {\r
+                            _progressBar.ProgressValue = 0.0f;\r
+                            _progressBar.SecondaryProgressValue = 0.01f;\r
+                        }\r
+                        else\r
+                        {\r
+                            _progressBar.ProgressValue = progress + 0.01f;\r
+                            _progressBar.SecondaryProgressValue = progress + 0.21f;\r
+                        }\r
+                        return true;\r
+                    };\r
+                    _timer.Start();\r
+\r
+                    _contentContainer.AddChild(_progressBar, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));\r
+                }\r
+                if (item.name.CompareTo("ScrollBar") == 0)\r
+                {\r
+\r
+                }\r
+                if (item.name.CompareTo("CheckBox") == 0)\r
+                {\r
+                    CheckBoxButton checkBoxButton = new CheckBoxButton();\r
+                    checkBoxButton.LabelText = "Yes";\r
+\r
+                    _contentContainer.AddChild(checkBoxButton, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));\r
+                }\r
+                if (item.name.CompareTo("RadioButton") == 0)\r
+                {\r
+                    TableView tableView = new TableView(2, 1);\r
+                    tableView.WidthResizePolicy = ResizePolicyType.FillToParent;\r
+                    tableView.HeightResizePolicy = ResizePolicyType.FillToParent;\r
+\r
+                    RadioButton rButton = new RadioButton();\r
+                    rButton.LabelText = "Yes";\r
+                    rButton.Selected = true;\r
+                    tableView.AddChild(rButton, new TableView.CellPosition(0, 0));\r
+\r
+                    rButton = new RadioButton();\r
+                    rButton.LabelText = "No";\r
+\r
+                    tableView.AddChild(rButton, new TableView.CellPosition(1, 0));\r
+\r
+                    _contentContainer.AddChild(tableView, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));\r
+                }\r
+                if (item.name.CompareTo("Tooltip") == 0)\r
+                {\r
+                    TableView tableView = new TableView(2, 1);\r
+                    tableView.WidthResizePolicy = ResizePolicyType.FillToParent;\r
+                    tableView.HeightResizePolicy = ResizePolicyType.FillToParent;\r
+\r
+                    // Create two push buttons and add them to a table view\r
+                    PushButton buttonWithSimpleTooltip = new PushButton();\r
+                    buttonWithSimpleTooltip.LabelText = "Tooltip with text only";\r
+                    buttonWithSimpleTooltip.UnselectedColor = new Vector4(0.5f, 0.5f, 0.7f, 1.0f);\r
+                    buttonWithSimpleTooltip.SelectedColor = new Vector4(0.7f, 0.5f, 0.7f, 1.0f);\r
+                    buttonWithSimpleTooltip.WidthResizePolicy = ResizePolicyType.FillToParent;\r
+                    tableView.AddChild(buttonWithSimpleTooltip, new TableView.CellPosition(0, 0));\r
+\r
+                    PushButton buttonWithIconTooltip = new PushButton();\r
+                    buttonWithIconTooltip.LabelText = "Tooltip with Text and Icon";\r
+                    buttonWithIconTooltip.WidthResizePolicy = ResizePolicyType.FillToParent;\r
+                    buttonWithIconTooltip.UnselectedColor = new Vector4(0.5f, 0.5f, 0.7f, 1.0f);\r
+                    buttonWithIconTooltip.SelectedColor = new Vector4(0.7f, 0.5f, 0.7f, 1.0f);\r
+                    tableView.AddChild(buttonWithIconTooltip, new TableView.CellPosition(1, 0));\r
+\r
+                    // Add a simple text only tooltip to the first push button\r
+                    buttonWithSimpleTooltip.TooltipText = "Simple Tooltip";\r
+\r
+                    // Create a property map for a tooltip with one icon and one text\r
+                    PropertyArray iconTooltipContent = new PropertyArray();\r
+\r
+                    PropertyMap iconVisual = new PropertyMap();\r
+                    iconVisual.Add(Tizen.NUI.Constants.Visual.Property.Type, new PropertyValue((int)Tizen.NUI.Constants.Visual.Type.Image))\r
+                      .Add(Tizen.NUI.Constants.ImageVisualProperty.URL, new PropertyValue(_resPath + "/images/star-highlight.png"));\r
+                    iconTooltipContent.Add(new PropertyValue(iconVisual));\r
+\r
+                    PropertyMap textVisual = new PropertyMap();\r
+                    textVisual.Add(Tizen.NUI.Constants.Visual.Property.Type, new PropertyValue((int)Tizen.NUI.Constants.Visual.Type.Text))\r
+                      .Add(Tizen.NUI.Constants.TextVisualProperty.Text, new PropertyValue("Tooltip with Icon"));\r
+                    iconTooltipContent.Add(new PropertyValue(textVisual));\r
+\r
+                    PropertyMap iconTooltip = new PropertyMap();\r
+                    iconTooltip.Add(Tizen.NUI.Constants.Tooltip.Property.Content, new PropertyValue(iconTooltipContent))\r
+                      .Add(Tizen.NUI.Constants.Tooltip.Property.Tail, new PropertyValue(true));\r
+\r
+                    // Add the tooltip with icon and text to the second push button\r
+                    buttonWithIconTooltip.Tooltip = iconTooltip;\r
+\r
+                    _contentContainer.AddChild(tableView, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));\r
+                }\r
+                if (item.name.CompareTo("Popup") == 0)\r
+                {\r
+                    PushButton button = new PushButton();\r
+                    button.LabelText = "Popup";\r
+                    button.ParentOrigin = ParentOrigin.Center;\r
+                    button.AnchorPoint = AnchorPoint.Center;\r
+                    button.MaximumSize = new Size2D(150, 100);\r
+                    _popup = CreatePopup();\r
+                    _popup.SetTitle(CreateTitle("Popup"));\r
+\r
+                    TextLabel text = new TextLabel("This will erase the file permanently. Are you sure?");\r
+                    text.BackgroundColor = Color.White;\r
+                    text.MultiLine = true;\r
+                    text.WidthResizePolicy = ResizePolicyType.FillToParent;\r
+                    text.HeightResizePolicy = ResizePolicyType.DimensionDependency;\r
+                    text.SetPadding(new PaddingType(10.0f, 10.0f, 20.0f, 0.0f));\r
+                    _popup.SetContent(text);\r
+                    _popup.Focusable = (true);\r
+                    _popup.SetDisplayState(Popup.DisplayStateType.Hidden);\r
+\r
+                    button.Clicked += (obj, ee) =>\r
+                    {\r
+                        _stage.GetDefaultLayer().Add(_popup);\r
+                        _popup.SetDisplayState(Popup.DisplayStateType.Shown);\r
+                        FocusManager.Instance.SetCurrentFocusView(View.DownCast((_popup.FindChildByName("Footer")).FindChildByName("OKButton")));\r
+                        return true;\r
+                    };\r
+                    _contentContainer.AddChild(button, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));\r
+                }\r
+                if (item.name.CompareTo("Toast") == 0)\r
+                {\r
+                    PushButton button = new PushButton();\r
+                    button.LabelText = "Toast";\r
+                    button.ParentOrigin = ParentOrigin.Center;\r
+                    button.AnchorPoint = AnchorPoint.Center;\r
+                    button.Clicked += (obj, ee) =>\r
+                    {\r
+                        TypeInfo typeInfo = new TypeInfo(TypeRegistry.Get().GetTypeInfo("PopupToast"));\r
+                        if (typeInfo)\r
+                        {\r
+                            BaseHandle baseHandle = typeInfo.CreateInstance();\r
+                            if (baseHandle)\r
+                            {\r
+                                Popup toast = Popup.DownCast(baseHandle);\r
+                                TextLabel text = new TextLabel("This is a Toast.\nIt will auto-hide itself");\r
+                                text.TextColor = Color.White;\r
+                                text.MultiLine = true;\r
+                                text.HorizontalAlignment = "center";\r
+                                toast.SetTitle(text);\r
+                                _stage.GetDefaultLayer().Add(toast);\r
+                                toast.SetDisplayState(Popup.DisplayStateType.Shown);\r
+                            }\r
+                        }\r
+                        return true;\r
+                    };\r
+                    _contentContainer.AddChild(button, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));\r
+                }\r
+                if (item.name.CompareTo("ItemView") == 0)\r
+                {\r
+\r
+                }\r
+            }\r
+            else\r
+            {\r
+                ImageView notSupportView = new ImageView(_resPath + "/images/not_yet_sign.png");\r
+                notSupportView.Size = new Vector3(_stage.Size.Width * 0.2f, _stage.Size.Height * 0.25f, 0.0f);\r
+                notSupportView.Focusable = (true);\r
+                _contentContainer.AddChild(notSupportView, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));\r
+            }\r
+        }\r
+        Popup CreatePopup()\r
+        {\r
+            Popup confirmationPopup = new Popup();\r
+\r
+            Actor footer = new Actor();\r
+            footer.Name = ("Footer");\r
+            footer.WidthResizePolicy = ResizePolicyType.FillToParent;\r
+            footer.HeightResizePolicy = ResizePolicyType.Fixed;\r
+            footer.Size = new Size(0.0f, 80.0f, 0.0f);\r
+            footer.ParentOrigin = ParentOrigin.Center;\r
+            footer.AnchorPoint = AnchorPoint.Center;\r
+\r
+            PushButton okButton = CreateOKButton();\r
+            okButton.ParentOrigin = ParentOrigin.Center;\r
+            okButton.AnchorPoint = AnchorPoint.Center;\r
+            okButton.WidthResizePolicy = ResizePolicyType.SizeFixedOffsetFromParent;\r
+            okButton.HeightResizePolicy = ResizePolicyType.SizeFixedOffsetFromParent;\r
+            okButton.SetSizeModeFactor(new Vector3(-20.0f, -20.0f, 0.0f));\r
+\r
+            PushButton cancelButton = CreateCancelButton();\r
+            cancelButton.ParentOrigin = ParentOrigin.Center;\r
+            cancelButton.AnchorPoint = AnchorPoint.Center;\r
+            cancelButton.WidthResizePolicy = ResizePolicyType.SizeFixedOffsetFromParent;\r
+            cancelButton.HeightResizePolicy = ResizePolicyType.SizeFixedOffsetFromParent;\r
+            cancelButton.SetSizeModeFactor(new Vector3(-20.0f, -20.0f, 0.0f));\r
+\r
+            TableView controlLayout = new TableView(1, 2);\r
+            controlLayout.ParentOrigin = ParentOrigin.Center;\r
+            controlLayout.AnchorPoint = AnchorPoint.Center;\r
+            controlLayout.WidthResizePolicy = ResizePolicyType.FillToParent;\r
+            controlLayout.HeightResizePolicy = ResizePolicyType.FillToParent;\r
+            controlLayout.SetCellPadding(new Size2D(10, 10));\r
+            controlLayout.SetRelativeWidth(0, 0.5f);\r
+            controlLayout.SetRelativeWidth(1, 0.5f);\r
+            controlLayout.SetCellAlignment(new TableView.CellPosition(0, 0), HorizontalAlignmentType.Center, VerticalAlignmentType.Center);\r
+            controlLayout.SetCellAlignment(new TableView.CellPosition(0, 1), HorizontalAlignmentType.Center, VerticalAlignmentType.Center);\r
+            controlLayout.AddChild(okButton, new TableView.CellPosition(0, 0));\r
+            controlLayout.AddChild(cancelButton, new TableView.CellPosition(0, 1));\r
+\r
+            footer.Add(controlLayout);\r
+\r
+            confirmationPopup.SetFooter(footer);\r
+            return confirmationPopup;\r
+        }\r
+        Actor CreateTitle(string title)\r
+        {\r
+            TextLabel titleActor = new TextLabel(title);\r
+            titleActor.TextColor = Color.White;\r
+            titleActor.MultiLine = true;\r
+            titleActor.HorizontalAlignment = "center";\r
+            return titleActor;\r
+        }\r
+\r
+        PushButton CreateOKButton()\r
+        {\r
+            PushButton okayButton = new PushButton();\r
+            okayButton.Name = ("OKButton");\r
+            okayButton.LabelText = "OK";\r
+            okayButton.Focusable = (true);\r
+            okayButton.Clicked += (obj, ee) =>\r
+            {\r
+                _popup.SetDisplayState(Popup.DisplayStateType.Hidden);\r
+                return true;\r
+            };\r
+            return okayButton;\r
+        }\r
+        PushButton CreateCancelButton()\r
+        {\r
+            PushButton cancelButton = new PushButton();\r
+            cancelButton.LabelText = "Cancel";\r
+            cancelButton.Focusable = (true);\r
+            cancelButton.Clicked += (obj, ee) =>\r
+            {\r
+                _popup.SetDisplayState(Popup.DisplayStateType.Hidden);\r
+                return true;\r
+            };\r
+            return cancelButton;\r
+        }\r
+\r
+        void OnProgressBarValueChanged(object source, ProgressBar.ValueChangedEventArgs e)\r
+        {\r
+            PropertyMap labelVisual = new PropertyMap();\r
+            labelVisual.Add(Tizen.NUI.Constants.Visual.Property.Type, new PropertyValue((int)Tizen.NUI.Constants.Visual.Type.Text))\r
+              .Add(Tizen.NUI.Constants.TextVisualProperty.Text, new PropertyValue(Math.Round(e.ProgressBar.ProgressValue, 2) + " / " + Math.Round(e.ProgressBar.SecondaryProgressValue, 2)))\r
+              .Add(Tizen.NUI.Constants.TextVisualProperty.PointSize, new PropertyValue(10.0f));\r
+            e.ProgressBar.LabelVisual = labelVisual;\r
+            return;\r
+        }\r
+\r
+\r
+        /// <summary>\r
+        /// The main entry point for the application.\r
+        /// </summary>\r
+\r
+        [STAThread]\r
+        static void Main(string[] args)\r
+        {\r
+            Tizen.Log.Debug("NUI", "control-dashboard app Main()");\r
+\r
+            Example example = new Example("/home/owner/apps_rw/NUISample2.Tizen/res/json/control-dashboard-theme.json");\r
+            example.Run(args);\r
+        }\r
+    }\r
+}\r
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/NUISample2.Tizen.csproj b/NUISample2/NUISample2/NUISample2.Tizen/NUISample2.Tizen.csproj
new file mode 100755 (executable)
index 0000000..bb5dc8e
--- /dev/null
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>8.0.30703</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectTypeGuids>{2F98DAC9-6F16-457B-AED7-D43CAC379341};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>\r
+    <ProjectGuid>{1BC32B91-AF24-45AE-99A7-ACF5E0740993}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>NUISample2.Tizen</RootNamespace>\r
+    <AssemblyName>NUISample2.Tizen</AssemblyName>\r
+    <FileAlignment>512</FileAlignment>\r
+    <DefaultLanguage>en-US</DefaultLanguage>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <TargetFrameworkIdentifier>DNXCore</TargetFrameworkIdentifier>\r
+    <TargetFrameworkVersion>v5.0</TargetFrameworkVersion>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+    <NuGetTargetMoniker>.NETCoreApp,Version=v1.0</NuGetTargetMoniker>\r
+    <NoStdLib>true</NoStdLib>\r
+    <NoWarn>$(NoWarn);1701</NoWarn>\r
+    <UseVSHostingProcess>false</UseVSHostingProcess>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>portable</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <OutputPath>bin\Debug\</OutputPath>\r
+    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>portable</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <OutputPath>bin\Release\</OutputPath>\r
+    <DefineConstants>TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <None Include="NUISample2.Tizen.project.json" />\r
+    <None Include="tizen-manifest.xml" />\r
+    <None Include="shared\res\NUISample2.Tizen.png" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Compile Include="NUISample2.Tizen.cs" />\r
+    <Compile Include="Properties\AssemblyInfo.cs" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="lib\" />\r
+    <Folder Include="res\" />\r
+  </ItemGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.\r
+               Other similar extension points exist, see Microsoft.Common.targets.\r
+       <Target Name="BeforeBuild">\r
+       </Target>\r
+       <Target Name="AfterBuild">\r
+       </Target>\r
+       -->\r
+  <PropertyGroup>\r
+    <!-- https://github.com/dotnet/corefxlab/tree/master/samples/NetCoreSample and\r
+                        https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/target-dotnetcore-with-msbuild\r
+               -->\r
+    <!-- We don't use any of MSBuild's resolution logic for resolving the framework, so just set these two\r
+                        properties to any folder that exists to skip the GetReferenceAssemblyPaths task (not target) and\r
+                        to prevent it from outputting a warning (MSB3644).\r
+               -->\r
+    <_TargetFrameworkDirectories>$(MSBuildThisFileDirectory)</_TargetFrameworkDirectories>\r
+    <_FullFrameworkReferenceAssemblyPaths>$(MSBuildThisFileDirectory)</_FullFrameworkReferenceAssemblyPaths>\r
+    <AutoUnifyAssemblyReferences>true</AutoUnifyAssemblyReferences>\r
+  </PropertyGroup>\r
+  <ProjectExtensions>\r
+    <VisualStudio>\r
+      <FlavorProperties GUID="{2F98DAC9-6F16-457B-AED7-D43CAC379341}" Configuration="Debug|Any CPU">\r
+        <ProjectCommonFlavorCfg />\r
+      </FlavorProperties>\r
+      <FlavorProperties GUID="{2F98DAC9-6F16-457B-AED7-D43CAC379341}" Configuration="Release|Any CPU">\r
+        <ProjectCommonFlavorCfg />\r
+      </FlavorProperties>\r
+    </VisualStudio>\r
+  </ProjectExtensions>\r
+</Project>
\ No newline at end of file
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/NUISample2.Tizen.project.json b/NUISample2/NUISample2/NUISample2.Tizen/NUISample2.Tizen.project.json
new file mode 100755 (executable)
index 0000000..96aa2d1
--- /dev/null
@@ -0,0 +1,27 @@
+{\r
+  "buildOptions": {\r
+    "emitEntryPoint": true,\r
+    "debugType": "portable",\r
+    "platform": "AnyCPU",\r
+    "preserveCompilationContext": true\r
+  },\r
+  "dependencies": {\r
+    "Microsoft.NETCore.App": {\r
+      "version": "1.0.0"\r
+    },\r
+    "Tizen.Library": "1.0.0-pre2",\r
+    "Tizen.NUI": "0.2.31"\r
+  },\r
+  "runtimes": {\r
+    "win": {},\r
+    "linux": {}\r
+  },\r
+  "frameworks": {\r
+    "netcoreapp1.0": {\r
+      "imports": [\r
+        "portable-net45+wp80+win81+wpa81",\r
+        "netstandard1.6"\r
+      ]\r
+    }\r
+  }\r
+}
\ No newline at end of file
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/Properties/AssemblyInfo.cs b/NUISample2/NUISample2/NUISample2.Tizen/Properties/AssemblyInfo.cs
new file mode 100755 (executable)
index 0000000..08a476a
--- /dev/null
@@ -0,0 +1,36 @@
+using System.Reflection;\r
+using System.Runtime.CompilerServices;\r
+using System.Runtime.InteropServices;\r
+\r
+// General Information about an assembly is controlled through the following\r
+// set of attributes. Change these attribute values to modify the information\r
+// associated with an assembly.\r
+[assembly: AssemblyTitle("NUISample2.Tizen")]\r
+[assembly: AssemblyDescription("")]\r
+[assembly: AssemblyConfiguration("")]\r
+[assembly: AssemblyCompany("Microsoft")]\r
+[assembly: AssemblyProduct("NUISample2.Tizen")]\r
+[assembly: AssemblyCopyright("Copyright © Microsoft 2017")]\r
+[assembly: AssemblyTrademark("")]\r
+[assembly: AssemblyCulture("")]\r
+\r
+// Setting ComVisible to false makes the types in this assembly not visible\r
+// to COM components.  If you need to access a type in this assembly from\r
+// COM, set the ComVisible attribute to true on that type.\r
+[assembly: ComVisible(false)]\r
+\r
+// The following GUID is for the ID of the typelib if this project is exposed to COM\r
+[assembly: Guid("1bc32b91-af24-45ae-99a7-acf5e0740993")]\r
+\r
+// Version information for an assembly consists of the following four values:\r
+//\r
+//      Major Version\r
+//      Minor Version\r
+//      Build Number\r
+//      Revision\r
+//\r
+// You can specify all the values or you can default the Build and Revision Numbers\r
+// by using the '*' as shown below:\r
+// [assembly: AssemblyVersion("1.0.*")]\r
+[assembly: AssemblyVersion("1.0.0.0")]\r
+[assembly: AssemblyFileVersion("1.0.0.0")]\r
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/application-icon-0.png b/NUISample2/NUISample2/NUISample2.Tizen/res/images/application-icon-0.png
new file mode 100755 (executable)
index 0000000..339b19c
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/application-icon-0.png differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/arrow.png b/NUISample2/NUISample2/NUISample2.Tizen/res/images/arrow.png
new file mode 100755 (executable)
index 0000000..87abefd
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/arrow.png differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/background-blocks.jpg b/NUISample2/NUISample2/NUISample2.Tizen/res/images/background-blocks.jpg
new file mode 100755 (executable)
index 0000000..d8fed65
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/background-blocks.jpg differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-0.jpg b/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-0.jpg
new file mode 100755 (executable)
index 0000000..e42dba7
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-0.jpg differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-1.jpg b/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-1.jpg
new file mode 100755 (executable)
index 0000000..6a427ad
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-1.jpg differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-2.jpg b/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-2.jpg
new file mode 100755 (executable)
index 0000000..30b1a51
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-2.jpg differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-3.jpg b/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-3.jpg
new file mode 100755 (executable)
index 0000000..2da2ceb
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-3.jpg differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-4.jpg b/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-4.jpg
new file mode 100755 (executable)
index 0000000..902b711
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-4.jpg differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-5.jpg b/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-5.jpg
new file mode 100755 (executable)
index 0000000..490fb56
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/gallery-5.jpg differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/image-1.jpg b/NUISample2/NUISample2/NUISample2.Tizen/res/images/image-1.jpg
new file mode 100755 (executable)
index 0000000..155ab30
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/image-1.jpg differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/image-2.jpg b/NUISample2/NUISample2/NUISample2.Tizen/res/images/image-2.jpg
new file mode 100755 (executable)
index 0000000..e855ecf
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/image-2.jpg differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/image-3.jpg b/NUISample2/NUISample2/NUISample2.Tizen/res/images/image-3.jpg
new file mode 100755 (executable)
index 0000000..8dee462
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/image-3.jpg differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/not_yet_sign.png b/NUISample2/NUISample2/NUISample2.Tizen/res/images/not_yet_sign.png
new file mode 100755 (executable)
index 0000000..12b48c1
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/not_yet_sign.png differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/star-dim.png b/NUISample2/NUISample2/NUISample2.Tizen/res/images/star-dim.png
new file mode 100755 (executable)
index 0000000..38cc674
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/star-dim.png differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/star-highlight.png b/NUISample2/NUISample2/NUISample2.Tizen/res/images/star-highlight.png
new file mode 100755 (executable)
index 0000000..f99ee25
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/star-highlight.png differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/images/star-mod.png b/NUISample2/NUISample2/NUISample2.Tizen/res/images/star-mod.png
new file mode 100755 (executable)
index 0000000..2e3212e
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/res/images/star-mod.png differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/json/control-dashboard-theme.json b/NUISample2/NUISample2/NUISample2.Tizen/res/json/control-dashboard-theme.json
new file mode 100755 (executable)
index 0000000..82d27ee
--- /dev/null
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * This file is part of Dali Toolkit
+ *
+ * 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.
+ */
+
+
+//******************************************************************************
+//
+// Default Reference style theme for a 1920x1080 resolution, The values determined by UX design specification.
+// This file can be copied to a new folder within the styles/ directory and amended with new default values.
+// Can be overriden if StyleManager applies another style sheet.
+//
+//******************************************************************************
+
+{
+  "styles":
+  {
+    "TextLabel":
+    {
+      "pointSize":8,
+      "enableAutoScroll":false,
+      "autoScrollLoopCount":2,
+      "autoScrollGap":50,
+      "autoScrollSpeed":80
+    },
+
+    "TextLabelFontSize0":
+    {
+      "pointSize":8
+    },
+    "TextLabelFontSize1":
+    {
+      "pointSize":9
+    },
+    "TextLabelFontSize2":
+    {
+      "pointSize":10
+    },
+    "TextLabelFontSize3":
+    {
+      "pointSize":11
+    },
+    "TextLabelFontSize4":
+    {
+      "pointSize":12
+    },
+
+    "TextField":
+    {
+      "pointSize":8,
+      "primaryCursorColor":[0.0,0.72,0.9,1.0],
+      "secondaryCursorColor":[0.0,0.72,0.9,1.0],
+      "cursorWidth":6,
+      "selectionHighlightColor":[0.75,0.96,1.0,1.0],
+      "grabHandleImage" : "{DALI_STYLE_IMAGE_DIR}cursor_handler_drop_center.png",
+      "selectionHandleImageLeft" : {"filename":"{DALI_STYLE_IMAGE_DIR}selection_handle_drop_left.png" },
+      "selectionHandleImageRight": {"filename":"{DALI_STYLE_IMAGE_DIR}selection_handle_drop_right.png" }
+    },
+
+    "TextFieldFontSize0":
+    {
+      "pointSize":8
+    },
+    "TextFieldFontSize1":
+    {
+      "pointSize":9
+    },
+    "TextFieldFontSize2":
+    {
+      "pointSize":10
+    },
+    "TextFieldFontSize3":
+    {
+      "pointSize":11
+    },
+    "TextFieldFontSize4":
+    {
+      "pointSize":20
+    },
+    "ScrollView":
+    {
+      "overshootEffectColor":"B018",
+      "overshootAnimationSpeed":960.0,
+      "overshootSize":[1920.0,130.0]
+    },
+    "ItemView":
+    {
+      "overshootEffectColor":"B018",
+      "overshootAnimationSpeed":960.0,
+      "overshootSize":[1920.0,130.0]
+    },
+    "TextEditor":
+    {
+      "pointSize":8,
+      "primaryCursorColor":[0.0,0.72,0.9,1.0],
+      "secondaryCursorColor":[0.0,0.72,0.9,1.0],
+      "cursorWidth":6,
+      "selectionHighlightColor":[0.75,0.96,1.0,1.0]
+    },
+    "Button":
+    {
+      "styles":["Tooltip"],
+      "initialAutoRepeatingDelay":2.0,
+      "nextAutoRepeatingDelay":0.9
+      // Note: Visuals added to Button will be used in all derived buttons unless overridden.
+    },
+    "PushButton":
+    {
+      "styles":["Button"],
+      "autoRepeating":false,
+      "togglable":false,
+      "labelPadding":[ 12.0, 12.0, 12.0, 12.0 ],
+      "label":
+       {
+         "visualType": "TEXT",
+         "horizontalAlignment": "CENTER",
+         "pointSize" : 6.0, // Point size must always be provided to Text Visual
+         "verticalAlignment": "CENTER"
+       }
+    },
+    "CheckBoxButton":
+    {
+      "styles":["Button"],
+      "labelPadding":[ 12.0, 12.0, 0.0, 0.0 ],
+      "label":
+       {
+         "visualType": "TEXT",
+         "pointSize" : 8.0, // Point size must always be provided to Text Visual
+         "verticalAlignment": "CENTER"
+       }
+    },
+    "RadioButton":
+    {
+      "styles":["Button"],
+      "labelPadding":[ 12.0, 12.0, 0.0, 0.0 ],
+      "label":
+       {
+         "visualType": "TEXT",
+         "pointSize" : 8.0, // Point size must always be provided to Text Visual
+         "verticalAlignment": "CENTER"
+       }
+    }
+  }
+}
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/json/control-dashboard.json b/NUISample2/NUISample2/NUISample2.Tizen/res/json/control-dashboard.json
new file mode 100755 (executable)
index 0000000..c2609c4
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * This file is part of Dali Toolkit
+ *
+ * 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.
+ */
+
+{
+  "styles":
+  {
+    "ProgressBar":
+    {
+    }
+  }
+}
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/json/date-picker-template.json b/NUISample2/NUISample2/NUISample2.Tizen/res/json/date-picker-template.json
new file mode 100755 (executable)
index 0000000..dd01d8f
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2014 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.
+ *
+ */
+{
+  // Data picker loaded directly on to the stage
+  //
+  "templates": {
+    "date-picker":
+    {
+      "type":"FlexContainer",
+      "name":"exampleDatePicker",
+      "parentOrigin": "CENTER",
+      "anchorPoint": "CENTER",
+      "flexDirection":"ROW",
+      "size":[480.0, 150, 0 ],
+      "actors": [
+      {
+
+        "type": "Spin",
+        "name": "Year",
+        "parentOrigin": "CENTER",
+        "anchorPoint": "CENTER",
+        "Value":2017,
+        "MinValue":1900,
+        "MaxValue":2100,
+        "Step":1,
+        "TextColor":[0.0,0.0,1.0,1.0],
+        "properties": { // properties registered dynamically
+            "flex":0.3,
+            "flexMargin": [5.0,0.0,5.0,0.0]
+        }
+      },
+      {
+
+        "type": "Spin",
+        "name": "Month",
+        "parentOrigin": "CENTER",
+        "anchorPoint": "CENTER",
+        "parentOrigin": "CENTER",
+        "Value":10,
+        "Step":1,
+        "MinValue":1,
+        "MaxValue":12,
+        "TextColor":[1.0,1.0,1.0,1.0],
+        "properties": { // properties registered dynamically
+            "flex":0.3,
+            "flexMargin": [5.0,0.0,5.0,0.0]
+        }
+
+      },
+      {
+
+        "type": "Spin",
+        "name": "Day",
+        "parentOrigin": "CENTER",
+        "anchorPoint": "CENTER",
+        "Value":1,
+        "MinValue":1,
+        "MaxValue":31,
+        "TextColor":[1.0,0.0,0.0,1.0],
+         "properties": { // properties registered dynamically
+            "flex":0.3,
+            "flexMargin": [5.0,0.0,5.0,0.0]
+        }
+      }]
+
+    }
+}
+
+}
+
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/json/date-picker-theme.json b/NUISample2/NUISample2/NUISample2.Tizen/res/json/date-picker-theme.json
new file mode 100755 (executable)
index 0000000..6424a38
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * This file is part of Dali Toolkit
+ *
+ * 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.
+ */
+
+{
+  "styles": {
+    "Spin": {
+      "MinValue": 0,
+      "MaxValue": 100,
+      "Value": 50,
+      "Step": 1,
+      "TextColor": [ 1.0, 0.0, 0.0, 1.0 ]
+    }
+  }
+}
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/json/date-picker.json b/NUISample2/NUISample2/NUISample2.Tizen/res/json/date-picker.json
new file mode 100755 (executable)
index 0000000..3126aa3
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2014 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.
+ *
+ */
+{
+  // Data picker loaded directly on to the stage
+  //
+  "stage": [{
+
+      "type":"FlexContainer",
+      "name":"exampleDatePicker",
+      "parentOrigin": "CENTER",
+      "anchorPoint": "CENTER",
+      "flexDirection":"ROW",
+      "size":[480.0, 150, 0 ],
+      "actors": [
+      {
+
+        "type": "Spin",
+        "name": "Year",
+        "parentOrigin": "CENTER",
+        "anchorPoint": "CENTER",
+        "MinValue":1900,
+        "MaxValue":2100,
+        "Value":2017,
+        "Step":1,
+        "TextColor":[0.0,0.0,1.0,1.0],
+        "properties": { // properties registered dynamically
+            "flex":0.3,
+            "flexMargin": [5.0,0.0,5.0,0.0]
+        }
+      },
+      {
+
+        "type": "Spin",
+        "name": "Month",
+        "parentOrigin": "CENTER",
+        "anchorPoint": "CENTER",
+        "parentOrigin": "CENTER",
+        "Step":1,
+        "MinValue":1,
+        "MaxValue":12,
+        "Value":10,
+        "TextColor":[1.0,1.0,1.0,1.0],
+        "properties": { // properties registered dynamically
+            "flex":0.3,
+            "flexMargin": [5.0,0.0,5.0,0.0]
+        }
+
+      },
+      {
+
+        "type": "Spin",
+        "name": "Day",
+        "parentOrigin": "CENTER",
+        "anchorPoint": "CENTER",
+        "MinValue":1,
+        "MaxValue":31,
+        "Value":1,
+        "TextColor":[1.0,0.0,0.0,1.0],
+         "properties": { // properties registered dynamically
+            "flex":0.3,
+            "flexMargin": [5.0,0.0,5.0,0.0]
+        }
+      }]
+
+}]
+
+}
+
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/json/spin.json b/NUISample2/NUISample2/NUISample2.Tizen/res/json/spin.json
new file mode 100755 (executable)
index 0000000..df9b10c
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2014 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.
+ *
+ */
+{
+  // a tree of actors
+  "stage": [
+    // You can add an array of  Actors / Views here
+    // Lets add a spin to the stage
+    {
+      "type":"Spin",
+      "parentOrigin":"CENTER",
+      "size":[120,120,0]
+      // now lets use the C# app json-loader.exe to load it
+    }
+
+  ]
+}
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/res/json/style-example-theme-one.json b/NUISample2/NUISample2/NUISample2.Tizen/res/json/style-example-theme-one.json
new file mode 100755 (executable)
index 0000000..ee7d425
--- /dev/null
@@ -0,0 +1,407 @@
+{\r
+  "constants": {\r
+    "STYLE_DIR": "{APPLICATION_RESOURCE_PATH}/style"\r
+  },\r
+  "styles": {\r
+    "Title": {\r
+      "textColor": "#0000ff",\r
+      "background": {\r
+        "visualType": "COLOR",\r
+        "mixColor": [ 1.0, 1.0, 1.0, 1.0 ]\r
+      }\r
+    },\r
+    "TableView": {\r
+      "background": {\r
+        "visualType": "COLOR",\r
+        "mixColor": [ 1.0, 1.0, 1.0, 0.03 ]\r
+      }\r
+    },\r
+    "FlexContainer": {\r
+      "background": {\r
+        "visualType": "COLOR",\r
+        "mixColor": [ 1.0, 1.0, 1.0, 0.1 ]\r
+      }\r
+    },\r
+    "RadioButton": {\r
+      "label": {\r
+        "textColor": [ 1, 1, 1, 1 ]\r
+      }\r
+    },\r
+    "CheckBoxButton": {\r
+      "label": {\r
+        "textColor": [ 1, 1, 1, 1 ]\r
+      }\r
+    },\r
+    "ColorLabel1": {\r
+      "textColor": [ 1, 0, 0, 1 ]\r
+    },\r
+    "ColorLabel2": {\r
+      "textColor": [ 0, 1, 0, 1 ]\r
+    },\r
+    "ColorLabel3": {\r
+      "textColor": [ 0.3, 0.3, 1, 1 ]\r
+    },\r
+    "ThemeLabel": {\r
+      "textColor": [ 0, 1, 1, 1 ]\r
+    },\r
+    "PopupTitle": {\r
+      "textColor": [ 1, 1, 1, 1 ]\r
+    },\r
+    "PopupBody": {\r
+      "textColor": [ 1, 1, 0, 1 ]\r
+    },\r
+    "TextLabel": {\r
+      "textColor": [ 0, 0, 0, 1 ]\r
+    },\r
+    "ColorSlider1": {\r
+      "styles": [ "Slider" ]\r
+    },\r
+    "ColorSlider2": {\r
+      "styles": [ "slider" ]\r
+    },\r
+    "ColorSlider3": {\r
+      "styles": [ "slider" ]\r
+    },\r
+    "ImageChannelControl": {\r
+      "enableVisibilityTransition": [\r
+        {\r
+          "target": "imageVisual",\r
+          "property": "opacity",\r
+          "initialValue": 0,\r
+          "targetValue": 1,\r
+          "animator": {\r
+            "alphaFunction": "EASE_IN_OUT",\r
+            "timePeriod": {\r
+              "duration": 0.25,\r
+              "delay": 0\r
+            }\r
+          }\r
+        },\r
+        {\r
+          "target": "imageVisual",\r
+          "property": "size",\r
+          "targetValue": [ 1, 1 ]\r
+        }\r
+      ],\r
+      "disableVisibilityTransition": [\r
+        {\r
+          "target": "imageVisual",\r
+          "property": "opacity",\r
+          "targetValue": 0,\r
+          "animator": {\r
+            "alphaFunction": "EASE_IN_OUT",\r
+            "timePeriod": {\r
+              "duration": 0.25,\r
+              "delay": 0\r
+            }\r
+          }\r
+        },\r
+        {\r
+          "target": "imageVisual",\r
+          "property": "size",\r
+          "targetValue": [ 1, 1, 1 ]\r
+        }\r
+      ]\r
+    },\r
+    "ShadowButton": {\r
+      "backgroundVisual": {\r
+        "visualType": "IMAGE",\r
+        "url": "{STYLE_DIR}/images/shadowButtonBg.9.png",\r
+        "mixColor": [ 1, 1, 1, 0 ]\r
+      },\r
+      "checkboxBgVisual": {\r
+        "visualType": "IMAGE",\r
+        "url": "{STYLE_DIR}/images/CheckBg.png",\r
+        "transform": {\r
+          "size": [ 0.09, 0.28 ],\r
+          "offset": [ 30, 0 ],\r
+          "offsetSizeMode": [ 1, 1, 0, 0 ],\r
+          "origin": "CENTER_BEGIN",\r
+          "anchorPoint": "CENTER_BEGIN"\r
+        }\r
+      },\r
+      "checkboxFgVisual": {\r
+        "visualType": "IMAGE",\r
+        "url": "{STYLE_DIR}/images/Tick.png",\r
+        "transform": {\r
+          "size": [ 0.09, 0.28 ],\r
+          "offset": [ 30, 0 ],\r
+          "offsetSizeMode": [ 1, 1, 0, 0 ],\r
+          "origin": "CENTER_BEGIN",\r
+          "anchorPoint": "CENTER_BEGIN"\r
+        }\r
+      },\r
+      "labelVisual": {\r
+        "visualType": "TEXT",\r
+        "text": "Don't show again",\r
+        "pointSize": 20,\r
+        "horizontalAlignment": "END",\r
+        "verticalAlignment": "CENTER",\r
+        "textColor": [ 1, 1, 1, 1 ],\r
+        "mixColor": [ 0.3, 0.3, 0.3, 1 ],\r
+        "transform": {\r
+          "size": [ 0.9, 0.9 ],\r
+          "offset": [ -30, 0 ],\r
+          "offsetSizeMode": [ 1, 1, 0, 0 ],\r
+          "origin": "CENTER_END",\r
+          "anchorPoint": "CENTER_END"\r
+        }\r
+      },\r
+      "activeTransition": [\r
+        {\r
+          "target": "checkboxBgVisual",\r
+          "property": "size",\r
+          "initialValue": [ 0.09, 0.28 ],\r
+          "targetValue": [ 0.12, 0.37 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_OUT_BACK",\r
+            "timePeriod": {\r
+              "duration": 0.8,\r
+              "delay": 0\r
+            }\r
+          }\r
+        },\r
+        {\r
+          "target": "backgroundVisual",\r
+          "property": "mixColor",\r
+          "initialValue": [ 1, 1, 1, 0 ],\r
+          "targetValue": [ 1, 1, 1, 1 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_OUT_BACK",\r
+            "timePeriod": {\r
+              "duration": 0.8,\r
+              "delay": 0\r
+            }\r
+          }\r
+        },\r
+        {\r
+          "target": "backgroundVisual",\r
+          "property": "size",\r
+          "initialValue": [ 0.9, 0.9 ],\r
+          "targetValue": [ 1, 1 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_OUT_BACK",\r
+            "timePeriod": {\r
+              "duration": 0.8,\r
+              "delay": 0\r
+            }\r
+          }\r
+        },\r
+        {\r
+          "target": "checkboxFgVisual",\r
+          "property": "size",\r
+          "initialValue": [ 0.09, 0.28 ],\r
+          "targetValue": [ 0.12, 0.37 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_OUT_BACK",\r
+            "timePeriod": {\r
+              "duration": 0.8,\r
+              "delay": 0\r
+            }\r
+          }\r
+        },\r
+        {\r
+          "target": "labelVisual",\r
+          "property": "mixColor",\r
+          "initialValue": [ 0.2, 0.2, 0.2, 1.0 ],\r
+          "targetValue": [ 0, 0, 0, 1 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_OUT_BACK",\r
+            "timePeriod": {\r
+              "duration": 0.8,\r
+              "delay": 0\r
+            }\r
+          }\r
+        }\r
+      ],\r
+      "inactiveTransition": [\r
+        {\r
+          "target": "checkboxBgVisual",\r
+          "property": "size",\r
+          "initialValue": [ 0.12, 0.37 ],\r
+          "targetValue": [ 0.09, 0.28 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_OUT_BACK",\r
+            "timePeriod": {\r
+              "duration": 0.8,\r
+              "delay": 0\r
+            }\r
+          }\r
+        },\r
+        {\r
+          "target": "backgroundVisual",\r
+          "property": "mixColor",\r
+          "targetValue": [ 1, 1, 1, 0 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_OUT_BACK",\r
+            "timePeriod": {\r
+              "duration": 0.8,\r
+              "delay": 0\r
+            }\r
+          }\r
+        },\r
+        {\r
+          "target": "checkboxFgVisual",\r
+          "property": "size",\r
+          "initialValue": [ 0.12, 0.37 ],\r
+          "targetValue": [ 0.09, 0.28 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_OUT_BACK",\r
+            "timePeriod": {\r
+              "duration": 0.8,\r
+              "delay": 0\r
+            }\r
+          }\r
+        },\r
+        {\r
+          "target": "labelVisual",\r
+          "property": "mixColor",\r
+          "targetValue": [ 0.4, 0.4, 0.4, 1.0 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_OUT_BACK",\r
+            "timePeriod": {\r
+              "duration": 0.8,\r
+              "delay": 0\r
+            }\r
+          }\r
+        },\r
+        {\r
+          "target": "backgroundVisual",\r
+          "property": "size",\r
+          "targetValue": [ 0.9, 0.9 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_OUT_BACK",\r
+            "timePeriod": {\r
+              "duration": 0.8,\r
+              "delay": 0\r
+            }\r
+          }\r
+        }\r
+      ],\r
+      "checkTransition": [\r
+        {\r
+          "target": "checkboxFgVisual",\r
+          "property": "pixelArea",\r
+          "initialValue": [ 0.0, 0.0, 0.0, 1.0 ],\r
+          "targetValue": [ 0.0, 0.0, 1.0, 1.0 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_IN",\r
+            "timePeriod": {\r
+              "duration": 0.4,\r
+              "delay": 0\r
+            }\r
+          }\r
+        },\r
+        {\r
+          "target": "checkboxFgVisual",\r
+          "property": "size",\r
+          "initialValue": [ 0.0, 0.37 ],\r
+          "targetValue": [ 0.12, 0.37 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_IN",\r
+            "timePeriod": {\r
+              "duration": 0.4,\r
+              "delay": 0\r
+            }\r
+          }\r
+        }\r
+      ],\r
+      "uncheckTransition": [\r
+        {\r
+          "target": "checkboxFgVisual",\r
+          "property": "pixelArea",\r
+          "initialValue": [ 0.0, 0.0, 1.0, 1.0 ],\r
+          "targetValue": [ 0.0, 0.0, 0.0, 1.0 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_OUT",\r
+            "timePeriod": {\r
+              "duration": 0.4,\r
+              "delay": 0\r
+            }\r
+          }\r
+        },\r
+        {\r
+          "target": "checkboxFgVisual",\r
+          "property": "size",\r
+          "targetValue": [ 0.0, 0.37 ],\r
+          "animator": {\r
+            "alphaFunction": "EASE_OUT",\r
+            "timePeriod": {\r
+              "duration": 0.4,\r
+              "delay": 0\r
+            }\r
+          }\r
+        }\r
+      ]\r
+    },\r
+    "BeatControl": {\r
+      "beatVisual": {\r
+        "visualType": "IMAGE",\r
+        "url": "{APPLICATION_RESOURCE_PATH}/images/Logo-for-demo.png"\r
+      },\r
+\r
+      "bounceTransition": [\r
+        {\r
+          "target": "beatVisual",\r
+          "property": "size",\r
+          "initialValue": [ 0.5, 0.5 ],\r
+          "targetValue": [ 0.75, 0.75 ],\r
+          "animator": {\r
+            "alphaFunction": "BOUNCE",\r
+            "timePeriod": {\r
+              "duration": 0.5,\r
+              "delay": 0\r
+            }\r
+          }\r
+        }\r
+      ],\r
+\r
+      "leftTransition": [\r
+        {\r
+          "target": "beatVisual",\r
+          "property": "offset",\r
+          "initialValue": [ 0, 0 ],\r
+          "targetValue": [ 0.25, 0 ],\r
+          "animator": {\r
+            "alphaFunction": "BOUNCE",\r
+            "timePeriod": {\r
+              "duration": 0.5,\r
+              "delay": 0\r
+            }\r
+          }\r
+        }\r
+      ],\r
+\r
+      "upTransition": [\r
+        {\r
+          "target": "beatVisual",\r
+          "property": "offset",\r
+          "initialValue": [ 0, 0 ],\r
+          "targetValue": [ 0, 0.25 ],\r
+          "animator": {\r
+            "alphaFunction": "BOUNCE",\r
+            "timePeriod": {\r
+              "duration": 0.5,\r
+              "delay": 0\r
+            }\r
+          }\r
+        }\r
+      ],\r
+\r
+      "fadeTransition": [\r
+        {\r
+          "target": "beatVisual",\r
+          "property": "opacity",\r
+          "targetValue": 0,\r
+          "animator": {\r
+            "alphaFunction": "BOUNCE",\r
+            "timePeriod": {\r
+              "duration": 0.8,\r
+              "delay": 0\r
+            }\r
+          }\r
+        }\r
+      ]\r
+    }\r
+  }\r
+}
\ No newline at end of file
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/shared/res/NUISample2.Tizen.png b/NUISample2/NUISample2/NUISample2.Tizen/shared/res/NUISample2.Tizen.png
new file mode 100755 (executable)
index 0000000..9765b1b
Binary files /dev/null and b/NUISample2/NUISample2/NUISample2.Tizen/shared/res/NUISample2.Tizen.png differ
diff --git a/NUISample2/NUISample2/NUISample2.Tizen/tizen-manifest.xml b/NUISample2/NUISample2/NUISample2.Tizen/tizen-manifest.xml
new file mode 100755 (executable)
index 0000000..a02bdb7
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" package="NUISample2.Tizen" version="1.0.0">\r
+       <profile name="common" />\r
+       <ui-application appid="org.tizen.example.NUISample2.Tizen"\r
+                                       exec="NUISample2.Tizen.exe"\r
+                                       type="dotnet"\r
+                                       multiple="false"\r
+                                       taskmanage="true"\r
+                                       nodisplay="false"\r
+                                       launch_mode="single">\r
+  <label>NUISample2.Tizen</label>\r
+       <icon>NUISample2.Tizen.png</icon>\r
+       </ui-application>\r
+</manifest>\r
index 4e100de..c338a76 100755 (executable)
   </ItemGroup>\r
   <ItemGroup>\r
     <Reference Include="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />\r
+    <Reference Include="Tizen.NUI.ExtTEST, Version=1.0.0.0, Culture=neutral, PublicKeyToken=9038b6d7f5a8293c, processorArchitecture=MSIL">\r
+      <SpecificVersion>False</SpecificVersion>\r
+      <HintPath>..\..\Tizen.NUI.ExtTEST\Tizen.NUI.ExtTEST\bin\Debug\Tizen.NUI.ExtTEST.dll</HintPath>\r
+    </Reference>\r
   </ItemGroup>\r
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it.\r
index 370b52e..4d939ad 100755 (executable)
@@ -18,6 +18,7 @@
 using System;
 using System.Runtime.InteropServices;
 using Tizen.NUI;
+using Tizen.NUI.ExtTEST;
 
 namespace HelloWorldTest
 {
@@ -79,6 +80,12 @@ namespace HelloWorldTest
 
             _view.SizeWidth = 50;
             Tizen.Log.Debug("NUI", "[2]_view SizeWidth=" + _view.SizeWidth);
+
+            ActorEXT _actorExt = new ActorEXT();
+            Actor _actor1 = _actorExt.CreateActor();
+            if(_actor1) Tizen.Log.Debug("NUI", "FriendAssembly Test _actor1 name = " + _actor1.Name);
+            else Tizen.Log.Debug("NUI", "FriendAssembly Test _actor1 is NULL!");
+
         }
 
         public void AnimationFinished(object sender, EventArgs e)
diff --git a/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST.sln b/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST.sln
new file mode 100755 (executable)
index 0000000..b99c685
--- /dev/null
@@ -0,0 +1,22 @@
+\r
+Microsoft Visual Studio Solution File, Format Version 12.00\r
+# Visual Studio 14\r
+VisualStudioVersion = 14.0.25420.1\r
+MinimumVisualStudioVersion = 10.0.40219.1\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tizen.NUI.ExtTEST", "Tizen.NUI.ExtTEST\Tizen.NUI.ExtTEST.csproj", "{AAAD2DF3-17C2-49B7-9BF4-CB6BD70F4892}"\r
+EndProject\r
+Global\r
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+               Debug|Any CPU = Debug|Any CPU\r
+               Release|Any CPU = Release|Any CPU\r
+       EndGlobalSection\r
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+               {AAAD2DF3-17C2-49B7-9BF4-CB6BD70F4892}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {AAAD2DF3-17C2-49B7-9BF4-CB6BD70F4892}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {AAAD2DF3-17C2-49B7-9BF4-CB6BD70F4892}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+               {AAAD2DF3-17C2-49B7-9BF4-CB6BD70F4892}.Release|Any CPU.Build.0 = Release|Any CPU\r
+       EndGlobalSection\r
+       GlobalSection(SolutionProperties) = preSolution\r
+               HideSolutionNode = FALSE\r
+       EndGlobalSection\r
+EndGlobal\r
diff --git a/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/ActorTest.cs b/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/ActorTest.cs
new file mode 100755 (executable)
index 0000000..228c26c
--- /dev/null
@@ -0,0 +1,19 @@
+using System;\r
+using Tizen.NUI;\r
+using Tizen;\r
+\r
+namespace Tizen.NUI.ExtTEST\r
+{\r
+    public class ActorEXT : Actor\r
+    {\r
+\r
+        public Actor CreateActor()\r
+        {\r
+            Actor _actor = new Actor();\r
+            Log.Debug("NUI-EXT", "_actor id=" + _actor.GetId());\r
+            _actor.SetName("actor extension test");\r
+            Log.Debug("NUI-EXT", "_actor name=" + _actor.GetName());\r
+            return _actor;\r
+        }\r
+    }\r
+}\r
diff --git a/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/Properties/AssemblyInfo.cs b/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/Properties/AssemblyInfo.cs
new file mode 100755 (executable)
index 0000000..d2bef63
--- /dev/null
@@ -0,0 +1,36 @@
+using System.Reflection;\r
+using System.Runtime.CompilerServices;\r
+using System.Runtime.InteropServices;\r
+\r
+// General Information about an assembly is controlled through the following \r
+// set of attributes. Change these attribute values to modify the information\r
+// associated with an assembly.\r
+[assembly: AssemblyTitle("Tizen.NUI.ExtTEST")]\r
+[assembly: AssemblyDescription("")]\r
+[assembly: AssemblyConfiguration("")]\r
+[assembly: AssemblyCompany("Microsoft")]\r
+[assembly: AssemblyProduct("Tizen.NUI.ExtTEST")]\r
+[assembly: AssemblyCopyright("Copyright © Microsoft 2017")]\r
+[assembly: AssemblyTrademark("")]\r
+[assembly: AssemblyCulture("")]\r
+\r
+// Setting ComVisible to false makes the types in this assembly not visible \r
+// to COM components.  If you need to access a type in this assembly from \r
+// COM, set the ComVisible attribute to true on that type.\r
+[assembly: ComVisible(false)]\r
+\r
+// The following GUID is for the ID of the typelib if this project is exposed to COM\r
+[assembly: Guid("aaad2df3-17c2-49b7-9bf4-cb6bd70f4892")]\r
+\r
+// Version information for an assembly consists of the following four values:\r
+//\r
+//      Major Version\r
+//      Minor Version \r
+//      Build Number\r
+//      Revision\r
+//\r
+// You can specify all the values or you can default the Build and Revision Numbers \r
+// by using the '*' as shown below:\r
+// [assembly: AssemblyVersion("1.0.*")]\r
+[assembly: AssemblyVersion("1.0.0.0")]\r
+[assembly: AssemblyFileVersion("1.0.0.0")]\r
diff --git a/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST.csproj b/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST.csproj
new file mode 100755 (executable)
index 0000000..4ab899a
--- /dev/null
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProjectGuid>{AAAD2DF3-17C2-49B7-9BF4-CB6BD70F4892}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>Tizen.NUI.ExtTEST</RootNamespace>\r
+    <AssemblyName>Tizen.NUI.ExtTEST</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <OutputPath>bin\Debug\</OutputPath>\r
+    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <OutputPath>bin\Release\</OutputPath>\r
+    <DefineConstants>TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>test_make_key.snk</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Compile Include="ActorTest.cs" />\r
+    <Compile Include="Properties\AssemblyInfo.cs" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Reference Include="System" />\r
+    <Reference Include="System.ComponentModel.Composition" />\r
+    <Reference Include="System.IO.Compression" />\r
+    <Reference Include="System.Net.Http" />\r
+    <Reference Include="System.Numerics" />\r
+    <Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">\r
+      <HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.0.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>\r
+      <Private>True</Private>\r
+    </Reference>\r
+    <Reference Include="System.Xml" />\r
+    <Reference Include="System.Xml.Linq" />\r
+    <Reference Include="Tizen, Version=1.0.0.0, Culture=neutral, PublicKeyToken=432d9645c4160ccc, processorArchitecture=MSIL">\r
+      <HintPath>..\packages\Tizen.1.0.2\lib\net45\Tizen.dll</HintPath>\r
+      <Private>True</Private>\r
+    </Reference>\r
+    <Reference Include="Tizen.NUI">\r
+      <HintPath>..\..\Tizen.NUI\bin\Debug\Tizen.NUI.dll</HintPath>\r
+    </Reference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <None Include="packages.config" />\r
+    <None Include="test_make_key.snk" />\r
+  </ItemGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+</Project>
\ No newline at end of file
diff --git a/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/bin/Debug/Tizen.NUI.ExtTEST.dll b/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/bin/Debug/Tizen.NUI.ExtTEST.dll
new file mode 100755 (executable)
index 0000000..a9f789d
Binary files /dev/null and b/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/bin/Debug/Tizen.NUI.ExtTEST.dll differ
diff --git a/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/packages.config b/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/packages.config
new file mode 100755 (executable)
index 0000000..6a5768e
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<packages>\r
+  <package id="Microsoft.NETCore.Platforms" version="1.0.1" targetFramework="net452" />\r
+  <package id="NETStandard.Library" version="1.6.0" targetFramework="net452" />\r
+  <package id="System.Collections" version="4.0.11" targetFramework="net452" />\r
+  <package id="System.Collections.Concurrent" version="4.0.12" targetFramework="net452" />\r
+  <package id="System.Diagnostics.Debug" version="4.0.11" targetFramework="net452" />\r
+  <package id="System.Diagnostics.Tools" version="4.0.1" targetFramework="net452" />\r
+  <package id="System.Diagnostics.Tracing" version="4.1.0" targetFramework="net452" />\r
+  <package id="System.Globalization" version="4.0.11" targetFramework="net452" />\r
+  <package id="System.IO" version="4.1.0" targetFramework="net452" />\r
+  <package id="System.IO.Compression" version="4.1.0" targetFramework="net452" />\r
+  <package id="System.Linq" version="4.1.0" targetFramework="net452" />\r
+  <package id="System.Linq.Expressions" version="4.1.0" targetFramework="net452" />\r
+  <package id="System.Net.Http" version="4.1.0" targetFramework="net452" />\r
+  <package id="System.Net.Primitives" version="4.0.11" targetFramework="net452" />\r
+  <package id="System.ObjectModel" version="4.0.12" targetFramework="net452" />\r
+  <package id="System.Reflection" version="4.1.0" targetFramework="net452" />\r
+  <package id="System.Reflection.Extensions" version="4.0.1" targetFramework="net452" />\r
+  <package id="System.Reflection.Primitives" version="4.0.1" targetFramework="net452" />\r
+  <package id="System.Resources.ResourceManager" version="4.0.1" targetFramework="net452" />\r
+  <package id="System.Runtime" version="4.1.0" targetFramework="net452" />\r
+  <package id="System.Runtime.Extensions" version="4.1.0" targetFramework="net452" />\r
+  <package id="System.Runtime.InteropServices" version="4.1.0" targetFramework="net452" />\r
+  <package id="System.Runtime.InteropServices.RuntimeInformation" version="4.0.0" targetFramework="net452" />\r
+  <package id="System.Runtime.Numerics" version="4.0.1" targetFramework="net452" />\r
+  <package id="System.Text.Encoding" version="4.0.11" targetFramework="net452" />\r
+  <package id="System.Text.Encoding.Extensions" version="4.0.11" targetFramework="net452" />\r
+  <package id="System.Text.RegularExpressions" version="4.1.0" targetFramework="net452" />\r
+  <package id="System.Threading" version="4.0.11" targetFramework="net452" />\r
+  <package id="System.Threading.Tasks" version="4.0.11" targetFramework="net452" />\r
+  <package id="System.Threading.Timer" version="4.0.1" targetFramework="net452" />\r
+  <package id="System.Xml.ReaderWriter" version="4.0.11" targetFramework="net452" />\r
+  <package id="System.Xml.XDocument" version="4.0.11" targetFramework="net452" />\r
+  <package id="Tizen" version="1.0.2" targetFramework="net452" />\r
+</packages>
\ No newline at end of file
diff --git a/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/test_make_key.snk b/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/test_make_key.snk
new file mode 100755 (executable)
index 0000000..4758533
Binary files /dev/null and b/Tizen.NUI.ExtTEST/Tizen.NUI.ExtTEST/test_make_key.snk differ
index 6e87c01..3d96a68 100755 (executable)
@@ -49,6 +49,7 @@
     <Compile Include="src\internal\AccessibilityActionSignal.cs" />\r
     <Compile Include="src\internal\AccessibilityFocusOvershotSignal.cs" />\r
     <Compile Include="src\internal\AccessibilityManager.cs" />\r
+    <Compile Include="src\internal\FriendAssembly.cs" />\r
     <Compile Include="src\internal\ActorContainer.cs" />\r
     <Compile Include="src\internal\ActorHoverSignal.cs" />\r
     <Compile Include="src\internal\ActorSignal.cs" />\r
diff --git a/src/Tizen.NUI/src/internal/FriendAssembly.cs b/src/Tizen.NUI/src/internal/FriendAssembly.cs
new file mode 100755 (executable)
index 0000000..015fcf8
--- /dev/null
@@ -0,0 +1,26 @@
+// 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.
+//
+//
+// 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
+[assembly: InternalsVisibleTo("Tizen.NUI.ExtTEST, PublicKey=00240000048000009400000006020000002400005253413100040000010001004d7c7c03a196ecb8e7cc5056750e1f40ee2bbe99f0e53a07f2538f2b0f450bd731b9dca3706503a0378baca74a09cf3af6261b330c031f44817ab6ed64189460765a402279d3e0c1fa7295ae1dccb2e3ff329705fd85b58d66ae7cb7e95ba06e0d847c3e3ba918798f579e5caeb1c6149955e6baf24236eec46227a623e494b1")]\r
+namespace Tizen.NUI
+{
+}
\ No newline at end of file