Files
ZuneShell.dll/ZuneShell/ZuneUI/WizardPropertyEditorPage.cs

119 lines
4.4 KiB
C#

// Decompiled with JetBrains decompiler
// Type: ZuneUI.WizardPropertyEditorPage
// Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264
// Assembly location: C:\Program Files\Zune\ZuneShell.dll
using System.Collections.Generic;
namespace ZuneUI
{
public abstract class WizardPropertyEditorPage : WizardPage
{
private Dictionary<PropertyDescriptor, object> _committedValues;
private WizardPropertyEditor _wizardPropertyEditor;
protected WizardPropertyEditorPage(Wizard owner)
: base(owner)
{
}
public WizardPropertyEditor WizardPropertyEditor => this._wizardPropertyEditor;
public override bool IsValid => this._wizardPropertyEditor == null || this._wizardPropertyEditor.IsValid();
protected void Initialize(WizardPropertyEditor wizardPropertyEditor)
{
this._wizardPropertyEditor = wizardPropertyEditor;
this._committedValues = new Dictionary<PropertyDescriptor, object>();
if (this._wizardPropertyEditor == null)
return;
foreach (PropertyDescriptor propertyDescriptor in this._wizardPropertyEditor.PropertyDescriptors)
this.AddProperty(propertyDescriptor);
this._wizardPropertyEditor.Initialize(this);
}
private void AddProperty(PropertyDescriptor property)
{
if (this._committedValues.ContainsKey(property))
return;
this._committedValues.Add(property, property.DefaultValue);
}
public object GetCommittedValue(PropertyDescriptor property) => this._committedValues.ContainsKey(property) ? this._committedValues[property] : null;
public void SetCommittedValue(PropertyDescriptor property, object value)
{
if (this._committedValues.ContainsKey(property))
this._committedValues[property] = value;
else
this._committedValues.Add(property, value);
this.SetUncommittedValue(property, value);
}
internal void SetPropertyState(PropertyDescriptor property, object state)
{
if (this._wizardPropertyEditor == null)
return;
this._wizardPropertyEditor.SetPropertyState(property, state);
}
public override void RefreshValidationState()
{
if (this._wizardPropertyEditor != null)
this._wizardPropertyEditor.ResetExternalErrors();
base.RefreshValidationState();
}
protected object GetUncommittedValue(PropertyDescriptor property)
{
object obj = null;
if (this._wizardPropertyEditor != null)
obj = this._wizardPropertyEditor.GetPropertyData(property);
return obj;
}
protected void SetUncommittedValue(PropertyDescriptor property, object value)
{
if (this._wizardPropertyEditor == null)
return;
this._wizardPropertyEditor.SetPropertyData(property, value);
}
protected bool SetExternalError(PropertyDescriptor descriptor, HRESULT hr)
{
bool flag = false;
MetadataEditProperty metadataEditProperty = null;
if (this._wizardPropertyEditor != null)
metadataEditProperty = this._wizardPropertyEditor.GetProperty(descriptor);
if (metadataEditProperty != null)
{
flag = true;
metadataEditProperty.ExternalError = hr;
}
return flag;
}
protected bool SetExternalError(string propertyName, HRESULT hr)
{
bool flag = false;
MetadataEditProperty metadataEditProperty = null;
if (this._wizardPropertyEditor != null)
metadataEditProperty = this._wizardPropertyEditor.GetProperty(propertyName);
if (metadataEditProperty != null)
{
flag = true;
metadataEditProperty.ExternalError = hr;
}
return flag;
}
internal override bool OnMovingNext()
{
if (this._wizardPropertyEditor != null && this._wizardPropertyEditor.IsValid())
this._wizardPropertyEditor.Commit();
return base.OnMovingNext();
}
}
}