/// <summary>
        ///     Form a SLMergeCell given a corner cell of the to-be-merged rectangle of cells, and the opposite corner cell. For
        ///     example, the top-left corner cell and the bottom-right corner cell. Or the bottom-left corner cell and the
        ///     top-right corner cell.
        /// </summary>
        /// <param name="StartRowIndex">The row index of the corner cell.</param>
        /// <param name="StartColumnIndex">The column index of the corner cell.</param>
        /// <param name="EndRowIndex">The row index of the opposite corner cell.</param>
        /// <param name="EndColumnIndex">The column index of the opposite corner cell.</param>
        public void FromIndices(int StartRowIndex, int StartColumnIndex, int EndRowIndex, int EndColumnIndex)
        {
            if (StartRowIndex < EndRowIndex)
            {
                iStartRowIndex = StartRowIndex;
                iEndRowIndex   = EndRowIndex;
            }
            else
            {
                iStartRowIndex = EndRowIndex;
                iEndRowIndex   = StartRowIndex;
            }

            if (StartColumnIndex < EndColumnIndex)
            {
                iStartColumnIndex = StartColumnIndex;
                iEndColumnIndex   = EndColumnIndex;
            }
            else
            {
                iStartColumnIndex = EndColumnIndex;
                iEndColumnIndex   = StartColumnIndex;
            }

            if ((iStartRowIndex == iEndRowIndex) && (iStartColumnIndex == iEndColumnIndex))
            {
                IsValid = false;
            }
            else
            {
                IsValid = SLTool.CheckRowColumnIndexLimit(iStartRowIndex, iStartColumnIndex) &&
                          SLTool.CheckRowColumnIndexLimit(iEndRowIndex, iEndColumnIndex);
            }
        }
Example #2
0
        /// <summary>
        ///     Insert comment given the row index and column index of the cell it's based on. This will overwrite any existing
        ///     comment.
        /// </summary>
        /// <param name="RowIndex">The row index.</param>
        /// <param name="ColumnIndex">The column index.</param>
        /// <param name="Comment">The cell comment.</param>
        /// <returns>False if either the row index or column index (or both) are invalid. True otherwise.</returns>
        public bool InsertComment(int RowIndex, int ColumnIndex, SLComment Comment)
        {
            if (!SLTool.CheckRowColumnIndexLimit(RowIndex, ColumnIndex))
            {
                return(false);
            }

            if (!slws.Authors.Contains(Comment.Author))
            {
                slws.Authors.Add(Comment.Author);
            }

            var pt   = new SLCellPoint(RowIndex, ColumnIndex);
            var comm = Comment.Clone();

            slws.Comments[pt] = comm;

            return(true);
        }