You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.1 KiB
93 lines
2.1 KiB
// 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 System.Windows; |
|
using System.Windows.Media; |
|
|
|
namespace ICSharpCode.CodeQualityAnalysis |
|
{ |
|
/// <summary> |
|
/// Description of Helper. |
|
/// </summary> |
|
public static class Helper |
|
{ |
|
public static void FillTree(ICSharpCode.TreeView.SharpTreeView tree,Module module) |
|
{ |
|
var root = CreateTreeItem(module); |
|
tree.Root = root; |
|
tree.ShowRoot = false; |
|
|
|
foreach (var ns in module.Namespaces) |
|
{ |
|
var namespaceNode = CreateTreeItem(ns); |
|
tree.Root.Children.Add(namespaceNode); |
|
|
|
foreach (var type in ns.Types) |
|
{ |
|
var typeNode = CreateTreeItem(type); |
|
namespaceNode.Children.Add(typeNode); |
|
|
|
foreach (var method in type.Methods) |
|
{ |
|
var methodName = CreateTreeItem(method); |
|
typeNode.Children.Add(methodName); |
|
} |
|
|
|
foreach (var field in type.Fields) |
|
{ |
|
var fieldNode = CreateTreeItem(field); |
|
typeNode.Children.Add(fieldNode); |
|
} |
|
} |
|
} |
|
} |
|
|
|
private static DependecyTreeNode CreateTreeItem (INode node) |
|
{ |
|
DependecyTreeNode dtn = new DependecyTreeNode(node); |
|
return dtn; |
|
} |
|
|
|
public static Color MixedWith(this Color c1, Color c2) |
|
{ |
|
int r = Math.Min((c1.R + c2.R), 255); |
|
int g = Math.Min((c1.G + c2.G), 255); |
|
int b = Math.Min((c1.B + c2.B), 255); |
|
|
|
return new Color |
|
{ |
|
R = Convert.ToByte(r), |
|
G = Convert.ToByte(g), |
|
B = Convert.ToByte(b) |
|
}; |
|
} |
|
|
|
public static T FindVisualChild<T>( DependencyObject obj ) |
|
where T : DependencyObject |
|
{ |
|
// Search immediate children first (breadth-first) |
|
|
|
for( int i = 0; i < VisualTreeHelper.GetChildrenCount( obj ); i++ ) |
|
{ |
|
DependencyObject child = VisualTreeHelper.GetChild( obj, i ); |
|
|
|
if( child != null && child is T ) |
|
{ |
|
return ( T )child; |
|
} |
|
else |
|
{ |
|
T childOfChild = FindVisualChild<T>( child ); |
|
|
|
if( childOfChild != null ) |
|
{ |
|
return childOfChild; |
|
} |
|
} |
|
} |
|
|
|
return null; |
|
} |
|
} |
|
}
|
|
|