void AutoFitRow() { RowLayout viewportResizingRowLayoutFromY; if (IsResizingRows) { EndRowResizing(); } HitTestInformation savedHitTestInformation = GetHitInfo(); if (savedHitTestInformation.HitTestType == HitTestType.RowHeader) { bool flag = false; viewportResizingRowLayoutFromY = GetViewportResizingRowLayoutFromY(savedHitTestInformation.RowViewportIndex, savedHitTestInformation.HitPoint.Y); if (viewportResizingRowLayoutFromY == null) { if (savedHitTestInformation.RowViewportIndex == 0) { viewportResizingRowLayoutFromY = GetViewportResizingRowLayoutFromY(-1, savedHitTestInformation.HitPoint.Y); } if ((viewportResizingRowLayoutFromY == null) && ((savedHitTestInformation.RowViewportIndex == -1) || (savedHitTestInformation.RowViewportIndex == 0))) { viewportResizingRowLayoutFromY = GetColumnHeaderResizingRowLayoutFromY(savedHitTestInformation.HitPoint.Y); flag = true; } } if (viewportResizingRowLayoutFromY != null) { int row = viewportResizingRowLayoutFromY.Row; if (!flag) { AutoFitRowInternal(row, true, false); } else { RowAutoFitUndoAction command = new RowAutoFitUndoAction(ActiveSheet, new RowAutoFitExtent[] { new RowAutoFitExtent(row) }, true); DoCommand(command); } } } else if (savedHitTestInformation.HitTestType == HitTestType.Corner) { viewportResizingRowLayoutFromY = GetColumnHeaderRowLayoutModel().FindRow(savedHitTestInformation.HeaderInfo.ResizingRow); if (viewportResizingRowLayoutFromY != null) { int num2 = viewportResizingRowLayoutFromY.Row; RowAutoFitUndoAction action2 = new RowAutoFitUndoAction(ActiveSheet, new RowAutoFitExtent[] { new RowAutoFitExtent(num2) }, true); DoCommand(action2); } } }
void AutoFitRowForTouch(HitTestInformation hi) { RowLayout viewportResizingRowLayoutFromYForTouch; if (IsTouchResizingRows) { EndTouchRowResizing(); } if (hi.HitTestType == HitTestType.RowHeader) { bool flag = false; viewportResizingRowLayoutFromYForTouch = GetViewportResizingRowLayoutFromYForTouch(hi.RowViewportIndex, hi.HitPoint.Y); if (viewportResizingRowLayoutFromYForTouch == null) { if (hi.RowViewportIndex == 0) { viewportResizingRowLayoutFromYForTouch = GetViewportResizingRowLayoutFromYForTouch(-1, hi.HitPoint.Y); } if ((viewportResizingRowLayoutFromYForTouch == null) && ((hi.RowViewportIndex == -1) || (hi.RowViewportIndex == 0))) { viewportResizingRowLayoutFromYForTouch = GetColumnHeaderResizingRowLayoutFromYForTouch(hi.HitPoint.Y); flag = true; } } if (viewportResizingRowLayoutFromYForTouch != null) { int row = viewportResizingRowLayoutFromYForTouch.Row; if (!flag) { AutoFitRowInternal(row, true, false); } else { RowAutoFitUndoAction command = new RowAutoFitUndoAction(ActiveSheet, new RowAutoFitExtent[] { new RowAutoFitExtent(row) }, true); DoCommand(command); } } } else if (hi.HitTestType == HitTestType.Corner) { viewportResizingRowLayoutFromYForTouch = GetColumnHeaderRowLayoutModel().FindRow(hi.HeaderInfo.ResizingRow); if (viewportResizingRowLayoutFromYForTouch != null) { int num2 = viewportResizingRowLayoutFromYForTouch.Row; RowAutoFitUndoAction action2 = new RowAutoFitUndoAction(ActiveSheet, new RowAutoFitExtent[] { new RowAutoFitExtent(num2) }, true); DoCommand(action2); } } }
void AutoFitRowInternal(int rowIndex, bool supportUndo, bool isColumnHeader) { List <RowAutoFitExtent> list = new List <RowAutoFitExtent>(); if (ActiveSheet.IsSelected(rowIndex, -1)) { foreach (CellRange range in ActiveSheet.Selections) { if (range.Column == -1) { int num = (range.Row == -1) ? 0 : range.Row; int num2 = (range.Row == -1) ? ActiveSheet.RowCount : range.RowCount; for (int i = num; i < (num + num2); i++) { list.Add(new RowAutoFitExtent(i)); } } } } else { list.Add(new RowAutoFitExtent(rowIndex)); } RowAutoFitExtent[] rows = new RowAutoFitExtent[list.Count]; list.CopyTo(rows); RowAutoFitUndoAction command = new RowAutoFitUndoAction(ActiveSheet, rows, isColumnHeader); if (supportUndo) { DoCommand(command); } else { command.Execute(this); } }