// 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 _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(); 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(); } } }