diff options
author | Kangho <rookiejava+github@gmail.com> | 2016-12-15 06:24:59 +0900 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2016-12-14 13:24:59 -0800 |
commit | 1c5de535739e92d0c6dca335c024503b08d1a2af (patch) | |
tree | 1ae9ab1eb0608ee4830a8194063dc4b371890833 | |
parent | 2a9c6f75cfab2699cbb398f0439c4451fe180766 (diff) | |
download | xamarin-forms-1c5de535739e92d0c6dca335c024503b08d1a2af.tar.gz xamarin-forms-1c5de535739e92d0c6dca335c024503b08d1a2af.tar.bz2 xamarin-forms-1c5de535739e92d0c6dca335c024503b08d1a2af.zip |
Add Tizen to TargetPlatform (#590)
* Add Tizen to TargetPlatform
* Adds Device.OnPlatform methods having Tizen
-rw-r--r-- | Xamarin.Forms.Core/Device.cs | 27 | ||||
-rw-r--r-- | Xamarin.Forms.Core/OnPlatform.cs | 6 | ||||
-rw-r--r-- | Xamarin.Forms.Core/PlatformConfiguration/ExtensionPoints.cs | 1 | ||||
-rw-r--r-- | Xamarin.Forms.Core/TargetPlatform.cs | 5 | ||||
-rw-r--r-- | docs/Xamarin.Forms.Core/Xamarin.Forms.PlatformConfiguration/Tizen.xml | 35 | ||||
-rw-r--r-- | docs/Xamarin.Forms.Core/Xamarin.Forms/Device.xml | 73 | ||||
-rw-r--r-- | docs/Xamarin.Forms.Core/Xamarin.Forms/OnPlatform`1.xml | 16 | ||||
-rw-r--r-- | docs/Xamarin.Forms.Core/Xamarin.Forms/TargetPlatform.xml | 14 | ||||
-rw-r--r-- | docs/Xamarin.Forms.Core/index.xml | 1 |
9 files changed, 175 insertions, 3 deletions
diff --git a/Xamarin.Forms.Core/Device.cs b/Xamarin.Forms.Core/Device.cs index db0a2747..50fdcfc0 100644 --- a/Xamarin.Forms.Core/Device.cs +++ b/Xamarin.Forms.Core/Device.cs @@ -88,6 +88,21 @@ namespace Xamarin.Forms } } + public static void OnPlatform(Action iOS = null, Action Android = null, Action WinPhone = null, Action Default = null, Action Tizen = null) + { + if (OS == TargetPlatform.Tizen) + { + if (Tizen != null) + Tizen(); + else if (Default != null) + Default(); + } + else + { + OnPlatform(iOS, Android, WinPhone, Default); + } + } + public static T OnPlatform<T>(T iOS, T Android, T WinPhone) { switch (OS) @@ -104,6 +119,18 @@ namespace Xamarin.Forms return iOS; } + public static T OnPlatform<T>(T iOS, T Android, T WinPhone, T Tizen) + { + if (OS == TargetPlatform.Tizen) + { + return Tizen; + } + else + { + return OnPlatform<T>(iOS, Android, WinPhone); + } + } + public static void OpenUri(Uri uri) { PlatformServices.OpenUriAction(uri); diff --git a/Xamarin.Forms.Core/OnPlatform.cs b/Xamarin.Forms.Core/OnPlatform.cs index b66167fa..71879a7d 100644 --- a/Xamarin.Forms.Core/OnPlatform.cs +++ b/Xamarin.Forms.Core/OnPlatform.cs @@ -8,6 +8,8 @@ namespace Xamarin.Forms public T WinPhone { get; set; } + public T Tizen { get; set; } + public static implicit operator T(OnPlatform<T> onPlatform) { switch (Device.OS) @@ -19,9 +21,11 @@ namespace Xamarin.Forms case TargetPlatform.Windows: case TargetPlatform.WinPhone: return onPlatform.WinPhone; + case TargetPlatform.Tizen: + return onPlatform.Tizen; } return onPlatform.iOS; } } -}
\ No newline at end of file +} diff --git a/Xamarin.Forms.Core/PlatformConfiguration/ExtensionPoints.cs b/Xamarin.Forms.Core/PlatformConfiguration/ExtensionPoints.cs index 341d9319..b74e9b9a 100644 --- a/Xamarin.Forms.Core/PlatformConfiguration/ExtensionPoints.cs +++ b/Xamarin.Forms.Core/PlatformConfiguration/ExtensionPoints.cs @@ -4,4 +4,5 @@ namespace Xamarin.Forms.PlatformConfiguration public sealed class Android : IConfigPlatform { } public sealed class iOS : IConfigPlatform { } public sealed class Windows : IConfigPlatform { } + public sealed class Tizen : IConfigPlatform { } } diff --git a/Xamarin.Forms.Core/TargetPlatform.cs b/Xamarin.Forms.Core/TargetPlatform.cs index d9fe6b76..62fbda09 100644 --- a/Xamarin.Forms.Core/TargetPlatform.cs +++ b/Xamarin.Forms.Core/TargetPlatform.cs @@ -6,6 +6,7 @@ namespace Xamarin.Forms iOS, Android, WinPhone, - Windows + Windows, + Tizen } -}
\ No newline at end of file +} diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms.PlatformConfiguration/Tizen.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms.PlatformConfiguration/Tizen.xml new file mode 100644 index 00000000..de0e8faa --- /dev/null +++ b/docs/Xamarin.Forms.Core/Xamarin.Forms.PlatformConfiguration/Tizen.xml @@ -0,0 +1,35 @@ +<Type Name="Tizen" FullName="Xamarin.Forms.PlatformConfiguration.Tizen"> + <TypeSignature Language="C#" Value="public sealed class Tizen : Xamarin.Forms.IConfigPlatform" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit Tizen extends System.Object implements class Xamarin.Forms.IConfigPlatform" /> + <AssemblyInfo> + <AssemblyName>Xamarin.Forms.Core</AssemblyName> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces> + <Interface> + <InterfaceName>Xamarin.Forms.IConfigPlatform</InterfaceName> + </Interface> + </Interfaces> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public Tizen ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms/Device.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms/Device.xml index d5c3fce4..1c68026b 100644 --- a/docs/Xamarin.Forms.Core/Xamarin.Forms/Device.xml +++ b/docs/Xamarin.Forms.Core/Xamarin.Forms/Device.xml @@ -168,6 +168,41 @@ Device.OnPlatform (iOS: () => label.Font = Font.OfSize ("HelveticaNeue-UltraLigh </remarks> </Docs> </Member> + <Member MemberName="OnPlatform"> + <MemberSignature Language="C#" Value="public static void OnPlatform (Action iOS = null, Action Android = null, Action WinPhone = null, Action Default = null, Action Tizen = null);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig void OnPlatform(class System.Action iOS, class System.Action Android, class System.Action WinPhone, class System.Action Default, class System.Action Tizen) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="iOS" Type="System.Action" /> + <Parameter Name="Android" Type="System.Action" /> + <Parameter Name="WinPhone" Type="System.Action" /> + <Parameter Name="Default" Type="System.Action" /> + <Parameter Name="Tizen" Type="System.Action" /> + </Parameters> + <Docs> + <param name="iOS">(optional) The Action to execute on iOS.</param> + <param name="Android">(optional) The Action to execute on Android.</param> + <param name="WinPhone">(optional) The Action to execute on WinPhone.</param> + <param name="Default">(optional) The Action to execute if no Action was provided for the current OS.</param> + <param name="Tizen">(optional) The Action to execute on Tizen.</param> + <summary>Executes different Actions depending on the <see cref="T:Xamarin.QcuikUI.TargetOS" /> that Xamarin.Forms is working on.</summary> + <remarks> + <para>This example shows how to change the font of a Label on a single OS. + </para> + <example> + <code lang="C#"><![CDATA[ +Device.OnPlatform (iOS: () => label.Font = Font.OfSize ("HelveticaNeue-UltraLight", NamedSize.Large)); + ]]></code> + </example> + </remarks> + </Docs> + </Member> <Member MemberName="OnPlatform<T>"> <MemberSignature Language="C#" Value="public static T OnPlatform<T> (T iOS, T Android, T WinPhone);" /> <MemberSignature Language="ILAsm" Value=".method public static hidebysig !!T OnPlatform<T>(!!T iOS, !!T Android, !!T WinPhone) cil managed" /> @@ -210,6 +245,44 @@ button.HeightRequest = Device.OnPlatform (20,30,30); </remarks> </Docs> </Member> + <Member MemberName="OnPlatform<T>"> + <MemberSignature Language="C#" Value="public static T OnPlatform<T> (T iOS, T Android, T WinPhone, T Tizen);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig !!T OnPlatform<T>(!!T iOS, !!T Android, !!T WinPhone, !!T Tizen) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>T</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Parameters> + <Parameter Name="iOS" Type="T" /> + <Parameter Name="Android" Type="T" /> + <Parameter Name="WinPhone" Type="T" /> + <Parameter Name="Tizen" Type="T" /> + </Parameters> + <Docs> + <typeparam name="T">The type of the value to be returned.</typeparam> + <param name="iOS">The value for iOS.</param> + <param name="Android">The value for Android.</param> + <param name="WinPhone">The value for WinPhone.</param> + <param name="WinPhone">The value for Tizen.</param> + <summary>Returns different values depending on the <see cref="T:Xamarin.Forms.TargetOS" /> Xamarin.Forms is working on.</summary> + <returns>The value for the current OS.</returns> + <remarks> + <para>This example shows how to use different heights for a Button on different OS. + </para> + <example> + <code lang="C#"><![CDATA[ +button.HeightRequest = Device.OnPlatform (20,30,30); + ]]></code> + </example> + </remarks> + </Docs> + </Member> <Member MemberName="OpenUri"> <MemberSignature Language="C#" Value="public static void OpenUri (Uri uri);" /> <MemberSignature Language="ILAsm" Value=".method public static hidebysig void OpenUri(class System.Uri uri) cil managed" /> diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms/OnPlatform`1.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms/OnPlatform`1.xml index 38714876..1204cff8 100644 --- a/docs/Xamarin.Forms.Core/Xamarin.Forms/OnPlatform`1.xml +++ b/docs/Xamarin.Forms.Core/Xamarin.Forms/OnPlatform`1.xml @@ -113,6 +113,22 @@ <remarks>To be added.</remarks> </Docs> </Member> + <Member MemberName="Tizen"> + <MemberSignature Language="C#" Value="public T Tizen { get; set; }" /> + <MemberSignature Language="ILAsm" Value=".property instance !T Tizen" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>T</ReturnType> + </ReturnValue> + <Docs> + <summary>The type as it is implemented on the Tizen platform.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> <Member MemberName="WinPhone"> <MemberSignature Language="C#" Value="public T WinPhone { get; set; }" /> <MemberSignature Language="ILAsm" Value=".property instance !T WinPhone" /> diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms/TargetPlatform.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms/TargetPlatform.xml index 40fd72bd..9dc44669 100644 --- a/docs/Xamarin.Forms.Core/Xamarin.Forms/TargetPlatform.xml +++ b/docs/Xamarin.Forms.Core/Xamarin.Forms/TargetPlatform.xml @@ -80,6 +80,20 @@ <summary>(Unused) Indicates that Forms is running on an undefined platform.</summary> </Docs> </Member> + <Member MemberName="Tizen"> + <MemberSignature Language="C#" Value="Tizen" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.TargetPlatform Tizen = int32(5)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.TargetPlatform</ReturnType> + </ReturnValue> + <Docs> + <summary>Indicates that forms is running on the Tizen platform.</summary> + </Docs> + </Member> <Member MemberName="Windows"> <MemberSignature Language="C#" Value="Windows" /> <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Xamarin.Forms.TargetPlatform Windows = int32(4)" /> diff --git a/docs/Xamarin.Forms.Core/index.xml b/docs/Xamarin.Forms.Core/index.xml index f13fd562..901945fb 100644 --- a/docs/Xamarin.Forms.Core/index.xml +++ b/docs/Xamarin.Forms.Core/index.xml @@ -460,6 +460,7 @@ <Namespace Name="Xamarin.Forms.PlatformConfiguration"> <Type Name="Android" Kind="Class" /> <Type Name="iOS" Kind="Class" /> + <Type Name="Tizen" Kind="Class" /> <Type Name="Windows" Kind="Class" /> </Namespace> <Namespace Name="Xamarin.Forms.PlatformConfiguration.AndroidSpecific"> |