2929using System . Reflection . Metadata . Ecma335 ;
3030using System . Threading . Tasks ;
3131using System . Windows ;
32- using System . Windows . Documents ;
3332using System . Windows . Input ;
3433using System . Windows . Navigation ;
3534using System . Windows . Threading ;
@@ -57,7 +56,7 @@ namespace ICSharpCode.ILSpy.AssemblyTree
5756{
5857 [ ExportToolPane ]
5958 [ Shared ]
60- public class AssemblyTreeModel : ToolPaneModel
59+ public partial class AssemblyTreeModel : ToolPaneModel
6160 {
6261 public const string PaneContentId = "assemblyListPane" ;
6362
@@ -72,36 +71,6 @@ public class AssemblyTreeModel : ToolPaneModel
7271 private readonly LanguageService languageService ;
7372 private readonly IExportProvider exportProvider ;
7473
75- public AssemblyTreeModel ( SettingsService settingsService , LanguageService languageService , IExportProvider exportProvider )
76- {
77- this . settingsService = settingsService ;
78- this . languageService = languageService ;
79- this . exportProvider = exportProvider ;
80-
81- Title = Resources . Assemblies ;
82- ContentId = PaneContentId ;
83- IsCloseable = false ;
84- ShortcutKey = new KeyGesture ( Key . F6 ) ;
85-
86- MessageBus < NavigateToReferenceEventArgs > . Subscribers += JumpToReference ;
87- MessageBus < SettingsChangedEventArgs > . Subscribers += ( sender , e ) => Settings_PropertyChanged ( sender , e ) ;
88- MessageBus < ApplySessionSettingsEventArgs > . Subscribers += ApplySessionSettings ;
89- MessageBus < ActiveTabPageChangedEventArgs > . Subscribers += ActiveTabPageChanged ;
90- MessageBus < TabPagesCollectionChangedEventArgs > . Subscribers += ( _ , e ) => history . RemoveAll ( s => ! DockWorkspace . TabPages . Contains ( s . TabPage ) ) ;
91- MessageBus < ResetLayoutEventArgs > . Subscribers += ResetLayout ;
92- MessageBus < NavigateToEventArgs > . Subscribers += ( _ , e ) => NavigateTo ( e . Request , e . InNewTabPage ) ;
93- MessageBus < MainWindowLoadedEventArgs > . Subscribers += ( _ , _ ) => {
94- Initialize ( ) ;
95- Show ( ) ;
96- } ;
97-
98- EventManager . RegisterClassHandler ( typeof ( Window ) , Hyperlink . RequestNavigateEvent , new RequestNavigateEventHandler ( ( _ , e ) => NavigateTo ( e ) ) ) ;
99-
100- refreshThrottle = new ( DispatcherPriority . Background , RefreshInternal ) ;
101-
102- AssemblyList = settingsService . CreateEmptyAssemblyList ( ) ;
103- }
104-
10574 private void Settings_PropertyChanged ( object ? sender , PropertyChangedEventArgs e )
10675 {
10776 if ( sender is SessionSettings sessionSettings )
@@ -159,6 +128,7 @@ public SharpTreeNode[] SelectedItems {
159128 var oldSelection = selectedItems ;
160129 selectedItems = value ;
161130 OnPropertyChanged ( ) ;
131+ // TODO: OnPropertyChanged(nameof(SelectedItem));
162132 TreeView_SelectionChanged ( oldSelection , selectedItems ) ;
163133 }
164134 }
@@ -492,24 +462,6 @@ private void assemblyList_CollectionChanged(object? sender, NotifyCollectionChan
492462 MessageBus . Send ( this , new CurrentAssemblyListChangedEventArgs ( e ) ) ;
493463 }
494464
495- private static void LoadInitialAssemblies ( AssemblyList assemblyList )
496- {
497- // Called when loading an empty assembly list; so that
498- // the user can see something initially.
499- System . Reflection . Assembly [ ] initialAssemblies = {
500- typeof ( object ) . Assembly ,
501- typeof ( Uri ) . Assembly ,
502- typeof ( System . Linq . Enumerable ) . Assembly ,
503- typeof ( System . Xml . XmlDocument ) . Assembly ,
504- typeof ( System . Windows . Markup . MarkupExtension ) . Assembly ,
505- typeof ( System . Windows . Rect ) . Assembly ,
506- typeof ( System . Windows . UIElement ) . Assembly ,
507- typeof ( System . Windows . FrameworkElement ) . Assembly
508- } ;
509- foreach ( System . Reflection . Assembly asm in initialAssemblies )
510- assemblyList . OpenAssembly ( asm . Location ) ;
511- }
512-
513465 public AssemblyTreeNode ? FindAssemblyNode ( LoadedAssembly asm )
514466 {
515467 return assemblyListTreeNode ? . FindAssemblyNode ( asm ) ;
@@ -540,6 +492,7 @@ public void SelectNode(SharpTreeNode? node, bool inNewTabPage = false)
540492 }
541493 else
542494 {
495+ // TODO: ExpandAncestors(node);
543496 activeView ? . ScrollIntoView ( node ) ;
544497 SelectedItem = node ;
545498
@@ -978,6 +931,7 @@ private void RefreshInternal()
978931 {
979932 var path = GetPathForNode ( SelectedItem ) ;
980933
934+ // TODO: (settingsService.AssemblyListManager.LoadList(AssemblyList.ListName));
981935 ShowAssemblyList ( settingsService . AssemblyListManager . LoadList ( AssemblyList . ListName ) ) ;
982936 SelectNode ( FindNodeByPath ( path , true ) , inNewTabPage : false ) ;
983937
@@ -998,6 +952,15 @@ private IEnumerable<SharpTreeNode> GetTopLevelSelection()
998952 return selection . Where ( item => item . Ancestors ( ) . All ( a => ! selectionHash . Contains ( a ) ) ) ;
999953 }
1000954
955+ // TODO: void ExpandAncestors(SharpTreeNode node)
956+ // {
957+ // foreach (var ancestor in node.Ancestors().Reverse())
958+ // {
959+ // ancestor.EnsureLazyChildren();
960+ // ancestor.IsExpanded = true;
961+ // }
962+ // }
963+
1001964 public void SetActiveView ( AssemblyListPane activeView )
1002965 {
1003966 this . activeView = activeView ;
0 commit comments