diff --git a/src/Main/Base/Project/Dom/ClassBrowser/MemberTreeNode.cs b/src/Main/Base/Project/Dom/ClassBrowser/MemberTreeNode.cs index 4a4e48e038..aa238c070c 100644 --- a/src/Main/Base/Project/Dom/ClassBrowser/MemberTreeNode.cs +++ b/src/Main/Base/Project/Dom/ClassBrowser/MemberTreeNode.cs @@ -2,12 +2,13 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using ICSharpCode.Core.Presentation; using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.TreeView; namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser { - public class MemberTreeNode : SharpTreeNode + public class MemberTreeNode : ModelCollectionTreeNode { IMemberModel model; @@ -53,12 +54,28 @@ namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser return ambience.ConvertEntity(member); } + protected override IModelCollection ModelChildren { + get { return ImmutableModelCollection.Empty; } + } + + protected override System.Collections.Generic.IComparer NodeComparer { + get { return NodeTextComparer; } + } + public override void ActivateItem(System.Windows.RoutedEventArgs e) { var target = model.Resolve(); if (target != null) NavigationService.NavigateTo(target); } + + public override void ShowContextMenu() + { + var model = this.Model; + if (model is IEntityModel) { + var ctx = MenuService.ShowContextMenu(null, (IEntityModel) model, "/SharpDevelop/EntityContextMenu"); + } + } } } diff --git a/src/Main/Base/Project/Dom/ClassBrowser/TypeDefinitionTreeNode.cs b/src/Main/Base/Project/Dom/ClassBrowser/TypeDefinitionTreeNode.cs index fb9d8cc24b..1ab7e74628 100644 --- a/src/Main/Base/Project/Dom/ClassBrowser/TypeDefinitionTreeNode.cs +++ b/src/Main/Base/Project/Dom/ClassBrowser/TypeDefinitionTreeNode.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using ICSharpCode.Core.Presentation; using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.TreeView; @@ -55,6 +56,14 @@ namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser if (target != null) NavigationService.NavigateTo(target); } + + public override void ShowContextMenu() + { + var model = this.Model; + if (model is IEntityModel) { + var ctx = MenuService.ShowContextMenu(null, (IEntityModel) model, "/SharpDevelop/EntityContextMenu"); + } + } } }