// // // // // $Revision$ // using System; using System.Text; namespace ICSharpCode.TextEditor.Document { /// /// This interface represents a container which holds a text sequence and /// all necessary information about it. It is used as the base for a text editor. /// public class DocumentFactory { /// /// Creates a new object. Only create /// with this method. /// public IDocument CreateDocument() { DefaultDocument doc = new DefaultDocument(); doc.TextBufferStrategy = new GapTextBufferStrategy(); doc.FormattingStrategy = new DefaultFormattingStrategy(); doc.LineManager = new LineManager(doc, null); doc.FoldingManager = new FoldingManager(doc, doc.LineManager); doc.FoldingManager.FoldingStrategy = null; //new ParserFoldingStrategy(); doc.MarkerStrategy = new MarkerStrategy(doc); doc.BookmarkManager = new BookmarkManager(doc, doc.LineManager); return doc; } /// /// Creates a new document and loads the given file /// public IDocument CreateFromTextBuffer(ITextBufferStrategy textBuffer) { DefaultDocument doc = (DefaultDocument)CreateDocument(); doc.TextContent = textBuffer.GetText(0, textBuffer.Length); doc.TextBufferStrategy = textBuffer; return doc; } /// /// Creates a new document and loads the given file /// public IDocument CreateFromFile(string fileName) { IDocument document = CreateDocument(); document.TextContent = Util.FileReader.ReadFileContent(fileName, Encoding.Default); return document; } } }