[Tizen] Add Interval property for Timer 98/151198/1
authorxb.teng <xb.teng@samsung.com>
Thu, 24 Aug 2017 10:59:19 +0000 (18:59 +0800)
committerdongsug.song <dongsug.song@samsung.com>
Wed, 20 Sep 2017 00:48:46 +0000 (09:48 +0900)
Conflicts:
NUISamples/NUISamples/NUISamples.TizenTV/NUISamples.TizenTV.csproj

Change-Id: I22f83894065752d245150cb1374f6f4f456aa312

NUISamples/NUISamples/NUISamples.TizenTV/NUISamples.TizenTV.csproj [new file with mode: 0755]
NUISamples/NUISamples/NUISamples.TizenTV/examples/timer-test.cs [new file with mode: 0755]
Tizen.NUI/src/public/Timer.cs

diff --git a/NUISamples/NUISamples/NUISamples.TizenTV/NUISamples.TizenTV.csproj b/NUISamples/NUISamples/NUISamples.TizenTV/NUISamples.TizenTV.csproj
new file mode 100755 (executable)
index 0000000..4901499
--- /dev/null
@@ -0,0 +1,206 @@
+<?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>{7731BE98-0A68-49A9-877C-A30A0D30D9F6}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>NUISamples.TizenTV</RootNamespace>\r
+    <AssemblyName>NUISamples.TizenTV</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
+    <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="NUISamples.TizenTV.project.json" />\r
+    <None Include="res\json\control-dashboard.json" />\r
+    <None Include="res\json\date-picker-template.json" />\r
+    <None Include="res\json\date-picker-theme.json" />\r
+    <None Include="res\json\date-picker.json" />\r
+    <None Include="res\json\spin.json" />\r
+    <None Include="res\json\style-example-theme-one.json" />\r
+    <None Include="res\models\Dino.mtl" />\r
+    <None Include="res\models\Dino.obj" />\r
+    <None Include="tizen-manifest.xml" />\r
+    <None Include="shared\res\NUISamples.TizenTV.png" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Compile Include="examples\as-is-test-sample.cs" />\r
+    <Compile Include="examples\control-dashboard.cs" />\r
+    <Compile Include="examples\custom-control.cs" />\r
+    <Compile Include="examples\dali-test.cs" />\r
+    <Compile Include="examples\date-picker-using-json\date-picker-using-json.cs" />\r
+    <Compile Include="examples\date-picker.cs" />\r
+    <Compile Include="examples\flex-container.cs" />\r
+    <Compile Include="examples\gc-test.cs" />\r
+    <Compile Include="examples\hello-test.cs" />\r
+    <Compile Include="examples\hello-world.cs" />\r
+    <Compile Include="examples\image-view.cs" />\r
+    <Compile Include="examples\Main.cs" />\r
+    <Compile Include="examples\positionUsesPivotPoint-test.cs" />\r
+    <Compile Include="examples\relative-vector.cs" />\r
+    <Compile Include="examples\scroll-view.cs" />\r
+    <Compile Include="examples\sibling-order-test.cs" />\r
+    <Compile Include="examples\test1.cs" />\r
+    <Compile Include="examples\text-test.cs" />\r
+    <Compile Include="examples\timer-test.cs" />\r
+    <Compile Include="examples\ttsplayer-test.cs" />\r
+    <Compile Include="examples\user-alphafunction.cs" />\r
+    <Compile Include="examples\view-navi-property.cs" />\r
+    <Compile Include="examples\date-picker-using-json\ViewRegistryHelper.cs" />\r
+    <Compile Include="examples\visual-animation-test.cs" />\r
+    <Compile Include="examples\visual-animation-test2.cs" />\r
+    <Compile Include="examples\visual-animation-test3.cs" />\r
+    <Compile Include="examples\visual-view-test2.cs" />\r
+    <Compile Include="examples\visual-view-test.cs" />\r
+    <Compile Include="examples\visual-view-test3.cs" />\r
+    <Compile Include="examples\visuals-using-custom-view\ContactData.cs" />\r
+    <Compile Include="examples\visuals-using-custom-view\ContactView.cs" />\r
+    <Compile Include="examples\visuals-using-custom-view\visuals-using-custom-view.cs" />\r
+    <Compile Include="Properties\AssemblyInfo.cs" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="lib\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="..\..\..\Tizen.NUI\Tizen.NUI.csproj">\r
+      <Project>{f03a3b48-9d9b-4bf3-92ce-bd63cadc3cd3}</Project>\r
+      <Name>Tizen.NUI</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="..\NUISamples\NUISamples-dummy.csproj">\r
+      <Project>{56ca3b27-c662-4ac8-93ca-7acef926b2aa}</Project>\r
+      <Name>NUISamples-dummy</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Content Include="res\images\application-icon-0.png" />\r
+    <Content Include="res\images\background-blocks.jpg" />\r
+    <Content Include="res\images\dali-logo-anim.gif" />\r
+    <Content Include="res\images\dog-anim.gif" />\r
+    <Content Include="res\images\echo.gif" />\r
+    <Content Include="res\images\focuseffect\0-normal.png" />\r
+    <Content Include="res\images\focuseffect\1-normal.png" />\r
+    <Content Include="res\images\focuseffect\2-normal.png" />\r
+    <Content Include="res\images\arrow.png" />\r
+    <Content Include="res\images\focuseffect\background.png" />\r
+    <Content Include="res\images\Dino-Painted_lambert2SG_color.png" />\r
+    <Content Include="res\images\Dino-Painted_lambert2SG_gloss.png" />\r
+    <Content Include="res\images\Dino-Painted_lambert2SG_nmap.png" />\r
+    <Content Include="res\images\Dino2_lambert2SG_color.png" />\r
+    <Content Include="res\images\Dino2_lambert2SG_nmap.png" />\r
+    <Content Include="res\images\focuseffect\halo.png" />\r
+    <Content Include="res\images\focuseffect\horizontalFrame.png" />\r
+    <Content Include="res\images\focuseffect\verticalFrame.png" />\r
+    <Content Include="res\images\focuseffect\focus_grid.9.png" />\r
+    <Content Include="res\images\focuseffect\focus_launcher_shadow.9.png" />\r
+    <Content Include="res\images\focuseffect\focus_launcher_shadow_n.png" />\r
+    <Content Include="res\images\gallery-0.jpg" />\r
+    <Content Include="res\images\gallery-1.jpg" />\r
+    <Content Include="res\images\gallery-2.jpg" />\r
+    <Content Include="res\images\gallery-3.jpg" />\r
+    <Content Include="res\images\gallery-4.jpg" />\r
+    <Content Include="res\images\gallery-5.jpg" />\r
+    <Content Include="res\images\gallery-small-43.jpg" />\r
+    <Content Include="res\images\focuseffect\highlight_spot.png" />\r
+    <Content Include="res\images\focuseffect\highlight_stroke.9.png" />\r
+    <Content Include="res\images\image-1.jpg" />\r
+    <Content Include="res\images\image-2.jpg" />\r
+    <Content Include="res\images\image-3.jpg" />\r
+    <Content Include="res\images\Kid1.svg" />\r
+    <Content Include="res\images\Mail.svg" />\r
+    <Content Include="res\images\menu\0.png" />\r
+    <Content Include="res\images\menu\1.png" />\r
+    <Content Include="res\images\menu\2.png" />\r
+    <Content Include="res\images\menu\3.png" />\r
+    <Content Include="res\images\menu\4.png" />\r
+    <Content Include="res\images\menu\5.png" />\r
+    <Content Include="res\images\menu\6.png" />\r
+    <Content Include="res\images\not_yet_sign.png" />\r
+    <Content Include="res\images\poster0\0.jpg" />\r
+    <Content Include="res\images\poster0\1.jpg" />\r
+    <Content Include="res\images\poster0\10.jpg" />\r
+    <Content Include="res\images\poster0\11.jpg" />\r
+    <Content Include="res\images\poster0\12.jpg" />\r
+    <Content Include="res\images\poster0\13.jpg" />\r
+    <Content Include="res\images\poster0\2.jpg" />\r
+    <Content Include="res\images\poster0\3.jpg" />\r
+    <Content Include="res\images\poster0\4.jpg" />\r
+    <Content Include="res\images\poster0\5.jpg" />\r
+    <Content Include="res\images\poster0\6.jpg" />\r
+    <Content Include="res\images\poster0\7.jpg" />\r
+    <Content Include="res\images\poster0\8.jpg" />\r
+    <Content Include="res\images\poster0\9.jpg" />\r
+    <Content Include="res\images\poster1\0.jpg" />\r
+    <Content Include="res\images\poster1\1.jpg" />\r
+    <Content Include="res\images\poster1\2.jpg" />\r
+    <Content Include="res\images\poster1\3.jpg" />\r
+    <Content Include="res\images\poster1\4.jpg" />\r
+    <Content Include="res\images\poster1\5.jpg" />\r
+    <Content Include="res\images\star-dim.png" />\r
+    <Content Include="res\images\star-highlight.png" />\r
+    <Content Include="res\images\star-mod.png" />\r
+    <Content Include="res\images\focuseffect\thumbnail_shadow.9.png" />\r
+    <Content Include="res\images\focuseffect\white-pixel.png" />\r
+    <Content Include="res\images\World.svg" />\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
+        <ProjectCorporateFlavorCfg />\r
+      </FlavorProperties>\r
+      <FlavorProperties GUID="{2F98DAC9-6F16-457B-AED7-D43CAC379341}" Configuration="Release|Any CPU">\r
+        <ProjectCorporateFlavorCfg />\r
+      </FlavorProperties>\r
+    </VisualStudio>\r
+  </ProjectExtensions>\r
+</Project>\r
diff --git a/NUISamples/NUISamples/NUISamples.TizenTV/examples/timer-test.cs b/NUISamples/NUISamples/NUISamples.TizenTV/examples/timer-test.cs
new file mode 100755 (executable)
index 0000000..6b408e7
--- /dev/null
@@ -0,0 +1,112 @@
+using System;
+using Tizen.NUI;
+using Tizen.NUI.BaseComponents;
+using Tizen.NUI.UIComponents;
+using Tizen.NUI.Constants;
+
+namespace TimerTest
+{
+    // An example of Visual View control.
+    class Example : NUIApplication
+    {
+        private static int i = 0;
+
+        public Example() : base()
+        {
+        }
+
+        protected override void OnCreate()
+        {
+            base.OnCreate();
+            Initialize();
+        }
+
+        public void Initialize()
+        {
+            Window window = Window.Instance;
+            window.BackgroundColor = Color.White;
+
+            TextLabel label = new TextLabel()
+            {
+                Text = "Steps: 0",
+                Size2D = new Size2D(460, 80),
+                Position2D = new Position2D(10, 10)
+            };
+
+            RadioButton radio1 = new RadioButton()
+            {
+                LabelText = "Set interval 500",
+                Size2D = new Size2D(300, 50),
+                Position2D = new Position2D(10, 100),
+            };
+            RadioButton radio2 = new RadioButton()
+            {
+                LabelText = "Set interval 1000",
+                Size2D = new Size2D(300, 50),
+                Position2D = new Position2D(10, 160),
+                Selected = true
+            };
+            RadioButton radio3 = new RadioButton()
+            {
+                LabelText = "Set interval 3000",
+                Size2D = new Size2D(300, 50),
+                Position2D = new Position2D(10, 220),
+            };
+
+            PushButton button1 = new PushButton()
+            {
+                LabelText = "Start",
+                Size2D = new Size2D(100, 50),
+                Position2D = new Position2D(10, 300),
+                Focusable = true
+            };
+
+            PushButton button2 = new PushButton()
+            {
+                LabelText = "Stop",
+                Size2D = new Size2D(100, 50),
+                Position2D = new Position2D(140, 300),
+                Focusable = true
+            };
+
+            window.Add(label);
+            window.Add(radio1);
+            window.Add(radio2);
+            window.Add(radio3);
+            window.Add(button1);
+            window.Add(button2);
+
+            FocusManager.Instance.SetCurrentFocusView(button1);
+            button1.LeftFocusableView = button1.RightFocusableView = button2;
+            button2.RightFocusableView = button2.LeftFocusableView = button1;
+            button1.UpFocusableView = button2.UpFocusableView = radio3;
+            radio3.UpFocusableView = radio2;
+            radio2.UpFocusableView = radio1;
+            radio1.DownFocusableView = radio2;
+            radio2.DownFocusableView = radio3;
+            radio3.DownFocusableView = button1;
+
+            Timer timer = new Timer(1000);
+            timer.Tick += (obj, e) =>
+            {
+                Tizen.Log.Fatal("NUI", "NUI Timer tick called!");
+                label.Text = "Steps: " + (i++);
+                return true;
+            };
+
+            button1.Clicked += (obj, e) =>
+            {
+                if (radio1.Selected == true) timer.Interval = 500;
+                if (radio2.Selected == true) timer.Interval = 1000;
+                if (radio3.Selected == true) timer.Interval = 3000;
+                timer.Start();
+                return true;
+            };
+            button2.Clicked += (obj, e) =>
+            {
+                timer.Stop();
+                return true;
+            };
+        }
+    }
+}
index a062638..cbb7dd6 100755 (executable)
@@ -175,6 +175,21 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Gets/Sets the interval of the timer.
+        /// </summary>
+        public uint Interval
+        {
+            get
+            {
+                return GetInterval();
+            }
+            set
+            {
+                SetInterval(value);
+            }
+        }
+
+        /// <summary>
         /// Sets a new interval on the timer and starts the timer.<br>
         /// Cancels the previous timer.<br>
         /// </summary>