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
path: root/main
diff options
context:
space:
mode:
authorMike Krüger <mkrueger@novell.com>2010-05-06 21:22:30 +0400
committerMike Krüger <mkrueger@novell.com>2010-05-06 21:22:30 +0400
commit0cf7664bb2c0d8204e81efca186084a8e1a53aa3 (patch)
tree1d4b4cf8053eb814e0a1217c59db38765afb851c /main
parent8ce60d2bf933dac9e5fa911b4f94066ba50580b3 (diff)
* MonoDevelop.Ide.Gui/Document.cs:
* MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs: Added Dom property to document. This is the safest way to get the Dom assoziated with an open document. It NEVER returns null. It creates a special file only dom for files that are not bound to a project. svn path=/trunk/monodevelop/; revision=156822
Diffstat (limited to 'main')
-rw-r--r--main/src/core/MonoDevelop.Ide/ChangeLog9
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs2
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs18
3 files changed, 28 insertions, 1 deletions
diff --git a/main/src/core/MonoDevelop.Ide/ChangeLog b/main/src/core/MonoDevelop.Ide/ChangeLog
index 4c3612763f..71575fb4e4 100644
--- a/main/src/core/MonoDevelop.Ide/ChangeLog
+++ b/main/src/core/MonoDevelop.Ide/ChangeLog
@@ -1,5 +1,14 @@
2010-05-06 Mike Krüger <mkrueger@novell.com>
+ * MonoDevelop.Ide.Gui/Document.cs:
+ * MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs: Added Dom
+ property to document. This is the safest way to get the Dom
+ assoziated with an open document. It NEVER returns null. It
+ creates a special file only dom for files that are not bound
+ to a project.
+
+2010-05-06 Mike Krüger <mkrueger@novell.com>
+
* MonoDevelop.Ide.CodeCompletion/ListWidget.cs: Fix 'Bug
603344 - Matching in completion list'.
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs
index 8552d78465..d2ec677110 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/CodeTemplate.cs
@@ -356,7 +356,7 @@ namespace MonoDevelop.Ide.CodeTemplates
public TemplateResult InsertTemplate (MonoDevelop.Ide.Gui.Document document)
{
- ProjectDom dom = ProjectDomService.GetProjectDom (document.Project) ?? ProjectDomService.GetFileDom (document.FileName);
+ ProjectDom dom = document.Dom;
ParsedDocument doc = document.ParsedDocument ?? MonoDevelop.Projects.Dom.Parser.ProjectDomService.GetParsedDocument (dom, document.FileName);
MonoDevelop.Ide.Gui.TextEditor editor = document.TextEditor;
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs
index 3057153c76..13f8f70772 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/Document.cs
@@ -141,6 +141,19 @@ namespace MonoDevelop.Ide.Gui
get { return Window.ViewContent.Project; }
}
+ ProjectDom fileDom;
+ public ProjectDom Dom {
+ get {
+ ProjectDom result = ProjectDomService.GetProjectDom (Project);
+ if (result != null)
+ return result;
+
+ if (fileDom == null)
+ fileDom = ProjectDomService.GetFileDom (FileName);
+ return fileDom ?? ProjectDom.Empty;
+ }
+ }
+
public string PathRelativeToProject {
get { return Window.ViewContent.PathRelativeToProject; }
}
@@ -409,6 +422,11 @@ namespace MonoDevelop.Ide.Gui
ProjectDomService.Parse (curentParseProject, currentParseFile, DesktopService.GetMimeTypeForUri (currentParseFile));
});
}
+ if (fileDom != null) {
+ ProjectDomService.RemoveFileDom (FileName);
+ fileDom = null;
+ }
+
Counters.OpenDocuments--;
}
#region document tasks