- texteditor.zip
- Lib
- ICSharpCode.TextEditor.dll
- LinqBridge.dll
- Src
- ICSharpCode.TextEditor
- ICSharpCode.TextEditor.sln
- Project
- Article1.cd
- Article2.cd
- Configuration
- GlobalAssemblyInfo.cs
- ICSharpCode.TextEditor.cd
- ICSharpCode.TextEditor.csproj
- ICSharpCode.TextEditor.csproj.user
- Resources
- ASPX.xshd
- BAT-Mode.xshd
- Boo.xshd
- Coco-Mode.xshd
- CPP-Mode.xshd
- CSharp-Mode.xshd
- HTML-Mode.xshd
- ICSharpCode.TextEditor.snk
- Java-Mode.xshd
- JavaScript-Mode.xshd
- Mode.xsd
- Patch-Mode.xshd
- PHP-Mode.xshd
- RightArrow.cur
- SyntaxModes.xml
- Tex-Mode.xshd
- TextEditorControl.bmp
- VBNET-Mode.xshd
- XML-Mode.xshd
- Src
- Actions
- Document
- Gui
- Undo
- Util
- Test
- TextEditor.sln
- TextEditor
|
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
// <version>$Revision: 2682 $</version>
// </file>
using System;
using System.IO;
using System.Text;
namespace ICSharpCode.TextEditor.Document
{
/// <summary>
/// Simple implementation of the ITextBuffer interface implemented using a
/// string.
/// Only for fall-back purposes.
/// </summary>
public class StringTextBufferStrategy : ITextBufferStrategy
{
string storedText = "";
public int Length {
get {
return storedText.Length;
}
}
public void Insert(int offset, string text)
{
if (text != null) {
storedText = storedText.Insert(offset, text);
}
}
public void Remove(int offset, int length)
{
storedText = storedText.Remove(offset, length);
}
public void Replace(int offset, int length, string text)
{
Remove(offset, length);
Insert(offset, text);
}
public string GetText(int offset, int length)
{
if (length == 0) {
return "";
}
if (offset == 0 && length >= storedText.Length) {
return storedText;
}
return storedText.Substring(offset, Math.Min(length, storedText.Length - offset));
}
public char GetCharAt(int offset)
{
if (offset == Length) {
return '\0';
}
return storedText[offset];
}
public void SetContent(string text)
{
storedText = text;
}
public StringTextBufferStrategy()
{
}
public static ITextBufferStrategy CreateTextBufferFromFile(string fileName)
{
if (!File.Exists(fileName)) {
throw new System.IO.FileNotFoundException(fileName);
}
StringTextBufferStrategy s = new StringTextBufferStrategy();
s.SetContent(Util.FileReader.ReadFileContent(fileName, Encoding.Default));
return s;
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.