diff --git a/SharpDevelop.sln b/SharpDevelop.sln index 45cf62a003..7a3ed47608 100644 --- a/SharpDevelop.sln +++ b/SharpDevelop.sln @@ -1,29 +1,27 @@  Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -# SharpDevelop 4.0.0.6474 +# SharpDevelop 4.0.0.6860 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{256F5C28-532C-44C0-8AB8-D8EC5E492E01}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -33,22 +31,24 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Do {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Sda", "src\Main\ICSharpCode.SharpDevelop.Sda\ICSharpCode.SharpDevelop.Sda.csproj", "{80318B5F-A25D-45AB-8A95-EF31D2370A4C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.WinForms", "src\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj", "{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "src\Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core.Presentation", "src\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj", "{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.Widgets", "src\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj", "{8035765F-D51F-4A0C-A746-2FD100E19419}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "src\Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker", "src\Main\ICSharpCode.SharpDevelop.BuildWorker\ICSharpCode.SharpDevelop.BuildWorker.csproj", "{C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "src\Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop.BuildWorker35", "src\Main\ICSharpCode.SharpDevelop.BuildWorker35\ICSharpCode.SharpDevelop.BuildWorker35.csproj", "{B5F54272-49F0-40DB-845A-8D837875D3BA}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -57,217 +57,211 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{ ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "src\Libraries\TreeViewAdv\Aga.Controls\Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TreeView", "src\Libraries\SharpTreeView\ICSharpCode.TreeView\ICSharpCode.TreeView.csproj", "{DDE2A481-8271-4EAC-A330-8FA6A38D13D1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Build.Tasks", "src\Libraries\ICSharpCode.Build.Tasks\Project\ICSharpCode.Build.Tasks.csproj", "{4139CCF6-FB49-4A9D-B2CF-331E9EA3198D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "src\Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.AvalonEdit", "src\Libraries\AvalonEdit\ICSharpCode.AvalonEdit\ICSharpCode.AvalonEdit.csproj", "{6C55B776-26D4-4DB3-A6AB-87E783B2F3D1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonDock", "src\Libraries\AvalonDock\AvalonDock\AvalonDock.csproj", "{2FF700C2-A38A-48BD-A637-8CAFD4FE6237}" +EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{39327899-ED91-4F7F-988C-4FE4E17C014D}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{6E3D4DBA-DBF9-4035-8F7E-1403975B21EA}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Irony", "src\AddIns\Misc\Reports\Irony\Irony.csproj", "{D81F5C91-D7DB-46E5-BC99-49488FB6814C}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" ProjectSection(ProjectDependencies) = postProject - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Misc", "Misc", "{F3662720-9EA2-4591-BBC6-97361DCE50A9}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" + ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -277,179 +271,185 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceToolkit", "src\AddI {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UsageDataCollector", "UsageDataCollector", "{DEFC8584-BEC3-4921-BD0F-40482E450B7B}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector\UsageDataCollector.csproj", "{6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RegExpTk", "src\AddIns\Misc\RegExpTk\Project\RegExpTk.csproj", "{64A3E5E6-90BF-47F6-94DF-68C94B62C817}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UsageDataCollector.AddIn", "src\AddIns\Misc\UsageDataCollector\UsageDataCollector.AddIn\UsageDataCollector.AddIn.csproj", "{0008FCE9-9EB4-4E2E-979B-553278E5BBA6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PInvokeAddIn", "src\AddIns\Misc\PInvokeAddIn\Project\PInvokeAddIn.csproj", "{5EEB99CF-EA2B-4733-80A6-CE9192D68170}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Display Bindings", "Display Bindings", "{11BF9245-88A3-4A0A-9A8A-EC9D98036B0F}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FiletypeRegisterer", "src\AddIns\Misc\FiletypeRegisterer\Project\FiletypeRegisterer.csproj", "{D022A6CE-7438-41E8-AC64-F2DE18EC54C6}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Data", "Data", "{C7F29FC2-1B03-4CDD-9E30-400F4765FF04}" - ProjectSection(SolutionItems) = postProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddinScout", "src\AddIns\Misc\AddinScout\Project\AddinScout.csproj", "{4B8F0F98-8BE1-402B-AA8B-C8D548577B38}" + ProjectSection(ProjectDependencies) = postProject + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.SQLServer", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj", "{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddInManager", "src\AddIns\Misc\AddInManager\Project\AddInManager.csproj", "{F93E52FD-DA66-4CE5-A0CB-BCD902811122}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core.UI\ICSharpCode.Data.EDMDesigner.Core.UI.csproj", "{EEF5E054-4192-4A57-8FBF-E860D808A51D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartPage", "src\AddIns\Misc\StartPage\Project\StartPage.csproj", "{7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.EDMDesigner.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.EDMDesigner.Core\ICSharpCode.Data.EDMDesigner.Core.csproj", "{5C70D6AB-0A33-43F9-B8B5-54558C35BBB1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReflectorAddIn", "src\AddIns\Misc\ReflectorAddIn\ReflectorAddIn\Project\ReflectorAddIn.csproj", "{8AA421C8-D7AF-4957-9F43-5135328ACB24}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core.UI", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj", "{BAD94D6E-4159-4CB6-B991-486F412D9BB6}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SearchAndReplace", "src\AddIns\Misc\SearchAndReplace\Project\SearchAndReplace.csproj", "{9196DD8A-B4D4-4780-8742-C5762E547FC2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Core", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj", "{B7823AE9-4B43-4859-8796-2EBDC116FBB8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpRefactoring", "src\AddIns\Misc\SharpRefactoring\Project\SharpRefactoring.csproj", "{3CA90546-3B4C-4663-9445-C4E9371750A7}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Data.Addin", "src\AddIns\DisplayBindings\Data\ICSharpCode.Data.Addin\ICSharpCode.Data.Addin.csproj", "{A9F12710-24E4-46D4-832C-6ECB395B9EAD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelpViewer", "src\AddIns\Misc\HelpViewer\HelpViewer.csproj", "{80F76D10-0B44-4D55-B4BD-DAEB5464090C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassDiagram", "ClassDiagram", "{BFA3BF26-33BD-4A65-B84D-C7F30D131668}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Debugger", "Debugger", "{CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Diagrams", "src\AddIns\DisplayBindings\ClassDiagram\DiagramRouter\Diagrams.csproj", "{0991423A-DBF6-4C89-B365-A1DF1EB32E42}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.AddIn", "src\AddIns\Debugger\Debugger.AddIn\Debugger.AddIn.csproj", "{EC06F96A-AEEC-49D6-B03D-AB87C6EB674C}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassDiagramAddin", "src\AddIns\DisplayBindings\ClassDiagram\ClassDiagramAddin\ClassDiagramAddin.csproj", "{5A1354DF-4989-4BB4-BC6B-D627C2E9FA13}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Debugger.Core", "src\AddIns\Debugger\Debugger.Core\Debugger.Core.csproj", "{1D18D788-F7EE-4585-A23B-34DC8EC63CB8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassCanvas", "src\AddIns\DisplayBindings\ClassDiagram\ClassCanvas\ClassCanvas.csproj", "{08F772A1-F0BE-433E-8B37-F6522953DB05}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Language Bindings", "Language Bindings", "{E0646C25-36F2-4524-969F-FA621353AB94}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Scripting", "src\AddIns\BackendBindings\Scripting\Project\ICSharpCode.Scripting.csproj", "{7048AE18-EB93-4A84-82D0-DD60EB58ADBD}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FormsDesigner", "src\AddIns\DisplayBindings\FormsDesigner\Project\FormsDesigner.csproj", "{7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSharpBinding", "src\AddIns\BackendBindings\FSharpBinding\FSharpBinding.csproj", "{E954F3CB-A446-492F-A664-2B376EBC86E8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XmlEditor", "src\AddIns\DisplayBindings\XmlEditor\Project\XmlEditor.csproj", "{DCA2703D-250A-463E-A68A-07ED105AE6BD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XamlBinding", "src\AddIns\BackendBindings\XamlBinding\XamlBinding\XamlBinding.csproj", "{7C96B65D-28A5-4F28-A35B-8D83CE831EE8}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AvalonEdit.AddIn", "src\AddIns\DisplayBindings\AvalonEdit.AddIn\AvalonEdit.AddIn.csproj", "{0162E499-42D0-409B-AA25-EED21F75336B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBNetBinding", "src\AddIns\BackendBindings\VBNetBinding\Project\VBNetBinding.csproj", "{BF38FB72-B380-4196-AF8C-95749D726C61}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ResourceEditor", "src\AddIns\DisplayBindings\ResourceEditor\Project\ResourceEditor.csproj", "{CBC6C247-747B-4908-B09A-4D2E0F640B6B}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "src\AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HexEditor", "src\AddIns\DisplayBindings\HexEditor\Project\HexEditor.csproj", "{E618A9CD-A39F-4925-A538-E8A3FEF24E54}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WixBinding", "src\AddIns\BackendBindings\WixBinding\Project\WixBinding.csproj", "{E1B288A2-08EE-4318-8BBB-8AB72C69E33E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "IconEditor", "IconEditor", "{0773ED53-08E2-4495-A3BE-CA0B5D413C15}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Python", "Python", "{CA76F702-5B4E-4918-B8D8-7FF8382434FF}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditor", "src\AddIns\DisplayBindings\IconEditor\IconEditor\IconEditor.csproj", "{DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PythonBinding", "src\AddIns\BackendBindings\Python\PythonBinding\Project\PythonBinding.csproj", "{8D732610-8FC6-43BA-94C9-7126FD7FE361}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IconEditorAddIn", "src\AddIns\DisplayBindings\IconEditor\IconEditorAddIn\IconEditorAddIn.csproj", "{DFB936AD-90EE-4B4F-941E-4F4A636F0D92}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Python.Build.Tasks", "src\AddIns\BackendBindings\Python\Python.Build.Tasks\Project\Python.Build.Tasks.csproj", "{D332F2D1-2CF1-43B7-903C-844BD5211A7E}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WpfDesign", "WpfDesign", "{6022AC51-B658-4C54-97EF-79187AC65B47}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Boo", "Boo", "{97B3B514-AB0E-4FE1-89DE-8A945F5112AE}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign\Project\WpfDesign.csproj", "{66A378A1-E9F4-4AD5-8946-D0EC06C2902F}" - ProjectSection(ProjectDependencies) = postProject - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.AddIn", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.AddIn\WpfDesign.AddIn.csproj", "{9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactoryToBooConverter", "src\AddIns\BackendBindings\Boo\NRefactoryToBooConverter\Project\NRefactoryToBooConverter.csproj", "{DBCF20A1-BA13-4582-BFA9-74DE4D987B73}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.Designer", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.Designer\Project\WpfDesign.Designer.csproj", "{78CC29AC-CC79-4355-B1F2-97936DF198AC}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BooBinding", "src\AddIns\BackendBindings\Boo\BooBinding\Project\BooBinding.csproj", "{4AC2D5F1-F671-480C-A075-6BF62B3721B2}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfDesign.XamlDom", "src\AddIns\DisplayBindings\WpfDesign\WpfDesign.XamlDom\Project\WpfDesign.XamlDom.csproj", "{88DA149F-21B2-48AB-82C4-28FB6BDFD783}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CppBinding", "src\AddIns\BackendBindings\CppBinding\CppBinding\CppBinding.csproj", "{70966F84-74C9-4067-A379-0C674A929233}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analysis", "Analysis", "{F355E45F-F54F-4B42-8916-9A633A392789}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ruby", "Ruby", "{C7288E72-FFBE-48CD-84B4-6CBF95A7195A}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "src\AddIns\Analysis\UnitTesting\UnitTesting.csproj", "{1F261725-6318-4434-A1B1-6C70CE4CD324}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RubyBinding", "src\AddIns\BackendBindings\Ruby\RubyBinding\Project\RubyBinding.csproj", "{C896FFFF-5B6C-4B0E-B6DF-049865F501B4}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeAnalysis", "src\AddIns\Analysis\CodeAnalysis\CodeAnalysis.csproj", "{3EAA45A9-735C-4AC7-A799-947B93EA449D}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Profiler", "Profiler", "{C4035C32-026F-4158-AF15-113EA1EF1960}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.X64Converter", "src\AddIns\Analysis\Profiler\X64Converter\Profiler.X64Converter.csproj", "{FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeCoverage", "src\AddIns\Analysis\CodeCoverage\Project\CodeCoverage.csproj", "{08CE9972-283B-44F4-82FA-966F7DFA6B7A}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controller", "src\AddIns\Analysis\Profiler\Controller\Profiler.Controller.csproj", "{72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourceAnalysis", "src\AddIns\Analysis\SourceAnalysis\SourceAnalysis.csproj", "{CE498514-D12D-4B6E-AE0E-FEC29BD43748}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Controls", "src\AddIns\Analysis\Profiler\Frontend\Controls\Profiler.Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}" ProjectSection(ProjectDependencies) = postProject + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeQualityAnalysis", "src\AddIns\Analysis\CodeQuality\CodeQualityAnalysis.csproj", "{76DD1CC0-0D86-44A1-9BD6-D91F79807BC3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.AddIn", "src\AddIns\Analysis\Profiler\Frontend\AddIn\Profiler.AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Version Control", "Version Control", "{6E3D4DBA-DBF9-4035-8F7E-1403975B21EA}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Reports", "Reports", "{8789D7FF-B36C-4187-B57D-55ED64623272}" ProjectSection(SolutionItems) = postProject EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitAddIn", "src\AddIns\VersionControl\GitAddIn\GitAddIn.csproj", "{83F15BA7-8478-4664-81BB-A82F146D88B3}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Irony", "src\AddIns\Misc\Reports\Irony\Irony.csproj", "{D81F5C91-D7DB-46E5-BC99-49488FB6814C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Core", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj", "{4B2239FF-8FD6-431D-9D22-1B8049BA6917}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SubversionAddIn", "src\AddIns\VersionControl\SubversionAddIn\SubversionAddIn.csproj", "{17F4D7E0-6933-4C2E-8714-FD7E98D625D5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Reports.Addin", "src\AddIns\Misc\Reports\ICSharpCode.Reports.Addin\ICSharpCode.Reports.Addin.csproj", "{35D002D7-C78B-44FB-92AA-104BEB431678}" ProjectSection(ProjectDependencies) = postProject {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} EndProjectSection @@ -917,98 +917,98 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {B5F54272-49F0-40DB-845A-8D837875D3BA} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} - {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {C3CBC8E3-81D8-4C5B-9941-DCCD12D50B1F} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {80318B5F-A25D-45AB-8A95-EF31D2370A4C} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {8035765F-D51F-4A0C-A746-2FD100E19419} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} + {1152B71B-3C05-4598-B20D-823B5D40559E} = {256F5C28-532C-44C0-8AB8-D8EC5E492E01} {2FF700C2-A38A-48BD-A637-8CAFD4FE6237} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} - {6E3D4DBA-DBF9-4035-8F7E-1403975B21EA} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {4139CCF6-FB49-4A9D-B2CF-331E9EA3198D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {E73BB233-D88B-44A7-A98F-D71EE158381D} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {DDE2A481-8271-4EAC-A330-8FA6A38D13D1} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} + {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {2A232EF1-EB95-41C6-B63A-C106E0C95D3C} {8789D7FF-B36C-4187-B57D-55ED64623272} = {39327899-ED91-4F7F-988C-4FE4E17C014D} - {D81F5C91-D7DB-46E5-BC99-49488FB6814C} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} - {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} - {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} - {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} - {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} - {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} - {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} - {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} - {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} - {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} - {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} - {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} - {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} - {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} - {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {C4035C32-026F-4158-AF15-113EA1EF1960} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {E0646C25-36F2-4524-969F-FA621353AB94} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F3662720-9EA2-4591-BBC6-97361DCE50A9} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {F355E45F-F54F-4B42-8916-9A633A392789} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {6E3D4DBA-DBF9-4035-8F7E-1403975B21EA} = {39327899-ED91-4F7F-988C-4FE4E17C014D} + {83F15BA7-8478-4664-81BB-A82F146D88B3} = {6E3D4DBA-DBF9-4035-8F7E-1403975B21EA} + {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {6E3D4DBA-DBF9-4035-8F7E-1403975B21EA} + {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} + {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} + {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} + {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} + {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} - {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} - {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} - {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} - {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {BFA3BF26-33BD-4A65-B84D-C7F30D131668} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {DCA2703D-250A-463E-A68A-07ED105AE6BD} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0162E499-42D0-409B-AA25-EED21F75336B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {E618A9CD-A39F-4925-A538-E8A3FEF24E54} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {0773ED53-08E2-4495-A3BE-CA0B5D413C15} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} + {6022AC51-B658-4C54-97EF-79187AC65B47} = {11BF9245-88A3-4A0A-9A8A-EC9D98036B0F} {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} = {6022AC51-B658-4C54-97EF-79187AC65B47} - {76DD1CC0-0D86-44A1-9BD6-D91F79807BC3} = {F355E45F-F54F-4B42-8916-9A633A392789} - {CE498514-D12D-4B6E-AE0E-FEC29BD43748} = {F355E45F-F54F-4B42-8916-9A633A392789} - {08CE9972-283B-44F4-82FA-966F7DFA6B7A} = {F355E45F-F54F-4B42-8916-9A633A392789} - {3EAA45A9-735C-4AC7-A799-947B93EA449D} = {F355E45F-F54F-4B42-8916-9A633A392789} - {1F261725-6318-4434-A1B1-6C70CE4CD324} = {F355E45F-F54F-4B42-8916-9A633A392789} - {17F4D7E0-6933-4C2E-8714-FD7E98D625D5} = {6E3D4DBA-DBF9-4035-8F7E-1403975B21EA} - {83F15BA7-8478-4664-81BB-A82F146D88B3} = {6E3D4DBA-DBF9-4035-8F7E-1403975B21EA} + {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {78CC29AC-CC79-4355-B1F2-97936DF198AC} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {88DA149F-21B2-48AB-82C4-28FB6BDFD783} = {6022AC51-B658-4C54-97EF-79187AC65B47} + {DC1CCE11-CB91-40FA-9C47-4D9EB5D67BFD} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {DFB936AD-90EE-4B4F-941E-4F4A636F0D92} = {0773ED53-08E2-4495-A3BE-CA0B5D413C15} + {0991423A-DBF6-4C89-B365-A1DF1EB32E42} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {5A1354DF-4989-4BB4-BC6B-D627C2E9FA13} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {08F772A1-F0BE-433E-8B37-F6522953DB05} = {BFA3BF26-33BD-4A65-B84D-C7F30D131668} + {AFE34868-AFA1-4E1C-9450-47AB4BE329D5} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {EEF5E054-4192-4A57-8FBF-E860D808A51D} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {5C70D6AB-0A33-43F9-B8B5-54558C35BBB1} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {BAD94D6E-4159-4CB6-B991-486F412D9BB6} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {B7823AE9-4B43-4859-8796-2EBDC116FBB8} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {A9F12710-24E4-46D4-832C-6ECB395B9EAD} = {C7F29FC2-1B03-4CDD-9E30-400F4765FF04} + {80F76D10-0B44-4D55-B4BD-DAEB5464090C} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {3CA90546-3B4C-4663-9445-C4E9371750A7} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {9196DD8A-B4D4-4780-8742-C5762E547FC2} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {8AA421C8-D7AF-4957-9F43-5135328ACB24} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {7D5C266F-D6FF-4D14-B315-0C0FC6C4EF51} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {F93E52FD-DA66-4CE5-A0CB-BCD902811122} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {4B8F0F98-8BE1-402B-AA8B-C8D548577B38} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {D022A6CE-7438-41E8-AC64-F2DE18EC54C6} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {5EEB99CF-EA2B-4733-80A6-CE9192D68170} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {64A3E5E6-90BF-47F6-94DF-68C94B62C817} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {461606BD-E824-4D0A-8CBA-01810B1F5E02} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {DEFC8584-BEC3-4921-BD0F-40482E450B7B} = {F3662720-9EA2-4591-BBC6-97361DCE50A9} + {6B1CFE35-DA17-4DEB-9C6E-227E5E251DA0} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {0008FCE9-9EB4-4E2E-979B-553278E5BBA6} = {DEFC8584-BEC3-4921-BD0F-40482E450B7B} + {1D18D788-F7EE-4585-A23B-34DC8EC63CB8} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {EC06F96A-AEEC-49D6-B03D-AB87C6EB674C} = {CDE0C5A4-2096-48B5-BEA3-74DBA0F0E1EF} + {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {70966F84-74C9-4067-A379-0C674A929233} = {E0646C25-36F2-4524-969F-FA621353AB94} + {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} = {E0646C25-36F2-4524-969F-FA621353AB94} + {CA76F702-5B4E-4918-B8D8-7FF8382434FF} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E1B288A2-08EE-4318-8BBB-8AB72C69E33E} = {E0646C25-36F2-4524-969F-FA621353AB94} + {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {E0646C25-36F2-4524-969F-FA621353AB94} + {BF38FB72-B380-4196-AF8C-95749D726C61} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7C96B65D-28A5-4F28-A35B-8D83CE831EE8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {E954F3CB-A446-492F-A664-2B376EBC86E8} = {E0646C25-36F2-4524-969F-FA621353AB94} + {7048AE18-EB93-4A84-82D0-DD60EB58ADBD} = {E0646C25-36F2-4524-969F-FA621353AB94} + {D332F2D1-2CF1-43B7-903C-844BD5211A7E} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {8D732610-8FC6-43BA-94C9-7126FD7FE361} = {CA76F702-5B4E-4918-B8D8-7FF8382434FF} + {4AC2D5F1-F671-480C-A075-6BF62B3721B2} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {DBCF20A1-BA13-4582-BFA9-74DE4D987B73} = {97B3B514-AB0E-4FE1-89DE-8A945F5112AE} + {C896FFFF-5B6C-4B0E-B6DF-049865F501B4} = {C7288E72-FFBE-48CD-84B4-6CBF95A7195A} + {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6} = {C4035C32-026F-4158-AF15-113EA1EF1960} + {35D002D7-C78B-44FB-92AA-104BEB431678} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {4B2239FF-8FD6-431D-9D22-1B8049BA6917} = {8789D7FF-B36C-4187-B57D-55ED64623272} + {D81F5C91-D7DB-46E5-BC99-49488FB6814C} = {8789D7FF-B36C-4187-B57D-55ED64623272} EndGlobalSection EndGlobal diff --git a/data/resources/StringResources.resx b/data/resources/StringResources.resx index 1b0e5e1330..280e6e0218 100644 --- a/data/resources/StringResources.resx +++ b/data/resources/StringResources.resx @@ -5645,6 +5645,15 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs Bookmarks + + {0} @line {1} + + + Location + + + Language + Back @@ -5775,6 +5784,9 @@ Unable to find 'WelcomeDialogId' in Dialogs.wxs Trace + + Condition + Console diff --git a/data/resources/image/BitmapResources/BitmapResources.res b/data/resources/image/BitmapResources/BitmapResources.res index 76615e2224..eaf2aa2126 100644 --- a/data/resources/image/BitmapResources/BitmapResources.res +++ b/data/resources/image/BitmapResources/BitmapResources.res @@ -342,6 +342,10 @@ Bookmarks.DisabledBreakpoint = Bookmarks\DisabledBreakpoint Bookmarks.UnhealthyBreakpoint = Bookmarks\UnhealthyBreakpoint.png Bookmarks.UnhealthyBreakpointConditional = Bookmarks\UnhealthyBreakpointConditional.png Bookmarks.CurrentLine = Bookmarks\CurrentLine.png +Bookmarks.DeleteAllBreakpoints = Bookmarks\DeleteAllBreakpoints.png +Bookmarks.DisableAllBreakpoints = Bookmarks\DisableAllBreakpoints.png +Bookmarks.NextBreakpoint = Bookmarks\NextBreakpoint.png +Bookmarks.PrevBreakpoint = Bookmarks\PrevBreakpoint.png #backend icons C#.ProjectIcon = backendicons\CSharp\SmallProject.png diff --git a/data/resources/image/BitmapResources/Bookmarks/DeleteAllBreakpoints.PNG b/data/resources/image/BitmapResources/Bookmarks/DeleteAllBreakpoints.PNG new file mode 100644 index 0000000000..9f1007b8ed Binary files /dev/null and b/data/resources/image/BitmapResources/Bookmarks/DeleteAllBreakpoints.PNG differ diff --git a/data/resources/image/BitmapResources/Bookmarks/DisableAllBreakpoints.PNG b/data/resources/image/BitmapResources/Bookmarks/DisableAllBreakpoints.PNG new file mode 100644 index 0000000000..42d81ee1a0 Binary files /dev/null and b/data/resources/image/BitmapResources/Bookmarks/DisableAllBreakpoints.PNG differ diff --git a/data/resources/image/BitmapResources/Bookmarks/NextBreakpoint.png b/data/resources/image/BitmapResources/Bookmarks/NextBreakpoint.png new file mode 100644 index 0000000000..7a621abcd7 Binary files /dev/null and b/data/resources/image/BitmapResources/Bookmarks/NextBreakpoint.png differ diff --git a/data/resources/image/BitmapResources/Bookmarks/PrevBreakpoint.png b/data/resources/image/BitmapResources/Bookmarks/PrevBreakpoint.png new file mode 100644 index 0000000000..d0d6fdc330 Binary files /dev/null and b/data/resources/image/BitmapResources/Bookmarks/PrevBreakpoint.png differ diff --git a/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.addin b/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.addin index 2c1cdb0d2e..898924b6f7 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.addin +++ b/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.addin @@ -68,12 +68,12 @@ - + defaultPosition = "Bottom, Hidden" /> - - - + + + @@ -165,4 +165,30 @@ + + + + + + + + + + + diff --git a/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.csproj b/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.csproj index af61ba9197..8ff2e605e0 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.csproj +++ b/src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.csproj @@ -91,6 +91,14 @@ CallStackPad.xaml Code + + ConditionCell.xaml + + + + + WatchList.xaml + WatchInputBox.xaml Code @@ -336,6 +344,8 @@ + + @@ -358,6 +368,7 @@ ICSharpCode.Core.WinForms False + diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/BreakPointsPad.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/BreakPointsPad.cs index 194d550cc6..d4d5bf4293 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/BreakPointsPad.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/BreakPointsPad.cs @@ -1,7 +1,12 @@ // Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) // This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt) +using System.Windows; +using System.Windows.Controls; using Debugger; +using Debugger.AddIn.Pads.Controls; +using ICSharpCode.Core; +using ICSharpCode.Core.Presentation; using ICSharpCode.SharpDevelop.Bookmarks; using ICSharpCode.SharpDevelop.Debugging; using ICSharpCode.SharpDevelop.Services; @@ -16,6 +21,10 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads public BreakPointsPad() { InitializeComponents(); + + myPanel.Children.Add(CreateToolBar()); + + CreateColumns(); } void InitializeComponents() @@ -36,6 +45,23 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads debuggerCore = debugger.DebuggerCore; } + protected override ToolBar CreateToolBar() + { + ToolBar toolbar = ToolBarService.CreateToolBar(this, "/SharpDevelop/Pads/BreakpointPad/Toolbar"); + toolbar.SetValue(Grid.RowProperty, 0); + return toolbar; + } + + protected override void CreateColumns() + { + string conditionHeader = StringParser.Parse("${res:MainWindow.Windows.Debug.Conditional.Breakpoints.ConditionalColumnHeader}"); + + // HACK + DataTemplate cellTemplate = new ConditionCell().FindResource("ConditionCellTemplate") as DataTemplate; + + listView.AddColumn(conditionHeader, cellTemplate); + } + protected override bool ShowBookmarkInThisPad(SDBookmark mark) { return mark.IsVisibleInBookmarkPad && mark is BreakpointBookmark; diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/ConditionCell.xaml b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/ConditionCell.xaml new file mode 100644 index 0000000000..20ab0bae89 --- /dev/null +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/ConditionCell.xaml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/ConditionCell.xaml.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/ConditionCell.xaml.cs new file mode 100644 index 0000000000..8946e8e802 --- /dev/null +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/ConditionCell.xaml.cs @@ -0,0 +1,190 @@ + +using System; +using System.IO; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Input; + +using ICSharpCode.AvalonEdit; +using ICSharpCode.Core; +using ICSharpCode.Core.Presentation; +using ICSharpCode.NRefactory; +using ICSharpCode.SharpDevelop; +using ICSharpCode.SharpDevelop.Bookmarks.Pad.Controls; +using ICSharpCode.SharpDevelop.Debugging; +using ICSharpCode.SharpDevelop.Dom; +using ICSharpCode.SharpDevelop.Dom.NRefactoryResolver; +using ICSharpCode.SharpDevelop.Editor; +using ICSharpCode.SharpDevelop.Editor.CodeCompletion; +using ICSharpCode.SharpDevelop.Gui; +using ICSharpCode.SharpDevelop.Project; + +namespace Debugger.AddIn.Pads.Controls +{ + public partial class ConditionCell : UserControl + { + private string language; + + protected ConsoleControl console; + + public static readonly DependencyProperty CommandTextProperty = + DependencyProperty.Register("CommandText", typeof(string), typeof(ConditionCell), + new UIPropertyMetadata(null, new PropertyChangedCallback(OnCommandTextChanged))); + + private NRefactoryResolver resolver; + + public ConditionCell() + { + InitializeComponent(); + + console = new ConsoleControl(); + console.TextAreaTextEntered += new TextCompositionEventHandler(consoleControl_TextAreaTextEntered); + console.TextAreaPreviewKeyDown += new KeyEventHandler(console_TextAreaPreviewKeyDown); + console.LostFocus += new RoutedEventHandler(console_LostFocus); + console.HideScrollBar(); + ConsolePanel.Content = console; + + // get language + if (ProjectService.CurrentProject == null) + language = "C#"; + else + language = ProjectService.CurrentProject.Language; + resolver = new NRefactoryResolver(LanguageProperties.GetLanguage(language)); + + // FIXME set language + if (language == "VB" || language == "VBNet") { + console.SetHighlighting("VBNET"); + } + else { + console.SetHighlighting("C#"); + } + } + + /// + /// Gets/sets the command text displayed at the command prompt. + /// + public string CommandText { + get { return console.CommandText.Trim(); } + set { console.CommandText = value; } + } + + private BreakpointBookmark Breakpoint { + get { + var model = Model; + return model.Mark as BreakpointBookmark; + } + } + + private ListViewPadItemModel Model { + get { return Tag as ListViewPadItemModel; } + } + + private ITextEditor TextEditor { + get { + return console.TextEditor; + } + } + + private void console_TextAreaPreviewKeyDown(object sender, KeyEventArgs e) + { + if (e.Key == Key.Return || e.Key == Key.Escape) { + + if (e.Key == Key.Escape) + CommandText = string.Empty; + else { + if(!CheckSyntax()) + return; + } + + UpdateBreakpoint(); + + e.Handled = true; + } + } + + private void console_LostFocus(object sender, RoutedEventArgs e) + { + if (string.IsNullOrEmpty(CommandText) || !this.CheckSyntax()) + return; + + UpdateBreakpoint(); + } + + private void UpdateBreakpoint() + { + Breakpoint.Condition = CommandText; + Model.Condition = CommandText; + Breakpoint.ScriptLanguage = language; + Model.Language = language; + + if (!string.IsNullOrEmpty(console.CommandText)) { + Breakpoint.Action = BreakpointAction.Condition; + Model.Image = PresentationResourceService.GetImage("Bookmarks.BreakpointConditional").Source; + } + else { + Breakpoint.Action = BreakpointAction.Break; + Model.Image = PresentationResourceService.GetImage("Bookmarks.Breakpoint").Source; + } + } + + private bool CheckSyntax() + { + string command = CommandText; + + // FIXME workaround the NRefactory issue that needs a ; at the end + if (language == "C#") { + if(!command.EndsWith(";")) + command += ";"; + // FIXME only one string should be available; highlighting expects C#, supproted language, CSharp + language = "CSharp"; + } + + SupportedLanguage supportedLanguage = (SupportedLanguage)Enum.Parse(typeof(SupportedLanguage), language.ToString(), true); + using (var parser = ParserFactory.CreateParser(supportedLanguage, new StringReader(TextEditor.Document.Text))) { + parser.ParseExpression(); + if (parser.Errors.Count > 0) { + MessageService.ShowError(parser.Errors.ErrorOutput); + return false; + } + } + + return true; + } + + private void consoleControl_TextAreaTextEntered(object sender, TextCompositionEventArgs e) + { + foreach (char ch in e.Text) { + if (ch == '.') { + ShowDotCompletion(console.CommandText); + } + } + } + + private void ShowDotCompletion(string currentText) + { + var seg = Breakpoint; + + var expressionFinder = ParserService.GetExpressionFinder(seg.FileName.ToString()); + var info = ParserService.GetParseInformation(seg.FileName.ToString()); + + string text = ParserService.GetParseableFileContent(seg.FileName.ToString()).Text; + + int currentOffset = TextEditor.Caret.Offset - console.CommandOffset - 1; + + var expr = expressionFinder.FindExpression(currentText, currentOffset); + + expr.Region = new DomRegion(seg.LineNumber, seg.ColumnNumber, seg.LineNumber, seg.ColumnNumber); + + var rr = resolver.Resolve(expr, info, text); + + if (rr != null) { + TextEditor.ShowCompletionWindow(new DotCodeCompletionItemProvider().GenerateCompletionListForResolveResult(rr, expr.Context)); + } + } + + private static void OnCommandTextChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { + var cell = d as ConditionCell; + cell.CommandText = e.NewValue.ToString(); + } + } +} \ No newline at end of file diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/Converters.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/Converters.cs new file mode 100644 index 0000000000..360f52d6ce --- /dev/null +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/Converters.cs @@ -0,0 +1,56 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using System.Globalization; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Media; + +namespace Debugger.AddIn.Pads.Controls +{ + public class TreeListViewConverter : IValueConverter + { + private const double INDENTATION_SIZE = 10; + + public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + if (value == null) return null; + if (targetType == typeof(double) && typeof(DependencyObject).IsAssignableFrom(value.GetType())) + { + DependencyObject element = value as DependencyObject; + int level = -1; + for (; element != null; element = VisualTreeHelper.GetParent(element)) { + if (typeof(TreeViewItem).IsAssignableFrom(element.GetType())) { + level++; + } + } + return INDENTATION_SIZE * level; + } + + throw new NotSupportedException(); + } + + public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + throw new NotSupportedException("This method is not supported."); + } + } + + public class BoolToVisibilityConverter : IMultiValueConverter + { + public object Convert(object[] values, Type targetType, + object parameter, CultureInfo culture) + { + bool val = bool.Parse(parameter.ToString()); + return val == (bool.Parse(values[0].ToString()) && bool.Parse(values[1].ToString())) ? Visibility.Visible : Visibility.Collapsed; + } + + public object[] ConvertBack(object value, Type[] targetTypes, + object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/TreeListView.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/TreeListView.cs new file mode 100644 index 0000000000..041c081904 --- /dev/null +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/TreeListView.cs @@ -0,0 +1,74 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using System.Globalization; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using System.Windows.Data; + +using Debugger.AddIn.TreeModel; + +namespace Debugger.AddIn.Pads.Controls +{ +/// + /// Represents a control that displays hierarchical data in a tree structure + /// that has items that can expand and collapse. + /// + public class TreeListView : TreeView + { + static TreeListView() + { + //Override the default style and the default control template + DefaultStyleKeyProperty.OverrideMetadata(typeof(TreeListView), new FrameworkPropertyMetadata(typeof(TreeListView))); + } + + /// + /// Initialize a new instance of TreeListView. + /// + public TreeListView() + { + Columns = new GridViewColumnCollection(); + } + + #region Properties + /// + /// Gets or sets the collection of System.Windows.Controls.GridViewColumn + /// objects that is defined for this TreeListView. + /// + public GridViewColumnCollection Columns + { + get { return (GridViewColumnCollection)GetValue(ColumnsProperty); } + set { SetValue(ColumnsProperty, value); } + } + + /// + /// Gets or sets whether columns in a TreeListView can be + /// reordered by a drag-and-drop operation. This is a dependency property. + /// + public bool AllowsColumnReorder + { + get { return (bool)GetValue(AllowsColumnReorderProperty); } + set { SetValue(AllowsColumnReorderProperty, value); } + } + #endregion + + #region Static Dependency Properties + // Using a DependencyProperty as the backing store for AllowsColumnReorder. This enables animation, styling, binding, etc... + public static readonly DependencyProperty AllowsColumnReorderProperty = + DependencyProperty.Register("AllowsColumnReorder", typeof(bool), typeof(TreeListView), new UIPropertyMetadata(null)); + + // Using a DependencyProperty as the backing store for Columns. This enables animation, styling, binding, etc... + public static readonly DependencyProperty ColumnsProperty = + DependencyProperty.Register("Columns", typeof(GridViewColumnCollection), + typeof(TreeListView), + new UIPropertyMetadata(null)); + #endregion + } + + /// + /// Represents a control that can switch states in order to expand a node of a TreeListView. + /// + public class TreeListViewExpander : ToggleButton { } +} diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/WatchList.xaml b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/WatchList.xaml new file mode 100644 index 0000000000..ebdb3b10f4 --- /dev/null +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/WatchList.xaml @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/WatchList.xaml.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/WatchList.xaml.cs new file mode 100644 index 0000000000..8e793188cf --- /dev/null +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/Controls/WatchList.xaml.cs @@ -0,0 +1,56 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using System.Collections.ObjectModel; +using System.Collections.Specialized; +using System.ComponentModel; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Input; +using System.Windows.Media; + +using Debugger.AddIn.TreeModel; + +namespace Debugger.AddIn.Pads.Controls +{ + public partial class WatchList : UserControl + { + private ObservableCollection items = new ObservableCollection(); + + public WatchList() + { + InitializeComponent(); + } + + void TextBox_KeyUp(object sender, KeyEventArgs e) + { + if (e.Key != Key.Enter && e.Key != Key.Escape) + { + e.Handled = true; + return; + } + + if (e.Key == Key.Enter) { + if(SelectedNode is ExpressionNode) { + var node = (ExpressionNode)SelectedNode; + node.SetText(((TextBox)sender).Text); + } + } + if (e.Key == Key.Enter || e.Key == Key.Escape) { + for (int i = 0; i < MyList.Items.Count; i++) { + TreeViewItem child = (TreeViewItem)MyList.ItemContainerGenerator.ContainerFromIndex(i); + child.IsSelected = false; + } + } + } + + public ObservableCollection WatchItems { get { return items; } } + + public TreeNode SelectedNode { + get { + return this.MyList.SelectedItem as TreeNode; + } + } + } +} \ No newline at end of file diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/LocalVarPad.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/LocalVarPad.cs index 4bbf8592b0..7142c65d5f 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/LocalVarPad.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/LocalVarPad.cs @@ -1,26 +1,21 @@ // Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) // This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt) -using System.Windows.Forms; -using Aga.Controls.Tree; -using Aga.Controls.Tree.NodeControls; +using System.Collections.ObjectModel; using Debugger; +using Debugger.AddIn.Pads.Controls; using Debugger.AddIn.TreeModel; using ICSharpCode.Core; -using Exception=System.Exception; +using Exception = System.Exception; namespace ICSharpCode.SharpDevelop.Gui.Pads { public class LocalVarPad : DebuggerPad { - TreeViewAdv localVarList; + WatchList localVarList; Process debuggedProcess; static LocalVarPad instance; - readonly TreeColumn nameColumn = new TreeColumn(); - readonly TreeColumn valColumn = new TreeColumn(); - readonly TreeColumn typeColumn = new TreeColumn(); - public LocalVarPad() { instance = this; @@ -46,44 +41,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads protected override void InitializeComponents() { - localVarList = new TreeViewAdv(); - localVarList.Columns.Add(nameColumn); - localVarList.Columns.Add(valColumn); - localVarList.Columns.Add(typeColumn); - localVarList.UseColumns = true; - localVarList.SelectionMode = TreeSelectionMode.Single; - localVarList.LoadOnDemand = true; - - NodeIcon iconControl = new ItemIcon(); - iconControl.ParentColumn = nameColumn; - localVarList.NodeControls.Add(iconControl); - - NodeTextBox nameControl = new ItemName(); - nameControl.ParentColumn = nameColumn; - localVarList.NodeControls.Add(nameControl); - - NodeTextBox textControl = new ItemText(); - textControl.ParentColumn = valColumn; - localVarList.NodeControls.Add(textControl); - - NodeTextBox typeControl = new ItemType(); - typeControl.ParentColumn = typeColumn; - localVarList.NodeControls.Add(typeControl); - - localVarList.AutoRowHeight = true; - - RedrawContent(); - ResourceService.LanguageChanged += delegate { RedrawContent(); }; - } - - public void RedrawContent() - { - nameColumn.Header = ResourceService.GetString("Global.Name"); - nameColumn.Width = 250; - valColumn.Header = ResourceService.GetString("Dialog.HighlightingEditor.Properties.Value"); - valColumn.Width = 300; - typeColumn.Header = ResourceService.GetString("ResourceEditor.ResourceEdit.TypeColumn"); - typeColumn.Width = 250; + localVarList = new WatchList(); } protected override void SelectProcess(Process process) @@ -106,26 +64,39 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads public override void RefreshPad() { if (debuggedProcess == null || debuggedProcess.IsRunning || debuggedProcess.SelectedStackFrame == null) { - localVarList.Root.Children.Clear(); + localVarList.WatchItems.Clear(); return; } using(new PrintTimes("Local Variables refresh")) { try { - localVarList.BeginUpdate(); Utils.DoEvents(debuggedProcess); - TreeViewVarNode.SetContentRecursive(debuggedProcess, localVarList, new StackFrameNode(debuggedProcess.SelectedStackFrame).ChildNodes); - } catch(AbortedBecauseDebuggeeResumedException) { - } catch(Exception) { + foreach (var item in new StackFrameNode(debuggedProcess.SelectedStackFrame).ChildNodes) { + if (!localVarList.WatchItems.ContainsItem(item)) + localVarList.WatchItems.Add(item); + } + } + catch(AbortedBecauseDebuggeeResumedException) { } + catch(Exception ex) { if (debuggedProcess == null || debuggedProcess.HasExited) { // Process unexpectedly exited } else { - throw; + MessageService.ShowException(ex); } - } finally { - localVarList.EndUpdate(); } } } } + + public static class ExtensionForWatchItems + { + public static bool ContainsItem(this ObservableCollection collection, TreeNode node) + { + foreach (var item in collection) + if (item.CompareTo(node) == 0) + return true; + + return false; + } + } } diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchInputBox.xaml b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchInputBox.xaml index ed684a0fd1..96473894e2 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchInputBox.xaml +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchInputBox.xaml @@ -1,4 +1,4 @@ - + 0) { + MessageService.ShowError(parser.Errors.ErrorOutput); + return false; + } + } + + return true; + } + private void AcceptButton_Click(object sender, RoutedEventArgs e) { + if (!this.CheckSyntax()) + return; + this.DialogResult = true; this.Close(); } @@ -95,4 +135,4 @@ namespace Debugger.AddIn.Pads this.Close(); } } -} +} \ No newline at end of file diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs index ea7bb0b3d0..e6e43021b2 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs @@ -3,29 +3,26 @@ using System; using System.Collections.Generic; -using System.Windows.Controls; -using System.Windows.Forms; -using System.Windows.Forms.Integration; +using System.Windows; +using System.Windows.Input; -using Aga.Controls.Tree; -using Aga.Controls.Tree.NodeControls; using Debugger; using Debugger.AddIn; +using Debugger.AddIn.Pads.Controls; using Debugger.AddIn.TreeModel; using ICSharpCode.Core; -using ICSharpCode.Core.WinForms; +using ICSharpCode.Core.Presentation; using ICSharpCode.NRefactory; -using ICSharpCode.NRefactory.Ast; -using ICSharpCode.NRefactory.Visitors; +using ICSharpCode.SharpDevelop.Project; using Exception = System.Exception; namespace ICSharpCode.SharpDevelop.Gui.Pads { public class WatchPad : DebuggerPad { - TreeViewAdv watchList; + WatchList watchList; Process debuggedProcess; - List watches; + static WatchPad instance; /// Always check if Instance is null, might be null if pad is not opened! @@ -37,15 +34,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads { instance = this; } - - public List Watches { - get { return watches; } - } - - readonly TreeColumn nameColumn = new TreeColumn(); - readonly TreeColumn valColumn = new TreeColumn(); - readonly TreeColumn typeColumn = new TreeColumn(); - + /// /// This is not used anywhere, but it is neccessary to be overridden in children of AbstractPadContent. /// @@ -61,74 +50,51 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads protected override void InitializeComponents() { - watchList = new TreeViewAdv(); - watchList.Columns.Add(nameColumn); - watchList.Columns.Add(valColumn); - watchList.Columns.Add(typeColumn); - watchList.UseColumns = true; - watchList.SelectionMode = TreeSelectionMode.Single; - watchList.LoadOnDemand = true; - - NodeIcon iconControl = new ItemIcon(); - iconControl.ParentColumn = nameColumn; - watchList.NodeControls.Add(iconControl); - - NodeTextBox nameControl = new WatchItemName(); - nameControl.ParentColumn = nameColumn; - watchList.NodeControls.Add(nameControl); - - NodeTextBox textControl = new ItemText(); - textControl.ParentColumn = valColumn; - watchList.NodeControls.Add(textControl); - - NodeTextBox typeControl = new ItemType(); - typeControl.ParentColumn = typeColumn; - watchList.NodeControls.Add(typeControl); - - watchList.AutoRowHeight = true; - watchList.MouseDoubleClick += new MouseEventHandler(watchList_DoubleClick); - watchList.ContextMenuStrip = MenuService.CreateContextMenu(this, "/SharpDevelop/Pads/WatchPad/ContextMenu"); + watchList = new WatchList(); + watchList.MouseDoubleClick += watchList_DoubleClick; + watchList.ContextMenu = MenuService.CreateContextMenu(this, "/SharpDevelop/Pads/WatchPad/ContextMenu"); watchList.AllowDrop = true; - watchList.DragEnter += new DragEventHandler(watchList_DragEnter); - watchList.DragDrop += new DragEventHandler(watchList_DragDrop); - watchList.KeyUp += new KeyEventHandler(watchList_KeyUp); - - watches = new List(); - - ResourceService.LanguageChanged += delegate { OnLanguageChanged(); }; - OnLanguageChanged(); + watchList.DragEnter += watchList_DragOver; + watchList.Drop += watchList_Drop; + watchList.KeyUp += watchList_KeyUp; } void watchList_KeyUp(object sender, KeyEventArgs e) { - if (e.KeyCode == Keys.Delete) { + if (e.Key == Key.Delete) { RemoveWatchCommand cmd = new RemoveWatchCommand { Owner = this }; cmd.Run(); } } - void watchList_DragDrop(object sender, DragEventArgs e) + void watchList_Drop(object sender, DragEventArgs e) { - watchList.BeginUpdate(); - TextNode text = new TextNode(e.Data.GetData(DataFormats.StringFormat).ToString(), SupportedLanguage.CSharp); - TreeViewVarNode node = new TreeViewVarNode(this.debuggedProcess, this.watchList, text); - watches.Add(text); - watchList.Root.Children.Add(node); - watchList.EndUpdate(); + if (ProjectService.CurrentProject == null) return; + if (e.Data == null) return; + if (!e.Data.GetDataPresent(DataFormats.StringFormat)) return; + if (string.IsNullOrEmpty(e.Data.GetData(DataFormats.StringFormat).ToString())) return; - node.IsSelected = true; + string language = ProjectService.CurrentProject.Language; + + // FIXME languages + TextNode text = new TextNode(e.Data.GetData(DataFormats.StringFormat).ToString(), + language == "VB" || language == "VBNet" ? SupportedLanguage.VBNet : SupportedLanguage.CSharp); + + if (!watchList.WatchItems.Contains(text)) + watchList.WatchItems.ContainsItem(text); this.RefreshPad(); } - void watchList_DragEnter(object sender, DragEventArgs e) + void watchList_DragOver(object sender, DragEventArgs e) { if(e.Data.GetDataPresent(DataFormats.StringFormat)) { - e.Effect = DragDropEffects.Copy; + e.Effects = DragDropEffects.Copy; } else { - e.Effect = DragDropEffects.None; + e.Effects = DragDropEffects.None; + e.Handled = true; } } @@ -143,23 +109,17 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads void ResetPad(object sender, EventArgs e) { - watchList.BeginUpdate(); - watchList.Root.Children.Clear(); + string language = ProjectService.CurrentProject.Language; - foreach (TextNode text in watches) - watchList.Root.Children.Add(new TreeViewVarNode(this.debuggedProcess, this.watchList, text)); + // rebuild list + var nodes = new List(); + foreach (var nod in watchList.WatchItems) + nodes.Add(new TextNode(nod.Name, + language == "VB" || language == "VBNet" ? SupportedLanguage.VBNet : SupportedLanguage.CSharp)); - watchList.EndUpdate(); - } - - void OnLanguageChanged() - { - nameColumn.Header = ResourceService.GetString("Global.Name"); - nameColumn.Width = 250; - valColumn.Header = ResourceService.GetString("Dialog.HighlightingEditor.Properties.Value"); - valColumn.Width = 300; - typeColumn.Header = ResourceService.GetString("ResourceEditor.ResourceEdit.TypeColumn"); - typeColumn.Width = 250; + watchList.WatchItems.Clear(); + foreach (var nod in nodes) + watchList.WatchItems.Add(nod); } protected override void SelectProcess(Process process) @@ -188,30 +148,31 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads using(new PrintTimes("Watch Pad refresh")) { try { - watchList.BeginUpdate(); Utils.DoEvents(debuggedProcess); - List nodes = new List(); + List nodes = new List(); - foreach (var nod in watches) { + foreach (var nod in watchList.WatchItems) { try { LoggingService.Info("Evaluating: " + (string.IsNullOrEmpty(nod.Name) ? "is null or empty!" : nod.Name)); var nodExpression = debugger.GetExpression(nod.Name); //Value val = ExpressionEvaluator.Evaluate(nod.Name, nod.Language, debuggedProcess.SelectedStackFrame); ExpressionNode valNode = new ExpressionNode(null, nod.Name, nodExpression); - nodes.Add(new TreeViewVarNode(debuggedProcess, watchList, valNode)); - } catch (GetValueException) { + nodes.Add(valNode); + } + catch (GetValueException) { string error = String.Format(StringParser.Parse("${res:MainWindow.Windows.Debug.Watch.InvalidExpression}"), nod.Name); ErrorInfoNode infoNode = new ErrorInfoNode(nod.Name, error); - nodes.Add(new TreeViewVarNode(debuggedProcess, watchList, infoNode)); + nodes.Add(infoNode); } } - watchList.Root.Children.Clear(); - - foreach (TreeViewVarNode nod in nodes) - watchList.Root.Children.Add(nod); - } catch(AbortedBecauseDebuggeeResumedException) { - } catch(Exception ex) { + // rebuild list + watchList.WatchItems.Clear(); + foreach (var nod in nodes) + watchList.WatchItems.Add(nod); + } + catch(AbortedBecauseDebuggeeResumedException) { } + catch(Exception ex) { if (debuggedProcess == null || debuggedProcess.HasExited) { // Process unexpectedly exited } else { @@ -219,8 +180,6 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads } } } - - watchList.EndUpdate(); } } } diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadCommands.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadCommands.cs index 1616f93b9b..7e48745708 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadCommands.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadCommands.cs @@ -3,10 +3,12 @@ using System; using System.Collections.Generic; +using System.Windows.Controls; using System.Windows.Forms; using Aga.Controls.Tree; using Debugger.AddIn.Pads; +using Debugger.AddIn.Pads.Controls; using Debugger.AddIn.TreeModel; using ICSharpCode.Core; using ICSharpCode.Core.Presentation; @@ -14,6 +16,7 @@ using ICSharpCode.Core.WinForms; using ICSharpCode.NRefactory; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Gui.Pads; +using ICSharpCode.SharpDevelop.Project; namespace Debugger.AddIn { @@ -23,7 +26,6 @@ namespace Debugger.AddIn { if (this.Owner is WatchPad) { WatchPad pad = (WatchPad)this.Owner; - TreeViewAdv ctrl = (TreeViewAdv)pad.Control; var inputWindow = new WatchInputBox(StringParser.Parse("${res:MainWindow.Windows.Debug.Watch.AddWatch}"), StringParser.Parse("${res:MainWindow.Windows.Debug.Watch.EnterExpression}")); @@ -35,13 +37,17 @@ namespace Debugger.AddIn string input = inputWindow.CommandText; if (!string.IsNullOrEmpty(input)) { - ctrl.BeginUpdate(); - TextNode text = new TextNode(input, SupportedLanguage.CSharp); - TreeViewVarNode node = new TreeViewVarNode(pad.Process, ctrl, text); + // get language + if (ProjectService.CurrentProject == null) return; - pad.Watches.Add(text); - ctrl.Root.Children.Add(node); - ctrl.EndUpdate(); + string language = ProjectService.CurrentProject.Language; + + TextNode text = new TextNode(input, + language == "VB" || language == "VBNet" ? SupportedLanguage.VBNet : SupportedLanguage.CSharp); + var list = (WatchList)pad.Control; + + if(!list.WatchItems.ContainsItem(text)) + list.WatchItems.Add(text); } pad.RefreshPad(); @@ -55,19 +61,14 @@ namespace Debugger.AddIn { if (this.Owner is WatchPad) { WatchPad pad = (WatchPad)this.Owner; - - TreeNodeAdv node = ((TreeViewAdv)pad.Control).SelectedNode; + var list = (WatchList)pad.Control; + + var node = list.SelectedNode; if (node == null) return; - while (node.Parent != ((TreeViewAdv)pad.Control).Root) - { - node = node.Parent; - } - - pad.Watches.RemoveAt(node.Index); - ((TreeViewAdv)pad.Control).Root.Children.Remove(node); + list.WatchItems.Remove(node); ((WatchPad)this.Owner).RefreshPad(); } @@ -90,11 +91,23 @@ namespace Debugger.AddIn { if (this.Owner is WatchPad) { WatchPad pad = (WatchPad)this.Owner; - - ((TreeViewAdv)pad.Control).BeginUpdate(); - pad.Watches.Clear(); - ((TreeViewAdv)pad.Control).Root.Children.Clear(); - ((TreeViewAdv)pad.Control).EndUpdate(); + var list = (WatchList)pad.Control; + list.WatchItems.Clear(); + } + } + } + + public class CopyToClipboardCommand : AbstractMenuCommand + { + public override void Run() + { + if (this.Owner is WatchPad) { + WatchPad pad = (WatchPad)this.Owner; + var list = (WatchList)pad.Control; + if (list.SelectedNode is ExpressionNode) { + string text = ((ExpressionNode)list.SelectedNode).FullText; + ClipboardWrapper.SetText(text); + } } } } diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs index 4b6fac8574..84fbf600ee 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPadModel.cs @@ -19,13 +19,13 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads this.Language = language; } - public bool CanSetText { + public override bool CanSetText { get { return true; } } - public bool SetText(string text) + public new bool SetText(string text) { this.Text = text; return true; @@ -74,17 +74,17 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads MessageBox.Show("You can not set name to an empty string!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); else { - if (((TreeViewVarNode)node).Content is ExpressionNode) { - WatchPad.Instance.Watches.RemoveAll(item => item.Name == ((ExpressionNode)((TreeViewVarNode)node).Content).Name); - ((ExpressionNode)((TreeViewVarNode)node).Content).Name = value.ToString(); - } else { - if (((TreeViewVarNode)node).Content is TextNode) { - WatchPad.Instance.Watches.RemoveAll(item => item.Name == ((TextNode)((TreeViewVarNode)node).Content).Name); - ((TextNode)((TreeViewVarNode)node).Content).Name = value.ToString(); - } - } - - WatchPad.Instance.Watches.Add(new TextNode(value as string, SupportedLanguage.CSharp)); +// if (((TreeViewVarNode)node).Content is ExpressionNode) { +// WatchPad.Instance.Watches.RemoveAll(item => item.Name == ((ExpressionNode)((TreeViewVarNode)node).Content).Name); +// ((ExpressionNode)((TreeViewVarNode)node).Content).Name = value.ToString(); +// } else { +// if (((TreeViewVarNode)node).Content is TextNode) { +// WatchPad.Instance.Watches.RemoveAll(item => item.Name == ((TextNode)((TreeViewVarNode)node).Content).Name); +// ((TextNode)((TreeViewVarNode)node).Content).Name = value.ToString(); +// } +// } +// +// WatchPad.Instance.Watches.Add(new TextNode(value as string, SupportedLanguage.CSharp)); } } public override void MouseDown(TreeNodeAdvMouseEventArgs args) diff --git a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ExpressionNode.cs b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ExpressionNode.cs index a1ee943a84..fcb53a93a1 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ExpressionNode.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/ExpressionNode.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.Drawing; using System.Globalization; using System.Reflection; @@ -26,7 +27,7 @@ namespace Debugger.AddIn.TreeModel /// Node in the tree which can be defined by a debugger expression. /// The expression will be lazily evaluated when needed. /// - public class ExpressionNode: TreeNode, ISetText, IContextMenu + public class ExpressionNode: TreeNode, ISetText, INotifyPropertyChanged { bool evaluated; @@ -36,11 +37,16 @@ namespace Debugger.AddIn.TreeModel string fullText; + public bool Evaluated { + get { return evaluated; } + set { evaluated = value; } + } + public Expression Expression { get { return expression; } } - public bool CanSetText { + public override bool CanSetText { get { if (!evaluated) EvaluateExpression(); return canSetText; @@ -54,11 +60,21 @@ namespace Debugger.AddIn.TreeModel } } + public string FullText { + get { return fullText; } + } + public override string Text { get { if (!evaluated) EvaluateExpression(); return base.Text; } + set { + if (value != base.Text) { + base.Text = value; + NotifyPropertyChanged("Text"); + } + } } public override string Type { @@ -80,7 +96,7 @@ namespace Debugger.AddIn.TreeModel if (!evaluated) EvaluateExpression(); return base.HasChildNodes; } - } + } /// Used to determine available VisualizerCommands private DebugType expressionType; @@ -269,7 +285,7 @@ namespace Debugger.AddIn.TreeModel return size >= 7 && runs <= (size + 7) / 8; } - public bool SetText(string newText) + public override bool SetText(string newText) { Value val = null; try { @@ -343,19 +359,19 @@ namespace Debugger.AddIn.TreeModel return DebuggerResourceService.GetImage("Icons.16x16." + name); } - public ContextMenuStrip GetContextMenu() - { - if (this.Error != null) return GetErrorContextMenu(); - - ContextMenuStrip menu = new ContextMenuStrip(); - - ToolStripMenuItem copyItem; - copyItem = new ToolStripMenuItem(); - copyItem.Text = ResourceService.GetString("MainWindow.Windows.Debug.LocalVariables.CopyToClipboard"); - copyItem.Checked = false; - copyItem.Click += delegate { - ClipboardWrapper.SetText(fullText); - }; +// public ContextMenuStrip GetContextMenu() +// { +// if (this.Error != null) return GetErrorContextMenu(); +// +// ContextMenuStrip menu = new ContextMenuStrip(); +// +// ToolStripMenuItem copyItem; +// copyItem = new ToolStripMenuItem(); +// copyItem.Text = ResourceService.GetString("MainWindow.Windows.Debug.LocalVariables.CopyToClipboard"); +// copyItem.Checked = false; +// copyItem.Click += delegate { +// ClipboardWrapper.SetText(fullText); +// }; // ToolStripMenuItem hexView; // hexView = new ToolStripMenuItem(); @@ -371,13 +387,13 @@ namespace Debugger.AddIn.TreeModel // WatchPad.Instance.RefreshPad(); // }; - menu.Items.AddRange(new ToolStripItem[] { - copyItem, - //hexView - }); - - return menu; - } +// menu.Items.AddRange(new ToolStripItem[] { +// copyItem, +// //hexView +// }); +// +// return menu; +// } public ContextMenuStrip GetErrorContextMenu() { @@ -403,5 +419,15 @@ namespace Debugger.AddIn.TreeModel return (WindowsDebugger)DebuggerService.CurrentDebugger; } } + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + private void NotifyPropertyChanged(string info) + { + if (PropertyChanged != null) + { + PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(info)); + } + } } } diff --git a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/TreeNode.cs b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/TreeNode.cs index 956410e91f..ca328cd1ae 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/TreeModel/TreeNode.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/TreeModel/TreeNode.cs @@ -3,9 +3,10 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using System.Drawing; -using System.Windows.Media; using System.Linq; +using System.Windows.Media; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Debugging; @@ -58,7 +59,7 @@ namespace Debugger.AddIn.TreeModel public virtual string Text { get { return text; } - protected set { text = value; } + set { text = value; } } public virtual string Type { @@ -79,6 +80,10 @@ namespace Debugger.AddIn.TreeModel get { return childNodes != null; } } + public virtual bool CanSetText { + get { return false; } + } + public virtual IEnumerable VisualizerCommands { get { return null; @@ -108,5 +113,9 @@ namespace Debugger.AddIn.TreeModel { return this.Name.CompareTo(other.Name); } + + public virtual bool SetText(string newValue) { + return false; + } } } diff --git a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs index ca0cd38af8..21551c45e3 100644 --- a/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs +++ b/src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Rendering/TextView.cs @@ -56,6 +56,7 @@ namespace ICSharpCode.AvalonEdit.Rendering layers = new UIElementCollection(this, this); InsertLayer(textLayer, KnownLayer.Text, LayerInsertionPosition.Replace); } + #endregion #region Document Property @@ -688,7 +689,9 @@ namespace ICSharpCode.AvalonEdit.Rendering double heightTreeHeight = this.DocumentHeight; TextEditorOptions options = this.Options; if (options.AllowScrollBelowDocument) { - heightTreeHeight = Math.Max(heightTreeHeight, Math.Min(heightTreeHeight - 50, scrollOffset.Y) + scrollViewport.Height); + if (!double.IsInfinity(scrollViewport.Height)) { + heightTreeHeight = Math.Max(heightTreeHeight, Math.Min(heightTreeHeight - 50, scrollOffset.Y) + scrollViewport.Height); + } } SetScrollData(availableSize, @@ -1525,6 +1528,8 @@ namespace ICSharpCode.AvalonEdit.Rendering }; RaiseEvent(args2); } + + #endregion /// diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin index 91468b0851..b6b1cbaabd 100755 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.addin @@ -139,12 +139,12 @@ class = "ICSharpCode.SharpDevelop.Editor.Search.SearchResultsPad" defaultPosition = "Bottom, Hidden" /> - + defaultPosition = "Bottom, Hidden" /> Src\Project\MSBuildEngine\ExtendedBinaryReader.cs + @@ -817,6 +818,7 @@ + @@ -840,6 +842,7 @@ ICSharpCode.Core False + diff --git a/src/Main/Base/Project/Src/Bookmarks/BookmarkConverter.cs b/src/Main/Base/Project/Src/Bookmarks/BookmarkConverter.cs index 05b3332645..6f43fd5ab3 100644 --- a/src/Main/Base/Project/Src/Bookmarks/BookmarkConverter.cs +++ b/src/Main/Base/Project/Src/Bookmarks/BookmarkConverter.cs @@ -1,12 +1,13 @@ // Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) -using ICSharpCode.NRefactory; using System; using System.ComponentModel; using System.Globalization; using System.Text; + using ICSharpCode.Core; +using ICSharpCode.NRefactory; namespace ICSharpCode.SharpDevelop.Bookmarks { @@ -25,8 +26,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks { if (value is string) { string[] v = ((string)value).Split('|'); - if (v.Length != 8) - return null; + FileName fileName = FileName.Create(v[1]); int lineNumber = int.Parse(v[2], culture); int columnNumber = int.Parse(v[3], culture); @@ -75,6 +75,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks b.Append(bookmark.LineNumber); b.Append('|'); b.Append(bookmark.ColumnNumber); + if (bookmark is Debugging.BreakpointBookmark) { Debugging.BreakpointBookmark bbm = (Debugging.BreakpointBookmark)bookmark; b.Append('|'); @@ -86,6 +87,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks b.Append('|'); b.Append(bbm.Condition); } + return b.ToString(); } else { return base.ConvertTo(context, culture, value, destinationType); diff --git a/src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs b/src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs index 9f5321d68c..f02c28c724 100644 --- a/src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs +++ b/src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs @@ -90,7 +90,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks static void OnAdded(BookmarkEventArgs e) { if (Added != null) { - Added(null, e); + Added(null, e); } } @@ -121,6 +121,20 @@ namespace ICSharpCode.SharpDevelop.Bookmarks BookmarkManager.AddMark(bookmarkFactory(new Location(column, line))); } + public static void RemoveAll(Predicate match) + { + if (match == null) + throw new ArgumentNullException("Predicate is null!"); + + for(int index = bookmarks.Count - 1; index >= 0; --index){ + SDBookmark bookmark = bookmarks[index]; + if(match(bookmark)) { + bookmarks.RemoveAt(index); + OnRemoved(new BookmarkEventArgs(bookmark)); + } + } + } + public static event BookmarkEventHandler Removed; public static event BookmarkEventHandler Added; } diff --git a/src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPad.cs b/src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPad.cs index d499f16358..348427f5e2 100644 --- a/src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPad.cs +++ b/src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPad.cs @@ -3,10 +3,13 @@ using System; using System.Collections.Generic; -using System.Windows.Forms; +using System.Windows; +using System.Windows.Controls; using ICSharpCode.Core; -using ICSharpCode.Core.WinForms; +using ICSharpCode.Core.Presentation; +using ICSharpCode.SharpDevelop.Bookmarks.Pad.Controls; +using ICSharpCode.SharpDevelop.Debugging; using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.SharpDevelop.Bookmarks @@ -24,18 +27,27 @@ namespace ICSharpCode.SharpDevelop.Bookmarks } } + protected override ToolBar CreateToolBar() + { + ToolBar toolbar = ToolBarService.CreateToolBar(this, "/SharpDevelop/Pads/BookmarkPad/Toolbar"); + toolbar.SetValue(Grid.RowProperty, 0); + return toolbar; + } + + protected override void CreateColumns() { } + public BookmarkPad() { - instance = this; + instance = this; + myPanel.Children.Add(CreateToolBar()); + listView.HideColumns(3, 0); } } public abstract class BookmarkPadBase : AbstractPadContent { - Panel myPanel = new Panel(); - ExtTreeView bookmarkTreeView = new ExtTreeView(); - - Dictionary fileNodes = new Dictionary(); + protected Grid myPanel = new Grid(); + protected ListViewPad listView = new ListViewPad(); public override object Control { get { @@ -43,88 +55,82 @@ namespace ICSharpCode.SharpDevelop.Bookmarks } } - public TreeNode CurrentNode { + public ListViewPadItemModel CurrentItem { get { - return bookmarkTreeView.SelectedNode as TreeNode; + return listView.CurrentItem; } } - protected virtual ToolStrip CreateToolStrip() - { - ToolStrip toolStrip = ToolbarService.CreateToolStrip(this, "/SharpDevelop/Pads/BookmarkPad/Toolbar"); - toolStrip.Stretch = true; - toolStrip.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; - return toolStrip; - } + protected abstract ToolBar CreateToolBar(); + + protected abstract void CreateColumns(); protected BookmarkPadBase() { - bookmarkTreeView.Dock = DockStyle.Fill; - bookmarkTreeView.CheckBoxes = true; - bookmarkTreeView.HideSelection = false; - bookmarkTreeView.Font = ExtTreeNode.RegularBigFont; - bookmarkTreeView.IsSorted = false; + myPanel.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); + myPanel.RowDefinitions.Add(new RowDefinition()); + listView.SetValue(Grid.RowProperty, 1); + myPanel.Children.Add(listView); - myPanel.Controls.AddRange(new Control[] { bookmarkTreeView, CreateToolStrip()} ); BookmarkManager.Added += new BookmarkEventHandler(BookmarkManagerAdded); BookmarkManager.Removed += new BookmarkEventHandler(BookmarkManagerRemoved); foreach (SDBookmark mark in BookmarkManager.Bookmarks) { AddMark(mark); } + + listView.ItemActivated += new EventHandler(listView_ItemActivated); } - public IEnumerable AllNodes { + public IEnumerable AllItems { get { - Stack treeNodes = new Stack(); - foreach (TreeNode node in bookmarkTreeView.Nodes) { - treeNodes.Push(node); - } - - while (treeNodes.Count > 0) { - TreeNode node = treeNodes.Pop(); - foreach (TreeNode childNode in node.Nodes) { - treeNodes.Push(childNode); - } - yield return node; + foreach (var item in listView.ItemCollection) { + yield return item; } } } + public ListViewPadItemModel NextItem { + get { + return this.listView.NextItem; + } + } + + public ListViewPadItemModel PrevItem { + get { + return this.listView.PrevItem; + } + } + public void EnableDisableAll() { bool isOneChecked = false; - foreach (TreeNode node in AllNodes) { - if (node is BookmarkNode) { - if (((BookmarkNode)node).Checked) { - isOneChecked = true; - break; - } - } - } - foreach (TreeNode node in AllNodes) { - if (node is BookmarkNode) { - ((BookmarkNode)node).Checked = !isOneChecked; + foreach (var node in AllItems) { + if (node.IsChecked) { + isOneChecked = true; + break; } } + foreach (var node in AllItems) + node.IsChecked = !isOneChecked; + } + + public void SelectItem(ListViewPadItemModel model) + { + listView.CurrentItem = model; } void AddMark(SDBookmark mark) { if (!ShowBookmarkInThisPad(mark)) return; - if (!fileNodes.ContainsKey(mark.FileName)) { - BookmarkFolderNode folderNode = new BookmarkFolderNode(mark.FileName); - fileNodes.Add(mark.FileName, folderNode); - bookmarkTreeView.Nodes.Add(folderNode); - } - fileNodes[mark.FileName].AddMark(mark); - fileNodes[mark.FileName].Expand(); + + listView.Add(new ListViewPadItemModel(mark)); } protected virtual bool ShowBookmarkInThisPad(SDBookmark mark) { - return mark.IsVisibleInBookmarkPad; + return mark.IsVisibleInBookmarkPad && !(mark is BreakpointBookmark); } void BookmarkManagerAdded(object sender, BookmarkEventArgs e) @@ -134,25 +140,18 @@ namespace ICSharpCode.SharpDevelop.Bookmarks void BookmarkManagerRemoved(object sender, BookmarkEventArgs e) { - if (fileNodes.ContainsKey(e.Bookmark.FileName)) { - fileNodes[e.Bookmark.FileName].RemoveMark(e.Bookmark); - if (fileNodes[e.Bookmark.FileName].Marks.Count == 0) { - bookmarkTreeView.Nodes.Remove(fileNodes[e.Bookmark.FileName]); - fileNodes.Remove(e.Bookmark.FileName); - } - } + listView.Remove(new ListViewPadItemModel(e.Bookmark)); } - void TreeViewDoubleClick(object sender, EventArgs e) + void listView_ItemActivated(object sender, EventArgs e) { - TreeNode node = bookmarkTreeView.SelectedNode; + var node = CurrentItem; if (node != null) { - SDBookmark mark = node.Tag as SDBookmark; + SDBookmark mark = node.Mark as SDBookmark; if (mark != null) { FileService.JumpToFilePosition(mark.FileName, mark.LineNumber, 1); } - } + } } - } } diff --git a/src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPadToolbarCommands.cs b/src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPadToolbarCommands.cs index 287e592a7f..b74366d598 100644 --- a/src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPadToolbarCommands.cs +++ b/src/Main/Base/Project/Src/Bookmarks/Pad/BookmarkPadToolbarCommands.cs @@ -4,8 +4,10 @@ using System; using System.Collections.Generic; using System.Windows.Forms; +using System.Linq; using ICSharpCode.Core; +using ICSharpCode.SharpDevelop.Debugging; namespace ICSharpCode.SharpDevelop.Bookmarks { @@ -35,8 +37,10 @@ namespace ICSharpCode.SharpDevelop.Bookmarks public abstract class AbstractDeleteMarkClass : AbstractMenuCommand { - protected void deleteBookMark (BookmarkNode node) { - ICSharpCode.SharpDevelop.Bookmarks.BookmarkManager.RemoveMark(node.Bookmark); + protected void deleteBookMark (SDBookmark bookmark) { + if (bookmark == null) return; + if (bookmark is SDMarkerBookmark) return; + ICSharpCode.SharpDevelop.Bookmarks.BookmarkManager.RemoveMark(bookmark); } } @@ -47,23 +51,14 @@ namespace ICSharpCode.SharpDevelop.Bookmarks { public override void Run() { - IEnumerable nodes = ((BookmarkPadBase)Owner).AllNodes; - foreach(TreeNode innerNode in nodes) { - BookmarkFolderNode folderNode = innerNode as BookmarkFolderNode; - // Its problebly not the most effecient way of doing it, but it works. - if (folderNode != null) { - for (int i = folderNode.Nodes.Count - 1; i >= 0 ; i--) - { - if (folderNode.Nodes[i] is BookmarkNode) { - deleteBookMark(folderNode.Nodes[i] as BookmarkNode); - } - } - } - } + var result = BookmarkManager.Bookmarks + .Where(b => !(b is SDMarkerBookmark)) + .Select(b => b); + foreach (var b in result.ToArray()) + BookmarkManager.RemoveMark(b); } } - /// /// Deletes the currently selected or /// @@ -71,21 +66,10 @@ namespace ICSharpCode.SharpDevelop.Bookmarks { public override void Run() { - TreeNode node = ((BookmarkPadBase)Owner).CurrentNode; + var node = ((BookmarkPadBase)Owner).CurrentItem; if (node == null) return; - if (node is BookmarkNode) { - deleteBookMark(node as BookmarkNode); - } - if (node is BookmarkFolderNode) { - BookmarkFolderNode folderNode = node as BookmarkFolderNode; - // We have to start from the top of the array to prevent reordering. - for (int i = folderNode.Nodes.Count - 1; i >= 0 ; i--) - { - if (folderNode.Nodes[i] is BookmarkNode) { - deleteBookMark(folderNode.Nodes[i] as BookmarkNode); - } - } - } + + deleteBookMark(node.Mark as SDBookmark); } } diff --git a/src/Main/Base/Project/Src/Bookmarks/Pad/Controls/ListViewPad.xaml b/src/Main/Base/Project/Src/Bookmarks/Pad/Controls/ListViewPad.xaml new file mode 100644 index 0000000000..afbd655577 --- /dev/null +++ b/src/Main/Base/Project/Src/Bookmarks/Pad/Controls/ListViewPad.xaml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Main/Base/Project/Src/Bookmarks/Pad/Controls/ListViewPad.xaml.cs b/src/Main/Base/Project/Src/Bookmarks/Pad/Controls/ListViewPad.xaml.cs new file mode 100644 index 0000000000..727b4beb6c --- /dev/null +++ b/src/Main/Base/Project/Src/Bookmarks/Pad/Controls/ListViewPad.xaml.cs @@ -0,0 +1,240 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.IO; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Input; +using System.Windows.Media; + +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop.Debugging; + +namespace ICSharpCode.SharpDevelop.Bookmarks.Pad.Controls +{ + /// + /// ListViewPad inside WPF pads. + /// + public sealed partial class ListViewPad : UserControl + { + ObservableCollection itemCollection = new ObservableCollection(); + + public ObservableCollection ItemCollection { + get { return itemCollection; } + } + + public event EventHandler ItemActivated; + + public ListViewPad() + { + InitializeComponent(); + + this.MyListView.PreviewMouseDoubleClick += new MouseButtonEventHandler(ListViewPad_PreviewMouseDoubleClick); + this.MyListView.KeyDown += new KeyEventHandler(ListViewPad_KeyDown); + } + + public ListViewPadItemModel CurrentItem { + get { + return MyListView.SelectedItem as ListViewPadItemModel; + } + set { + if (value == null) return; + + this.MyListView.SelectedItem = value; + } + } + + public ListViewPadItemModel NextItem { + get { + bool found = false; + foreach (var line in ItemCollection) { + if (found) + return line; + if (line == MyListView.SelectedItem as ListViewPadItemModel) + found = true; + } + + return null; + } + } + + public ListViewPadItemModel PrevItem { + get { + bool found = false; + ListViewPadItemModel prev = null; + foreach (var line in ItemCollection) { + if (found) + return prev; + if (line == MyListView.SelectedItem as ListViewPadItemModel) { + found = true; + } + else { + prev = line; + } + } + + return prev; + } + } + + public void Add(ListViewPadItemModel item) + { + if (item == null) return; + ItemCollection.Add(item); + } + + public void Remove(ListViewPadItemModel item) + { + SDBookmark bookmark1 = item.Mark as SDBookmark; + + if (bookmark1 is CurrentLineBookmark) + return; + + foreach (var line in itemCollection) { + SDBookmark bookmark2 = line.Mark as SDBookmark; + + if (bookmark1.FileName == bookmark2.FileName && + bookmark1.LineNumber == bookmark2.LineNumber) { + ItemCollection.Remove(line); + break; + } + } + } + + public void AddColumn(string header, DataTemplate cellTemplate) + { + GridViewColumn column = new GridViewColumn(); + column.Header = header; + column.CellTemplate = cellTemplate; + ((GridView)this.MyListView.View).Columns.Add(column); + } + + /// + /// Indexes from end to start. + /// + /// + public void HideColumns(params int[] columnIndexes) + { + foreach(int i in columnIndexes) + ((GridView)MyListView.View).Columns.RemoveAt(i); + } + + private void ListViewPad_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e) + { + var handler = ItemActivated; + + if (handler != null) + ItemActivated(this, EventArgs.Empty); + } + + private void ListViewPad_KeyDown(object sender, KeyEventArgs e) + { + if (e.Key == Key.Escape) { + this.MyListView.UnselectAll(); + e.Handled = true; + } + } + } + + public sealed class ListViewPadItemModel : INotifyPropertyChanged + { + bool isChecked; + object tag; + string language; + string condition; + ImageSource imageSource; + + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + public ListViewPadItemModel(SDBookmark mark) + { + if (mark is BreakpointBookmark) { + isChecked = ((BreakpointBookmark)mark).IsEnabled; + condition = ((BreakpointBookmark)mark).Condition; + language = ((BreakpointBookmark)mark).ScriptLanguage; + } + + imageSource = mark.Image.ImageSource; + + Location = GetLocation(mark); + Mark = mark; + tag = this; + } + + public bool IsChecked { + get { + return isChecked; + } + set { + if (value != isChecked) + { + isChecked = value; + NotifyPropertyChanged("IsChecked"); + } + } + } + + public SDBookmark Mark { + get; set; + } + + public ImageSource Image { + get { return imageSource; } + set { + imageSource = value; + NotifyPropertyChanged("Image"); + } + } + + public string Location { + get; private set; + } + + public string Language { + get { return language; } + set { + language = value; + NotifyPropertyChanged("Language"); + } + } + + public string Condition { + get { return condition; } + set { + condition = value; + NotifyPropertyChanged("Condition"); + } + } + + public object Tag { + get { return tag;} + set { + tag = value; + NotifyPropertyChanged("Tag"); + } + } + + private string GetLocation(SDBookmark bookmark) + { + return string.Format(StringParser.Parse("${res:MainWindow.Windows.BookmarkPad.LineText}"), + Path.GetFileName(bookmark.FileName), bookmark.LineNumber); + } + + private void NotifyPropertyChanged(string property) + { + if (property == "IsChecked") + { + if (Mark is BreakpointBookmark) + (Mark as BreakpointBookmark).IsEnabled = isChecked; + } + + if (PropertyChanged != null) + { + PropertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(property)); + } + } + } +} \ No newline at end of file diff --git a/src/Main/Base/Project/Src/Commands/DebugCommands.cs b/src/Main/Base/Project/Src/Commands/DebugCommands.cs index e2b1020847..d15477ae76 100644 --- a/src/Main/Base/Project/Src/Commands/DebugCommands.cs +++ b/src/Main/Base/Project/Src/Commands/DebugCommands.cs @@ -2,7 +2,13 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + using ICSharpCode.Core; +using ICSharpCode.SharpDevelop.Bookmarks; +using ICSharpCode.SharpDevelop.Bookmarks.Pad.Controls; using ICSharpCode.SharpDevelop.Debugging; using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Gui; @@ -30,6 +36,7 @@ namespace ICSharpCode.SharpDevelop.Project.Commands build.Run(); } } + public class ExecuteWithoutDebugger : Execute { public override void Run() @@ -113,6 +120,70 @@ namespace ICSharpCode.SharpDevelop.Project.Commands } } + public class RemoveAllBreakpointsCommand : AbstractMenuCommand + { + public override void Run() + { + if (DebuggerService.Breakpoints.Count <= 0) return; + + if(System.Windows.Forms.MessageBox.Show( + StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.Debug.RemoveAllBreakPoints}"), + StringParser.Parse("${res:ICSharpCode.SharpDevelop.Commands.Debug.RemoveAllBreakPointsCaption}"), + System.Windows.Forms.MessageBoxButtons.YesNo, + System.Windows.Forms.MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) + { + BookmarkManager.RemoveAll(b => b is BreakpointBookmark); + } + } + } + + public abstract class NextPrevBreakpointCommand : AbstractMenuCommand + { + public void Run(ListViewPadItemModel nextItem) + { + var bookmarkBase = (BookmarkPadBase)Owner; + + if (nextItem == null) return; + + // get next bookmark + int line = (nextItem.Mark as SDBookmark).LineNumber; + + var bookmarks = DebuggerService.Breakpoints; + var bookmark = bookmarks.FirstOrDefault(b => b.LineNumber == line); + if (bookmark == null && bookmarks.Count > 0) { + bookmark = bookmarks[0]; // jump around to first bookmark + } + if (bookmark != null) { + FileService.JumpToFilePosition(bookmark.FileName, bookmark.LineNumber, bookmark.ColumnNumber); + } + + // select in tree + bookmarkBase.SelectItem(nextItem); + } + } + + public sealed class NextBreakpointCommand : NextPrevBreakpointCommand + { + public override void Run() + { + var bookmarkBase = (BookmarkPadBase)Owner; + var nextItem = bookmarkBase.NextItem; + + base.Run(nextItem); + } + } + + public sealed class PrevBreakpointCommand : NextPrevBreakpointCommand + { + public override void Run() + { + var bookmarkBase = (BookmarkPadBase)Owner; + var prevItem = bookmarkBase.PrevItem; + + base.Run(prevItem); + } + } + public class AttachToProcessCommand : AbstractMenuCommand { public override void Run() diff --git a/src/Main/Base/Project/Src/Gui/Pads/AbstractConsolePad.cs b/src/Main/Base/Project/Src/Gui/Pads/AbstractConsolePad.cs index 7e033aaa92..be5c665ee0 100755 --- a/src/Main/Base/Project/Src/Gui/Pads/AbstractConsolePad.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/AbstractConsolePad.cs @@ -262,6 +262,9 @@ namespace ICSharpCode.SharpDevelop.Gui internal ITextEditor editorAdapter; internal BeginReadOnlySectionProvider readOnlyRegion; + public event TextCompositionEventHandler TextAreaTextEntered; + public event KeyEventHandler TextAreaPreviewKeyDown; + public ConsoleControl() { this.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) }); @@ -279,6 +282,9 @@ namespace ICSharpCode.SharpDevelop.Gui this.Children.Add(editor); editor.TextArea.ReadOnlySectionProvider = readOnlyRegion = new BeginReadOnlySectionProvider(); + + editor.TextArea.TextEntered += new TextCompositionEventHandler(editor_TextArea_TextEntered); + editor.TextArea.PreviewKeyDown += new KeyEventHandler(editor_TextArea_PreviewKeyDown); } public ITextEditor TextEditor { @@ -313,6 +319,15 @@ namespace ICSharpCode.SharpDevelop.Gui readOnlyRegion.EndOffset = editor.Document.TextLength; } + /// + /// Hides the scroll bar. + /// + public void HideScrollBar() + { + this.editor.HorizontalScrollBarVisibility = ScrollBarVisibility.Hidden; + this.editor.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; + } + public int CommandOffset { get { return readOnlyRegion.EndOffset; } } @@ -328,6 +343,22 @@ namespace ICSharpCode.SharpDevelop.Gui editor.Document.Replace(new TextSegment() { StartOffset = readOnlyRegion.EndOffset, EndOffset = editor.Document.TextLength }, value); } } + + void editor_TextArea_TextEntered(object sender, TextCompositionEventArgs e) + { + TextCompositionEventHandler handler = TextAreaTextEntered; + + if (handler != null) + handler(this, e); + } + + void editor_TextArea_PreviewKeyDown(object sender, KeyEventArgs e) + { + KeyEventHandler handler = TextAreaPreviewKeyDown; + + if (handler != null) + handler(this, e); + } } public class BeginReadOnlySectionProvider : IReadOnlySectionProvider diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/LanguageProperties.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/LanguageProperties.cs index 04616aa336..38478047b9 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/LanguageProperties.cs +++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/LanguageProperties.cs @@ -243,6 +243,18 @@ namespace ICSharpCode.SharpDevelop.Dom return "[" + base.ToString() + "]"; } + public static LanguageProperties GetLanguage(string language) + { + switch(language) + { + case "VBNet": + case "VB": + return LanguageProperties.VBNet; + default: + return LanguageProperties.CSharp; + } + } + #region CSharpProperties internal sealed class CSharpProperties : LanguageProperties { diff --git a/src/Main/StartUp/Project/Resources/BitmapResources.resources b/src/Main/StartUp/Project/Resources/BitmapResources.resources index 8740ee3c61..00029d6f0b 100644 Binary files a/src/Main/StartUp/Project/Resources/BitmapResources.resources and b/src/Main/StartUp/Project/Resources/BitmapResources.resources differ