f7521ba156a6c9d3c33ce07d0323f300637d297f
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / public / Utility / ScrollViewBindableProperty.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
18 using System;
19 using System.ComponentModel;
20 using Tizen.NUI.Binding;
21
22 namespace Tizen.NUI
23 {
24     /// <summary>
25     /// ScrollView contains views that can be scrolled manually (via touch).
26     /// </summary>
27     public partial class ScrollView
28     {
29         [EditorBrowsable(EditorBrowsableState.Never)]
30         public static readonly BindableProperty WrapEnabledProperty = BindableProperty.Create(nameof(WrapEnabled), typeof(bool), typeof(ScrollView), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
31         {
32             var scrollView = (ScrollView)bindable;
33             if (newValue != null)
34             {
35                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.WrapEnabled, new Tizen.NUI.PropertyValue((bool)newValue));
36             }
37         }),
38         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
39         {
40             var scrollView = (ScrollView)bindable;
41             bool temp = false;
42             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.WrapEnabled).Get(out temp);
43             return temp;
44         }));
45         [EditorBrowsable(EditorBrowsableState.Never)]
46         public static readonly BindableProperty PanningEnabledProperty = BindableProperty.Create(nameof(PanningEnabled), typeof(bool), typeof(ScrollView), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
47         {
48             var scrollView = (ScrollView)bindable;
49             if (newValue != null)
50             {
51                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.PanningEnabled, new Tizen.NUI.PropertyValue((bool)newValue));
52             }
53         }),
54         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
55         {
56             var scrollView = (ScrollView)bindable;
57             bool temp = false;
58             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.PanningEnabled).Get(out temp);
59             return temp;
60         }));
61         [EditorBrowsable(EditorBrowsableState.Never)]
62         public static readonly BindableProperty AxisAutoLockEnabledProperty = BindableProperty.Create(nameof(AxisAutoLockEnabled), typeof(bool), typeof(ScrollView), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
63         {
64             var scrollView = (ScrollView)bindable;
65             if (newValue != null)
66             {
67                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.AxisAutoLockEnabled, new Tizen.NUI.PropertyValue((bool)newValue));
68             }
69         }),
70         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
71         {
72             var scrollView = (ScrollView)bindable;
73             bool temp = false;
74             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.AxisAutoLockEnabled).Get(out temp);
75             return temp;
76         }));
77         [EditorBrowsable(EditorBrowsableState.Never)]
78         public static readonly BindableProperty WheelScrollDistanceStepProperty = BindableProperty.Create(nameof(WheelScrollDistanceStep), typeof(Vector2), typeof(ScrollView), Vector2.Zero, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
79         {
80             var scrollView = (ScrollView)bindable;
81             if (newValue != null)
82             {
83                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.WheelScrollDistanceStep, new Tizen.NUI.PropertyValue((Vector2)newValue));
84             }
85         }),
86         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
87         {
88             var scrollView = (ScrollView)bindable;
89             Vector2 temp = new Vector2(0.0f, 0.0f);
90             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.WheelScrollDistanceStep).Get(temp);
91             return temp;
92         }));
93         [EditorBrowsable(EditorBrowsableState.Never)]
94         public static readonly BindableProperty ScrollPositionProperty = BindableProperty.Create(nameof(ScrollPosition), typeof(Vector2), typeof(ScrollView), Vector2.Zero, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
95         {
96             var scrollView = (ScrollView)bindable;
97             if (newValue != null)
98             {
99                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollPosition, new Tizen.NUI.PropertyValue((Vector2)newValue));
100             }
101         }),
102         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
103         {
104             var scrollView = (ScrollView)bindable;
105             Vector2 temp = new Vector2(0.0f, 0.0f);
106             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollPosition).Get(temp);
107             return temp;
108         }));
109         [EditorBrowsable(EditorBrowsableState.Never)]
110         public static readonly BindableProperty ScrollPrePositionProperty = BindableProperty.Create(nameof(ScrollPrePosition), typeof(Vector2), typeof(ScrollView), Vector2.Zero, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
111         {
112             var scrollView = (ScrollView)bindable;
113             if (newValue != null)
114             {
115                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollPrePosition, new Tizen.NUI.PropertyValue((Vector2)newValue));
116             }
117         }),
118         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
119         {
120             var scrollView = (ScrollView)bindable;
121             Vector2 temp = new Vector2(0.0f, 0.0f);
122             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollPrePosition).Get(temp);
123             return temp;
124         }));
125         [EditorBrowsable(EditorBrowsableState.Never)]
126         public static readonly BindableProperty ScrollPrePositionMaxProperty = BindableProperty.Create(nameof(ScrollPrePositionMax), typeof(Vector2), typeof(ScrollView), Vector2.Zero, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
127         {
128             var scrollView = (ScrollView)bindable;
129             if (newValue != null)
130             {
131                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollPrePositionMax, new Tizen.NUI.PropertyValue((Vector2)newValue));
132             }
133         }),
134         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
135         {
136             var scrollView = (ScrollView)bindable;
137             Vector2 temp = new Vector2(0.0f, 0.0f);
138             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollPrePositionMax).Get(temp);
139             return temp;
140         }));
141         [EditorBrowsable(EditorBrowsableState.Never)]
142         public static readonly BindableProperty OvershootXProperty = BindableProperty.Create(nameof(OvershootX), typeof(float), typeof(ScrollView), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
143         {
144             var scrollView = (ScrollView)bindable;
145             if (newValue != null)
146             {
147                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.OvershootX, new Tizen.NUI.PropertyValue((float)newValue));
148             }
149         }),
150         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
151         {
152             var scrollView = (ScrollView)bindable;
153             float temp = 0.0f;
154             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.OvershootX).Get(out temp);
155             return temp;
156         }));
157         [EditorBrowsable(EditorBrowsableState.Never)]
158         public static readonly BindableProperty OvershootYProperty = BindableProperty.Create(nameof(OvershootY), typeof(float), typeof(ScrollView), default(float), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
159         {
160             var scrollView = (ScrollView)bindable;
161             if (newValue != null)
162             {
163                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.OvershootY, new Tizen.NUI.PropertyValue((float)newValue));
164             }
165         }),
166         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
167         {
168             var scrollView = (ScrollView)bindable;
169             float temp = 0.0f;
170             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.OvershootY).Get(out temp);
171             return temp;
172         }));
173         [EditorBrowsable(EditorBrowsableState.Never)]
174         public static readonly BindableProperty ScrollFinalProperty = BindableProperty.Create(nameof(ScrollFinal), typeof(Vector2), typeof(ScrollView), Vector2.Zero, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
175         {
176             var scrollView = (ScrollView)bindable;
177             if (newValue != null)
178             {
179                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollFinal, new Tizen.NUI.PropertyValue((Vector2)newValue));
180             }
181         }),
182         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
183         {
184             var scrollView = (ScrollView)bindable;
185             Vector2 temp = new Vector2(0.0f, 0.0f);
186             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollFinal).Get(temp);
187             return temp;
188         }));
189         [EditorBrowsable(EditorBrowsableState.Never)]
190         public static readonly BindableProperty WrapProperty = BindableProperty.Create(nameof(Wrap), typeof(bool), typeof(ScrollView), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
191         {
192             var scrollView = (ScrollView)bindable;
193             if (newValue != null)
194             {
195                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.WRAP, new Tizen.NUI.PropertyValue((bool)newValue));
196             }
197         }),
198         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
199         {
200             var scrollView = (ScrollView)bindable;
201             bool temp = false;
202             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.WRAP).Get(out temp);
203             return temp;
204         }));
205         [EditorBrowsable(EditorBrowsableState.Never)]
206         public static readonly BindableProperty PanningProperty = BindableProperty.Create(nameof(Panning), typeof(bool), typeof(ScrollView), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
207         {
208             var scrollView = (ScrollView)bindable;
209             if (newValue != null)
210             {
211                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.PANNING, new Tizen.NUI.PropertyValue((bool)newValue));
212             }
213         }),
214         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
215         {
216             var scrollView = (ScrollView)bindable;
217             bool temp = false;
218             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.PANNING).Get(out temp);
219             return temp;
220         }));
221         [EditorBrowsable(EditorBrowsableState.Never)]
222         public static readonly BindableProperty ScrollingProperty = BindableProperty.Create(nameof(Scrolling), typeof(bool), typeof(ScrollView), false, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
223         {
224             var scrollView = (ScrollView)bindable;
225             if (newValue != null)
226             {
227                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.SCROLLING, new Tizen.NUI.PropertyValue((bool)newValue));
228             }
229         }),
230         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
231         {
232             var scrollView = (ScrollView)bindable;
233             bool temp = false;
234             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.SCROLLING).Get(out temp);
235             return temp;
236         }));
237         [EditorBrowsable(EditorBrowsableState.Never)]
238         public static readonly BindableProperty ScrollDomainSizeProperty = BindableProperty.Create(nameof(ScrollDomainSize), typeof(Vector2), typeof(ScrollView), Vector2.Zero, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
239         {
240             var scrollView = (ScrollView)bindable;
241             if (newValue != null)
242             {
243                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollDomainSize, new Tizen.NUI.PropertyValue((Vector2)newValue));
244             }
245         }),
246         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
247         {
248             var scrollView = (ScrollView)bindable;
249             Vector2 temp = new Vector2(0.0f, 0.0f);
250             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollDomainSize).Get(temp);
251             return temp;
252         }));
253         [EditorBrowsable(EditorBrowsableState.Never)]
254         public static readonly BindableProperty ScrollDomainOffsetProperty = BindableProperty.Create(nameof(ScrollDomainOffset), typeof(Vector2), typeof(ScrollView), Vector2.Zero, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
255         {
256             var scrollView = (ScrollView)bindable;
257             if (newValue != null)
258             {
259                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollDomainOffset, new Tizen.NUI.PropertyValue((Vector2)newValue));
260             }
261         }),
262         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
263         {
264             var scrollView = (ScrollView)bindable;
265             Vector2 temp = new Vector2(0.0f, 0.0f);
266             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollDomainOffset).Get(temp);
267             return temp;
268         }));
269         [EditorBrowsable(EditorBrowsableState.Never)]
270         public static readonly BindableProperty ScrollPositionDeltaProperty = BindableProperty.Create(nameof(ScrollPositionDelta), typeof(Vector2), typeof(ScrollView), Vector2.Zero, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
271         {
272             var scrollView = (ScrollView)bindable;
273             if (newValue != null)
274             {
275                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollPositionDelta, new Tizen.NUI.PropertyValue((Vector2)newValue));
276             }
277         }),
278         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
279         {
280             var scrollView = (ScrollView)bindable;
281             Vector2 temp = new Vector2(0.0f, 0.0f);
282             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollPositionDelta).Get(temp);
283             return temp;
284         }));
285         [EditorBrowsable(EditorBrowsableState.Never)]
286         public static readonly BindableProperty StartPagePositionProperty = BindableProperty.Create(nameof(StartPagePosition), typeof(Vector3), typeof(ScrollView), Vector3.Zero, propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
287         {
288             var scrollView = (ScrollView)bindable;
289             if (newValue != null)
290             {
291                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.StartPagePosition, new Tizen.NUI.PropertyValue((Vector3)newValue));
292             }
293         }),
294         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
295         {
296             var scrollView = (ScrollView)bindable;
297             Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
298             Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.StartPagePosition).Get(temp);
299             return temp;
300         }));
301         [EditorBrowsable(EditorBrowsableState.Never)]
302         public static readonly BindableProperty ScrollModeProperty = BindableProperty.Create(nameof(ScrollMode), typeof(PropertyMap), typeof(ScrollView), new PropertyMap(), propertyChanged: (BindableProperty.BindingPropertyChangedDelegate)((bindable, oldValue, newValue) =>
303         {
304             var scrollView = (ScrollView)bindable;
305             if (newValue != null)
306             {
307                 Tizen.NUI.Object.SetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollMode, new Tizen.NUI.PropertyValue((PropertyMap)newValue));
308             }
309         }),
310         defaultValueCreator: (BindableProperty.CreateDefaultValueDelegate)((bindable) =>
311         {
312             var scrollView = (ScrollView)bindable;
313             PropertyValue value = Tizen.NUI.Object.GetProperty((System.Runtime.InteropServices.HandleRef)scrollView.SwigCPtr, ScrollView.Property.ScrollMode);
314             PropertyMap map = new PropertyMap();
315             value.Get(map);
316             return map;
317         }));
318     }
319 }