Files
MicrosoftIris/UIX/Microsoft/Iris/ModelItems/EditableTextData.cs
T

94 lines
2.4 KiB
C#
Raw Normal View History

2022-03-03 08:14:05 -06:00
// Decompiled with JetBrains decompiler
// Type: Microsoft.Iris.ModelItems.EditableTextData
// Assembly: UIX, Version=4.8.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: A56C6C9D-B7F6-46A9-8BDE-B3D9B8D60B11
// Assembly location: C:\Program Files\Zune\UIX.dll
using Microsoft.Iris.Library;
using Microsoft.Iris.Markup;
using Microsoft.Iris.Session;
using System;
namespace Microsoft.Iris.ModelItems
{
internal class EditableTextData : NotifyObjectBase
{
private int _maxLength;
private bool _readOnly;
private string _value;
public EditableTextData()
{
_value = string.Empty;
_maxLength = int.MaxValue;
}
public string Value
{
get => _value;
set
{
if (ReadOnly || !(_value != value))
return;
_value = value;
FireCodeEvent(ValueChanged);
FireThreadSafeNotification(NotificationID.Value);
}
}
public int MaxLength
{
get => _maxLength;
set
{
if (_maxLength == value)
return;
_maxLength = value;
FireCodeEvent(MaxLengthChanged);
FireThreadSafeNotification(NotificationID.MaxLength);
}
}
private void FireCodeEvent(EventHandler eventToFire)
{
if (eventToFire == null)
return;
eventToFire(this, EventArgs.Empty);
}
public bool ReadOnly
{
get => _readOnly;
set
{
if (_readOnly == value)
return;
_readOnly = value;
FireCodeEvent(ReadOnlyChanged);
FireThreadSafeNotification(NotificationID.ReadOnly);
}
}
public event EventHandler Submitted;
public event EventHandler MaxLengthChanged;
public event EventHandler ReadOnlyChanged;
public event EventHandler ValueChanged;
public void Submit() => DeferredCall.Post(DispatchPriority.AppEvent, new SimpleCallback(AsyncInvoke));
private void AsyncInvoke()
{
FireCodeEvent(Submitted);
FireThreadSafeNotification(NotificationID.Submitted);
OnSubmitted();
}
protected virtual void OnSubmitted()
{
}
}
}