/*
- * Copyright(c) 2020 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2021 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.
/// Especially, CircularPagination provides indicators specific to wearable device.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
- public class CircularPagination: Control
+ public class CircularPagination : Control
{
private CircularPaginationStyle circularPaginationStyle;
private bool isCurrentIndicatorCentered = false; // When the current indicator is the center one, this variable becomes true.
private bool isOddNumber = true;
private bool uninitializedLeftIndicator = true; // Need it when the indicators are asymmetry and the right indicator count is set earlier than left one.
- private Animation selectAnimation = null;
- private bool isNeedAnimation = false; // TODO : Animation will support using override function later.
Position2D[] oddArray = new Position2D[] { new Position2D(36, 74), new Position2D(47, 60), new Position2D(60, 47), new Position2D(74, 36),
new Position2D(89, 26), new Position2D(105, 18), new Position2D(122, 11), new Position2D(139, 7),
/// Creates a new instance of a CircularPagination.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public CircularPagination() : base()
{
/// Creates a new instance of a CircularPagination using style.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public CircularPagination(CircularPaginationStyle style) : base(style)
{
/// Gets or sets the size of the indicator.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public Size IndicatorSize
{
/// Gets or sets the background resource of indicator.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public Selector<string> IndicatorImageURL
{
/// Gets or sets the background resource of the center indicator.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public Selector<string> CenterIndicatorImageURL
{
/// Please refer to LeftIndicatorCount and RightIndicatorCount.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public bool IsSymmetrical
{
}
}
-
/// <summary>
/// Gets or sets the number of the pages/indicators.
///
/// This value is for symmetrical indicators.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public int IndicatorCount
{
for (int i = (indicatorCount + 1); i <= value; i++)
{
- CreateIndicator( arrayIndex );
+ CreateIndicator(arrayIndex);
arrayIndex++;
}
/// This value can be set when IsSymmetrical API is false.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public int LeftIndicatorCount
{
{
for (int i = (middleIndex - value); i < (middleIndex - leftIndicatorCount); i++)
{
- CreateIndicator( i );
+ CreateIndicator(i);
selectedIndex++;
}
}
/// This value can be set when IsSymmetrical API is false.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public int RightIndicatorCount
{
{
for (int i = (middleIndex + rightIndicatorCount + 1); i <= (middleIndex + value); i++)
{
- CreateIndicator( i );
+ CreateIndicator(i);
}
}
else
/// If no value is set, the default value is the center indicator.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public int SelectedIndex
{
if (selectedIndex >= 0)
{
- if ( (isSymmetrical && selectedIndex < indicatorCount) ||
- (!isSymmetrical && selectedIndex <= (middleIndex + rightIndicatorCount) ) )
+ if ((isSymmetrical && selectedIndex < indicatorCount) ||
+ (!isSymmetrical && selectedIndex <= (middleIndex + rightIndicatorCount)))
{
CheckCenterIndicator(selectedIndex);
SelectOut(indicatorList[selectedIndex]);
selectedIndex = value;
if (selectedIndex >= 0)
{
- if ( (isSymmetrical && selectedIndex < indicatorCount) ||
- (!isSymmetrical && selectedIndex <= (middleIndex + rightIndicatorCount) ) )
+ if ((isSymmetrical && selectedIndex < indicatorCount) ||
+ (!isSymmetrical && selectedIndex <= (middleIndex + rightIndicatorCount)))
{
CheckCenterIndicator(selectedIndex);
SelectIn(indicatorList[selectedIndex]);
/// <param name="index">Indicator index</param>
/// <returns>The position of a indicator by index</returns>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public Position GetIndicatorPosition(int index)
{
/// <param name="position">The position of a indicator by index</param>
/// <exception cref="ArgumentNullException">This exception can occur by the position is null.</exception>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
public virtual void SetIndicatorPosition(int index, Position position)
{
UpdateVisual();
}
- private void CreateSelectAnimation()
- {
- if (selectAnimation == null)
- {
- selectAnimation = new Animation(250);
- }
- }
-
/// <summary>
/// You can override it to do your select out operation.
/// </summary>
/// <param name="selectOutIndicator">The indicator will be selected out</param>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
protected virtual void SelectOut(VisualMap selectOutIndicator)
{
/// </summary>
/// <param name="selectInIndicator">The indicator will be selected in</param>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
protected virtual void SelectIn(VisualMap selectInIndicator)
{
/// you can override it to create your own default style.
/// </summary>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
protected override ViewStyle CreateViewStyle()
{
/// </summary>
/// <param name="type">DisposeTypes</param>
/// <since_tizen> 8 </since_tizen>
- /// This will be public opened in tizen_6.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+ [Obsolete("This has been deprecated in API12")]
[EditorBrowsable(EditorBrowsableState.Never)]
protected override void Dispose(DisposeTypes type)
{
if (type == DisposeTypes.Explicit)
{
- if (selectAnimation != null)
- {
- if (selectAnimation.State == Animation.States.Playing)
- {
- selectAnimation.Stop();
- }
- selectAnimation.Dispose();
- selectAnimation = null;
- }
-
container.RemoveAll();
indicatorList.Clear();
private void Initialize()
{
- circularPaginationStyle = Style as CircularPaginationStyle;
+ circularPaginationStyle = ViewStyle as CircularPaginationStyle;
if (circularPaginationStyle == null)
{
throw new Exception("CircularPagination style is null.");
{
if (isCenterImageSet &&
(isSymmetrical && (index == indicatorCount / 2)) ||
- (!isSymmetrical && (index == leftIndicatorCount)) )
+ (!isSymmetrical && (index == leftIndicatorCount)))
{
- isCurrentIndicatorCentered = true;
+ isCurrentIndicatorCentered = true;
}
else
{
private void UpdateVisual()
{
if (null == circularPaginationStyle.IndicatorSize) return;
- if (null == circularPaginationStyle.IndicatorImageURL) return;
+ var indicatorImageURL = circularPaginationStyle.IndicatorImageURL;
+ if (null == indicatorImageURL) return;
if (indicatorCount <= 0) return;
for (int i = 0; i < indicatorList.Count; i++)
// If the center image is set before, then should update the center visual separately.
if (isCurrentIndicatorCentered)
{
- indicator.URL = circularPaginationStyle.CenterIndicatorImageURL.Selected;
+ indicator.URL = circularPaginationStyle.CenterIndicatorImageURL?.Selected;
}
else
{
- indicator.URL = circularPaginationStyle.IndicatorImageURL.Selected;
+ indicator.URL = indicatorImageURL.Selected;
}
indicator.Opacity = 1.0f;
}
// If the center image is set before, then should update the center visual separately.
if (isCurrentIndicatorCentered)
{
- indicator.URL = circularPaginationStyle.CenterIndicatorImageURL.Normal;
+ indicator.URL = circularPaginationStyle.CenterIndicatorImageURL?.Normal;
}
else
{
- indicator.URL = circularPaginationStyle.IndicatorImageURL.Normal;
+ indicator.URL = indicatorImageURL.Normal;
}
indicator.Opacity = 0.5f;
}
private void UpdateAsymmetry()
{
if (null == circularPaginationStyle.IndicatorSize) return;
- if (null == circularPaginationStyle.IndicatorImageURL) return;
+ var indicatorImageURL = circularPaginationStyle.IndicatorImageURL;
+ if (null == indicatorImageURL) return;
int listCount = indicatorList.Count;
if (isCenterImageSet && !isSymmetrical && (i == leftIndicatorCount))
{
- newOne.URL = circularPaginationStyle.CenterIndicatorImageURL.Normal;
+ newOne.URL = circularPaginationStyle.CenterIndicatorImageURL?.Normal;
}
else
{
- newOne.URL = circularPaginationStyle.IndicatorImageURL.Normal;
+ newOne.URL = indicatorImageURL.Normal;
}
- newOne.Opacity = 0.5f;
+ newOne.Opacity = 0.5f;
container.AddVisual("Indicator" + i, newOne);
indicatorList.Add(newOne);
}
if (isCenterImageSet && (selectedIndex == leftIndicatorCount))
{
- indicatorList[selectedIndex].URL = circularPaginationStyle.CenterIndicatorImageURL.Selected;
+ indicatorList[selectedIndex].URL = circularPaginationStyle.CenterIndicatorImageURL?.Selected;
indicatorList[selectedIndex].Opacity = 1.0f;
}
else
{
- indicatorList[selectedIndex].URL = circularPaginationStyle.IndicatorImageURL.Selected;
+ indicatorList[selectedIndex].URL = indicatorImageURL.Selected;
indicatorList[selectedIndex].Opacity = 1.0f;
}
}