2 * Copyright(c) 2019 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 using System.ComponentModel;
18 using Tizen.NUI.BaseComponents;
19 using Tizen.NUI.Binding;
21 namespace Tizen.NUI.Components
24 /// ToastStyle is a class which saves Toast's ux data.
26 [EditorBrowsable(EditorBrowsableState.Never)]
27 public class ToastStyle : ControlStyle
29 /// <summary>The Duration bindable property.</summary>
30 [EditorBrowsable(EditorBrowsableState.Never)]
31 public static readonly BindableProperty DurationProperty = BindableProperty.Create(nameof(Duration), typeof(uint?), typeof(ToastStyle), null, propertyChanged: (bindable, oldValue, newValue) =>
33 ((ToastStyle)bindable).duration = (uint?)newValue;
35 defaultValueCreator: (bindable) =>
37 return ((ToastStyle)bindable).duration;
40 private uint? duration;
42 static ToastStyle() { }
45 /// Creates a new instance of a ToastStyle.
47 [EditorBrowsable(EditorBrowsableState.Never)]
48 public ToastStyle() : base()
53 /// Creates a new instance of a ToastStyle with Style.
55 /// <param name="style">Create ToastStyle by Style customized by user.</param>
56 [EditorBrowsable(EditorBrowsableState.Never)]
57 public ToastStyle(ToastStyle style) : base(style)
62 /// Gets or sets toast show duration time.
64 [EditorBrowsable(EditorBrowsableState.Never)]
67 get => (uint?)GetValue(DurationProperty);
68 set => SetValue(DurationProperty, value);
74 [EditorBrowsable(EditorBrowsableState.Never)]
75 public TextLabelStyle Text { get; set; } = new TextLabelStyle();
78 [EditorBrowsable(EditorBrowsableState.Never)]
79 public override void CopyFrom(BindableObject bindableObject)
81 base.CopyFrom(bindableObject);
83 if (bindableObject is ToastStyle toastStyle)
85 Text.CopyFrom(toastStyle.Text);