Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/addins/CBinding/Parser/CompilationUnitDataProvider.cs')
-rw-r--r--main/src/addins/CBinding/Parser/CompilationUnitDataProvider.cs28
1 files changed, 17 insertions, 11 deletions
diff --git a/main/src/addins/CBinding/Parser/CompilationUnitDataProvider.cs b/main/src/addins/CBinding/Parser/CompilationUnitDataProvider.cs
index 70c59b68ec..fb9109f3bc 100644
--- a/main/src/addins/CBinding/Parser/CompilationUnitDataProvider.cs
+++ b/main/src/addins/CBinding/Parser/CompilationUnitDataProvider.cs
@@ -37,17 +37,21 @@ using MonoDevelop.Ide.CodeCompletion;
using MonoDevelop.Components;
using Gtk;
+using MonoDevelop.Ide.Editor;
namespace CBinding.Parser
{
// Yoinked from C# binding
public class CompilationUnitDataProvider : DropDownBoxListWindow.IListDataProvider
{
- Document Document { get; set; }
+ TextEditor editor;
+
+ DocumentContext DocumentContext { get; set; }
- public CompilationUnitDataProvider (Document document)
+ public CompilationUnitDataProvider (TextEditor editor, DocumentContext documentContext)
{
- this.Document = document;
+ this.editor = editor;
+ this.DocumentContext = documentContext;
}
#region IListDataProvider implementation
@@ -55,7 +59,7 @@ namespace CBinding.Parser
public string GetMarkup (int n)
{
- return GLib.Markup.EscapeText (Document.ParsedDocument.UserRegions.ElementAt (n).Name);
+ return GLib.Markup.EscapeText (DocumentContext.ParsedDocument.GetUserRegionsAsync().Result.ElementAt (n).Name);
}
internal static Xwt.Drawing.Image Pixbuf
@@ -70,24 +74,26 @@ namespace CBinding.Parser
public object GetTag (int n)
{
- return Document.ParsedDocument.UserRegions.ElementAt (n);
+ return DocumentContext.ParsedDocument.GetUserRegionsAsync().Result.ElementAt (n);
}
public void ActivateItem (int n)
{
- var reg = Document.ParsedDocument.UserRegions.ElementAt (n);
- MonoDevelop.Ide.Gui.Content.IExtensibleTextEditor extEditor = Document.GetContent<MonoDevelop.Ide.Gui.Content.IExtensibleTextEditor> ();
- if (extEditor != null)
- extEditor.SetCaretTo (Math.Max (1, reg.Region.BeginLine), reg.Region.BeginColumn);
+ var reg = DocumentContext.ParsedDocument.GetUserRegionsAsync().Result.ElementAt (n);
+ var extEditor = editor;
+ if (extEditor != null) {
+ extEditor.CaretLocation = new DocumentLocation (Math.Max (1, reg.Region.BeginLine), reg.Region.BeginColumn);
+ extEditor.StartCaretPulseAnimation ();
+ }
}
public int IconCount
{
get {
- if (Document.ParsedDocument == null)
+ if (DocumentContext.ParsedDocument == null)
return 0;
- return Document.ParsedDocument.UserRegions.Count ();
+ return DocumentContext.ParsedDocument.GetUserRegionsAsync().Result.Count ();
}
}