5
// Mike Krüger <mkrueger@novell.com>
7
// Copyright (C) 2007 Novell, Inc (http://www.novell.com)
9
// Permission is hereby granted, free of charge, to any person obtaining
10
// a copy of this software and associated documentation files (the
11
// "Software"), to deal in the Software without restriction, including
12
// without limitation the rights to use, copy, modify, merge, publish,
13
// distribute, sublicense, and/or sell copies of the Software, and to
14
// permit persons to whom the Software is furnished to do so, subject to
15
// the following conditions:
17
// The above copyright notice and this permission notice shall be
18
// included in all copies or substantial portions of the Software.
20
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31
using System.Collections.Generic;
35
namespace MonoDevelop.Projects.Text
37
public static class TextFileService
39
public static void FireLineCountChanged (ITextFile textFile, int lineNumber, int lineCount, int column)
41
if (LineCountChanged != null)
42
LineCountChanged (textFile, new LineCountEventArgs (textFile, lineNumber, lineCount, column));
45
public static void FireResetCountChanges (ITextFile textFile)
47
if (ResetCountChanges != null)
48
ResetCountChanges (textFile, new TextFileEventArgs (textFile));
51
public static void FireCommitCountChanges (ITextFile textFile)
53
if (CommitCountChanges != null)
54
CommitCountChanges (textFile, new TextFileEventArgs (textFile));
57
public static event EventHandler<LineCountEventArgs> LineCountChanged;
58
public static event EventHandler<TextFileEventArgs> ResetCountChanges;
59
public static event EventHandler<TextFileEventArgs> CommitCountChanges;
62
public class TextFileEventArgs : EventArgs
66
public ITextFile TextFile {
72
public TextFileEventArgs (ITextFile textFile)
74
this.textFile = textFile;
78
public class LineCountEventArgs : TextFileEventArgs
84
public int LineNumber {
90
public int LineCount {
102
public LineCountEventArgs (ITextFile textFile, int lineNumber, int lineCount, int column) : base (textFile)
104
this.lineNumber = lineNumber;
105
this.lineCount = lineCount;
106
this.column = column;
109
public override string ToString ()
111
return String.Format ("[LineCountEventArgs: LineNumber={0}, LineCount={1}, Column={2}]", lineNumber, lineCount, column);