Browse Source

Prototype ITreeNodeImagesProvider

pull/3240/head
Christoph Wille 11 months ago
parent
commit
946f24ff45
  1. 3
      ILSpy/App.xaml.cs
  2. 9
      ILSpy/Images/WpfWindowsTreeNodeImagesProvider.cs
  3. 4
      ILSpy/TreeNodes/AssemblyReferenceTreeNode.cs
  4. 7
      SharpTreeView/PlatformAbstractions/ITreeNodeImagesProvider.cs
  5. 2
      SharpTreeView/SharpTreeNode.cs

3
ILSpy/App.xaml.cs

@ -34,6 +34,7 @@ using ICSharpCode.ILSpy.AppEnv;
using ICSharpCode.ILSpy.Options; using ICSharpCode.ILSpy.Options;
using ICSharpCode.ILSpyX.Analyzers; using ICSharpCode.ILSpyX.Analyzers;
using ICSharpCode.ILSpyX.Settings; using ICSharpCode.ILSpyX.Settings;
using ICSharpCode.TreeView;
using Medo.Application; using Medo.Application;
@ -75,6 +76,8 @@ namespace ICSharpCode.ILSpy
SingleInstance.NewInstanceDetected += SingleInstance_NewInstanceDetected; SingleInstance.NewInstanceDetected += SingleInstance_NewInstanceDetected;
} }
SharpTreeNode.ImagesProvider = new WpfWindowsTreeNodeImagesProvider();
InitializeComponent(); InitializeComponent();
Resources.RegisterDefaultStyles(); Resources.RegisterDefaultStyles();

9
ILSpy/Images/WpfWindowsTreeNodeImagesProvider.cs

@ -0,0 +1,9 @@
using ICSharpCode.TreeView.PlatformAbstractions;
namespace ICSharpCode.ILSpy
{
public class WpfWindowsTreeNodeImagesProvider : ITreeNodeImagesProvider
{
public object Assembly => Images.Assembly;
}
}

4
ILSpy/TreeNodes/AssemblyReferenceTreeNode.cs

@ -24,6 +24,8 @@ using ICSharpCode.Decompiler.Metadata;
using ICSharpCode.Decompiler.TypeSystem; using ICSharpCode.Decompiler.TypeSystem;
using ICSharpCode.TreeView.PlatformAbstractions; using ICSharpCode.TreeView.PlatformAbstractions;
using TomsToolbox.Wpf.Controls;
namespace ICSharpCode.ILSpy.TreeNodes namespace ICSharpCode.ILSpy.TreeNodes
{ {
/// <summary> /// <summary>
@ -49,7 +51,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
get { return Language.EscapeName(r.Name) + GetSuffixString(r.Handle); } get { return Language.EscapeName(r.Name) + GetSuffixString(r.Handle); }
} }
public override object Icon => Images.Assembly; public override object Icon => ImagesProvider.Assembly;
public override bool ShowExpander { public override bool ShowExpander {
get { get {

7
SharpTreeView/PlatformAbstractions/ITreeNodeImagesProvider.cs

@ -0,0 +1,7 @@
namespace ICSharpCode.TreeView.PlatformAbstractions
{
public interface ITreeNodeImagesProvider
{
object Assembly { get; }
}
}

2
SharpTreeView/SharpTreeNode.cs

@ -29,6 +29,8 @@ namespace ICSharpCode.TreeView
{ {
public partial class SharpTreeNode : INotifyPropertyChanged public partial class SharpTreeNode : INotifyPropertyChanged
{ {
public static ITreeNodeImagesProvider ImagesProvider { get; set; }
SharpTreeNodeCollection modelChildren; SharpTreeNodeCollection modelChildren;
internal SharpTreeNode modelParent; internal SharpTreeNode modelParent;
bool isVisible = true; bool isVisible = true;

Loading…
Cancel
Save