Browse Source

Merge branch 'newNR' of github.com:icsharpcode/SharpDevelop into newNR

pull/59/merge
Peter Forstmeier 12 years ago
parent
commit
b56ba05c65
  1. 17
      data/resources/StringResources.de.resx
  2. 18
      data/resources/StringResources.resx
  3. 2
      src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.addin
  4. 93
      src/Main/Base/Project/Dom/ClassBrowser/BaseTypesTreeNode.cs
  5. 7
      src/Main/Base/Project/Dom/ClassBrowser/TypeDefinitionTreeNode.cs
  6. 2
      src/Main/Base/Project/Dom/ClassBrowser/WorkspaceTreeNode.cs
  7. 2
      src/Main/Base/Project/Dom/ITypeDefinitionModel.cs
  8. 6
      src/Main/Base/Project/ICSharpCode.SharpDevelop.addin
  9. 1
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  10. 20
      src/Main/SharpDevelop/Dom/ClassBrowser/ClassBrowserPad.cs
  11. 5
      src/Main/SharpDevelop/Dom/TypeDefinitionModel.cs

17
data/resources/StringResources.de.resx

@ -2496,7 +2496,7 @@ Wollen Sie die neue Datei zum Projekt ${CurrentProjectName} hinzufügen?</value>
<value>Referenzpfade</value> <value>Referenzpfade</value>
</data> </data>
<data name="Dialog.ProjectOptions.ReferencePaths.AddPath" xml:space="preserve"> <data name="Dialog.ProjectOptions.ReferencePaths.AddPath" xml:space="preserve">
<value>Pfad hinzufügem</value> <value>Pfad hinzufügen</value>
</data> </data>
<data name="Dialog.ProjectOptions.RunPostBuildEvent.Always" xml:space="preserve"> <data name="Dialog.ProjectOptions.RunPostBuildEvent.Always" xml:space="preserve">
<value>Immer</value> <value>Immer</value>
@ -4769,6 +4769,9 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.BookmarksLabel" xml:space="preserve"> <data name="MainWindow.Windows.BookmarksLabel" xml:space="preserve">
<value>Lesezeichen</value> <value>Lesezeichen</value>
</data> </data>
<data name="MainWindow.Windows.ClassBrowser.AddToWorkspace" xml:space="preserve">
<value>Zum Arbeitsbereich hinzufügen</value>
</data>
<data name="MainWindow.Windows.ClassBrowser.BackButton.ToolTip" xml:space="preserve"> <data name="MainWindow.Windows.ClassBrowser.BackButton.ToolTip" xml:space="preserve">
<value>Zurück</value> <value>Zurück</value>
</data> </data>
@ -4808,9 +4811,21 @@ Microsoft.Tools.WindowsInstallerXml.Extensions.NetFxCompiler, WixNetFxExtension<
<data name="MainWindow.Windows.ClassBrowser.NoResultsFound" xml:space="preserve"> <data name="MainWindow.Windows.ClassBrowser.NoResultsFound" xml:space="preserve">
<value>Keine Suchergebnisse gefunden.</value> <value>Keine Suchergebnisse gefunden.</value>
</data> </data>
<data name="MainWindow.Windows.ClassBrowser.OpenAssemblyButton.ToolTip" xml:space="preserve">
<value>Assembly öffnen</value>
</data>
<data name="MainWindow.Windows.ClassBrowser.OpenAssemblyFromFile" xml:space="preserve">
<value>Assembly aus Datei öffnen...</value>
</data>
<data name="MainWindow.Windows.ClassBrowser.OpenAssemblyFromGAC" xml:space="preserve">
<value>Assembly aus GAC öffnen...</value>
</data>
<data name="MainWindow.Windows.ClassBrowser.SearchButton.ToolTip" xml:space="preserve"> <data name="MainWindow.Windows.ClassBrowser.SearchButton.ToolTip" xml:space="preserve">
<value>Suche nach Klassenname</value> <value>Suche nach Klassenname</value>
</data> </data>
<data name="MainWindow.Windows.ClassBrowser.Workspace" xml:space="preserve">
<value>Arbeitsbereich {0}</value>
</data>
<data name="MainWindow.Windows.ClassScoutLabel" xml:space="preserve"> <data name="MainWindow.Windows.ClassScoutLabel" xml:space="preserve">
<value>Klassen</value> <value>Klassen</value>
</data> </data>

18
data/resources/StringResources.resx

@ -4891,6 +4891,9 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment>
<data name="ICSharpCode.WixBinding.WixVisualStudioExtensionTitle" xml:space="preserve"> <data name="ICSharpCode.WixBinding.WixVisualStudioExtensionTitle" xml:space="preserve">
<value>Visual Studio Extension</value> <value>Visual Studio Extension</value>
</data> </data>
<data name="ICSharpCode.WpfDesign.AddIn.ThumbnailViewPad" xml:space="preserve">
<value>WPF Designer Thumbnail View</value>
</data>
<data name="ICSharpCode.WPFDesigner.ContextMenu.Copy" xml:space="preserve"> <data name="ICSharpCode.WPFDesigner.ContextMenu.Copy" xml:space="preserve">
<value>Copy</value> <value>Copy</value>
</data> </data>
@ -5222,6 +5225,9 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment>
<data name="MainWindow.Windows.BookmarksLabel" xml:space="preserve"> <data name="MainWindow.Windows.BookmarksLabel" xml:space="preserve">
<value>Bookmarks</value> <value>Bookmarks</value>
</data> </data>
<data name="MainWindow.Windows.ClassBrowser.AddToWorkspace" xml:space="preserve">
<value>Add to workspace</value>
</data>
<data name="MainWindow.Windows.ClassBrowser.BackButton.ToolTip" xml:space="preserve"> <data name="MainWindow.Windows.ClassBrowser.BackButton.ToolTip" xml:space="preserve">
<value>Back</value> <value>Back</value>
</data> </data>
@ -5261,9 +5267,21 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs</comment>
<data name="MainWindow.Windows.ClassBrowser.NoResultsFound" xml:space="preserve"> <data name="MainWindow.Windows.ClassBrowser.NoResultsFound" xml:space="preserve">
<value>No search results found.</value> <value>No search results found.</value>
</data> </data>
<data name="MainWindow.Windows.ClassBrowser.OpenAssemblyButton.ToolTip" xml:space="preserve">
<value>Open assembly</value>
</data>
<data name="MainWindow.Windows.ClassBrowser.OpenAssemblyFromFile" xml:space="preserve">
<value>Open assembly from file...</value>
</data>
<data name="MainWindow.Windows.ClassBrowser.OpenAssemblyFromGAC" xml:space="preserve">
<value>Open assembly from GAC...</value>
</data>
<data name="MainWindow.Windows.ClassBrowser.SearchButton.ToolTip" xml:space="preserve"> <data name="MainWindow.Windows.ClassBrowser.SearchButton.ToolTip" xml:space="preserve">
<value>Class View Search</value> <value>Class View Search</value>
</data> </data>
<data name="MainWindow.Windows.ClassBrowser.Workspace" xml:space="preserve">
<value>Workspace {0}</value>
</data>
<data name="MainWindow.Windows.ClassScoutLabel" xml:space="preserve"> <data name="MainWindow.Windows.ClassScoutLabel" xml:space="preserve">
<value>Classes</value> <value>Classes</value>
</data> </data>

2
src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.addin

@ -165,7 +165,7 @@
<Path name = "/SharpDevelop/Services/DebuggerService/ModuleContextMenu"> <Path name = "/SharpDevelop/Services/DebuggerService/ModuleContextMenu">
<MenuItem id = "AddModuleToWorkspace" <MenuItem id = "AddModuleToWorkspace"
label = "Add to workspace" label = "${res:MainWindow.Windows.ClassBrowser.AddToWorkspace}"
icon = "Icons.16x16.AssemblyFromFile" icon = "Icons.16x16.AssemblyFromFile"
class = "ICSharpCode.SharpDevelop.Gui.Pads.AddModuleToWorkspaceCommand"/> class = "ICSharpCode.SharpDevelop.Gui.Pads.AddModuleToWorkspaceCommand"/>
</Path> </Path>

93
src/Main/Base/Project/Dom/ClassBrowser/BaseTypesTreeNode.cs

@ -0,0 +1,93 @@
// 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 ICSharpCode.NRefactory.TypeSystem;
namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser
{
/// <summary>
/// Description of BaseTypesTreeNode.
/// </summary>
public class BaseTypesTreeNode : ModelCollectionTreeNode
{
ITypeDefinitionModel definition;
string text;
SimpleModelCollection<ITypeDefinitionModel> baseTypes;
public BaseTypesTreeNode(ITypeDefinitionModel definition)
{
if (definition == null)
throw new ArgumentNullException("definition");
this.definition = definition;
this.definition.Updated += (sender, e) => UpdateBaseTypes();
this.text = SD.ResourceService.GetString("MainWindow.Windows.ClassBrowser.BaseTypes");
baseTypes = new SimpleModelCollection<ITypeDefinitionModel>();
}
protected override IModelCollection<object> ModelChildren {
get {
return baseTypes;
}
}
protected override void LoadChildren()
{
UpdateBaseTypes();
base.LoadChildren();
}
void UpdateBaseTypes()
{
baseTypes.Clear();
ITypeDefinition currentTypeDef = definition.Resolve();
if (currentTypeDef != null) {
foreach (var baseType in currentTypeDef.DirectBaseTypes) {
ITypeDefinition baseTypeDef = baseType.GetDefinition();
if (baseTypeDef != null) {
ITypeDefinitionModel baseTypeModel = GetTypeDefinitionModel(baseTypeDef);
if (baseTypeModel != null)
baseTypes.Add(baseTypeModel);
}
}
}
}
ITypeDefinitionModel GetTypeDefinitionModel(ITypeDefinition definition)
{
ITypeDefinitionModel model = definition.GetModel();
if (model == null) {
// Try to get model from ClassBrowser's assembly list
var classBrowser = SD.GetService<IClassBrowser>();
if (classBrowser != null) {
foreach (var assemblyModel in classBrowser.AssemblyList.Assemblies) {
model = assemblyModel.TopLevelTypeDefinitions[definition.FullTypeName];
if (model != null) {
return model;
}
}
}
}
return model;
}
protected override System.Collections.Generic.IComparer<ICSharpCode.TreeView.SharpTreeNode> NodeComparer {
get {
return NodeTextComparer;
}
}
public override object Text {
get {
return text;
}
}
public override object Icon {
get {
return SD.ResourceService.GetImageSource("Icons.16x16.OpenFolderBitmap");
}
}
}
}

7
src/Main/Base/Project/Dom/ClassBrowser/TypeDefinitionTreeNode.cs

@ -54,6 +54,13 @@ namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser
} }
} }
protected override void LoadChildren()
{
base.LoadChildren();
var baseTypesTreeNode = new BaseTypesTreeNode(definition);
Children.Insert(0, baseTypesTreeNode);
}
public override void ActivateItem(System.Windows.RoutedEventArgs e) public override void ActivateItem(System.Windows.RoutedEventArgs e)
{ {
var target = definition.Resolve(); var target = definition.Resolve();

2
src/Main/Base/Project/Dom/ClassBrowser/WorkspaceTreeNode.cs

@ -64,7 +64,7 @@ namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser
public override object Text { public override object Text {
get { get {
return "Workspace " + AssemblyList.Name; return String.Format(SD.ResourceService.GetString("MainWindow.Windows.ClassBrowser.Workspace"), AssemblyList.Name);
} }
} }

2
src/Main/Base/Project/Dom/ITypeDefinitionModel.cs

@ -13,6 +13,8 @@ namespace ICSharpCode.SharpDevelop.Dom
/// </summary> /// </summary>
public interface ITypeDefinitionModel : IEntityModel public interface ITypeDefinitionModel : IEntityModel
{ {
event EventHandler Updated;
FullTypeName FullTypeName { get; } FullTypeName FullTypeName { get; }
string Namespace { get; } string Namespace { get; }
TypeKind TypeKind { get; } TypeKind TypeKind { get; }

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

@ -924,14 +924,14 @@
<ToolbarItem id = "OpenAssembly" <ToolbarItem id = "OpenAssembly"
type = "DropDownButton" type = "DropDownButton"
icon = "Icons.16x16.Assembly" icon = "Icons.16x16.Assembly"
tooltip = "Open assembly"> tooltip = "${res:MainWindow.Windows.ClassBrowser.OpenAssemblyButton.ToolTip}">
<MenuItem id = "OpenAssemblyFromFile" <MenuItem id = "OpenAssemblyFromFile"
icon = "Icons.16x16.AssemblyFromFile" icon = "Icons.16x16.AssemblyFromFile"
label = "Open assembly from file" label = "${res:MainWindow.Windows.ClassBrowser.OpenAssemblyFromFile}"
class = "ICSharpCode.SharpDevelop.Dom.ClassBrowser.OpenAssemblyFromFileCommand"/> class = "ICSharpCode.SharpDevelop.Dom.ClassBrowser.OpenAssemblyFromFileCommand"/>
<MenuItem id = "OpenAssemblyFromGAC" <MenuItem id = "OpenAssemblyFromGAC"
icon = "Icons.16x16.AssemblyFromGAC" icon = "Icons.16x16.AssemblyFromGAC"
label = "Open assembly from GAC" label = "${res:MainWindow.Windows.ClassBrowser.OpenAssemblyFromGAC}"
class = "ICSharpCode.SharpDevelop.Dom.ClassBrowser.OpenAssemblyFromGACCommand"/> class = "ICSharpCode.SharpDevelop.Dom.ClassBrowser.OpenAssemblyFromGACCommand"/>
</ToolbarItem> </ToolbarItem>
<!--<ToolbarItem id = "SelectFilter" <!--<ToolbarItem id = "SelectFilter"

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

@ -86,6 +86,7 @@
<Compile Include="Designer\TypeResolutionService.cs" /> <Compile Include="Designer\TypeResolutionService.cs" />
<Compile Include="Dom\ClassBrowser\AssemblyLoadErrorTreeNode.cs" /> <Compile Include="Dom\ClassBrowser\AssemblyLoadErrorTreeNode.cs" />
<Compile Include="Dom\ClassBrowser\AssemblyTreeNode.cs" /> <Compile Include="Dom\ClassBrowser\AssemblyTreeNode.cs" />
<Compile Include="Dom\ClassBrowser\BaseTypesTreeNode.cs" />
<Compile Include="Dom\ClassBrowser\ClassBrowserTreeView.cs" /> <Compile Include="Dom\ClassBrowser\ClassBrowserTreeView.cs" />
<Compile Include="Dom\ClassBrowser\IClassBrowser.cs" /> <Compile Include="Dom\ClassBrowser\IClassBrowser.cs" />
<Compile Include="Dom\ClassBrowser\MemberTreeNode.cs" /> <Compile Include="Dom\ClassBrowser\MemberTreeNode.cs" />

20
src/Main/SharpDevelop/Dom/ClassBrowser/ClassBrowserPad.cs

@ -149,17 +149,21 @@ namespace ICSharpCode.SharpDevelop.Dom.ClassBrowser
void AssemblyListCollectionChanged(IReadOnlyCollection<IAssemblyModel> removedItems, IReadOnlyCollection<IAssemblyModel> addedItems) void AssemblyListCollectionChanged(IReadOnlyCollection<IAssemblyModel> removedItems, IReadOnlyCollection<IAssemblyModel> addedItems)
{ {
foreach (var assembly in addedItems) { if (addedItems != null) {
// Add this assembly to current workspace foreach (var assembly in addedItems) {
if (activeWorkspace != null) { // Add this assembly to current workspace
activeWorkspace.AssemblyFiles.Add(assembly.Context.Location); if (activeWorkspace != null) {
activeWorkspace.AssemblyFiles.Add(assembly.Context.Location);
}
} }
} }
foreach (var assembly in removedItems) { if (removedItems != null) {
// Add this assembly to current workspace foreach (var assembly in removedItems) {
if (activeWorkspace != null) { // Add this assembly to current workspace
activeWorkspace.AssemblyFiles.Remove(assembly.Context.Location); if (activeWorkspace != null) {
activeWorkspace.AssemblyFiles.Remove(assembly.Context.Location);
}
} }
} }

5
src/Main/SharpDevelop/Dom/TypeDefinitionModel.cs

@ -19,6 +19,8 @@ namespace ICSharpCode.SharpDevelop.Dom
/// </summary> /// </summary>
sealed class TypeDefinitionModel : ITypeDefinitionModel sealed class TypeDefinitionModel : ITypeDefinitionModel
{ {
public event EventHandler Updated;
readonly IEntityModelContext context; readonly IEntityModelContext context;
readonly FullTypeName fullTypeName; readonly FullTypeName fullTypeName;
List<IUnresolvedTypeDefinition> parts = new List<IUnresolvedTypeDefinition>(); List<IUnresolvedTypeDefinition> parts = new List<IUnresolvedTypeDefinition>();
@ -311,6 +313,9 @@ namespace ICSharpCode.SharpDevelop.Dom
if (nestedTypes != null) { if (nestedTypes != null) {
nestedTypes.Update(oldPart != null ? oldPart.NestedTypes : null, newPart != null ? newPart.NestedTypes : null); nestedTypes.Update(oldPart != null ? oldPart.NestedTypes : null, newPart != null ? newPart.NestedTypes : null);
} }
if (Updated != null) {
Updated(this, new EventArgs());
}
} }
#endregion #endregion

Loading…
Cancel
Save