//######################################################################################### //★★★★★★★ http://www.cnpopsoft.com [华普软件] ★★★★★★★ //★★★★★★★ 华普软件 - VB & C#.NET 专业论文与源码荟萃! ★★★★★★★ //######################################################################################### /* * Copyright ?2005, Mathew Hall * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * - Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. */ using System; using XPTable.Models; namespace XPTable.Events { #region Delegates /// /// Represents the methods that will handle the PropertyChanged event of a Column, /// or a Table's BeginSort and EndSort events /// public delegate void ColumnEventHandler(object sender, ColumnEventArgs e); #endregion #region ColumnEventArgs /// /// Provides data for a Column's PropertyChanged event, or a Table's /// BeginSort and EndSort events /// public class ColumnEventArgs { #region Class Data /// /// The Column that Raised the event /// private Column source; /// /// The index of the Column in the ColumnModel /// private int index; /// /// The old value of the property that changed /// private object oldValue; /// /// The type of event /// private ColumnEventType eventType; #endregion #region Constructor /// /// Initializes a new instance of the ColumnEventArgs class with /// the specified Column source, column index and event type /// /// The Column that Raised the event /// The type of event /// The old value of the changed property public ColumnEventArgs(Column source, ColumnEventType eventType, object oldValue) : this(source, -1, eventType, oldValue) { } /// /// Initializes a new instance of the ColumnEventArgs class with /// the specified Column source, column index and event type /// /// The Column that Raised the event /// The index of the Column /// The type of event /// The old value of the changed property public ColumnEventArgs(Column source, int index, ColumnEventType eventType, object oldValue) : base() { this.source = source; this.index = index; this.eventType = eventType; this.oldValue = oldValue; } #endregion #region Properties /// /// Gets the Column that Raised the event /// public Column Column { get { return this.source; } } /// /// /// /// internal void SetColumn(Column column) { this.source = column; } /// /// Gets the index of the Column /// public int Index { get { return this.index; } } /// /// /// /// internal void SetIndex(int index) { this.index = index; } /// /// Gets the type of event /// public ColumnEventType EventType { get { return this.eventType; } } /// /// Gets the old value of the Columns changed property /// public object OldValue { get { return this.oldValue; } } #endregion } #endregion }