public override void BringCellToVisible(TabularPosition position) { if ((!position.IsEmpty && (position.Area == SheetArea.Cells)) && (_excel.ActiveSheet != null)) { NavigatorHelper.BringCellToVisible(_excel, position.Row, position.Column); } }
/// <summary> /// Gets the search results to be displayed on the right side of the ItemPicker. /// </summary> /// <param name="context">Describes the situation in which the ItemPicker is being /// displayed to the user.</param> /// <param name="selectedNode">The node selected on the left side of the ItemPicker.</param> /// <param name="searchText">The search text entered by the user.</param> /// <returns></returns> public Collection <Node> GetSearchResults(ItemPickerContext context, Node selectedNode, string searchText) { var client = selectedNode.GetClient(); var navigator = new NavigatorHelper(client); var provider = selectedNode as IVersionableProvider; Collection <Node> results = null; if (provider != null) { // If an item is selected in the navigator, find items of the target type within that selected item. results = navigator.FindItems(provider.Metadata.CompositeId, context.TypeToSelect, selectedNode, false); } else { // No item is selected in the navigator, so search the entire repository. results = navigator.FindItems(context.TypeToSelect, selectedNode, false); } return(results); }
public override void ScrollToPreviousPageOfRows() { NavigatorHelper.ScrollToPreviousPageOfRows(_excel); }
public override void ScrollToNextPageOfRows() { NavigatorHelper.ScrollToNextPageOfRows(_excel); }
void ShowColumnRangeGroup(Excel excel) { int index = _columnExpandExtent.Index; if ((index >= 0) && (index < _sheet.ColumnCount)) { ViewportInfo viewportInfo = excel.GetViewportInfo(); if (excel.ActiveSheet.ColumnRangeGroup.Direction == RangeGroupDirection.Forward) { RangeGroupInfo info2 = _sheet.ColumnRangeGroup.Find(index - 1, _columnExpandExtent.Level); if (info2 != null) { int start = info2.Start; int rightColumn = index; int viewportIndex = _columnExpandExtent.ViewportIndex; if (_sheet.ColumnRangeGroup.Data.GetCollapsed(index)) { if ((viewportIndex < 0) || (viewportIndex >= viewportInfo.ColumnViewportCount)) { return; } start = index; } else { if (viewportIndex < 0) { return; } if (viewportIndex == 0) { if (start < excel.ActiveSheet.FrozenColumnCount) { start = excel.ActiveSheet.FrozenColumnCount; } } else if (viewportIndex >= viewportInfo.ColumnViewportCount) { if (start >= (excel.ActiveSheet.ColumnCount - excel.ActiveSheet.FrozenTrailingColumnCount)) { return; } start = Math.Max(start, excel.ActiveSheet.FrozenColumnCount); rightColumn = (excel.ActiveSheet.ColumnCount - excel.ActiveSheet.FrozenTrailingColumnCount) - 1; viewportIndex--; } } int viewportLeftColumn = excel.GetViewportLeftColumn(viewportIndex); if (start < viewportLeftColumn) { viewportLeftColumn = start; } double viewportWidth = excel.GetViewportWidth(viewportIndex); double num7 = NavigatorHelper.GetColumnWidth(excel.ActiveSheet, viewportLeftColumn, rightColumn); if (num7 > viewportWidth) { viewportLeftColumn = NavigatorHelper.GetNewLeftColumn(excel.ActiveSheet, viewportLeftColumn, num7 - viewportWidth); } excel.SetViewportLeftColumn(viewportIndex, viewportLeftColumn); } } else if (_sheet.ColumnRangeGroup.Direction == RangeGroupDirection.Backward) { RangeGroupInfo info3 = _sheet.ColumnRangeGroup.Find(index + 1, _columnExpandExtent.Level); if (info3 != null) { int frozenColumnCount = index; int end = info3.End; int columnViewportIndex = _columnExpandExtent.ViewportIndex; if (_sheet.ColumnRangeGroup.Data.GetCollapsed(index)) { if ((columnViewportIndex < 0) || (columnViewportIndex >= viewportInfo.ColumnViewportCount)) { return; } end = index; } else { if (columnViewportIndex >= viewportInfo.ColumnViewportCount) { return; } if (columnViewportIndex == (viewportInfo.ColumnViewportCount - 1)) { if (end >= (excel.ActiveSheet.ColumnCount - excel.ActiveSheet.FrozenTrailingColumnCount)) { end = (excel.ActiveSheet.ColumnCount - excel.ActiveSheet.FrozenTrailingColumnCount) - 1; } } else if (columnViewportIndex < 0) { if (end < excel.ActiveSheet.FrozenColumnCount) { return; } frozenColumnCount = excel.ActiveSheet.FrozenColumnCount; end = Math.Min(end, (excel.ActiveSheet.ColumnCount - excel.ActiveSheet.FrozenTrailingColumnCount) - 1); columnViewportIndex++; } } int leftColumn = excel.GetViewportLeftColumn(columnViewportIndex); if (frozenColumnCount < leftColumn) { excel.SetViewportLeftColumn(columnViewportIndex, frozenColumnCount); } else { double num12 = excel.GetViewportWidth(columnViewportIndex); double num13 = NavigatorHelper.GetColumnWidth(excel.ActiveSheet, leftColumn, end); if (num13 > num12) { leftColumn = NavigatorHelper.GetNewLeftColumn(excel.ActiveSheet, leftColumn, num13 - num12); excel.SetViewportLeftColumn(columnViewportIndex, Math.Min(frozenColumnCount, leftColumn)); } } } } } }
/// <summary> /// Gets the search results to be displayed on the right side of the ItemPicker. /// </summary> /// <param name="context">Describes the situation in which the ItemPicker is being /// displayed to the user.</param> /// <param name="selectedNode">The node selected on the left side of the ItemPicker.</param> /// <param name="searchText">The search text entered by the user.</param> /// <returns></returns> public Collection<Node> GetSearchResults(ItemPickerContext context, Node selectedNode, string searchText) { var client = selectedNode.GetClient(); var navigator = new NavigatorHelper(client); var provider = selectedNode as IVersionableProvider; Collection<Node> results = null; if (provider != null) { // If an item is selected in the navigator, find items of the target type within that selected item. results = navigator.FindItems(provider.Metadata.CompositeId, context.TypeToSelect, selectedNode, false); } else { // No item is selected in the navigator, so search the entire repository. results = navigator.FindItems(context.TypeToSelect, selectedNode, false); } return results; }
private void ExitApplicationExec() { NavigatorHelper.Cancel(); }
void ShowRowRangeGroup(Excel excel) { int index = _rowExpandExtent.Index; if ((index >= 0) && (index < _sheet.RowCount)) { ViewportInfo viewportInfo = excel.GetViewportInfo(); if (excel.ActiveSheet.RowRangeGroup.Direction == RangeGroupDirection.Forward) { RangeGroupInfo info2 = _sheet.RowRangeGroup.Find(index - 1, _rowExpandExtent.Level); if (info2 != null) { int start = info2.Start; int bottonRow = index; int viewportIndex = _rowExpandExtent.ViewportIndex; if (_sheet.RowRangeGroup.Data.GetCollapsed(index)) { if ((viewportIndex < 0) || (viewportIndex >= viewportInfo.RowViewportCount)) { return; } start = index; } else { if (viewportIndex < 0) { return; } if (viewportIndex == 0) { if (start < excel.ActiveSheet.FrozenRowCount) { start = excel.ActiveSheet.FrozenRowCount; } } else if (viewportIndex >= viewportInfo.RowViewportCount) { if (start >= (excel.ActiveSheet.RowCount - excel.ActiveSheet.FrozenTrailingRowCount)) { return; } start = Math.Max(start, excel.ActiveSheet.FrozenRowCount); bottonRow = (excel.ActiveSheet.RowCount - excel.ActiveSheet.FrozenTrailingRowCount) - 1; viewportIndex--; } } int viewportTopRow = excel.GetViewportTopRow(viewportIndex); if (start < viewportTopRow) { viewportTopRow = start; } double viewportHeight = excel.GetViewportHeight(viewportIndex); double num7 = NavigatorHelper.GetRowHeight(excel.ActiveSheet, viewportTopRow, bottonRow); if (num7 > viewportHeight) { viewportTopRow = NavigatorHelper.GetNewTopRow(excel.ActiveSheet, viewportTopRow, num7 - viewportHeight); } excel.SetViewportTopRow(viewportIndex, viewportTopRow); } } else if (_sheet.RowRangeGroup.Direction == RangeGroupDirection.Backward) { RangeGroupInfo info3 = _sheet.RowRangeGroup.Find(index + 1, _rowExpandExtent.Level); if (info3 != null) { int frozenRowCount = index; int end = info3.End; int rowViewportIndex = _rowExpandExtent.ViewportIndex; if (_sheet.RowRangeGroup.Data.GetCollapsed(index)) { if ((rowViewportIndex < 0) || (rowViewportIndex >= viewportInfo.RowViewportCount)) { return; } end = index; } else { if (rowViewportIndex >= viewportInfo.RowViewportCount) { return; } if (rowViewportIndex == (viewportInfo.RowViewportCount - 1)) { if (end >= (excel.ActiveSheet.RowCount - excel.ActiveSheet.FrozenTrailingRowCount)) { end = (excel.ActiveSheet.RowCount - excel.ActiveSheet.FrozenTrailingRowCount) - 1; } } else if (rowViewportIndex < 0) { if (end < excel.ActiveSheet.FrozenRowCount) { return; } frozenRowCount = excel.ActiveSheet.FrozenRowCount; end = Math.Min(end, (excel.ActiveSheet.RowCount - excel.ActiveSheet.FrozenTrailingRowCount) - 1); rowViewportIndex++; } } int topRow = excel.GetViewportTopRow(rowViewportIndex); if (frozenRowCount < topRow) { excel.SetViewportTopRow(rowViewportIndex, frozenRowCount); } else { double num12 = excel.GetViewportHeight(rowViewportIndex); double num13 = NavigatorHelper.GetRowHeight(excel.ActiveSheet, topRow, end); if (num13 > num12) { topRow = NavigatorHelper.GetNewTopRow(excel.ActiveSheet, topRow, num13 - num12); excel.SetViewportTopRow(rowViewportIndex, Math.Min(frozenRowCount, topRow)); } } } } } }