diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/App.xaml b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/App.xaml new file mode 100644 index 0000000000..586df33d81 --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/App.xaml @@ -0,0 +1,8 @@ + + + + + diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/App.xaml.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/App.xaml.cs new file mode 100644 index 0000000000..2b6cbb02ec --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/App.xaml.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Windows; + +namespace ICSharpCode.TreeView.Demo +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/FileNode.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/FileNode.cs new file mode 100644 index 0000000000..8e0ea319d9 --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/FileNode.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; +using System.Windows; + +namespace ICSharpCode.TreeView.Demo +{ + public class FileNode : FileSystemNode + { + public FileNode(string path) + { + this.name = Path.GetFileName(path); + this.info = new FileInfo(path); + } + + FileInfo info; + string name; + + public override object Text + { + get + { + return name; + } + } + + public override object Icon + { + get + { + return Window1.LoadIcon("File.png"); + } + } + + public override object ToolTip + { + get + { + return info.FullName; + } + } + + public override bool IsEditable + { + get + { + return true; + } + } + + public override string LoadEditText() + { + return name; + } + + public override bool SaveEditText(string value) + { + if (value.Contains("?")) { + MessageBox.Show("?"); + return false; + } + else { + name = value; + return true; + } + } + + public override long? FileSize + { + get { return info.Length; } + } + + public override DateTime? FileModified + { + get { return info.LastWriteTime; } + } + + public override string FullPath + { + get { return info.FullName; } + } + + public override void Paste(IDataObject data) + { + Parent.Paste(data); + } + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/FileSystemNode.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/FileSystemNode.cs new file mode 100644 index 0000000000..d9598dd09a --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/FileSystemNode.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Input; + +namespace ICSharpCode.TreeView.Demo +{ + public abstract class FileSystemNode : SharpTreeNode + { + public abstract string FullPath { get; } + + public virtual long? FileSize + { + get { return null; } + } + + public virtual DateTime? FileModified + { + get { return null; } + } + + public override string ToString() + { + return FullPath; + } + + public override bool CanCopy(SharpTreeNode[] nodes) + { + return true; + } + + public override IDataObject Copy(SharpTreeNode[] nodes) + { + var data = new DataObject(); + var paths = SharpTreeNode.ActiveNodes.Cast().Select(n => n.FullPath).ToArray(); + data.SetData(typeof(string[]), paths); + return data; + } + + public override bool CanPaste(IDataObject data) + { + return true; + } + + public override bool CanDelete(SharpTreeNode[] nodes) + { + return nodes.All(n => n.Parent != null); + } + + public override void Delete(SharpTreeNode[] nodes) + { + if (MessageBox.Show("Sure?", "Delete", MessageBoxButton.OKCancel) == MessageBoxResult.OK) { + DeleteCore(nodes); + } + } + + public override void DeleteCore(SharpTreeNode[] nodes) + { + foreach (var node in nodes.ToArray()) { + node.Parent.Children.Remove(node); + } + } + + public override bool CanDrag(SharpTreeNode[] nodes) + { + return true; + } + + ContextMenu menu; + + public override ContextMenu GetContextMenu() + { + if (menu == null) { + menu = new ContextMenu(); + menu.Items.Add(new MenuItem() { Command = ApplicationCommands.Cut }); + menu.Items.Add(new MenuItem() { Command = ApplicationCommands.Copy }); + menu.Items.Add(new MenuItem() { Command = ApplicationCommands.Paste }); + menu.Items.Add(new Separator()); + menu.Items.Add(new MenuItem() { Command = ApplicationCommands.Delete }); + } + return menu; + } + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/FolderNode.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/FolderNode.cs new file mode 100644 index 0000000000..7c0dc5cb03 --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/FolderNode.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; +using System.Windows; + +namespace ICSharpCode.TreeView.Demo +{ + public class FolderNode : FileSystemNode + { + public FolderNode(string path) + { + this.path = path; + LazyLoading = true; + } + + string path; + + public override object Text + { + get + { + var name = Path.GetFileName(path); + if (name == "") return path; + return name; + } + } + + public override object Icon + { + get + { + return Window1.LoadIcon("Folder.png"); + } + } + + public override object ExpandedIcon + { + get + { + return Window1.LoadIcon("FolderOpened.png"); + } + } + + public override bool IsCheckable + { + get + { + return true; + } + } + + public override string FullPath + { + get { return path; } + } + + public override void LoadChildren() + { + try { + foreach (var p in Directory.GetDirectories(path) + .OrderBy(d => Path.GetDirectoryName(d))) { + Children.Add(new FolderNode(p)); + } + foreach (var p in Directory.GetFiles(path) + .OrderBy(f => Path.GetFileName(f))) { + Children.Add(new FileNode(p)); + } + } + catch { + } + } + + public override DropEffect CanDrop(IDataObject data, DropEffect requestedEffect) + { + var paths = data.GetData(typeof(string[])) as string[]; + if (paths != null) { + return requestedEffect == DropEffect.Link ? DropEffect.Move : requestedEffect; + } + return DropEffect.None; + } + + public override void Drop(IDataObject data, int index, DropEffect finalEffect) + { + var paths = data.GetData(typeof(string[])) as string[]; + if (paths != null) { + for (int i = 0; i < paths.Length; i++) { + var p = paths[i]; + if (File.Exists(p)) { + Children.Insert(index + i, new FileNode(p)); + } + else { + Children.Insert(index + i, new FolderNode(p)); + } + } + } + } + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/ICSharpCode.TreeView.Demo.csproj b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/ICSharpCode.TreeView.Demo.csproj new file mode 100644 index 0000000000..2032f2470f --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/ICSharpCode.TreeView.Demo.csproj @@ -0,0 +1,101 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {B521D667-3613-429C-AB58-26A5B5A82004} + WinExe + Properties + ICSharpCode.TreeView.Demo + ICSharpCode.TreeView.Demo + v3.5 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + App.xaml + Code + + + Window1.xaml + Code + + + + + Properties\GlobalAssemblyInfo.cs + + + + + + Code + + + + + + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} + ICSharpCode.TreeView + + + + + + + + + + \ No newline at end of file diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Images/File.png b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Images/File.png new file mode 100644 index 0000000000..8b8b1ca000 Binary files /dev/null and b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Images/File.png differ diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Images/Folder.png b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Images/Folder.png new file mode 100644 index 0000000000..70eda6662a Binary files /dev/null and b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Images/Folder.png differ diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Images/FolderOpened.png b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Images/FolderOpened.png new file mode 100644 index 0000000000..ea183048f3 Binary files /dev/null and b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Images/FolderOpened.png differ diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Properties/AssemblyInfo.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..5c236e82e9 --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Properties/AssemblyInfo.cs @@ -0,0 +1,46 @@ +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Windows; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("ICSharpCode.TreeView.Demo")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +//In order to begin building localizable applications, set +//CultureYouAreCodingWith in your .csproj file +//inside a . For example, if you are using US english +//in your source files, set the to en-US. Then uncomment +//the NeutralResourceLanguage attribute below. Update the "en-US" in +//the line below to match the UICulture setting in the project file. + +//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] + + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] + + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Window1.xaml b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Window1.xaml new file mode 100644 index 0000000000..a7a99f634e --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Window1.xaml @@ -0,0 +1,67 @@ + + + + + + Features: MVVM (POCO variant), Multiselect, Drag and Drop (with or without order), Cut / Copy / Paste / Delete, Rename (try rename file to '?'), + VirtualizationMode.Recycling (by default), Root Lines, Columns (using ListView), Icon, Checkbox, ContextMenu, Lazy Loading. + + Changes does not affect real file system. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Window1.xaml.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Window1.xaml.cs new file mode 100644 index 0000000000..7ccd7e38f6 --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView.Demo/Window1.xaml.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace ICSharpCode.TreeView.Demo +{ + public partial class Window1 : Window + { + public Window1() + { + InitializeComponent(); + + treeView1.Root = new FolderNode("c:\\"); + //treeView1.SelectionChanged += new SelectionChangedEventHandler(treeView1_SelectionChanged); + + treeView2.Root = new FolderNode("c:\\"); + } + + //void treeView1_SelectionChanged(object sender, SelectionChangedEventArgs e) + //{ + // //Debug.WriteLine(treeView1.SelectedItems.Count); + + // StringBuilder sb = new StringBuilder(); + // foreach (var item in SharpTreeNode.ActiveNodes) { + // sb.Append(item.ToString() + "; "); + // } + // Debug.WriteLine(sb.ToString()); + //} + + public static Image LoadIcon(string name) + { + var frame = BitmapFrame.Create(new Uri("pack://application:,,,/Images/" + name, UriKind.Absolute)); + Image result = new Image(); + result.Source = frame; + return result; + } + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Converters.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Converters.cs new file mode 100644 index 0000000000..e86b6494ad --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Converters.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Markup; +using System.Windows.Data; +using System.Globalization; + +namespace ICSharpCode.TreeView +{ + public class CollapsedWhenFalse : MarkupExtension, IValueConverter + { + public static CollapsedWhenFalse Instance = new CollapsedWhenFalse(); + + public override object ProvideValue(IServiceProvider serviceProvider) + { + return Instance; + } + + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + return (bool)value ? Visibility.Visible : Visibility.Collapsed; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/DropEffect.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/DropEffect.cs new file mode 100644 index 0000000000..3428911c5e --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/DropEffect.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace ICSharpCode.TreeView +{ + public enum DropEffect + { + None, Move, Copy, Link + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/EditTextBox.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/EditTextBox.cs new file mode 100644 index 0000000000..517db5bed4 --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/EditTextBox.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Controls; +using System.Windows.Input; +using System.Windows.Data; +using System.Windows; + +namespace ICSharpCode.TreeView +{ + class EditTextBox : TextBox + { + static EditTextBox() + { + DefaultStyleKeyProperty.OverrideMetadata(typeof(EditTextBox), + new FrameworkPropertyMetadata(typeof(EditTextBox))); + } + + public EditTextBox() + { + Loaded += delegate { Init(); }; + } + + public SharpTreeViewItem Item { get; set; } + + public SharpTreeNode Node + { + get { return Item.Node; } + } + + void Init() + { + Text = Node.LoadEditText(); + Focus(); + SelectAll(); + } + + protected override void OnKeyDown(KeyEventArgs e) + { + if (e.Key == Key.Enter) { + Commit(); + } + else if (e.Key == Key.Escape) { + Node.IsEditing = false; + } + } + + protected override void OnLostKeyboardFocus(KeyboardFocusChangedEventArgs e) + { + if (Node.IsEditing) { + Commit(); + } + } + + bool commiting; + + void Commit() + { + if (!commiting) { + commiting = true; + + Node.IsEditing = false; + if (!Node.SaveEditText(Text)) { + Item.Focus(); + } + Node.RaisePropertyChanged("Text"); + + //if (Node.SaveEditText(Text)) { + // Node.IsEditing = false; + // Node.RaisePropertyChanged("Text"); + //} + //else { + // Init(); + //} + + commiting = false; + } + } + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ExtensionMethods.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ExtensionMethods.cs new file mode 100644 index 0000000000..f77dd33b44 --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ExtensionMethods.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Media; +using System.Windows; +using System.Collections; +using System.Windows.Input; + +namespace ICSharpCode.TreeView +{ + public static class ExtensionMethods + { + public static T FindAncestor(this DependencyObject d) where T : class + { + return AncestorsAndSelf(d).OfType().FirstOrDefault(); + } + + public static IEnumerable AncestorsAndSelf(this DependencyObject d) + { + while (d != null) { + yield return d; + d = VisualTreeHelper.GetParent(d); + } + } + + public static void AddOnce(this IList list, object item) + { + if (!list.Contains(item)) { + list.Add(item); + } + } + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/GeneralAdorner.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/GeneralAdorner.cs new file mode 100644 index 0000000000..04c05aa732 --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/GeneralAdorner.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Documents; +using System.Windows; +using System.Windows.Media; + +namespace ICSharpCode.TreeView +{ + public class GeneralAdorner : Adorner + { + public GeneralAdorner(UIElement target) + : base(target) + { + } + + FrameworkElement child; + + public FrameworkElement Child + { + get + { + return child; + } + set + { + if (child != value) { + RemoveVisualChild(child); + RemoveLogicalChild(child); + child = value; + AddLogicalChild(value); + AddVisualChild(value); + InvalidateMeasure(); + } + } + } + + protected override int VisualChildrenCount + { + get { return child == null ? 0 : 1; } + } + + protected override Visual GetVisualChild(int index) + { + return child; + } + + protected override Size MeasureOverride(Size constraint) + { + if (child != null) { + child.Measure(constraint); + return child.DesiredSize; + } + return new Size(); + } + + protected override Size ArrangeOverride(Size finalSize) + { + if (child != null) { + child.Arrange(new Rect(finalSize)); + return finalSize; + } + return new Size(); + } + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ICSharpCode.TreeView.csproj b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ICSharpCode.TreeView.csproj new file mode 100644 index 0000000000..2df7f7c903 --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/ICSharpCode.TreeView.csproj @@ -0,0 +1,89 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} + library + Properties + ICSharpCode.TreeView + ICSharpCode.TreeView + v3.5 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + ..\..\..\..\bin\ + + + true + full + false + ..\..\..\..\bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + ..\..\..\..\bin\ + TRACE + prompt + 4 + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + MSBuild:Compile + Designer + + + + + Properties\GlobalAssemblyInfo.cs + + + + + + + + + + Code + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/InsertMarker.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/InsertMarker.cs new file mode 100644 index 0000000000..b38e1e17bc --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/InsertMarker.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Controls; +using System.Windows; + +namespace ICSharpCode.TreeView +{ + public class InsertMarker : Control + { + static InsertMarker() + { + DefaultStyleKeyProperty.OverrideMetadata(typeof(InsertMarker), + new FrameworkPropertyMetadata(typeof(InsertMarker))); + } + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/LinesRenderer.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/LinesRenderer.cs new file mode 100644 index 0000000000..739e2cccdc --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/LinesRenderer.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Media; + +namespace ICSharpCode.TreeView +{ + class LinesRenderer : FrameworkElement + { + static LinesRenderer() + { + pen = new Pen(Brushes.LightGray, 1); + pen.Freeze(); + } + + static Pen pen; + + SharpTreeNodeView NodeView + { + get { return TemplatedParent as SharpTreeNodeView; } + } + + protected override void OnRender(DrawingContext dc) + { + var indent = NodeView.CalculateIndent(); + if (indent == 0) return; + + var p = new Point(indent + 4.5, 0); + + if (NodeView.Node.IsLast) { + dc.DrawLine(pen, p, new Point(p.X, ActualHeight / 2)); + } + else { + dc.DrawLine(pen, p, new Point(p.X, ActualHeight)); + } + + dc.DrawLine(pen, new Point(p.X, ActualHeight / 2), new Point(p.X + 10, ActualHeight / 2)); + + var current = NodeView.Node; + while (true) { + p.X -= 19; + current = current.Parent; + if (p.X < 0) break; + if (!current.IsLast) { + dc.DrawLine(pen, p, new Point(p.X, ActualHeight)); + } + } + } + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Properties/AssemblyInfo.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000..cab26163ba --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Properties/AssemblyInfo.cs @@ -0,0 +1,51 @@ +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Windows; +using System.Windows.Markup; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("ICSharpCode.TreeView")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +//In order to begin building localizable applications, set +//CultureYouAreCodingWith in your .csproj file +//inside a . For example, if you are using US english +//in your source files, set the to en-US. Then uncomment +//the NeutralResourceLanguage attribute below. Update the "en-US" in +//the line below to match the UICulture setting in the project file. + +//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] + + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] + + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyFileVersion("1.0.0.0")] + +[assembly: XmlnsPrefix("http://sharpdevelop.net", "sd")] + +[assembly: XmlnsDefinition("http://sharpdevelop.net", "ICSharpCode.TreeView")] diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNode.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNode.cs new file mode 100644 index 0000000000..179468526e --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNode.cs @@ -0,0 +1,593 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows; +using System.ComponentModel; +using System.Collections.ObjectModel; +using System.Windows.Controls; +using System.Collections.Specialized; +using System.Windows.Input; + +namespace ICSharpCode.TreeView +{ + public class SharpTreeNode : INotifyPropertyChanged + { + #region Main + + static SharpTreeNode() + { + SelectedNodes = new List(); + ActiveNodes = new List(); + StartCuttedDataWatcher(); + } + + public static List SelectedNodes { get; private set; } + public static List ActiveNodes { get; private set; } + + static SharpTreeNode[] ActiveNodesArray + { + get + { + return ActiveNodes.ToArray(); + } + } + + public SharpTreeNode() + { + Children = new SharpTreeNodeCollection(this); + } + + public SharpTreeNodeCollection Children { get; private set; } + public SharpTreeNode Parent { get; internal set; } + + public virtual object Text + { + get { return null; } + } + + public virtual object Icon + { + get { return null; } + } + + public virtual object ToolTip + { + get { return null; } + } + + public int Level + { + get { return Parent != null ? Parent.Level + 1 : 0; } + } + + //bool isSelected; + + //public bool IsSelected + //{ + // get { return isSelected; } + // set + // { + // isSelected = value; + // RaisePropertyChanged("IsSelected"); + // } + //} + + public virtual ContextMenu GetContextMenu() + { + return null; + } + + internal protected void OnChildrenChanged(NotifyCollectionChangedEventArgs e) + { + RaisePropertyChanged("ShowExpander"); + RaiseIsLastChangedIfNeeded(e); + } + + #endregion + + #region Expanding / LazyLoading + + public event EventHandler Collapsing; + + public virtual object ExpandedIcon + { + get { return Icon; } + } + + public virtual bool ShowExpander + { + get { return Children.Count > 0 || LazyLoading; } + } + + //public virtual bool ShowLoading + //{ + // get { return false; } + //} + + bool isExpanded; + + public bool IsExpanded + { + get { return isExpanded; } + set + { + if (isExpanded != value) { + isExpanded = value; + if (isExpanded) { + EnsureLazyChildren(); + } + else { + if (Collapsing != null) { + Collapsing(this, EventArgs.Empty); + } + } + RaisePropertyChanged("IsExpanded"); + } + } + } + + bool lazyLoading; + + public bool LazyLoading + { + get { return lazyLoading; } + set + { + lazyLoading = value; + if (lazyLoading) { + IsExpanded = false; + } + RaisePropertyChanged("LazyLoading"); + RaisePropertyChanged("ShowExpander"); + } + } + + public virtual void LoadChildren() + { + } + + public void EnsureLazyChildren() + { + if (LazyLoading) { + LoadChildren(); + LazyLoading = false; + } + } + + #endregion + + #region Ancestors / Descendants + + public IEnumerable Descendants() + { + foreach (var child in Children) { + foreach (var child2 in child.DescendantsAndSelf()) { + yield return child2; + } + } + } + + public IEnumerable DescendantsAndSelf() + { + yield return this; + foreach (var child in Descendants()) { + yield return child; + } + } + + public IEnumerable ExpandedDescendants() + { + foreach (var child in Children) { + foreach (var child2 in child.ExpandedDescendantsAndSelf()) { + yield return child2; + } + } + } + + public IEnumerable ExpandedDescendantsAndSelf() + { + yield return this; + if (IsExpanded) { + foreach (var child in Children) { + foreach (var child2 in child.ExpandedDescendantsAndSelf()) { + yield return child2; + } + } + } + } + + public IEnumerable Ancestors() + { + var node = this; + while (node.Parent != null) { + yield return node.Parent; + node = node.Parent; + } + } + + public IEnumerable AncestorsAndSelf() + { + yield return this; + foreach (var node in Ancestors()) { + yield return node; + } + } + + #endregion + + #region Editing + + public virtual bool IsEditable + { + get { return false; } + } + + bool isEditing; + + public bool IsEditing + { + get { return isEditing; } + set + { + if (isEditing != value) { + isEditing = value; + RaisePropertyChanged("IsEditing"); + } + } + } + + public virtual string LoadEditText() + { + return null; + } + + public virtual bool SaveEditText(string value) + { + return true; + } + + #endregion + + #region Checkboxes + + public virtual bool IsCheckable + { + get { return false; } + } + + bool? isChecked; + + public bool? IsChecked + { + get { return isChecked; } + set + { + SetIsChecked(value, true); + } + } + + void SetIsChecked(bool? value, bool update) + { + if (isChecked != value) { + isChecked = value; + + if (update) { + if (IsChecked != null) { + foreach (var child in Descendants()) { + if (child.IsCheckable) { + child.SetIsChecked(IsChecked, false); + } + } + } + + foreach (var parent in Ancestors()) { + if (parent.IsCheckable) { + if (!parent.TryValueForIsChecked(true)) { + if (!parent.TryValueForIsChecked(false)) { + parent.SetIsChecked(null, false); + } + } + } + } + } + + RaisePropertyChanged("IsChecked"); + } + } + + bool TryValueForIsChecked(bool? value) + { + if (Children.Where(n => n.IsCheckable).All(n => n.IsChecked == value)) { + SetIsChecked(value, false); + return true; + } + return false; + } + + #endregion + + #region Cut / Copy / Paste / Delete + + static List cuttedNodes = new List(); + static IDataObject cuttedData; + static EventHandler requerySuggestedHandler; // for weak event + + static void StartCuttedDataWatcher() + { + requerySuggestedHandler = new EventHandler(CommandManager_RequerySuggested); + CommandManager.RequerySuggested += requerySuggestedHandler; + } + + static void CommandManager_RequerySuggested(object sender, EventArgs e) + { + if (cuttedData != null && !Clipboard.IsCurrent(cuttedData)) { + ClearCuttedData(); + } + } + + static void ClearCuttedData() + { + foreach (var node in cuttedNodes) { + node.IsCut = false; + } + cuttedNodes.Clear(); + cuttedData = null; + } + + //static public IEnumerable PurifyNodes(IEnumerable nodes) + //{ + // var list = nodes.ToList(); + // var array = list.ToArray(); + // foreach (var node1 in array) { + // foreach (var node2 in array) { + // if (node1.Descendants().Contains(node2)) { + // list.Remove(node2); + // } + // } + // } + // return list; + //} + + bool isCut; + + public bool IsCut + { + get { return isCut; } + private set + { + isCut = value; + RaisePropertyChanged("IsCut"); + } + } + + internal bool InternalCanCut() + { + return InternalCanCopy() && InternalCanDelete(); + } + + internal void InternalCut() + { + ClearCuttedData(); + cuttedData = Copy(ActiveNodesArray); + Clipboard.SetDataObject(cuttedData); + + foreach (var node in ActiveNodes) { + node.IsCut = true; + cuttedNodes.Add(node); + } + } + + internal bool InternalCanCopy() + { + return CanCopy(ActiveNodesArray); + } + + internal void InternalCopy() + { + Clipboard.SetDataObject(Copy(ActiveNodesArray)); + } + + internal bool InternalCanPaste() + { + return CanPaste(Clipboard.GetDataObject()); + } + + internal void InternalPaste() + { + Paste(Clipboard.GetDataObject()); + + if (cuttedData != null) { + DeleteCore(cuttedNodes.ToArray()); + ClearCuttedData(); + } + } + + internal bool InternalCanDelete() + { + return CanDelete(ActiveNodesArray); + } + + internal void InternalDelete() + { + Delete(ActiveNodesArray); + } + + public virtual bool CanDelete(SharpTreeNode[] nodes) + { + return false; + } + + public virtual void Delete(SharpTreeNode[] nodes) + { + } + + public virtual void DeleteCore(SharpTreeNode[] nodes) + { + } + + public virtual bool CanCopy(SharpTreeNode[] nodes) + { + return false; + } + + public virtual IDataObject Copy(SharpTreeNode[] nodes) + { + return null; + } + + public virtual bool CanPaste(IDataObject data) + { + return false; + } + + public virtual void Paste(IDataObject data) + { + EnsureLazyChildren(); + Drop(data, Children.Count, DropEffect.Copy); + } + + #endregion + + #region Drag and Drop + + internal bool InternalCanDrag() + { + return CanDrag(ActiveNodesArray); + } + + internal void InternalDrag(DependencyObject dragSource) + { + DragDrop.DoDragDrop(dragSource, Copy(ActiveNodesArray), DragDropEffects.All); + } + + internal bool InternalCanDrop(DragEventArgs e, int index) + { + var finalEffect = GetFinalEffect(e, index); + e.Effects = GetDragDropEffects(finalEffect); + return finalEffect != DropEffect.None; + } + + internal void InternalDrop(DragEventArgs e, int index) + { + if (LazyLoading) { + EnsureLazyChildren(); + index = Children.Count; + } + + var finalEffect = GetFinalEffect(e, index); + Drop(e.Data, index, finalEffect); + + if (finalEffect == DropEffect.Move) { + DeleteCore(ActiveNodesArray); + } + } + + DropEffect GetFinalEffect(DragEventArgs e, int index) + { + var requestedEffect = GetDropEffect(e); + var result = CanDrop(e.Data, requestedEffect); + if (result == DropEffect.Move) { + if (!CanDelete(ActiveNodesArray)) { + return DropEffect.None; + } + } + return result; + } + + static DropEffect GetDropEffect(DragEventArgs e) + { + if (e.Data != null) { + var all = DragDropKeyStates.ControlKey | DragDropKeyStates.ShiftKey | DragDropKeyStates.AltKey; + + if ((e.KeyStates & all) == DragDropKeyStates.ControlKey) { + return DropEffect.Copy; + } + if ((e.KeyStates & all) == DragDropKeyStates.AltKey) { + return DropEffect.Link; + } + if ((e.KeyStates & all) == (DragDropKeyStates.ControlKey | DragDropKeyStates.ShiftKey)) { + return DropEffect.Link; + } + return DropEffect.Move; + } + return DropEffect.None; + } + + static DragDropEffects GetDragDropEffects(DropEffect effect) + { + switch (effect) { + case DropEffect.Copy: + return DragDropEffects.Copy; + case DropEffect.Link: + return DragDropEffects.Link; + case DropEffect.Move: + return DragDropEffects.Move; + } + return DragDropEffects.None; + } + + public virtual bool CanDrag(SharpTreeNode[] nodes) + { + return false; + } + + public virtual DropEffect CanDrop(IDataObject data, DropEffect requestedEffect) + { + return DropEffect.None; + } + + public virtual void Drop(IDataObject data, int index, DropEffect finalEffect) + { + } + + #endregion + + #region IsLast (for TreeView lines) + + public bool IsLast + { + get + { + return Parent == null || + Parent.Children[Parent.Children.Count - 1] == this; + } + } + + void RaiseIsLastChangedIfNeeded(NotifyCollectionChangedEventArgs e) + { + switch (e.Action) { + case NotifyCollectionChangedAction.Add: + if (e.NewStartingIndex == Children.Count - 1) { + if (Children.Count > 1) { + Children[Children.Count - 2].RaisePropertyChanged("IsLast"); + } + Children[Children.Count - 1].RaisePropertyChanged("IsLast"); + } + break; + case NotifyCollectionChangedAction.Remove: + if (e.OldStartingIndex == Children.Count) { + if (Children.Count > 0) { + Children[Children.Count - 1].RaisePropertyChanged("IsLast"); + } + } + break; + } + } + + #endregion + + #region INotifyPropertyChanged Members + + public event PropertyChangedEventHandler PropertyChanged; + + public void RaisePropertyChanged(string name) + { + if (PropertyChanged != null) { + PropertyChanged(this, new PropertyChangedEventArgs(name)); + } + } + + #endregion + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeCollection.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeCollection.cs new file mode 100644 index 0000000000..1fab715d7a --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeCollection.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Collections.ObjectModel; +using System.Collections.Specialized; + +namespace ICSharpCode.TreeView +{ + public class SharpTreeNodeCollection : ObservableCollection + { + public SharpTreeNodeCollection(SharpTreeNode parent) + { + Parent = parent; + } + + public SharpTreeNode Parent { get; private set; } + + protected override void InsertItem(int index, SharpTreeNode node) + { + node.Parent = Parent; + base.InsertItem(index, node); + } + + protected override void RemoveItem(int index) + { + var node = this[index]; + node.Parent = null; + base.RemoveItem(index); + } + + protected override void ClearItems() + { + foreach (var node in this) { + node.Parent = null; + } + base.ClearItems(); + } + + protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e) + { + base.OnCollectionChanged(e); + Parent.OnChildrenChanged(e); + } + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeView.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeView.cs new file mode 100644 index 0000000000..6c41dce643 --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeNodeView.cs @@ -0,0 +1,146 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Controls; +using System.Windows; +using System.Windows.Controls.Primitives; +using System.Windows.Media; +using System.Windows.Input; +using System.ComponentModel; +using System.Collections.Specialized; + +namespace ICSharpCode.TreeView +{ + public class SharpTreeNodeView : Control + { + static SharpTreeNodeView() + { + DefaultStyleKeyProperty.OverrideMetadata(typeof(SharpTreeNodeView), + new FrameworkPropertyMetadata(typeof(SharpTreeNodeView))); + } + + public static readonly DependencyProperty TextBackgroundProperty = + DependencyProperty.Register("TextBackground", typeof(Brush), typeof(SharpTreeNodeView)); + + public Brush TextBackground + { + get { return (Brush)GetValue(TextBackgroundProperty); } + set { SetValue(TextBackgroundProperty, value); } + } + + public SharpTreeNode Node + { + get { return DataContext as SharpTreeNode; } + } + + public SharpTreeViewItem ParentItem { get; private set; } + + public SharpTreeView ParentTreeView + { + get { return ParentItem.ParentTreeView; } + } + + internal LinesRenderer LinesRenderer { get; private set; } + + public override void OnApplyTemplate() + { + base.OnApplyTemplate(); + LinesRenderer = Template.FindName("linesRenderer", this) as LinesRenderer; + UpdateTemplate(); + } + + protected override void OnVisualParentChanged(DependencyObject oldParent) + { + base.OnVisualParentChanged(oldParent); + ParentItem = this.FindAncestor(); + ParentItem.NodeView = this; + } + + protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) + { + base.OnPropertyChanged(e); + if (e.Property == DataContextProperty) { + UpdateDataContext(e.OldValue as SharpTreeNode, e.NewValue as SharpTreeNode); + } + } + + void UpdateDataContext(SharpTreeNode oldNode, SharpTreeNode newNode) + { + if (newNode != null) { + newNode.Collapsing += Node_Collapsing; + newNode.PropertyChanged += Node_PropertyChanged; + if (Template != null) { + UpdateTemplate(); + } + } + if (oldNode != null) { + oldNode.Collapsing -= Node_Collapsing; + oldNode.PropertyChanged -= Node_PropertyChanged; + } + } + + void Node_PropertyChanged(object sender, PropertyChangedEventArgs e) + { + if (e.PropertyName == "IsEditing") { + OnIsEditingChanged(); + } + else if (e.PropertyName == "IsLast") { + if (ParentTreeView.ShowLines) { + foreach (var child in Node.ExpandedDescendantsAndSelf()) { + var container = ParentTreeView.ItemContainerGenerator.ContainerFromItem(child) as SharpTreeViewItem; + if (container != null) { + container.NodeView.LinesRenderer.InvalidateVisual(); + } + } + } + } + } + + void Node_Collapsing(object sender, EventArgs e) + { + ParentTreeView.HandleCollapsing(Node); + } + + void OnIsEditingChanged() + { + var textEditorContainer = Template.FindName("textEditorContainer", this) as Border; + if (Node.IsEditing) { + textEditorContainer.Child = new EditTextBox() { Item = ParentItem }; + } + else { + textEditorContainer.Child = null; + } + } + + void UpdateTemplate() + { + var spacer = Template.FindName("spacer", this) as FrameworkElement; + spacer.Width = CalculateIndent(); + + var expander = Template.FindName("expander", this) as ToggleButton; + if (ParentTreeView.Root == Node && !ParentTreeView.ShowRootExpander) { + expander.Visibility = Visibility.Collapsed; + } + else { + expander.ClearValue(VisibilityProperty); + } + } + + internal double CalculateIndent() + { + var result = 19 * Node.Level; + if (ParentTreeView.ShowRoot) { + if (!ParentTreeView.ShowRootExpander) { + if (ParentTreeView.Root != Node) { + result -= 15; + } + } + } + else { + result -= 19; + } + return result; + } + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs new file mode 100644 index 0000000000..02c67ae5fa --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeView.cs @@ -0,0 +1,439 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Controls; +using System.Windows; +using System.Windows.Media; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; + +namespace ICSharpCode.TreeView +{ + public class SharpTreeView : ListView + { + static SharpTreeView() + { + SelectionModeProperty.OverrideMetadata(typeof(SharpTreeView), + new FrameworkPropertyMetadata(SelectionMode.Extended)); + + AlternationCountProperty.OverrideMetadata(typeof(SharpTreeView), + new FrameworkPropertyMetadata(2)); + + DefaultItemContainerStyleKey = + new ComponentResourceKey(typeof(SharpTreeView), "DefaultItemContainerStyleKey"); + + VirtualizingStackPanel.VirtualizationModeProperty.OverrideMetadata(typeof(SharpTreeView), + new FrameworkPropertyMetadata(VirtualizationMode.Recycling)); + } + + public static ResourceKey DefaultItemContainerStyleKey { get; private set; } + + public SharpTreeView() + { + SetResourceReference(ItemContainerStyleProperty, DefaultItemContainerStyleKey); + } + + public static readonly DependencyProperty RootProperty = + DependencyProperty.Register("Root", typeof(SharpTreeNode), typeof(SharpTreeView)); + + public SharpTreeNode Root + { + get { return (SharpTreeNode)GetValue(RootProperty); } + set { SetValue(RootProperty, value); } + } + + public static readonly DependencyProperty ShowRootProperty = + DependencyProperty.Register("ShowRoot", typeof(bool), typeof(SharpTreeView), + new FrameworkPropertyMetadata(true)); + + public bool ShowRoot + { + get { return (bool)GetValue(ShowRootProperty); } + set { SetValue(ShowRootProperty, value); } + } + + public static readonly DependencyProperty ShowRootExpanderProperty = + DependencyProperty.Register("ShowRootExpander", typeof(bool), typeof(SharpTreeView), + new FrameworkPropertyMetadata(false)); + + public bool ShowRootExpander + { + get { return (bool)GetValue(ShowRootExpanderProperty); } + set { SetValue(ShowRootExpanderProperty, value); } + } + + public static readonly DependencyProperty AllowDropOrderProperty = + DependencyProperty.Register("AllowDropOrder", typeof(bool), typeof(SharpTreeView)); + + public bool AllowDropOrder + { + get { return (bool)GetValue(AllowDropOrderProperty); } + set { SetValue(AllowDropOrderProperty, value); } + } + + public static readonly DependencyProperty ShowLinesProperty = + DependencyProperty.Register("ShowLines", typeof(bool), typeof(SharpTreeView), + new FrameworkPropertyMetadata(true)); + + public bool ShowLines + { + get { return (bool)GetValue(ShowLinesProperty); } + set { SetValue(ShowLinesProperty, value); } + } + + public static bool GetShowAlternation(DependencyObject obj) + { + return (bool)obj.GetValue(ShowAlternationProperty); + } + + public static void SetShowAlternation(DependencyObject obj, bool value) + { + obj.SetValue(ShowAlternationProperty, value); + } + + public static readonly DependencyProperty ShowAlternationProperty = + DependencyProperty.RegisterAttached("ShowAlternation", typeof(bool), typeof(SharpTreeView), + new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.Inherits)); + + protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) + { + base.OnPropertyChanged(e); + if (e.Property == RootProperty || + e.Property == ShowRootProperty || + e.Property == ShowRootExpanderProperty) { + Reload(); + } + } + + TreeFlattener flattener; + + void Reload() + { + if (flattener != null) { + flattener.Stop(); + } + if (Root != null) { + if (!(ShowRoot && ShowRootExpander)) { + Root.IsExpanded = true; + } + flattener = new TreeFlattener(Root, ShowRoot); + ItemsSource = flattener.List; + flattener.Start(); + } + } + + protected override DependencyObject GetContainerForItemOverride() + { + return new SharpTreeViewItem(); + } + + protected override bool IsItemItsOwnContainerOverride(object item) + { + return item is SharpTreeViewItem; + } + + protected override void PrepareContainerForItemOverride(DependencyObject element, object item) + { + base.PrepareContainerForItemOverride(element, item); + var container = element as SharpTreeViewItem; + container.ParentTreeView = this; + } + + internal void HandleCollapsing(SharpTreeNode Node) + { + var selectedChilds = Node.Descendants().Where(n => SharpTreeNode.SelectedNodes.Contains(n)); + if (selectedChilds.Any()) { + var list = SelectedItems.Cast().Except(selectedChilds).ToList(); + list.AddOnce(Node); + SetSelectedItems(list); + } + } + + #region Track selection + + protected override void OnSelectionChanged(SelectionChangedEventArgs e) + { + foreach (SharpTreeNode node in e.RemovedItems) { + SharpTreeNode.SelectedNodes.Remove(node); + } + foreach (SharpTreeNode node in e.AddedItems) { + SharpTreeNode.SelectedNodes.AddOnce(node); + } + + if (IsKeyboardFocusWithin) { + foreach (SharpTreeNode node in e.RemovedItems) { + SharpTreeNode.ActiveNodes.Remove(node); + } + foreach (SharpTreeNode node in e.AddedItems) { + SharpTreeNode.ActiveNodes.AddOnce(node); + } + SortActiveNodes(); + } + base.OnSelectionChanged(e); + } + + protected override void OnPreviewGotKeyboardFocus(KeyboardFocusChangedEventArgs e) + { + foreach (SharpTreeNode node in SelectedItems) { + SharpTreeNode.ActiveNodes.AddOnce(node); + } + SortActiveNodes(); + } + + protected override void OnPreviewLostKeyboardFocus(KeyboardFocusChangedEventArgs e) + { + foreach (SharpTreeNode node in SelectedItems) { + SharpTreeNode.ActiveNodes.Remove(node); + } + } + + void SortActiveNodes() + { + SharpTreeNode.ActiveNodes.Sort(delegate(SharpTreeNode n1, SharpTreeNode n2) { + var index1 = Items.IndexOf(n1); + var index2 = Items.IndexOf(n2); + return index1.CompareTo(index2); + }); + } + + #endregion + + #region Drag and Drop + + protected override void OnDragEnter(DragEventArgs e) + { + e.Effects = DragDropEffects.None; + e.Handled = true; + } + + protected override void OnDragOver(DragEventArgs e) + { + e.Effects = DragDropEffects.None; + e.Handled = true; + } + + internal void HandleDragEnter(SharpTreeViewItem item, DragEventArgs e) + { + HandleDragOver(item, e); + } + + internal void HandleDragOver(SharpTreeViewItem item, DragEventArgs e) + { + HidePreview(); + e.Handled = true; + + var target = GetDropTarget(item, e); + if (target != null) { + ShowPreview(target.Item, target.Place); + } + } + + internal void HandleDrop(SharpTreeViewItem item, DragEventArgs e) + { + HidePreview(); + e.Handled = true; + + var target = GetDropTarget(item, e); + if (target != null) { + target.Node.InternalDrop(e, target.Index); + } + } + + internal void HandleDragLeave(SharpTreeViewItem item, DragEventArgs e) + { + HidePreview(); + e.Handled = true; + } + + class DropTarget + { + public SharpTreeViewItem Item; + public DropPlace Place; + public double Y; + public SharpTreeNode Node; + public int Index; + } + + DropTarget GetDropTarget(SharpTreeViewItem item, DragEventArgs e) + { + var dropTargets = BuildDropTargets(item, e); + var y = e.GetPosition(item).Y; + foreach (var target in dropTargets) { + if (target.Y >= y) { + return target; + } + } + return null; + } + + List BuildDropTargets(SharpTreeViewItem item, DragEventArgs e) + { + var result = new List(); + var node = item.Node; + + if (AllowDropOrder) { + TryAddDropTarget(result, item, DropPlace.Before, e); + } + + TryAddDropTarget(result, item, DropPlace.Inside, e); + + if (AllowDropOrder) { + if (node.IsExpanded && node.Children.Count > 0) { + var firstChildItem = ItemContainerGenerator.ContainerFromItem(node.Children[0]) as SharpTreeViewItem; + TryAddDropTarget(result, firstChildItem, DropPlace.Before, e); + } + else { + TryAddDropTarget(result, item, DropPlace.After, e); + } + } + + var h = item.ActualHeight; + var y1 = 0.2 * h; + var y2 = h / 2; + var y3 = h - y1; + + if (result.Count == 2) { + if (result[0].Place == DropPlace.Inside && + result[1].Place != DropPlace.Inside) { + result[0].Y = y3; + } + else if (result[0].Place != DropPlace.Inside && + result[1].Place == DropPlace.Inside) { + result[0].Y = y1; + } + else { + result[0].Y = y2; + } + } + else if (result.Count == 3) { + result[0].Y = y1; + result[1].Y = y3; + } + if (result.Count > 0) { + result[result.Count - 1].Y = h; + } + return result; + } + + void TryAddDropTarget(List targets, SharpTreeViewItem item, DropPlace place, DragEventArgs e) + { + SharpTreeNode node; + int index; + + GetNodeAndIndex(item, place, out node, out index); + + if (node != null) { + e.Effects = DragDropEffects.None; + if (node.InternalCanDrop(e, index)) { + DropTarget target = new DropTarget() { + Item = item, + Place = place, + Node = node, + Index = index + }; + targets.Add(target); + } + } + } + + void GetNodeAndIndex(SharpTreeViewItem item, DropPlace place, out SharpTreeNode node, out int index) + { + node = null; + index = 0; + + if (place == DropPlace.Inside) { + node = item.Node; + index = node.Children.Count; + } + else if (place == DropPlace.Before) { + if (item.Node.Parent != null) { + node = item.Node.Parent; + index = node.Children.IndexOf(item.Node); + } + } + else { + if (item.Node.Parent != null) { + node = item.Node.Parent; + index = node.Children.IndexOf(item.Node) + 1; + } + } + } + + SharpTreeNodeView previewNodeView; + InsertMarker insertMarker; + DropPlace previewPlace; + + enum DropPlace + { + Before, Inside, After + } + + void ShowPreview(SharpTreeViewItem item, DropPlace place) + { + previewNodeView = item.NodeView; + previewPlace = place; + + if (place == DropPlace.Inside) { + previewNodeView.TextBackground = SystemColors.HighlightBrush; + previewNodeView.Foreground = SystemColors.HighlightTextBrush; + } + else { + if (insertMarker == null) { + var adornerLayer = AdornerLayer.GetAdornerLayer(this); + var adorner = new GeneralAdorner(this); + insertMarker = new InsertMarker(); + adorner.Child = insertMarker; + adornerLayer.Add(adorner); + } + + insertMarker.Visibility = Visibility.Visible; + + var p1 = previewNodeView.TransformToVisual(this).Transform(new Point()); + var p = new Point(p1.X + previewNodeView.CalculateIndent() + 4.5, p1.Y - 3); + + if (place == DropPlace.After) { + p.Y += previewNodeView.ActualHeight; + } + + insertMarker.Margin = new Thickness(p.X, p.Y, 0, 0); + + SharpTreeNodeView secondNodeView = null; + var index = flattener.List.IndexOf(item.Node); + + if (place == DropPlace.Before) { + if (index > 0) { + secondNodeView = (ItemContainerGenerator.ContainerFromIndex(index - 1) as SharpTreeViewItem).NodeView; + } + } + else if (index + 1 < flattener.List.Count) { + secondNodeView = (ItemContainerGenerator.ContainerFromIndex(index + 1) as SharpTreeViewItem).NodeView; + } + + var w = p1.X + previewNodeView.ActualWidth - p.X; + + if (secondNodeView != null) { + var p2 = secondNodeView.TransformToVisual(this).Transform(new Point()); + w = Math.Max(w, p2.X + secondNodeView.ActualWidth - p.X); + } + + insertMarker.Width = w + 10; + } + } + + void HidePreview() + { + if (previewNodeView != null) { + previewNodeView.ClearValue(SharpTreeNodeView.TextBackgroundProperty); + previewNodeView.ClearValue(SharpTreeNodeView.ForegroundProperty); + if (insertMarker != null) { + insertMarker.Visibility = Visibility.Collapsed; + } + previewNodeView = null; + } + } + + #endregion + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeViewItem.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeViewItem.cs new file mode 100644 index 0000000000..3016a4b690 --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/SharpTreeViewItem.cs @@ -0,0 +1,190 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Controls; +using System.Windows; +using System.Windows.Media; +using System.Windows.Input; +using System.Diagnostics; + +namespace ICSharpCode.TreeView +{ + public class SharpTreeViewItem : ListViewItem + { + static SharpTreeViewItem() + { + DefaultStyleKeyProperty.OverrideMetadata(typeof(SharpTreeViewItem), + new FrameworkPropertyMetadata(typeof(SharpTreeViewItem))); + + RegisterCommands(); + } + + public SharpTreeNode Node + { + get { return DataContext as SharpTreeNode; } + } + + public SharpTreeNodeView NodeView { get; internal set; } + public SharpTreeView ParentTreeView { get; internal set; } + + protected override void OnKeyDown(KeyEventArgs e) + { + switch (e.Key) { + case Key.F2: + if (SharpTreeNode.ActiveNodes.Count == 1 && Node.IsEditable) { + Node.IsEditing = true; + } + break; + case Key.Escape: + Node.IsEditing = false; + break; + case Key.Left: + Node.IsExpanded = false; + break; + case Key.Right: + Node.IsExpanded = true; + break; + } + } + + protected override void OnContextMenuOpening(ContextMenuEventArgs e) + { + ContextMenu = Node.GetContextMenu(); + } + + protected override void OnContextMenuClosing(ContextMenuEventArgs e) + { + ClearValue(ContextMenuProperty); + } + + #region Mouse + + Point startPoint; + bool wasSelected; + + protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) + { + wasSelected = IsSelected; + if (!IsSelected) { + base.OnMouseLeftButtonDown(e); + } + + if (Mouse.LeftButton == MouseButtonState.Pressed) { + startPoint = e.GetPosition(null); + CaptureMouse(); + + if (e.ClickCount == 2) { + Node.IsExpanded = !Node.IsExpanded; + } + } + } + + protected override void OnMouseMove(MouseEventArgs e) + { + if (IsMouseCaptured) { + var currentPoint = e.GetPosition(null); + if (Math.Abs(currentPoint.X - startPoint.X) >= SystemParameters.MinimumHorizontalDragDistance || + Math.Abs(currentPoint.Y - startPoint.Y) >= SystemParameters.MinimumVerticalDragDistance) { + + if (Node.InternalCanDrag()) { + Node.InternalDrag(this); + } + } + } + } + + protected override void OnMouseLeftButtonUp(MouseButtonEventArgs e) + { + ReleaseMouseCapture(); + if (wasSelected) { + base.OnMouseLeftButtonDown(e); + } + } + + #endregion + + #region Drag and Drop + + protected override void OnDragEnter(DragEventArgs e) + { + ParentTreeView.HandleDragEnter(this, e); + } + + protected override void OnDragOver(DragEventArgs e) + { + ParentTreeView.HandleDragOver(this, e); + } + + protected override void OnDrop(DragEventArgs e) + { + ParentTreeView.HandleDrop(this, e); + } + + protected override void OnDragLeave(DragEventArgs e) + { + ParentTreeView.HandleDragLeave(this, e); + } + + #endregion + + #region Cut / Copy / Paste / Delete Commands + + static void RegisterCommands() + { + CommandManager.RegisterClassCommandBinding(typeof(SharpTreeViewItem), + new CommandBinding(ApplicationCommands.Cut, HandleExecuted_Cut, HandleCanExecute_Cut)); + + CommandManager.RegisterClassCommandBinding(typeof(SharpTreeViewItem), + new CommandBinding(ApplicationCommands.Copy, HandleExecuted_Copy, HandleCanExecute_Copy)); + + CommandManager.RegisterClassCommandBinding(typeof(SharpTreeViewItem), + new CommandBinding(ApplicationCommands.Paste, HandleExecuted_Paste, HandleCanExecute_Paste)); + + CommandManager.RegisterClassCommandBinding(typeof(SharpTreeViewItem), + new CommandBinding(ApplicationCommands.Delete, HandleExecuted_Delete, HandleCanExecute_Delete)); + } + + static void HandleExecuted_Cut(object sender, ExecutedRoutedEventArgs e) + { + (sender as SharpTreeViewItem).Node.InternalCut(); + } + + static void HandleCanExecute_Cut(object sender, CanExecuteRoutedEventArgs e) + { + e.CanExecute = (sender as SharpTreeViewItem).Node.InternalCanCut(); + } + + static void HandleExecuted_Copy(object sender, ExecutedRoutedEventArgs e) + { + (sender as SharpTreeViewItem).Node.InternalCopy(); + } + + static void HandleCanExecute_Copy(object sender, CanExecuteRoutedEventArgs e) + { + e.CanExecute = (sender as SharpTreeViewItem).Node.InternalCanCopy(); + } + + static void HandleExecuted_Paste(object sender, ExecutedRoutedEventArgs e) + { + (sender as SharpTreeViewItem).Node.InternalPaste(); + } + + static void HandleCanExecute_Paste(object sender, CanExecuteRoutedEventArgs e) + { + e.CanExecute = (sender as SharpTreeViewItem).Node.InternalCanPaste(); + } + + static void HandleExecuted_Delete(object sender, ExecutedRoutedEventArgs e) + { + (sender as SharpTreeViewItem).Node.InternalDelete(); + } + + static void HandleCanExecute_Delete(object sender, CanExecuteRoutedEventArgs e) + { + e.CanExecute = (sender as SharpTreeViewItem).Node.InternalCanDelete(); + } + + #endregion + } +} diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Themes/Generic.xaml b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Themes/Generic.xaml new file mode 100644 index 0000000000..17a34bcdae --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/Themes/Generic.xaml @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + diff --git a/src/Libraries/SharpTreeView/ICSharpCode.TreeView/TreeFlattener.cs b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/TreeFlattener.cs new file mode 100644 index 0000000000..666796c48b --- /dev/null +++ b/src/Libraries/SharpTreeView/ICSharpCode.TreeView/TreeFlattener.cs @@ -0,0 +1,147 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Collections.Specialized; + +namespace ICSharpCode.TreeView +{ + class TreeFlattener + { + public TreeFlattener(SharpTreeNode root, bool includeRoot) + { + this.root = root; + this.includeRoot = includeRoot; + List = new ObservableCollection(); + } + + SharpTreeNode root; + bool includeRoot; + + public ObservableCollection List { get; private set; } + + public void Start() + { + if (includeRoot) { + Add(root); + } + else { + root.Children.CollectionChanged += node_ChildrenChanged; + } + + foreach (var node in root.ExpandedDescendants()) { + Add(node); + } + } + + public void Stop() + { + while (List.Count > 0) { + RemoveAt(0); + } + } + + void Add(SharpTreeNode node) + { + Insert(List.Count, node); + } + + void Insert(int index, SharpTreeNode node) + { + List.Insert(index, node); + node.PropertyChanged += node_PropertyChanged; + if (node.IsExpanded) { + node.Children.CollectionChanged += node_ChildrenChanged; + } + } + + void RemoveAt(int index) + { + var node = List[index]; + List.RemoveAt(index); + node.PropertyChanged -= node_PropertyChanged; + if (node.IsExpanded) { + node.Children.CollectionChanged -= node_ChildrenChanged; + } + } + + void ClearDescendants(SharpTreeNode node) + { + var index = List.IndexOf(node); + while (index + 1 < List.Count && List[index + 1].Level > node.Level) { + RemoveAt(index + 1); + } + } + + void node_PropertyChanged(object sender, PropertyChangedEventArgs e) + { + if (e.PropertyName == "IsExpanded") { + var node = sender as SharpTreeNode; + + if (node.IsExpanded) { + var index = List.IndexOf(node); + foreach (var childNode in node.ExpandedDescendants()) { + Insert(++index, childNode); + } + node.Children.CollectionChanged += node_ChildrenChanged; + } + else { + ClearDescendants(node); + node.Children.CollectionChanged -= node_ChildrenChanged; + } + } + } + + void Insert(SharpTreeNode parent, int index, SharpTreeNode node) + { + int finalIndex = 0; + if (index > 0) { + finalIndex = List.IndexOf(parent.Children[index - 1]) + 1; + while (finalIndex < List.Count && List[finalIndex].Level > node.Level) { + finalIndex++; + } + } + else { + finalIndex = List.IndexOf(parent) + 1; + } + Insert(finalIndex, node); + } + + void RemoveAt(SharpTreeNode parent, int index, SharpTreeNode node) + { + var i = List.IndexOf(node); + foreach (var child in node.ExpandedDescendantsAndSelf()) { + RemoveAt(i); + } + } + + void node_ChildrenChanged(object sender, NotifyCollectionChangedEventArgs e) + { + var collection = sender as SharpTreeNodeCollection; + var parent = collection.Parent; + var index = List.IndexOf(collection.Parent) + 1; + + switch (e.Action) { + case NotifyCollectionChangedAction.Add: + Insert(parent, e.NewStartingIndex, e.NewItems[0] as SharpTreeNode); + break; + case NotifyCollectionChangedAction.Remove: + RemoveAt(parent, e.OldStartingIndex, e.OldItems[0] as SharpTreeNode); + break; + case NotifyCollectionChangedAction.Move: + RemoveAt(parent, e.OldStartingIndex, e.OldItems[0] as SharpTreeNode); + Insert(parent, e.NewStartingIndex, e.NewItems[0] as SharpTreeNode); + break; + case NotifyCollectionChangedAction.Replace: + RemoveAt(parent, e.OldStartingIndex, e.OldItems[0] as SharpTreeNode); + Insert(parent, e.NewStartingIndex, e.NewItems[0] as SharpTreeNode); + break; + case NotifyCollectionChangedAction.Reset: + ClearDescendants(parent); + break; + } + } + } +} diff --git a/src/Libraries/SharpTreeView/SharpTreeView.sln b/src/Libraries/SharpTreeView/SharpTreeView.sln new file mode 100644 index 0000000000..9e199477af --- /dev/null +++ b/src/Libraries/SharpTreeView/SharpTreeView.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView.Demo", "ICSharpCode.TreeView.Demo\ICSharpCode.TreeView.Demo.csproj", "{B521D667-3613-429C-AB58-26A5B5A82004}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|Any CPU.Build.0 = Release|Any CPU + {B521D667-3613-429C-AB58-26A5B5A82004}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B521D667-3613-429C-AB58-26A5B5A82004}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B521D667-3613-429C-AB58-26A5B5A82004}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B521D667-3613-429C-AB58-26A5B5A82004}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/Setup/Files.wxs b/src/Setup/Files.wxs index c6ba215a9c..5fc5842607 100644 --- a/src/Setup/Files.wxs +++ b/src/Setup/Files.wxs @@ -715,6 +715,9 @@ + + + diff --git a/src/SharpDevelop.Tests.sln b/src/SharpDevelop.Tests.sln index ca3528b1e4..3935dbbaac 100644 --- a/src/SharpDevelop.Tests.sln +++ b/src/SharpDevelop.Tests.sln @@ -1,128 +1,130 @@  Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 -# SharpDevelop 3.1.0.3955 +# SharpDevelop 3.0.0.3611 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{F94FA21D-78E6-410B-895D-E16D3E7240DB}" + ProjectSection(SolutionItems) = postProject + EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{5DA95927-5F2D-46D8-9265-D092734B6F0E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{6604365C-C702-4C10-9BA8-637F1E3D4D0D}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "AddIns\Misc\Debugger\Debugger.Core\Project\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "AddIns\Misc\Debugger\Debugger.AddIn\Project\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "AddIns\Misc\Debugger\Debugger.Tests\Project\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{6B717BD1-CD5E-498C-A42E-9E6A4584DC48}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "AddIns\Misc\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "AddIns\Misc\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{e1b288a2-08ee-4318-8bbb-8ab72c69e33e}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "AddIns\Misc\CodeCoverage\Project\CodeCoverage.csproj", "{08ce9972-283b-44f4-82fa-966f7dfa6b7a}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "AddIns\Misc\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "AddIns\Misc\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "AddIns\Misc\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "AddIns\Misc\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "AddIns\Misc\CodeCoverage\Project\CodeCoverage.csproj", "{08ce9972-283b-44f4-82fa-966f7dfa6b7a}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{e1b288a2-08ee-4318-8bbb-8ab72c69e33e}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage.Tests", "AddIns\Misc\CodeCoverage\Test\CodeCoverage.Tests.csproj", "{A5C0E8F8-9D04-46ED-91D6-1DEF1575313B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding.Tests", "AddIns\BackendBindings\WixBinding\Test\WixBinding.Tests.csproj", "{388E7B64-0393-4EB4-A3E3-5C474F141853}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Tests", "AddIns\Misc\UnitTesting\Test\UnitTesting.Tests.csproj", "{44A8DE09-CAB9-49D8-9CFC-5EB0A552F181}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor.Tests", "AddIns\DisplayBindings\XmlEditor\Test\XmlEditor.Tests.csproj", "{FC0FE702-A87D-4D70-A9B6-1ECCD611125F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{6B717BD1-CD5E-498C-A42E-9E6A4584DC48}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace.Tests", "AddIns\Misc\SearchAndReplace\Test\SearchAndReplace.Tests.csproj", "{A569DCC1-C608-45FD-B770-4F79335EF154}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{6604365C-C702-4C10-9BA8-637F1E3D4D0D}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{5DA95927-5F2D-46D8-9265-D092734B6F0E}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Tests", "AddIns\Misc\Debugger\Debugger.Tests\Project\Debugger.Tests.csproj", "{A4C858C8-51B6-4265-A695-A20FCEBA1D19}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "AddIns\Misc\Debugger\Debugger.AddIn\Project\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "AddIns\Misc\Debugger\Debugger.Core\Project\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding.Tests", "AddIns\BackendBindings\Boo\BooBinding\Test\BooBinding.Tests.csproj", "{6FA16499-896F-4C02-BB43-1AF5C6C7C713}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{F94FA21D-78E6-410B-895D-E16D3E7240DB}" - ProjectSection(SolutionItems) = postProject - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter.Tests", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Test\NRefactoryToBooConverter.Tests.csproj", "{C9DE556D-325C-4544-B29F-16A9EB7C9830}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks.Tests", "AddIns\BackendBindings\Python\Python.Build.Tasks\Test\Python.Build.Tasks.Tests.csproj", "{833904AB-3CD4-4071-9B48-5770E44685AA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit.Tests", "AddIns\Misc\ResourceToolkit\Test\ResourceToolkit.Tests.csproj", "{DD9AE6A5-2B9D-443A-BC71-38BE578C36BD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding.Tests", "AddIns\BackendBindings\Python\PythonBinding\Test\PythonBinding.Tests.csproj", "{23B517C9-1ECC-4419-A13F-0B7136D085CB}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding.Tests", "AddIns\BackendBindings\VBNetBinding\Test\VBNetBinding.Tests.csproj", "{50A89267-A28B-4DF3-8E62-912E005143B8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding.Tests", "AddIns\BackendBindings\XamlBinding\XamlBinding.Tests\XamlBinding.Tests.csproj", "{F390DA70-1FE1-4715-81A0-389AB010C130}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{9421EDF4-9769-4BE9-B5A6-C87DE221D73C}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor", "Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj", "{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor.Tests", "Libraries\ICSharpCode.TextEditor\Test\ICSharpCode.TextEditor.Tests.csproj", "{6259D767-BA7C-484D-9472-68F350A20086}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor", "Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj", "{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryTests", "Libraries\NRefactory\Test\NRefactoryTests.csproj", "{870115DD-960A-4406-A6B9-600BCDC36A03}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit.Tests", "Libraries\AvalonEdit\ICSharpCode.AvalonEdit.Tests\ICSharpCode.AvalonEdit.Tests.csproj", "{6222A3A1-83CE-47A3-A4E4-A018F82D44D8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{5A3EBEBA-0560-41C1-966B-23F7D03A5486}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Tests", "Main\Core\Test\ICSharpCode.Core.Tests.csproj", "{AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Tests", "Main\Base\Test\ICSharpCode.SharpDevelop.Tests.csproj", "{4980B743-B32F-4aba-AABD-45E2CAD3568D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom.Tests", "Main\ICSharpCode.SharpDevelop.Dom\Tests\ICSharpCode.SharpDevelop.Dom.Tests\ICSharpCode.SharpDevelop.Dom.Tests.csproj", "{7DB80259-24D4-46C3-A024-53FF1987733D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" EndProject Project("{00000000-0000-0000-0000-000000000000}") = "Tools", "Tools\Tools.build", "{970116b0-f96b-4257-8579-986b9cf086f5}" EndProject @@ -332,62 +334,67 @@ Global {F390DA70-1FE1-4715-81A0-389AB010C130}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F390DA70-1FE1-4715-81A0-389AB010C130}.Release|Any CPU.Build.0 = Release|Any CPU {F390DA70-1FE1-4715-81A0-389AB010C130}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|Any CPU.Build.0 = Release|Any CPU + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|Any CPU.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {50A89267-A28B-4DF3-8E62-912E005143B8} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {F94FA21D-78E6-410B-895D-E16D3E7240DB} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {6604365C-C702-4C10-9BA8-637F1E3D4D0D} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {6B717BD1-CD5E-498C-A42E-9E6A4584DC48} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {08ce9972-283b-44f4-82fa-966f7dfa6b7a} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {e1b288a2-08ee-4318-8bbb-8ab72c69e33e} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {388E7B64-0393-4EB4-A3E3-5C474F141853} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {A569DCC1-C608-45FD-B770-4F79335EF154} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {5DA95927-5F2D-46D8-9265-D092734B6F0E} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} {F390DA70-1FE1-4715-81A0-389AB010C130} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {5DA95927-5F2D-46D8-9265-D092734B6F0E} - {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {5DA95927-5F2D-46D8-9265-D092734B6F0E} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {5DA95927-5F2D-46D8-9265-D092734B6F0E} - {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {5DA95927-5F2D-46D8-9265-D092734B6F0E} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} - {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} - {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} - {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {F94FA21D-78E6-410B-895D-E16D3E7240DB} - {833904AB-3CD4-4071-9B48-5770E44685AA} = {F94FA21D-78E6-410B-895D-E16D3E7240DB} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {F94FA21D-78E6-410B-895D-E16D3E7240DB} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {DD9AE6A5-2B9D-443A-BC71-38BE578C36BD} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {5DA95927-5F2D-46D8-9265-D092734B6F0E} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {A569DCC1-C608-45FD-B770-4F79335EF154} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {44A8DE09-CAB9-49D8-9CFC-5EB0A552F181} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {388E7B64-0393-4EB4-A3E3-5C474F141853} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {e1b288a2-08ee-4318-8bbb-8ab72c69e33e} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {08ce9972-283b-44f4-82fa-966f7dfa6b7a} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {A5C0E8F8-9D04-46ED-91D6-1DEF1575313B} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {FC0FE702-A87D-4D70-A9B6-1ECCD611125F} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {6B717BD1-CD5E-498C-A42E-9E6A4584DC48} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {6604365C-C702-4C10-9BA8-637F1E3D4D0D} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {F94FA21D-78E6-410B-895D-E16D3E7240DB} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {50A89267-A28B-4DF3-8E62-912E005143B8} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {F94FA21D-78E6-410B-895D-E16D3E7240DB} - {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {870115DD-960A-4406-A6B9-600BCDC36A03} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {6259D767-BA7C-484D-9472-68F350A20086} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {E73BB233-D88B-44A7-A98F-D71EE158381D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {F94FA21D-78E6-410B-895D-E16D3E7240DB} + {833904AB-3CD4-4071-9B48-5770E44685AA} = {F94FA21D-78E6-410B-895D-E16D3E7240DB} + {23B517C9-1ECC-4419-A13F-0B7136D085CB} = {F94FA21D-78E6-410B-895D-E16D3E7240DB} + {A4C858C8-51B6-4265-A695-A20FCEBA1D19} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} + {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} + {C9DE556D-325C-4544-B29F-16A9EB7C9830} = {5DA95927-5F2D-46D8-9265-D092734B6F0E} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {5DA95927-5F2D-46D8-9265-D092734B6F0E} + {6FA16499-896F-4C02-BB43-1AF5C6C7C713} = {5DA95927-5F2D-46D8-9265-D092734B6F0E} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {5DA95927-5F2D-46D8-9265-D092734B6F0E} + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} {6222A3A1-83CE-47A3-A4E4-A018F82D44D8} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {7DB80259-24D4-46C3-A024-53FF1987733D} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {E73BB233-D88B-44A7-A98F-D71EE158381D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {6259D767-BA7C-484D-9472-68F350A20086} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {870115DD-960A-4406-A6B9-600BCDC36A03} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {7DB80259-24D4-46C3-A024-53FF1987733D} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {AD6FAA08-D6F5-4DBA-AF85-F4DA9F40C3B5} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {4980B743-B32F-4aba-AABD-45E2CAD3568D} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} EndGlobalSection EndGlobal diff --git a/src/SharpDevelop.sln b/src/SharpDevelop.sln index 29a02024a2..414e10cbba 100644 --- a/src/SharpDevelop.sln +++ b/src/SharpDevelop.sln @@ -1,168 +1,170 @@  Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 -# SharpDevelop 3.1.0.3946 +# SharpDevelop 3.0.0.3611 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{4EA396ED-64AD-4AD0-A67A-AB363F3E0C79}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{CE5B42B7-6E8C-4385-9E97-F4023FC16BF2}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkflowDesigner", "AddIns\DisplayBindings\WorkflowDesigner\Project\WorkflowDesigner.csproj", "{533F4684-DBA6-4518-B005-C84F22A2DD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "AddIns\Misc\SharpRefactoring\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{DB137F0B-9B62-4232-AE92-F7BE0280B8D3}" - ProjectSection(SolutionItems) = postProject - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "AddIns\Misc\SourceAnalysis\SourceAnalysis.csproj", "86CE7B3F-6273-4215-9E36-6184D98F854E" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SettingsEditor", "AddIns\DisplayBindings\SettingsEditor\Project\SettingsEditor.csproj", "{85226AFB-CE71-4851-9A75-7EEC663A8E8A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0D37CE59-B0EF-4F3C-B9EB-8557E53A448B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{6604365C-C702-4C10-9BA8-637F1E3D4D0D}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "AddIns\Misc\Debugger\Debugger.Core\Project\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "AddIns\Misc\Debugger\Debugger.AddIn\Project\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{6B717BD1-CD5E-498C-A42E-9E6A4584DC48}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HtmlHelp2", "AddIns\Misc\HtmlHelp2\Project\HtmlHelp2.csproj", "{918487B7-2153-4618-BBB3-344DBDDF2A2A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "AddIns\Misc\CodeCoverage\Project\CodeCoverage.csproj", "{08ce9972-283b-44f4-82fa-966f7dfa6b7a}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "AddIns\Misc\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Backends", "Backends", "{FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C}" +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "HtmlHelp2JScriptGlobals", "AddIns\Misc\HtmlHelp2\JScriptGlobals\HtmlHelp2JScriptGlobals.vbproj", "{E54A5AD2-418D-4A85-BA5E-CD803DE38715}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "AddIns\Misc\SubversionAddIn\Project\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "AddIns\Misc\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ComponentInspector", "ComponentInspector", "{BDDDCD01-D2FE-4EAD-9425-4B6B91922C7C}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{e1b288a2-08ee-4318-8bbb-8ab72c69e33e}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ComponentInspector", "AddIns\Misc\ComponentInspector\ComponentInspector\ComponentInspector.csproj", "{000E4F64-5D0D-4EB1-B0BF-1A62ADBC6EAD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ComponentInspector.AddIn", "AddIns\Misc\ComponentInspector\ComponentInspector.AddIn\ComponentInspector.AddIn.csproj", "{869951D5-A0D6-4DC6-9F1D-E6B9A12AC446}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ILAsmBinding", "AddIns\BackendBindings\ILAsmBinding\Project\ILAsmBinding.csproj", "{6e59af58-f635-459a-9a35-c9ac41c00339}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ComponentInspector.Core", "AddIns\Misc\ComponentInspector\ComponentInspector.Core\ComponentInspector.Core.csproj", "{E6F4983F-DE41-4AEC-88E7-1FA9AFB4E6FF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{8CF9DB5A-A2F6-4A88-BABA-100912EAF6E8}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Backends", "Backends", "{FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" EndProject Project("{982E8BC1-ACD7-4dbf-96AB-B2CE67D6A008}") = "FSharpBinding", "AddIns\BackendBindings\FSharp\FSharpBinding\Project\FSharpBinding.fsproj", "{99BAE3A2-C40D-40D2-A7B4-EBB4798F36E4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{CE5B42B7-6E8C-4385-9E97-F4023FC16BF2}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{8CF9DB5A-A2F6-4A88-BABA-100912EAF6E8}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "AddIns\Misc\ResourceToolkit\Project\ResourceToolkit.csproj", "{461606BD-E824-4D0A-8CBA-01810B1F5E02}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ComponentInspector", "ComponentInspector", "{BDDDCD01-D2FE-4EAD-9425-4B6B91922C7C}" - ProjectSection(SolutionItems) = postProject - EndProjectSection +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ComponentInspector.Core", "AddIns\Misc\ComponentInspector\ComponentInspector.Core\ComponentInspector.Core.csproj", "{E6F4983F-DE41-4AEC-88E7-1FA9AFB4E6FF}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ComponentInspector.AddIn", "AddIns\Misc\ComponentInspector\ComponentInspector.AddIn\ComponentInspector.AddIn.csproj", "{869951D5-A0D6-4DC6-9F1D-E6B9A12AC446}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ILAsmBinding", "AddIns\BackendBindings\ILAsmBinding\Project\ILAsmBinding.csproj", "{6e59af58-f635-459a-9a35-c9ac41c00339}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ComponentInspector", "AddIns\Misc\ComponentInspector\ComponentInspector\ComponentInspector.csproj", "{000E4F64-5D0D-4EB1-B0BF-1A62ADBC6EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "AddIns\Misc\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "AddIns\Misc\SubversionAddIn\Project\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{e1b288a2-08ee-4318-8bbb-8ab72c69e33e}" EndProject -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "HtmlHelp2JScriptGlobals", "AddIns\Misc\HtmlHelp2\JScriptGlobals\HtmlHelp2JScriptGlobals.vbproj", "{E54A5AD2-418D-4A85-BA5E-CD803DE38715}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{4EA396ED-64AD-4AD0-A67A-AB363F3E0C79}" + ProjectSection(SolutionItems) = postProject + EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "AddIns\Misc\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "AddIns\Misc\CodeCoverage\Project\CodeCoverage.csproj", "{08ce9972-283b-44f4-82fa-966f7dfa6b7a}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HtmlHelp2", "AddIns\Misc\HtmlHelp2\Project\HtmlHelp2.csproj", "{918487B7-2153-4618-BBB3-344DBDDF2A2A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{6B717BD1-CD5E-498C-A42E-9E6A4584DC48}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{6604365C-C702-4C10-9BA8-637F1E3D4D0D}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0D37CE59-B0EF-4F3C-B9EB-8557E53A448B}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "AddIns\Misc\Debugger\Debugger.AddIn\Project\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "AddIns\Misc\Debugger\Debugger.Core\Project\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SettingsEditor", "AddIns\DisplayBindings\SettingsEditor\Project\SettingsEditor.csproj", "{85226AFB-CE71-4851-9A75-7EEC663A8E8A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{DB137F0B-9B62-4232-AE92-F7BE0280B8D3}" + ProjectSection(SolutionItems) = postProject + EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "AddIns\Misc\SourceAnalysis\SourceAnalysis.csproj", "86CE7B3F-6273-4215-9E36-6184D98F854E" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "AddIns\Misc\SharpRefactoring\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WorkflowDesigner", "AddIns\DisplayBindings\WorkflowDesigner\Project\WorkflowDesigner.csproj", "{533F4684-DBA6-4518-B005-C84F22A2DD57}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{9421EDF4-9769-4BE9-B5A6-C87DE221D73C}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor", "Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj", "{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{5A3EBEBA-0560-41C1-966B-23F7D03A5486}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" +Project("{00000000-0000-0000-0000-000000000000}") = "Tools", "Tools\Tools.build", "B13EFF7F-7EA4-4B68-A375-D112105E9182" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" EndProject -Project("{00000000-0000-0000-0000-000000000000}") = "Tools", "Tools\Tools.build", "B13EFF7F-7EA4-4B68-A375-D112105E9182" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Dom", "Main\ICSharpCode.SharpDevelop.Dom\Project\ICSharpCode.SharpDevelop.Dom.csproj", "{924EE450-603D-49C1-A8E5-4AFAA31CE6F3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -406,74 +408,79 @@ Global {7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Release|Any CPU.Build.0 = Release|Any CPU {7C96B65D-28A5-4F28-A35B-8D83CE831EE8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|Any CPU.Build.0 = Release|Any CPU + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1}.Release|Any CPU.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution - {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} - {0162E499-42D0-409B-AA25-EED21F75336B} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} - {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} - {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} - {6B717BD1-CD5E-498C-A42E-9E6A4584DC48} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} - {0D37CE59-B0EF-4F3C-B9EB-8557E53A448B} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} - {85226AFB-CE71-4851-9A75-7EEC663A8E8A} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} - {DB137F0B-9B62-4232-AE92-F7BE0280B8D3} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} - {533F4684-DBA6-4518-B005-C84F22A2DD57} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} - {08F772A1-F0BE-433E-8B37-F6522953DB05} = {DB137F0B-9B62-4232-AE92-F7BE0280B8D3} - {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {DB137F0B-9B62-4232-AE92-F7BE0280B8D3} - {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {DB137F0B-9B62-4232-AE92-F7BE0280B8D3} - {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0D37CE59-B0EF-4F3C-B9EB-8557E53A448B} - {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0D37CE59-B0EF-4F3C-B9EB-8557E53A448B} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} - {99BAE3A2-C40D-40D2-A7B4-EBB4798F36E4} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} - {8CF9DB5A-A2F6-4A88-BABA-100912EAF6E8} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} - {6e59af58-f635-459a-9a35-c9ac41c00339} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} - {e1b288a2-08ee-4318-8bbb-8ab72c69e33e} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {8CF9DB5A-A2F6-4A88-BABA-100912EAF6E8} - {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {8CF9DB5A-A2F6-4A88-BABA-100912EAF6E8} - {3CA90546-3B4C-4663-9445-C4E9371750A7} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - 86CE7B3F-6273-4215-9E36-6184D98F854E = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {6604365C-C702-4C10-9BA8-637F1E3D4D0D} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {918487B7-2153-4618-BBB3-344DBDDF2A2A} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {08ce9972-283b-44f4-82fa-966f7dfa6b7a} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {E54A5AD2-418D-4A85-BA5E-CD803DE38715} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {BDDDCD01-D2FE-4EAD-9425-4B6B91922C7C} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} + {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} - {000E4F64-5D0D-4EB1-B0BF-1A62ADBC6EAD} = {BDDDCD01-D2FE-4EAD-9425-4B6B91922C7C} - {869951D5-A0D6-4DC6-9F1D-E6B9A12AC446} = {BDDDCD01-D2FE-4EAD-9425-4B6B91922C7C} - {E6F4983F-DE41-4AEC-88E7-1FA9AFB4E6FF} = {BDDDCD01-D2FE-4EAD-9425-4B6B91922C7C} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {BDDDCD01-D2FE-4EAD-9425-4B6B91922C7C} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {E54A5AD2-418D-4A85-BA5E-CD803DE38715} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {08ce9972-283b-44f4-82fa-966f7dfa6b7a} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {918487B7-2153-4618-BBB3-344DBDDF2A2A} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {6604365C-C702-4C10-9BA8-637F1E3D4D0D} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + 86CE7B3F-6273-4215-9E36-6184D98F854E = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} + {3CA90546-3B4C-4663-9445-C4E9371750A7} = {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {6604365C-C702-4C10-9BA8-637F1E3D4D0D} + {E6F4983F-DE41-4AEC-88E7-1FA9AFB4E6FF} = {BDDDCD01-D2FE-4EAD-9425-4B6B91922C7C} + {869951D5-A0D6-4DC6-9F1D-E6B9A12AC446} = {BDDDCD01-D2FE-4EAD-9425-4B6B91922C7C} + {000E4F64-5D0D-4EB1-B0BF-1A62ADBC6EAD} = {BDDDCD01-D2FE-4EAD-9425-4B6B91922C7C} + {e1b288a2-08ee-4318-8bbb-8ab72c69e33e} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} + {6e59af58-f635-459a-9a35-c9ac41c00339} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} + {8CF9DB5A-A2F6-4A88-BABA-100912EAF6E8} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} + {99BAE3A2-C40D-40D2-A7B4-EBB4798F36E4} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} + {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {8CF9DB5A-A2F6-4A88-BABA-100912EAF6E8} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {8CF9DB5A-A2F6-4A88-BABA-100912EAF6E8} + {533F4684-DBA6-4518-B005-C84F22A2DD57} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} + {DB137F0B-9B62-4232-AE92-F7BE0280B8D3} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} + {85226AFB-CE71-4851-9A75-7EEC663A8E8A} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} + {0D37CE59-B0EF-4F3C-B9EB-8557E53A448B} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} + {6B717BD1-CD5E-498C-A42E-9E6A4584DC48} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} + {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} + {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} + {0162E499-42D0-409B-AA25-EED21F75336B} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} + {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0D37CE59-B0EF-4F3C-B9EB-8557E53A448B} + {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0D37CE59-B0EF-4F3C-B9EB-8557E53A448B} + {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {DB137F0B-9B62-4232-AE92-F7BE0280B8D3} + {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {DB137F0B-9B62-4232-AE92-F7BE0280B8D3} + {08F772A1-F0BE-433E-8B37-F6522953DB05} = {DB137F0B-9B62-4232-AE92-F7BE0280B8D3} + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} {E73BB233-D88B-44A7-A98F-D71EE158381D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - B13EFF7F-7EA4-4B68-A375-D112105E9182 = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + B13EFF7F-7EA4-4B68-A375-D112105E9182 = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} EndGlobalSection EndGlobal