[NUI][AT-SPI] Add IAtspiTable and IAtspiTableCell interfaces (#5305)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI.Components / Style / TimePickerStyle.cs
1 /*
2  * Copyright(c) 2021 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.ComponentModel;
18 using Tizen.NUI.BaseComponents;
19 using Tizen.NUI.Binding;
20
21 namespace Tizen.NUI.Components
22 {
23     /// <summary>
24     /// TimePickerStyle is a class which saves TimePickerStyle's ux data.
25     /// </summary>
26     [EditorBrowsable(EditorBrowsableState.Never)]
27     public class TimePickerStyle : ControlStyle
28     {
29         /// <summary>
30         /// Creates a new instance of a TimePickerStyle.
31         /// </summary>
32         [EditorBrowsable(EditorBrowsableState.Never)]
33         public TimePickerStyle() : base()
34         {
35         }
36
37         /// <summary>
38         /// Creates a new instance of a TimePickerStyle with style.
39         /// </summary>
40         /// <param name="style">Creates TimePickerStyle by style customized by user.</param>
41         [EditorBrowsable(EditorBrowsableState.Never)]
42         public TimePickerStyle(TimePickerStyle style) : base(style)
43         {
44         }
45
46         /// <summary>
47         /// Gets or sets the TimePickerStyle internal pickers style.
48         /// </summary>
49         public PickerStyle Pickers { get; set;} = new PickerStyle();
50
51         /// <summary>
52         /// Gets or sets the TimePickerStyle internal pickers padding.
53         /// </summary>
54         [EditorBrowsable(EditorBrowsableState.Never)]
55         public Size2D CellPadding { get; set; } = new Size2D();
56
57         /// <inheritdoc/>
58         [EditorBrowsable(EditorBrowsableState.Never)]
59         public override void CopyFrom(BindableObject bindableObject)
60         {
61             base.CopyFrom(bindableObject);
62
63             if (bindableObject is TimePickerStyle timePickerStyle)
64             {
65                 Pickers.CopyFrom(timePickerStyle.Pickers);
66                 CellPadding = (timePickerStyle.CellPadding == null) ?
67                                new Size2D() : new Size2D(timePickerStyle.CellPadding.Width, timePickerStyle.CellPadding.Height);
68             }
69         }
70     }
71 }