/// <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) { // it's the same cell! We'll treat this as invalid. this.bIsValid = false; } else { this.bIsValid = SLTool.CheckRowColumnIndexLimit(iStartRowIndex, iStartColumnIndex) && SLTool.CheckRowColumnIndexLimit(iEndRowIndex, iEndColumnIndex); } }
/// <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); } SLCellPoint pt = new SLCellPoint(RowIndex, ColumnIndex); SLComment comm = Comment.Clone(); slws.Comments[pt] = comm; return(true); }