-
Notifications
You must be signed in to change notification settings - Fork 241
/
RecycleLayoutManager.cs
executable file
·168 lines (154 loc) · 6.62 KB
/
RecycleLayoutManager.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
/* Copyright (c) 2020 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
using Tizen.NUI.BaseComponents;
using Tizen.NUI.Components;
using System.Collections.Generic;
using System.ComponentModel;
using System;
namespace Tizen.NUI.Wearable
{
/// <summary>
/// [Draft] Defalt layout manager for RecyclerView.
/// Lay out RecycleItem and recycle RecycleItem.
/// </summary>
/// <since_tizen> 8 </since_tizen>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public class RecycleLayoutManager
{
/// <summary>
/// Enumeration for the direction in which the content is laid out
/// </summary>
/// <since_tizen> 8 </since_tizen>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public enum Orientation
{
/// <summary>
/// Vertical
/// </summary>
/// <since_tizen> 8 </since_tizen>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
Vertical = 0,
/// <summary>
/// Horizontal
/// </summary>
/// <since_tizen> 8 </since_tizen>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
Horizontal = 1,
}
/// <summary>
/// Container which contains RecycleItems.
/// </summary>
/// <since_tizen> 8 </since_tizen>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public View Container { get; set; }
/// <summary>
/// Size of RecycleItem.
/// </summary>
/// <since_tizen> 8 </since_tizen>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public Size ItemSize { get; set; } = new Size();
/// <summary>
/// Get/Set the orientation in the layout.
/// </summary>
/// <since_tizen> 8 </since_tizen>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public Orientation LayoutOrientation { get; set; } = Orientation.Vertical;
/// <summary>
/// How far can you reach the next item.
/// </summary>
/// <since_tizen> 8 </since_tizen>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public float StepSize { get; protected set; }
/// <summary>
/// How far can you reach the next item.
/// </summary>
/// <since_tizen> 8 </since_tizen>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public int DataCount { get; set; }
/// <summary>
/// The last scrolled position which is calculated by ScrollableBase. The value should be updated in the Recycle() method.
/// </summary>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
protected float PrevScrollPosition { get; set; }
/// <summary>
/// This is called to find out where items are lain out according to current scroll position.
/// </summary>
/// <param name="scrollPosition">Scroll position which is calculated by ScrollableBase</param>
/// <since_tizen> 8 </since_tizen>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public virtual void Layout(float scrollPosition)
{
}
/// <summary>
/// This is called to find out how much container size can be.
/// </summary>
/// <since_tizen> 8 </since_tizen>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public virtual float CalculateLayoutOrientationSize()
{
return 0.0f;
}
/// <summary>
/// This is called to find out which items should be recycled according to current scroll position.
/// </summary>
/// <param name="scrollPosition">Scroll position which is calculated by ScrollableBase</param>
/// <returns>List of RecycleItems which should be recycled.</returns>
/// <since_tizen> 8 </since_tizen>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public virtual List<RecycleItem> Recycle(float scrollPosition)
{
return new List<RecycleItem>();
}
/// <summary>
/// Adjust scrolling position by own scrolling rules.
/// </summary>
/// <param name="scrollPosition">Scroll position which is calculated by ScrollableBase</param>
/// <since_tizen> 8 </since_tizen>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public virtual float CalculateCandidateScrollPosition(float scrollPosition)
{
return scrollPosition;
}
/// <summary>
/// Gets the next keyboard focusable view in this control towards the given direction.<br />
/// A control needs to override this function in order to support two dimensional keyboard navigation.<br />
/// </summary>
/// <param name="currentFocusedView">The current focused view.</param>
/// <param name="direction">The direction to move the focus towards.</param>
/// <param name="loopEnabled">Whether the focus movement should be looped within the control.</param>
/// <returns>The next keyboard focusable view in this control or an empty handle if no view can be focused.</returns>
[Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public virtual View RequestNextFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)
{
return null;
}
}
}