public DocumentController(IHostingEnvironment hostingEnvironment, IDocumentService documentService, IBookmarkService bookmarkService, ITableUtil tableUtil, ITextUtil textUtil, DocumentMapper documentMapper, BookmarkMapper bookmarkMapper, IDocumentCore documentCore, IWordBookmarkParser bookmarkParser) { _hostingEnvironment = hostingEnvironment; _documentService = documentService; _bookmarkService = bookmarkService; _tableUtil = tableUtil; _textUtil = textUtil; _documentMapper = documentMapper; _bookmarkMapper = bookmarkMapper; _documentCore = documentCore; _bookmarkParser = bookmarkParser; }
public static void GetExtentInfo(this ITextUtil textUtil, int startIndex, int length, out int startLine, out int startLineOffset, out int endLine, out int endLineOffset) { textUtil.Reset(); int lineNumber = 0, charCount = 0, lineCharCount = 0; string line; while (textUtil.TryReadLine(out line) && charCount < startIndex) { ++lineNumber; charCount += line.Length; lineCharCount = line.Length; } //We passed the line we want to be on, so back up int positionAtEndOfPreviousLine = charCount - lineCharCount; startLine = lineNumber - 1; startLineOffset = startIndex - positionAtEndOfPreviousLine; while (textUtil.TryReadLine(out line) && charCount < startIndex + length) { ++lineNumber; charCount += line.Length; lineCharCount = line.Length; } if (line != null) { positionAtEndOfPreviousLine = charCount - lineCharCount; endLineOffset = startIndex + length - positionAtEndOfPreviousLine; } else { endLineOffset = lineCharCount; } endLine = lineNumber - 1; }
public static bool Replace(this ITextUtil util, Range range, string text) { //Deletes the current bindings elements and move it to the top of the file return(util.Delete(range) && util.Insert(range, text, false)); }