//######################################################################################### //★★★★★★★ 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 System.Drawing; using XPTable.Editors; using XPTable.Models; namespace XPTable.Events { #region Delegates /// /// Represents the methods that will handle the BeginEdit, StopEdit and /// CancelEdit events of a Table /// public delegate void CellEditEventHandler(object sender, CellEditEventArgs e); #endregion #region CellEditEventArgs /// /// Provides data for the BeginEdit, StopEdit and CancelEdit events of a Table /// public class CellEditEventArgs : CellEventArgsBase { #region Class Data /// /// The CellEditor used to edit the Cell /// private ICellEditor editor; /// /// The Table the Cell belongs to /// private Table table; /// /// The Cells bounding Rectangle /// private Rectangle cellRect; /// /// Specifies whether the event should be cancelled /// private bool cancel; /// /// Indicates whether the event was handled /// private bool handled; #endregion #region Constructor /// /// Initializes a new instance of the CellEventArgs class with /// the specified Cell source, column index and row index /// /// The Cell that Raised the event /// The CellEditor used to edit the Cell /// The Table that the Cell belongs to public CellEditEventArgs(Cell source, ICellEditor editor, Table table) : this(source, editor, table, -1, -1, Rectangle.Empty) { } /// /// Initializes a new instance of the CellEventArgs class with /// the specified Cell source, column index and row index /// /// The Cell that Raised the event /// The CellEditor used to edit the Cell /// The Table that the Cell belongs to /// The Column index of the Cell /// The Row index of the Cell /// public CellEditEventArgs(Cell source, ICellEditor editor, Table table, int row, int column, Rectangle cellRect) : base(source, column, row) { this.editor = editor; this.table = table; this.cellRect = cellRect; this.cancel = false; } #endregion #region Properties /// /// Gets the CellEditor used to edit the Cell /// public ICellEditor Editor { get { return this.editor; } } /// /// Gets the Table the Cell belongs to /// public Table Table { get { return this.table; } } /// /// Gets the Cells bounding Rectangle /// public Rectangle CellRect { get { return this.cellRect; } } /// /// Gets or sets whether the event should be cancelled /// public bool Cancel { get { return this.cancel; } set { this.cancel = value; } } /// /// Gets or sets a value indicating whether the event was handled /// public bool Handled { get { return this.handled; } set { this.handled = value; } } #endregion } #endregion }