Browse Source

Added DeclaringTypeSubMenuBuilder.

pull/59/merge
Andreas Weizel 12 years ago
parent
commit
339996c9f9
  1. 2
      src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
  2. 1
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  3. 50
      src/Main/Base/Project/Src/Editor/Commands/DeclaringTypeSubMenuBuilder.cs

2
src/Main/Base/Project/ICSharpCode.SharpDevelop.addin

@ -2028,6 +2028,8 @@ @@ -2028,6 +2028,8 @@
<Path name = "/SharpDevelop/ViewContent/TextEditor/ContextMenu/MemberContextMenu">
<Include id="GotoDefinition" item="/SharpDevelop/Workbench/MainMenu/Search/GotoDefinition" />
<Include id="Rename" item="/SharpDevelop/Workbench/MainMenu/Search/Rename" />
<MenuItem id="DeclaringTypeContextMenu" type="Builder" class="ICSharpCode.SharpDevelop.Editor.Commands.DeclaringTypeSubMenuBuilder" />
<MenuItem id = "Separator1" type = "Separator" />
</Path>
<Path name = "/SharpDevelop/ViewContent/TextEditor/ContextMenu/TypeContextMenu">

1
src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj

@ -206,6 +206,7 @@ @@ -206,6 +206,7 @@
<Compile Include="Src\Editor\CodeCompletion\CodeCompletionPanelXaml.xaml.cs" />
<Compile Include="Src\Editor\Commands\ClassBookmarkSubmenuBuilder.cs" />
<Compile Include="Src\Editor\Commands\ClassMemberMenuBuilder.cs" />
<Compile Include="Src\Editor\Commands\DeclaringTypeSubMenuBuilder.cs" />
<Compile Include="Src\Editor\Commands\FindReferencesCommand.cs" />
<Compile Include="Src\Editor\Commands\GotoLineNumber.cs" />
<Compile Include="Src\Editor\Commands\SymbolUnderCaretMenuCommand.cs" />

50
src/Main/Base/Project/Src/Editor/Commands/DeclaringTypeSubMenuBuilder.cs

@ -0,0 +1,50 @@ @@ -0,0 +1,50 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using ICSharpCode.Core;
using ICSharpCode.Core.Presentation;
using ICSharpCode.NRefactory.Semantics;
namespace ICSharpCode.SharpDevelop.Editor.Commands
{
/// <summary>
/// Description of DeclaringTypeSubMenuBuilder.
/// </summary>
public class DeclaringTypeSubMenuBuilder : IMenuItemBuilder
{
public DeclaringTypeSubMenuBuilder()
{
}
public System.Collections.Generic.IEnumerable<object> BuildItems(Codon codon, object parameter)
{
MemberResolveResult resolveResult = GetResolveResult() as MemberResolveResult;
if (resolveResult == null) {
return null;
}
var items = new List<MenuItem>();
items.Add(new MenuItem() {
Header = "TEST"
});
// var items = MenuService.CreateMenuItems((UIElement) SD.Workbench, SD.Workbench, "");
return items;
}
static ResolveResult GetResolveResult()
{
ITextEditor currentEditor = SD.GetActiveViewContentService<ITextEditor>();
if (currentEditor != null) {
return SD.ParserService.Resolve(currentEditor, currentEditor.Caret.Location);
} else {
return ErrorResolveResult.UnknownError;
}
}
}
}
Loading…
Cancel
Save