Sic.Framework-Nanjing-Baishi/Sicentury.Core/UserControls/CirclePointRingLoading.cs

232 lines
9.8 KiB
C#

using System.Windows;
using System.Windows.Controls;
namespace Sicentury.Core.UserControls
{
[TemplateVisualState(Name = "Large", GroupName = "SizeStates")]
[TemplateVisualState(Name = "Small", GroupName = "SizeStates")]
[TemplateVisualState(Name = "Inactive", GroupName = "ActiveStates")]
[TemplateVisualState(Name = "Active", GroupName = "ActiveStates")]
public class CirclePointRingLoading : Control
{
// Token: 0x17000001 RID: 1
// (get) Token: 0x06000001 RID: 1 RVA: 0x00002050 File Offset: 0x00000250
// (set) Token: 0x06000002 RID: 2 RVA: 0x00002072 File Offset: 0x00000272
public double BindableWidth
{
get => (double)base.GetValue(CirclePointRingLoading.BindableWidthProperty);
private set => base.SetValue(CirclePointRingLoading.BindableWidthProperty, value);
}
// Token: 0x06000003 RID: 3 RVA: 0x00002088 File Offset: 0x00000288
private static void BindableWidthCallback(DependencyObject dependencyObject,
DependencyPropertyChangedEventArgs e)
{
var circlePointRingLoading = dependencyObject as CirclePointRingLoading;
var flag = circlePointRingLoading == null;
if (!flag)
{
circlePointRingLoading.SetEllipseDiameter((double)e.NewValue);
circlePointRingLoading.SetEllipseOffset((double)e.NewValue);
circlePointRingLoading.SetMaxSideLength((double)e.NewValue);
}
}
// Token: 0x06000004 RID: 4 RVA: 0x000020E0 File Offset: 0x000002E0
private void SetEllipseDiameter(double width)
{
this.EllipseDiameter = width / 8.0;
}
// Token: 0x06000005 RID: 5 RVA: 0x000020F5 File Offset: 0x000002F5
private void SetEllipseOffset(double width)
{
this.EllipseOffset = new Thickness(0.0, width / 2.0, 0.0, 0.0);
}
// Token: 0x06000006 RID: 6 RVA: 0x0000212A File Offset: 0x0000032A
private void SetMaxSideLength(double width)
{
this.MaxSideLength = ((width <= 20.0) ? 20.0 : width);
}
// Token: 0x17000002 RID: 2
// (get) Token: 0x06000007 RID: 7 RVA: 0x0000214C File Offset: 0x0000034C
// (set) Token: 0x06000008 RID: 8 RVA: 0x0000216E File Offset: 0x0000036E
public bool IsActive
{
get => (bool)base.GetValue(CirclePointRingLoading.IsActiveProperty);
set => base.SetValue(CirclePointRingLoading.IsActiveProperty, value);
}
// Token: 0x06000009 RID: 9 RVA: 0x00002184 File Offset: 0x00000384
private static void IsActiveChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
{
var circlePointRingLoading = sender as CirclePointRingLoading;
var flag = circlePointRingLoading == null;
if (!flag)
{
circlePointRingLoading.UpdateActiveState();
}
}
// Token: 0x0600000A RID: 10 RVA: 0x000021AC File Offset: 0x000003AC
private void UpdateActiveState()
{
var isActive = this.IsActive;
if (isActive)
{
VisualStateManager.GoToState(this, this.StateActive, true);
}
else
{
VisualStateManager.GoToState(this, this.StateInActive, true);
}
}
// Token: 0x17000003 RID: 3
// (get) Token: 0x0600000B RID: 11 RVA: 0x000021E4 File Offset: 0x000003E4
// (set) Token: 0x0600000C RID: 12 RVA: 0x00002206 File Offset: 0x00000406
public bool IsLarge
{
get => (bool)base.GetValue(CirclePointRingLoading.IsLargeProperty);
set => base.SetValue(CirclePointRingLoading.IsLargeProperty, value);
}
// Token: 0x0600000D RID: 13 RVA: 0x0000221C File Offset: 0x0000041C
private static void IsLargeChangedCallback(DependencyObject sender, DependencyPropertyChangedEventArgs e)
{
var circlePointRingLoading = sender as CirclePointRingLoading;
var flag = circlePointRingLoading == null;
if (!flag)
{
circlePointRingLoading.UpdateLargeState();
}
}
// Token: 0x0600000E RID: 14 RVA: 0x00002244 File Offset: 0x00000444
private void UpdateLargeState()
{
var isLarge = this.IsLarge;
if (isLarge)
{
VisualStateManager.GoToState(this, this.StateLarge, true);
}
else
{
VisualStateManager.GoToState(this, this.StateSmall, true);
}
}
// Token: 0x17000004 RID: 4
// (get) Token: 0x0600000F RID: 15 RVA: 0x0000227C File Offset: 0x0000047C
// (set) Token: 0x06000010 RID: 16 RVA: 0x0000229E File Offset: 0x0000049E
public double MaxSideLength
{
get => (double)base.GetValue(CirclePointRingLoading.MaxSideLengthProperty);
set => base.SetValue(CirclePointRingLoading.MaxSideLengthProperty, value);
}
// Token: 0x17000005 RID: 5
// (get) Token: 0x06000011 RID: 17 RVA: 0x000022B4 File Offset: 0x000004B4
// (set) Token: 0x06000012 RID: 18 RVA: 0x000022D6 File Offset: 0x000004D6
public double EllipseDiameter
{
get => (double)base.GetValue(CirclePointRingLoading.EllipseDiameterProperty);
set => base.SetValue(CirclePointRingLoading.EllipseDiameterProperty, value);
}
// Token: 0x17000006 RID: 6
// (get) Token: 0x06000013 RID: 19 RVA: 0x000022EC File Offset: 0x000004EC
// (set) Token: 0x06000014 RID: 20 RVA: 0x0000230E File Offset: 0x0000050E
public Thickness EllipseOffset
{
get => (Thickness)base.GetValue(CirclePointRingLoading.EllipseOffsetProperty);
set => base.SetValue(CirclePointRingLoading.EllipseOffsetProperty, value);
}
// Token: 0x06000015 RID: 21 RVA: 0x00002324 File Offset: 0x00000524
public CirclePointRingLoading()
{
base.SizeChanged += new SizeChangedEventHandler((object argument0, SizeChangedEventArgs argument1) =>
this.BindableWidth = base.ActualWidth);
}
// Token: 0x06000016 RID: 22 RVA: 0x00002378 File Offset: 0x00000578
static CirclePointRingLoading()
{
FrameworkElement.DefaultStyleKeyProperty.OverrideMetadata(typeof(CirclePointRingLoading),
new FrameworkPropertyMetadata(typeof(CirclePointRingLoading)));
UIElement.VisibilityProperty.OverrideMetadata(typeof(CirclePointRingLoading), new FrameworkPropertyMetadata(
delegate (DependencyObject ringObject, DependencyPropertyChangedEventArgs e)
{
var flag = e.NewValue != e.OldValue;
if (flag)
{
var circlePointRingLoading = (CirclePointRingLoading)ringObject;
var flag2 = (Visibility)e.NewValue > Visibility.Visible;
if (flag2)
{
circlePointRingLoading.SetCurrentValue(CirclePointRingLoading.IsActiveProperty, false);
}
else
{
circlePointRingLoading.IsActive = true;
}
}
}));
}
// Token: 0x06000017 RID: 23 RVA: 0x00002531 File Offset: 0x00000731
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
this.UpdateLargeState();
this.UpdateActiveState();
}
// Token: 0x04000001 RID: 1
private string StateActive = "Active";
// Token: 0x04000002 RID: 2
private string StateInActive = "InActive";
// Token: 0x04000003 RID: 3
private string StateLarge = "Large";
// Token: 0x04000004 RID: 4
private string StateSmall = "Small";
// Token: 0x04000005 RID: 5
public static readonly DependencyProperty BindableWidthProperty = DependencyProperty.Register("BindableWidth",
typeof(double), typeof(CirclePointRingLoading),
new PropertyMetadata(0.0, new PropertyChangedCallback(CirclePointRingLoading.BindableWidthCallback)));
// Token: 0x04000006 RID: 6
public static readonly DependencyProperty IsActiveProperty = DependencyProperty.Register("IsActive",
typeof(bool), typeof(CirclePointRingLoading),
new FrameworkPropertyMetadata(true, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault,
new PropertyChangedCallback(CirclePointRingLoading.IsActiveChanged)));
// Token: 0x04000007 RID: 7
public static readonly DependencyProperty IsLargeProperty = DependencyProperty.Register("IsLarge", typeof(bool),
typeof(CirclePointRingLoading),
new PropertyMetadata(true, new PropertyChangedCallback(CirclePointRingLoading.IsLargeChangedCallback)));
// Token: 0x04000008 RID: 8
public static readonly DependencyProperty MaxSideLengthProperty = DependencyProperty.Register("MaxSideLength",
typeof(double), typeof(CirclePointRingLoading), new PropertyMetadata(0.0));
// Token: 0x04000009 RID: 9
public static readonly DependencyProperty EllipseDiameterProperty =
DependencyProperty.Register("EllipseDiameter", typeof(double), typeof(CirclePointRingLoading),
new PropertyMetadata(0.0));
// Token: 0x0400000A RID: 10
public static readonly DependencyProperty EllipseOffsetProperty = DependencyProperty.Register("EllipseOffset",
typeof(Thickness), typeof(CirclePointRingLoading), new PropertyMetadata(default(Thickness)));
}
}