using System; using System.Collections.Generic; using System.Linq; using System.Text; using umbraco.uicontrols.TreePicker; using umbraco.interfaces; namespace umbraco.editorControls { /// /// A base tree picker class that has all of the functionality built in for an IDataEditor /// public abstract class BaseTreePickerEditor : BaseTreePicker, IDataEditor { interfaces.IData _data; protected int StoredItemId = -1; public BaseTreePickerEditor() : base() { } public BaseTreePickerEditor(IData Data) : base() { _data = Data; } private void StoreItemId(IData Data) { if (_data != null && _data.Value != null && !String.IsNullOrEmpty(_data.Value.ToString())) { int.TryParse(_data.Value.ToString(), out StoredItemId); } } protected override void OnInit(EventArgs e) { StoreItemId(_data); base.OnInit(e); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!Page.IsPostBack) { ItemIdValue.Value = StoredItemId != -1 ? StoredItemId.ToString() : ""; } } #region IDataField Members public System.Web.UI.Control Editor { get { return this; } } public virtual bool TreatAsRichTextEditor { get { return false; } } public bool ShowLabel { get { return true; } } public void Save() { //_text = helper.Request(this.ClientID); if (ItemIdValue.Value.Trim() != "") _data.Value = ItemIdValue.Value.Trim(); else _data.Value = null; } #endregion } }