| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547 |
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.Runtime.CompilerServices;
- using System.Threading;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Input;
- using System.Windows.Media;
- using Microsoft.VisualBasic;
- using Microsoft.VisualBasic.CompilerServices;
- namespace PCL
- {
- // Token: 0x020000A6 RID: 166
- public class MyTextBox : TextBox
- {
- // Token: 0x06000506 RID: 1286 RVA: 0x0002A0F0 File Offset: 0x000282F0
- public MyTextBox()
- {
- base.Loaded += delegate(object sender, RoutedEventArgs e)
- {
- this.Validate();
- };
- base.TextChanged += delegate(object sender, TextChangedEventArgs e)
- {
- this.MyTextBox_TextChanged((MyTextBox)sender, e);
- };
- base.IsEnabledChanged += delegate(object sender, DependencyPropertyChangedEventArgs e)
- {
- this.RefreshColor();
- };
- base.MouseEnter += delegate(object sender, MouseEventArgs e)
- {
- this.RefreshColor();
- };
- base.MouseLeave += delegate(object sender, MouseEventArgs e)
- {
- this.RefreshColor();
- };
- base.GotFocus += delegate(object sender, RoutedEventArgs e)
- {
- this.RefreshColor();
- };
- base.LostFocus += delegate(object sender, RoutedEventArgs e)
- {
- this.RefreshColor();
- };
- base.IsEnabledChanged += delegate(object sender, DependencyPropertyChangedEventArgs e)
- {
- this.RefreshTextColor();
- };
- this.HasAnimation = true;
- this.ShowValidateResult = true;
- this.bridgeBroadcaster = null;
- this.itemBroadcaster = null;
- this.reponseBroadcaster = ModBase.GetUuid();
- this._ExceptionBroadcaster = new List<RoutedEventHandler>();
- this.classBroadcaster = new Collection<Validate>();
- this.policyBroadcaster = MyTextBox.ValidateState.NotInited;
- this.producerBroadcaster = false;
- this.schemaBroadcaster = "";
- }
- // Token: 0x17000086 RID: 134
- // (get) Token: 0x06000507 RID: 1287 RVA: 0x00004B9E File Offset: 0x00002D9E
- // (set) Token: 0x06000508 RID: 1288 RVA: 0x00004BA6 File Offset: 0x00002DA6
- public bool HasAnimation { get; set; }
- // Token: 0x17000087 RID: 135
- // (get) Token: 0x06000509 RID: 1289 RVA: 0x00004BAF File Offset: 0x00002DAF
- // (set) Token: 0x0600050A RID: 1290 RVA: 0x00004BB7 File Offset: 0x00002DB7
- public bool ShowValidateResult { get; set; }
- // Token: 0x17000088 RID: 136
- // (get) Token: 0x0600050B RID: 1291 RVA: 0x0002A1EC File Offset: 0x000283EC
- private TextBlock labWrong
- {
- get
- {
- TextBlock result;
- if (base.Template == null)
- {
- result = null;
- }
- else
- {
- if (this.bridgeBroadcaster == null)
- {
- this.bridgeBroadcaster = (TextBlock)base.Template.FindName("labWrong", this);
- }
- result = this.bridgeBroadcaster;
- }
- return result;
- }
- }
- // Token: 0x17000089 RID: 137
- // (get) Token: 0x0600050C RID: 1292 RVA: 0x0002A234 File Offset: 0x00028434
- private TextBlock labHint
- {
- get
- {
- TextBlock result;
- if (base.Template == null)
- {
- result = null;
- }
- else
- {
- if (this.itemBroadcaster == null)
- {
- this.itemBroadcaster = (TextBlock)base.Template.FindName("labHint", this);
- }
- result = this.itemBroadcaster;
- }
- return result;
- }
- }
- // Token: 0x0600050D RID: 1293 RVA: 0x0002A27C File Offset: 0x0002847C
- public override void OnApplyTemplate()
- {
- base.OnApplyTemplate();
- if (Operators.CompareString(this.HintText, "", false) != 0 && Operators.CompareString(this.labHint.Text, "", false) == 0)
- {
- this.labHint.Text = ((Operators.CompareString(base.Text, "", false) == 0) ? this.HintText : "");
- }
- }
- // Token: 0x0600050E RID: 1294 RVA: 0x0002A2E8 File Offset: 0x000284E8
- [CompilerGenerated]
- public static void SortReader(MyTextBox.ValidateChangedEventHandler obj)
- {
- MyTextBox.ValidateChangedEventHandler validateChangedEventHandler = MyTextBox.m_GlobalBroadcaster;
- MyTextBox.ValidateChangedEventHandler validateChangedEventHandler2;
- do
- {
- validateChangedEventHandler2 = validateChangedEventHandler;
- MyTextBox.ValidateChangedEventHandler value = (MyTextBox.ValidateChangedEventHandler)Delegate.Combine(validateChangedEventHandler2, obj);
- validateChangedEventHandler = Interlocked.CompareExchange<MyTextBox.ValidateChangedEventHandler>(ref MyTextBox.m_GlobalBroadcaster, value, validateChangedEventHandler2);
- }
- while (validateChangedEventHandler != validateChangedEventHandler2);
- }
- // Token: 0x0600050F RID: 1295 RVA: 0x0002A31C File Offset: 0x0002851C
- [CompilerGenerated]
- public static void MapReader(MyTextBox.ValidateChangedEventHandler obj)
- {
- MyTextBox.ValidateChangedEventHandler validateChangedEventHandler = MyTextBox.m_GlobalBroadcaster;
- MyTextBox.ValidateChangedEventHandler validateChangedEventHandler2;
- do
- {
- validateChangedEventHandler2 = validateChangedEventHandler;
- MyTextBox.ValidateChangedEventHandler value = (MyTextBox.ValidateChangedEventHandler)Delegate.Remove(validateChangedEventHandler2, obj);
- validateChangedEventHandler = Interlocked.CompareExchange<MyTextBox.ValidateChangedEventHandler>(ref MyTextBox.m_GlobalBroadcaster, value, validateChangedEventHandler2);
- }
- while (validateChangedEventHandler != validateChangedEventHandler2);
- }
- // Token: 0x06000510 RID: 1296 RVA: 0x00004BC0 File Offset: 0x00002DC0
- public void SetupReader(RoutedEventHandler value)
- {
- this._ExceptionBroadcaster.Add(value);
- }
- // Token: 0x06000511 RID: 1297 RVA: 0x00004BCE File Offset: 0x00002DCE
- public void DestroyReader(RoutedEventHandler value)
- {
- this._ExceptionBroadcaster.Remove(value);
- }
- // Token: 0x06000512 RID: 1298 RVA: 0x0002A350 File Offset: 0x00028550
- private void raise_ValidatedTextChanged(object sender, TextChangedEventArgs e)
- {
- try
- {
- foreach (RoutedEventHandler routedEventHandler in this._ExceptionBroadcaster)
- {
- if (!Information.IsNothing(routedEventHandler))
- {
- routedEventHandler(RuntimeHelpers.GetObjectValue(sender), e);
- }
- }
- }
- finally
- {
- List<RoutedEventHandler>.Enumerator enumerator;
- ((IDisposable)enumerator).Dispose();
- }
- }
- // Token: 0x1700008A RID: 138
- // (get) Token: 0x06000513 RID: 1299 RVA: 0x00004BDD File Offset: 0x00002DDD
- // (set) Token: 0x06000514 RID: 1300 RVA: 0x00004BEF File Offset: 0x00002DEF
- public string ValidateResult
- {
- get
- {
- return Conversions.ToString(base.GetValue(MyTextBox.m_UtilsBroadcaster));
- }
- set
- {
- base.SetValue(MyTextBox.m_UtilsBroadcaster, value);
- }
- }
- // Token: 0x1700008B RID: 139
- // (get) Token: 0x06000515 RID: 1301 RVA: 0x00004BFD File Offset: 0x00002DFD
- // (set) Token: 0x06000516 RID: 1302 RVA: 0x00004C05 File Offset: 0x00002E05
- public Collection<Validate> ValidateRules
- {
- get
- {
- return this.classBroadcaster;
- }
- set
- {
- this.classBroadcaster = value;
- this.Validate();
- }
- }
- // Token: 0x06000517 RID: 1303 RVA: 0x0002A3B4 File Offset: 0x000285B4
- public void Validate()
- {
- MyTextBox._Closure$__36-0 CS$<>8__locals1 = new MyTextBox._Closure$__36-0(CS$<>8__locals1);
- CS$<>8__locals1.$VB$Me = this;
- this.ValidateResult = "";
- try
- {
- foreach (Validate validate in this.ValidateRules)
- {
- this.ValidateResult = validate.Validate(base.Text);
- if (Information.IsNothing(this.ValidateResult))
- {
- break;
- }
- if (Operators.CompareString(this.ValidateResult, "", false) != 0)
- {
- break;
- }
- }
- }
- finally
- {
- IEnumerator<Validate> enumerator;
- if (enumerator != null)
- {
- enumerator.Dispose();
- }
- }
- CS$<>8__locals1.$VB$Local_IsSuccessful = (Operators.CompareString(this.ValidateResult, "", false) == 0);
- if (this.policyBroadcaster != (CS$<>8__locals1.$VB$Local_IsSuccessful ? MyTextBox.ValidateState.Success : MyTextBox.ValidateState.FailedAndShowDetail))
- {
- if (base.IsLoaded && this.labWrong != null)
- {
- this.ChangeValidateResult(CS$<>8__locals1.$VB$Local_IsSuccessful, true);
- }
- else
- {
- ModBase.RunInNewThread(delegate
- {
- Thread.Sleep(30);
- ModBase.RunInUi((CS$<>8__locals1.$I1 == null) ? (CS$<>8__locals1.$I1 = delegate()
- {
- CS$<>8__locals1.$VB$Me.ChangeValidateResult(CS$<>8__locals1.$VB$Local_IsSuccessful, false);
- }) : CS$<>8__locals1.$I1, false);
- }, "DelayedValidate Change", ThreadPriority.Normal);
- }
- }
- if (this.ShowValidateResult && Operators.CompareString(this.ValidateResult, "", false) != 0)
- {
- if (base.IsLoaded && this.labWrong != null)
- {
- this.labWrong.Text = this.ValidateResult;
- return;
- }
- ModBase.RunInNewThread(delegate
- {
- MyTextBox._Closure$__36-1 CS$<>8__locals2 = new MyTextBox._Closure$__36-1(CS$<>8__locals2);
- CS$<>8__locals2.$VB$Me = this;
- CS$<>8__locals2.$VB$Local_IsFinished = false;
- while (!CS$<>8__locals2.$VB$Local_IsFinished)
- {
- Thread.Sleep(20);
- ModBase.RunInUiWait(delegate()
- {
- if (CS$<>8__locals2.$VB$Me.labWrong != null)
- {
- CS$<>8__locals2.$VB$Me.labWrong.Text = CS$<>8__locals2.$VB$Me.ValidateResult;
- CS$<>8__locals2.$VB$Local_IsFinished = true;
- }
- if (!CS$<>8__locals2.$VB$Me.IsLoaded)
- {
- CS$<>8__locals2.$VB$Local_IsFinished = true;
- }
- });
- }
- }, "DelayedValidate Text", ThreadPriority.Normal);
- }
- }
- // Token: 0x06000518 RID: 1304 RVA: 0x00004C14 File Offset: 0x00002E14
- public void ForceShowAsSuccess()
- {
- this.producerBroadcaster = false;
- this.ChangeValidateResult(Operators.CompareString(this.ValidateResult, "", false) == 0, true);
- }
- // Token: 0x06000519 RID: 1305 RVA: 0x0002A504 File Offset: 0x00028704
- private void ChangeValidateResult(bool IsSuccessful, bool IsLoaded)
- {
- if (IsLoaded && ModAnimation.CalcParser() == 0 && this.labWrong != null)
- {
- if (!IsSuccessful && this.producerBroadcaster)
- {
- if (this.ShowValidateResult)
- {
- this.policyBroadcaster = MyTextBox.ValidateState.FailedAndShowDetail;
- this.labWrong.Visibility = Visibility.Visible;
- ModAnimation.AniStart(new ModAnimation.AniData[]
- {
- ModAnimation.AaOpacity(this.labWrong, 1.0 - this.labWrong.Opacity, 170, 0, null, false),
- ModAnimation.AaHeight(this.labWrong, 21.0 - this.labWrong.Height, 300, 0, new ModAnimation.AniEaseOutBack(ModAnimation.AniEasePower.Weak), false)
- }, "MyTextBox Validate " + Conversions.ToString(this.reponseBroadcaster), false);
- }
- else
- {
- this.policyBroadcaster = MyTextBox.ValidateState.FailedAndHideDetail;
- }
- }
- else
- {
- this.policyBroadcaster = (IsSuccessful ? MyTextBox.ValidateState.Success : MyTextBox.ValidateState.FailedButTextNotChanged);
- ModAnimation.AniStart(new ModAnimation.AniData[]
- {
- ModAnimation.AaOpacity(this.labWrong, -this.labWrong.Opacity, 150, 0, null, false),
- ModAnimation.AaHeight(this.labWrong, -this.labWrong.Height, 150, 0, new ModAnimation.AniEaseOutFluent(ModAnimation.AniEasePower.Middle), false),
- ModAnimation.AaCode(delegate
- {
- this.labWrong.Visibility = Visibility.Collapsed;
- }, 0, true)
- }, "MyTextBox Validate " + Conversions.ToString(this.reponseBroadcaster), false);
- }
- }
- else
- {
- this.policyBroadcaster = MyTextBox.ValidateState.NotLoaded;
- }
- this.RefreshColor();
- MyTextBox.ValidateChangedEventHandler globalBroadcaster = MyTextBox.m_GlobalBroadcaster;
- if (globalBroadcaster != null)
- {
- globalBroadcaster(this, new EventArgs());
- }
- }
- // Token: 0x1700008C RID: 140
- // (get) Token: 0x0600051A RID: 1306 RVA: 0x00004C38 File Offset: 0x00002E38
- // (set) Token: 0x0600051B RID: 1307 RVA: 0x00004C40 File Offset: 0x00002E40
- public string HintText
- {
- get
- {
- return this.schemaBroadcaster;
- }
- set
- {
- this.schemaBroadcaster = value;
- if (this.labHint != null)
- {
- this.labHint.Text = ((Operators.CompareString(base.Text, "", false) == 0) ? this.HintText : "");
- }
- }
- }
- // Token: 0x0600051C RID: 1308 RVA: 0x0002A6B0 File Offset: 0x000288B0
- private void MyTextBox_TextChanged(MyTextBox sender, TextChangedEventArgs e)
- {
- try
- {
- if (this.labHint != null)
- {
- this.labHint.Text = ((Operators.CompareString(base.Text, "", false) == 0) ? this.HintText : "");
- }
- this.producerBroadcaster = base.IsLoaded;
- this.Validate();
- if (Operators.CompareString(this.ValidateResult, "", false) == 0)
- {
- this.raise_ValidatedTextChanged(sender, e);
- }
- }
- catch (Exception ex)
- {
- ModBase.Log(ex, "进行输入验证时出错", ModBase.LogLevel.Assert, "出现错误");
- }
- }
- // Token: 0x0600051D RID: 1309 RVA: 0x0002A750 File Offset: 0x00028950
- private void RefreshColor()
- {
- try
- {
- if (this.HasAnimation)
- {
- if (base.TemplatedParent == null || !(base.TemplatedParent is MyComboBox))
- {
- string text;
- string text2;
- int time;
- if (base.IsEnabled)
- {
- if (Operators.CompareString(this.ValidateResult, "", false) != 0 && this.producerBroadcaster)
- {
- text = "ColorBrushRedLight";
- text2 = "ColorBrushRedBack";
- time = 200;
- }
- else if (base.IsFocused)
- {
- text = "ColorBrush3";
- text2 = "ColorBrush7";
- time = 10;
- }
- else if (base.IsMouseOver)
- {
- text = "ColorBrush4";
- text2 = "ColorBrush7";
- time = 100;
- }
- else
- {
- text = "ColorBrushBg0";
- text2 = "ColorBrushHalfWhite";
- time = 100;
- }
- }
- else
- {
- text = "ColorBrushGray5";
- text2 = "ColorBrushGray6";
- time = 200;
- }
- if (base.IsLoaded && ModAnimation.CalcParser() == 0)
- {
- ModAnimation.AniStart(new ModAnimation.AniData[]
- {
- ModAnimation.AaColor(this, Control.BorderBrushProperty, text, time, 0, null, false),
- ModAnimation.AaColor(this, Control.BackgroundProperty, text2, time, 0, null, false)
- }, "MyTextBox Color " + Conversions.ToString(this.reponseBroadcaster), false);
- }
- else
- {
- ModAnimation.AniStop("MyTextBox Color " + Conversions.ToString(this.reponseBroadcaster));
- base.SetResourceReference(Control.BorderBrushProperty, text);
- base.SetResourceReference(Control.BackgroundProperty, text2);
- }
- }
- }
- }
- catch (Exception ex)
- {
- ModBase.Log(ex, "文本框颜色改变出错", ModBase.LogLevel.Debug, "出现错误");
- }
- }
- // Token: 0x0600051E RID: 1310 RVA: 0x0002A8E0 File Offset: 0x00028AE0
- private void RefreshTextColor()
- {
- ModBase.MyColor myColor = base.IsEnabled ? ModSecret.m_RefField : ModSecret.m_StateField;
- if ((double)((SolidColorBrush)base.Foreground).Color.R != myColor.m_ThreadError)
- {
- if (base.IsLoaded && ModAnimation.CalcParser() == 0 && Operators.CompareString(base.Text, "", false) != 0)
- {
- ModAnimation.AniStart(new ModAnimation.AniData[]
- {
- ModAnimation.AaColor(this, Control.ForegroundProperty, base.IsEnabled ? "ColorBrushGray1" : "ColorBrushGray4", 200, 0, null, false)
- }, "MyTextBox TextColor " + Conversions.ToString(this.reponseBroadcaster), false);
- return;
- }
- ModAnimation.AniStop("MyTextBox TextColor " + Conversions.ToString(this.reponseBroadcaster));
- base.Foreground = myColor;
- }
- }
- // Token: 0x04000294 RID: 660
- [CompilerGenerated]
- private bool m_ValueBroadcaster;
- // Token: 0x04000295 RID: 661
- [CompilerGenerated]
- private bool _ObjectBroadcaster;
- // Token: 0x04000296 RID: 662
- private TextBlock bridgeBroadcaster;
- // Token: 0x04000297 RID: 663
- private TextBlock itemBroadcaster;
- // Token: 0x04000298 RID: 664
- public int reponseBroadcaster;
- // Token: 0x04000299 RID: 665
- [CompilerGenerated]
- private static MyTextBox.ValidateChangedEventHandler m_GlobalBroadcaster;
- // Token: 0x0400029A RID: 666
- public List<RoutedEventHandler> _ExceptionBroadcaster;
- // Token: 0x0400029B RID: 667
- public static readonly DependencyProperty m_UtilsBroadcaster = DependencyProperty.Register("ValidateResult", typeof(string), typeof(MyTextBox), new PropertyMetadata(""));
- // Token: 0x0400029C RID: 668
- private Collection<Validate> classBroadcaster;
- // Token: 0x0400029D RID: 669
- private MyTextBox.ValidateState policyBroadcaster;
- // Token: 0x0400029E RID: 670
- private bool producerBroadcaster;
- // Token: 0x0400029F RID: 671
- private string schemaBroadcaster;
- // Token: 0x020000A7 RID: 167
- // (Invoke) Token: 0x0600052C RID: 1324
- public delegate void ValidateChangedEventHandler(object sender, EventArgs e);
- // Token: 0x020000A8 RID: 168
- private enum ValidateState
- {
- // Token: 0x040002A1 RID: 673
- NotInited,
- // Token: 0x040002A2 RID: 674
- Success,
- // Token: 0x040002A3 RID: 675
- FailedButTextNotChanged,
- // Token: 0x040002A4 RID: 676
- FailedAndShowDetail,
- // Token: 0x040002A5 RID: 677
- FailedAndHideDetail,
- // Token: 0x040002A6 RID: 678
- NotLoaded
- }
- }
- }
|