public static IComparer GetComparer(ClassViewProjectSortMode sortMode) { switch (sortMode) { case ClassViewProjectSortMode.ByClassType: return new TypeProjectItemClassTypeComparer(); case ClassViewProjectSortMode.ByClassVisibility: return new TypeProjectItemVisibilityComparer(); } return new TypeProjectItemNameComparer(); }
public void Load(IServiceProvider serviceProvider) { this._assemblyEntries.Clear(); this._groups.Clear(); IPreferencesService service = (IPreferencesService) serviceProvider.GetService(typeof(IPreferencesService)); bool flag = true; if (service != null) { PreferencesStore preferencesStore = service.GetPreferencesStore(typeof(ClassViewProject)); int num = preferencesStore.GetValue("AssemblyEntryCount", 0); if (num > 0) { for (int i = 0; i < num; i++) { AssemblyEntry entry = (AssemblyEntry) preferencesStore.GetValue("AssemblyEntry" + i); if (entry != null) { this._assemblyEntries.Add(entry); } } int num3 = preferencesStore.GetValue("GroupEntryCount", 0); for (int j = 0; j < num3; j++) { GroupEntry entry2 = (GroupEntry) preferencesStore.GetValue("GroupEntry" + j); if (entry2 != null) { this._groups.Add(entry2); } } flag = false; this._viewMode = (ClassViewProjectViewMode) preferencesStore.GetValue("ViewMode", (int) this.defaultViewMode); this._sortMode = (ClassViewProjectSortMode) preferencesStore.GetValue("SortMode", (int) this.defaultSortMode); this._showNonPublicMembers = preferencesStore.GetValue("ShowNonPublic", this.defaultShowNonPublicMembers); } } if (flag) { ClassViewProjectData config = (ClassViewProjectData) ConfigurationSettings.GetConfig("microsoft.matrix/classView"); this._assemblyEntries.AddRange(config.AssemblyEntries); this._groups.AddRange(config.Groups); this._viewMode = this.defaultViewMode; this._sortMode = this.defaultSortMode; this._showNonPublicMembers = this.defaultShowNonPublicMembers; this.SetSaveOnExit(); } }