[NUI] Add file comment and end empty line
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI.XamlBuild / src / internal / XamlBinding / FlowDirection.cs
1 /*
2  * Copyright(c) 2022 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17 using System;
18
19 namespace Tizen.NUI.Binding
20 {
21     [TypeConverter(typeof(FlowDirectionConverter))]
22     internal enum FlowDirection
23     {
24         MatchParent = 0,
25         LeftToRight = 1,
26         RightToLeft = 2,
27     }
28
29     [Xaml.TypeConversion(typeof(FlowDirection))]
30     internal class FlowDirectionConverter : TypeConverter
31     {
32         public override object ConvertFromInvariantString(string value)
33         {
34             if (value != null) {
35                 if (Enum.TryParse(value, out FlowDirection direction))
36                     return direction;
37
38                 if (value.Equals("ltr", StringComparison.OrdinalIgnoreCase))
39                     return FlowDirection.LeftToRight;
40                 if (value.Equals("rtl", StringComparison.OrdinalIgnoreCase))
41                     return FlowDirection.RightToLeft;
42                 if (value.Equals("inherit", StringComparison.OrdinalIgnoreCase))
43                     return FlowDirection.MatchParent;
44             }
45             throw new InvalidOperationException(string.Format("Cannot convert \"{0}\" into {1}", value, typeof(FlowDirection)));
46         }
47     }
48 }
49