public AssemblyComparerThread(AssemblyManager manager, AssemblyGroup group, string fileName, IHandleProgress progress) { _manager = manager; _group = group; _fileName = fileName; _progress = progress; }
public void LoadFrom(AssemblyGroup grp) { treeViewAdv1.BeginUpdate(); try { while (treeViewAdv1.Columns.Count > 1) { treeViewAdv1.Columns.RemoveAt(1); } while (treeViewAdv1.NodeControls.Count > 2) { treeViewAdv1.NodeControls.RemoveAt(2); } treeViewAdv1.Model = new TreeModel(); if ((grp != null) && (!grp.HasErrors)) { int divisor = Math.Max(1, grp.Assemblies.Count); int colWidth = Math.Max(1, (treeViewAdv1.ClientRectangle.Width - treeViewAdv1.Columns[0].Width - System.Windows.Forms.SystemInformation.VerticalScrollBarWidth - 5) / divisor); int col = 0; foreach (AssemblyDetail ad in grp.Assemblies) { TreeColumn tc = new TreeColumn(); tc.Header = ad.Location; tc.TooltipText = tc.Header; tc.Width = colWidth; treeViewAdv1.Columns.Add(tc); DetailChangeNodeControl dnc = new DetailChangeNodeControl(col++); dnc.ParentColumn = tc; dnc.DisplayHiddenContentInToolTip = true; dnc.EditEnabled = false; dnc.Trimming = StringTrimming.EllipsisCharacter; treeViewAdv1.NodeControls.Add(dnc); } treeViewAdv1.Model = new AssemblyGroupModel(grp); //treeViewAdv1.Root.Children[0].Expand(); } } finally { treeViewAdv1.EndUpdate(); } }
internal void LoadFrom(AssemblyGroup grp) { if (grp == null) { LoadHtml(""); return; } StringBuilder sb = new StringBuilder(); using (StringWriter sw = new StringWriter(sb)) { HtmlUtility.WriteHtmlStart(sw); grp.WriteHtmlDescription(sw); HtmlUtility.WriteHtmlEnd(sw); } LoadHtml(sb.ToString()); }
public AssemblyGroupTreeItem(AssemblyGroup grp) : base(grp.HasErrors ? Resources.NoAction : Resources.VSObject_Assembly) { _grp = grp; }
private AssemblyGroup DoCompareFiles(AssemblyManager manager, string[] assemblyFiles) { string[] assemblyFilesResolved = new string[assemblyFiles.Length]; for (int i = 0; i < assemblyFiles.Length; i++) { if (Path.IsPathRooted(assemblyFiles[i])) { assemblyFilesResolved[i] = assemblyFiles[i]; } else { assemblyFilesResolved[i] = Path.GetFullPath(Path.Combine(Directory.GetCurrentDirectory(), assemblyFiles[i])); } } AssemblyGroup group = new AssemblyGroup(); foreach (string file in assemblyFilesResolved) { if (group.Name == null) { group.Name = Path.GetFileName(file); } if (Path.GetFileName(file) != group.Name) { group.Name = "(Multiple Names)"; break; } } foreach (string fileName in assemblyFilesResolved) { AssemblyComparerThread act = new AssemblyComparerThread(manager, group, fileName, _progress); if (_config.Multithread) { _tpw.QueueUserWorkItem(Execute, act); } else { Execute(act); } } if (_config.Multithread) { _tpw.WaitOne(); List<AssemblyDetail> sorted = new List<AssemblyDetail>(); foreach (string fileName in assemblyFilesResolved) { AssemblyDetail sortedDetail = group.Assemblies.Find(delegate(AssemblyDetail detail) { return string.Compare(detail.Location, fileName, true) == 0; }); if (sortedDetail == null) { Log.Error("Unable to sort assembly " + fileName); //Log.Error(" List has " + string.Join(",", group.Assemblies.ConvertAll(delegate(AssemblyDetail detail) { return detail.Location; }).ToArray())); } else { sorted.Add(sortedDetail); } } group.Assemblies.Clear(); group.Assemblies.AddRange(sorted); } ListOperations.AlignLists(group.Assemblies); group.PerformCompare(_filter); return group; }