first.working.version
[tfs.git] / class / Gtk.TeamFoundation / SourceView.cs
blob8f74fab1e46e524ea013c732c355ba93f4695c27
1 using System;
2 using System.Text;
3 using Gtk;
4 using GtkSourceView;
5 using Pango;
6 using Gnome.Vfs;
8 namespace Gtk.TeamFoundation
10 public class MyTextViewFactory
12 static public MyTextView CreateNewTextView()
14 SourceLanguage lang = MyTextView.LanguageManager.GetLanguageFromMimeType ("text/x-csharp");
15 SourceBuffer buffer = new SourceBuffer(lang);
16 buffer.Highlight = true;
17 return new MyTextView(buffer);
21 public class MyTextView : SourceView
23 static public SourceLanguagesManager LanguageManager = new SourceLanguagesManager();
24 private SourceBuffer sourceBuffer;
26 static MyTextView()
28 Vfs.Initialize();
31 public MyTextView(SourceBuffer buffer) : base(buffer)
33 CursorVisible = false;
34 Editable = false;
35 ModifyFont(Pango.FontDescription.FromString("Vera Sans Mono 14"));
36 ShowLineNumbers = true;
38 sourceBuffer = buffer;
41 public void Clear()
43 Buffer.Text = String.Empty;
46 public void Update(string path, string contents)
48 string mimeType = Mime.TypeFromNameOrDefault(path, "text/plain");
49 //Console.WriteLine("Switching to mimetype: " + mimeType);
51 SourceLanguage lang = LanguageManager.GetLanguageFromMimeType (mimeType);
53 if (lang != null)
55 //Console.WriteLine("Switching to language: " + lang.Name);
56 sourceBuffer.Language = lang;
57 sourceBuffer.Highlight = true;
60 Buffer.Text = contents;